Metadata-Version: 1.0
Name: collective.doormat
Version: 0.1
Summary: Adds a doormat viewlet and installs it in the Plone
      footer. The links and text in the doormat are manageable in the
      control panel
Home-page: http://plone.org/products/collective.doormat
Author: Christian Ledermann
Author-email: christian.ledermann@gmail.com
License: GPL
Description: Introduction
        =============
        
        
        A doormat is a couple of links which are presented in a structured way.
        One example is the current plone.org, where the div#sitemap at the
        bottom consists of some ordered bundles of internal and external links,
        with sections called "Downloads", "Documentation", "Developers",
        "Plone foundation" and "Support".
        
        This product adds a control panel in which you can design your doormat
        with a WYSIWYG editor. No contenttypes are added.
        
        
        - Code repository: https://svn.plone.org/svn/collective/collective.doormat/trunk
        - Report bugs at http://plone.org/products/collective.doormat/issues
        
        
        Change history
        **************
        
        Changelog
        =========
        
        0.1 (2011/12/15)
        ----------------
        
        - initial release
        - Created recipe with ZopeSkel
          [Christian Ledermann]
        
        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
        ************
        
        Christian Ledermann, Author
        
        
        Download
        ********
        
Platform: UNKNOWN
Classifier: Framework :: Plone
Classifier: Framework :: Plone :: 4.0
Classifier: Framework :: Plone :: 4.1
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
