Package: redturtle.portlets.inspector
redturtle.portlets.inspector============================redturtle.portlets.inspector is a report view to check the portlets inside aPlone site.The report view---------------This product gives you a view called `@@inspect-portlets`.To visit this view you have to be manager.You can call it on the root of your Plone site, e.g.:- http://localhost:8080/Plone-site-id/@@inspect-portletsor in restrict your analysis in a subsection of your site, e.g.:- http://localhost:8080/Plone-site-id/sub/section/@@inspect-portletsFor a newly created Plone site it will output:```{'/Plone': {u'plone.leftcolumn': [('<Assignment at ++contextportlets++plone.leftcolumn/navigation>',"<class 'plone.app.portlets.portlets.navigation.Assignment'>")],u'plone.rightcolumn': [('<Assignment at ++contextportlets++plone.rightcolumn/news>',"<class 'plone.app.portlets.portlets.news.Assignment'>"),('<Assignment at ++contextportlets++plone.rightcolumn/events>',"<class 'plone.app.portlets.portlets.events.Assignment'>")]}}```Installation------------Just add this egg to your instance eggs.```eggs+=redturtle.portlets.inspector```If your are using an older version of Plone (before 3.3), you will also haveto add this egg to the zcml.```zcml+=redturtle.portlets.inspector```Why you want it---------------You may want to check this view for several reasons:- you want to remove a product that provides a portlet and want to remove allthe related portlets in your site otherwise it will break- you want to analyze a Plone site before migrating it- you are simply curiousDetailed Documentation**********************Introduction============Counts the portlets in a siteTest suite==========This is a full-blown functional test. The emphasis here is on testing whatthe 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 siteto play with. We *can* inspect the state of the portal, e.g. usingself.portal and self.folder, but it is often frowned upon since you are nottreating the system as a black box. Also, if you, for example, log in or setroles using calls like self.setRoles(), these are not reflected in the testbrowser, 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 shippedwith Five, as this provides proper Zope 2 integration. Most of thedocumentation, 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 letsus 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 willdo this using the default user from PloneTestCase:>>> from Products.PloneTestCase.setup import portal_owner, default_passwordBecause 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 asubmit click.  We then ensure that we get the friendly logged-in message:>>> "You are now logged in" in browser.contentsTrueFinally, let's return to the front page of our site before continuing>>> browser.open(portal_url)Then we check the inspect-portlets view>>> browser.open(portal_url+'/@@inspect-portlets')-*- extra stuff goes here -*-Contributors************"", AuthorDownload********