Pioneer a Strategic Change in Content Organization with Plone


Published on

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.

Published in: Investor Relations
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Pioneer a Strategic Change in Content Organization with Plone

  1. Pioneer a Strategic Change inContent Organization with Plone Clayton Parker PLONE CONFERENCE 2012
  2. Who Am I?
  3. Why Lineage?
  4. How is it made? INavigationRoot IPossibleSite ➡ IChildSite
  5. Limitations
  6. Installation and Usage
  7. Install PLONE CONFERENCE 2012 [buildout] parts = instance extends = [instance] recipe = plone.recipe.zope2instance user = admin:admin eggs = Pillow Plone collective.lineage
  8. Add-ons
  9. lineage.index PLONE CONFERENCE 2012 # 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 None True
  10. lineage.registry PLONE CONFERENCE 2012• Local registry settings• Proxy to the registry above
  11. lineage.proxyprops PLONE CONFERENCE 2012• Terrible code• But it works...
  12. lineage.themeselection PLONE CONFERENCE 2012
  13. Events
  14. Event Interfaces PLONE CONFERENCE 2012 IChildSiteCreatedEvent IChildSiteRemovedEvent
  15. Coming Soon... PLONE CONFERENCE 2012 IChildSiteWillBeCreatedEvent IChildSiteWillBeRemovedEvent
  16. Creation event PLONE CONFERENCE 2012from plone import apidef create_conference(event): """Create the content for the new conference child site """ child_site = event.object # Dont 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)
  17. PLONE CONFERENCE 2012In action...
  18. The Future
  19. Links PLONE CONFERENCE 2012• Lineage (• lineage.index (• lineage.registry (• lineage.themeselection (• ND School of Engineering (• IEEE IT Society (
  20. Photo Credits PLONE CONFERENCE 2012• (who)• (why)• (how)• (limitations)• (install)• (add-ons)• (future) Thanks to
  21. Questions? heck out /demos C tup .comsi xfee