pioneer a strategic change in content organization with plone
DESCRIPTION
Waking up to the reality of SEO and social media, large corporate organizations are now looking to better control content on their long list of child sites, as well as prevent strategic information from evading to third-party sites such as LinkedIn, Facebook, Twitter, etc. One forward-thinking school – College of Engineering at University of Notre Dame – has set the ball rolling by implementing a large hub and spoke infrastructure to manage the content of a dozen departments and a dozen research centers. The new structure was unveiled in January 2012 and is powered by Plone. In this talk, we will unveil how the Plone add-on Lineage can be used to create a powerful structure of parent and child sites. First, we will explain how Lineage works out of the box with no customizations. The default behavior is simple and allows for the new microsites to be created instantly, but they will look the same as their parent. After reviewing the stock behavior, we will explore how to extend Lineage. There are several Lineage add-ons that allow child sites to have their own theme or even their own properties. We will present what these add-ons provide on top of the out-of-the box experience. We will also reveal how to use the child site creation hooks to populate the new child sites with content, set up properties and prepare the child site for use by the end users.TRANSCRIPT
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?