vs.tdi (tabbed document interface)
Project description
vs.tdi - Tabbed document interface
-----------------------------------
vs.tdi provides a supplementary views for folderish object (implementing
IATFolder). The new view provides a tabbed interface for accessing content
inside the folder (supported content-types: Document, NewsItem, Event). The
standard ``tdi_view`` retrieves all HTML to be rendered with one HTTP request.
The ``tdi_ajax_view`` performs an ajax request upon each tab change.
Requirements
============
- Plone 4
Installation
============
The standard Plone installation procedure applies (add ``vs.tdi`` to your
buildout configuration, re-run buildout and add install it within your Plone site).
Licence
=======
vs.tdi is published under the GNU Public Licence V2 (GPL 2)
Authors
=======
| Andreas Jung
| ZOPYX Ltd.
| info@zopyx.com
| www.zopyx.com
|
| Veit Schiele
| Veit Schiele communications GmbH
| kontakt@veit-schiele.de
| www.veit-schiele.de
Change history
**************
Changelog
=========
0.1 (xxxx-xx-xx)
----------------
- Created recipe with ZopeSkel
[""]
Detailed Documentation
**********************
Introduction
============
This is a full-blown functional test. The emphasis here is on testing what
the user may input and see, and the system is largely tested as a black box.
We use PloneTestCase to set up this test as well, so we have a full Plone site
to play with. We *can* inspect the state of the portal, e.g. using
self.portal and self.folder, but it is often frowned upon since you are not
treating the system as a black box. Also, if you, for example, log in or set
roles using calls like self.setRoles(), these are not reflected in the test
browser, which runs as a separate session.
Being a doctest, we can tell a story here.
First, we must perform some setup. We use the testbrowser that is shipped
with Five, as this provides proper Zope 2 integration. Most of the
documentation, though, is in the underlying zope.testbrower package.
>>> from Products.Five.testbrowser import Browser
>>> browser = Browser()
>>> portal_url = self.portal.absolute_url()
The following is useful when writing and debugging testbrowser tests. It lets
us see all error messages in the error_log.
>>> self.portal.error_log._ignored_exceptions = ()
With that in place, we can go to the portal front page and log in. We will
do this using the default user from PloneTestCase:
>>> from Products.PloneTestCase.setup import portal_owner, default_password
Because add-on themes or products may remove or hide the login portlet, this test will use the login form that comes with plone.
>>> browser.open(portal_url + '/login_form')
>>> browser.getControl(name='__ac_name').value = portal_owner
>>> browser.getControl(name='__ac_password').value = default_password
>>> browser.getControl(name='submit').click()
Here, we set the value of the fields on the login form and then simulate a
submit click. We then ensure that we get the friendly logged-in message:
>>> "You are now logged in" in browser.contents
True
Finally, let's return to the front page of our site before continuing
>>> browser.open(portal_url)
-*- extra stuff goes here -*-
Contributors
************
"", Author
Download
********
-----------------------------------
vs.tdi provides a supplementary views for folderish object (implementing
IATFolder). The new view provides a tabbed interface for accessing content
inside the folder (supported content-types: Document, NewsItem, Event). The
standard ``tdi_view`` retrieves all HTML to be rendered with one HTTP request.
The ``tdi_ajax_view`` performs an ajax request upon each tab change.
Requirements
============
- Plone 4
Installation
============
The standard Plone installation procedure applies (add ``vs.tdi`` to your
buildout configuration, re-run buildout and add install it within your Plone site).
Licence
=======
vs.tdi is published under the GNU Public Licence V2 (GPL 2)
Authors
=======
| Andreas Jung
| ZOPYX Ltd.
| info@zopyx.com
| www.zopyx.com
|
| Veit Schiele
| Veit Schiele communications GmbH
| kontakt@veit-schiele.de
| www.veit-schiele.de
Change history
**************
Changelog
=========
0.1 (xxxx-xx-xx)
----------------
- Created recipe with ZopeSkel
[""]
Detailed Documentation
**********************
Introduction
============
This is a full-blown functional test. The emphasis here is on testing what
the user may input and see, and the system is largely tested as a black box.
We use PloneTestCase to set up this test as well, so we have a full Plone site
to play with. We *can* inspect the state of the portal, e.g. using
self.portal and self.folder, but it is often frowned upon since you are not
treating the system as a black box. Also, if you, for example, log in or set
roles using calls like self.setRoles(), these are not reflected in the test
browser, which runs as a separate session.
Being a doctest, we can tell a story here.
First, we must perform some setup. We use the testbrowser that is shipped
with Five, as this provides proper Zope 2 integration. Most of the
documentation, though, is in the underlying zope.testbrower package.
>>> from Products.Five.testbrowser import Browser
>>> browser = Browser()
>>> portal_url = self.portal.absolute_url()
The following is useful when writing and debugging testbrowser tests. It lets
us see all error messages in the error_log.
>>> self.portal.error_log._ignored_exceptions = ()
With that in place, we can go to the portal front page and log in. We will
do this using the default user from PloneTestCase:
>>> from Products.PloneTestCase.setup import portal_owner, default_password
Because add-on themes or products may remove or hide the login portlet, this test will use the login form that comes with plone.
>>> browser.open(portal_url + '/login_form')
>>> browser.getControl(name='__ac_name').value = portal_owner
>>> browser.getControl(name='__ac_password').value = default_password
>>> browser.getControl(name='submit').click()
Here, we set the value of the fields on the login form and then simulate a
submit click. We then ensure that we get the friendly logged-in message:
>>> "You are now logged in" in browser.contents
True
Finally, let's return to the front page of our site before continuing
>>> browser.open(portal_url)
-*- extra stuff goes here -*-
Contributors
************
"", Author
Download
********
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
vs.tdi-0.1.0.zip
(34.6 kB
view hashes)