Clayton Parker
Pioneer a Strategic Change in Content Organization with Plone
PLONE CONFERENCE 2012
Who Am I?
Why Lineage?
How is it made?INavigationRoot
IPossibleSite⬇
IChildSite
Limitations
Installation and Usage
PLONE CONFERENCE 2012Install
[buildout]parts = instanceextends = http://dist.plone.org/release/4.2.1/versions.cfg
[instance]recipe = plone.recipe.zope2instanceuser = admin:admineggs = Pillow Plone collective.lineage
Add-ons
PLONE CONFERENCE 2012lineage.index
# Search for items from subsite1>>> brains = portal_catalog(childsite='subsite1')>>> brains[0].childsite'subsite1'
# Search for items from the actual plone site root>>> brains = portal_catalog(childsite=None)>>> brains[0].childsite is NoneTrue
PLONE CONFERENCE 2012lineage.registry
• Local registry settings
• Proxy to the registry above
PLONE CONFERENCE 2012lineage.proxyprops
• Terrible code
• But it works...
PLONE CONFERENCE 2012lineage.themeselection
Events
PLONE CONFERENCE 2012Event Interfaces
IChildSiteCreatedEvent
IChildSiteRemovedEvent
PLONE CONFERENCE 2012Coming Soon...
IChildSiteWillBeCreatedEvent
IChildSiteWillBeRemovedEvent
PLONE CONFERENCE 2012Creation eventfrom plone import api
def create_conference(event): """Create the content for the new conference child site """ child_site = event.object # Don't show this site in the nav child_site.setExcludeFromNav(True) # Make sure the setting gets indexed so that nav shows correctly child_site.reindexObject() # Create the default content api.content.create( type='Folder', title='Talks', container=child_site, id='talks') api.content.create( type='Folder', title='Speakers', container=child_site, id='speakers') api.content.create( type='Folder', title='About', container=child_site, id='about')
PLONE CONFERENCE 2012
In action...
The Future
PLONE CONFERENCE 2012Links
• Lineage (http://pypi.python.org/pypi/collective.lineage)
• lineage.index (http://pypi.python.org/pypi/lineage.index)
• lineage.registry (http://pypi.python.org/pypi/lineage.registry)
• lineage.themeselection (http://pypi.python.org/pypi/lineage.themeselection)
• ND School of Engineering (http://engineering.nd.edu)
• IEEE IT Society (http://www.itsoc.org)
PLONE CONFERENCE 2012Photo Credits• https://secure.flickr.com/photos/eleaf/2536358399/ (who)
• https://secure.flickr.com/photos/dave_traynor/841045738/ (why)
• https://secure.flickr.com/photos/avlxyz/4687454915/ (how)
• https://secure.flickr.com/photos/mahiskali/6705271393/ (limitations)
• https://secure.flickr.com/photos/zigazou76/5084317677/ (install)
• https://secure.flickr.com/photos/49373822@N05/5054574989/ (add-ons)
• https://secure.flickr.com/photos/seier/2455559824/ (future)
Thanks to
Check out
sixfeetup.com/demos
Questions?