Transcript
Page 1: Pioneer a Strategic Change in Content Organization with Plone

Clayton Parker

Pioneer a Strategic Change in Content Organization with Plone

PLONE CONFERENCE 2012

Page 2: Pioneer a Strategic Change in Content Organization with Plone

Who Am I?

Page 3: Pioneer a Strategic Change in Content Organization with Plone
Page 4: Pioneer a Strategic Change in Content Organization with Plone

Why Lineage?

Page 5: Pioneer a Strategic Change in Content Organization with Plone
Page 6: Pioneer a Strategic Change in Content Organization with Plone
Page 7: Pioneer a Strategic Change in Content Organization with Plone
Page 8: Pioneer a Strategic Change in Content Organization with Plone
Page 9: Pioneer a Strategic Change in Content Organization with Plone
Page 10: Pioneer a Strategic Change in Content Organization with Plone
Page 11: Pioneer a Strategic Change in Content Organization with Plone

How is it made?INavigationRoot

IPossibleSite⬇

IChildSite

Page 12: Pioneer a Strategic Change in Content Organization with Plone

Limitations

Page 13: Pioneer a Strategic Change in Content Organization with Plone

Installation and Usage

Page 14: Pioneer a Strategic Change in Content Organization with Plone

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

Page 15: Pioneer a Strategic Change in Content Organization with Plone
Page 16: Pioneer a Strategic Change in Content Organization with Plone
Page 17: Pioneer a Strategic Change in Content Organization with Plone

Add-ons

Page 18: Pioneer a Strategic Change in Content Organization with Plone

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

Page 19: Pioneer a Strategic Change in Content Organization with Plone

PLONE CONFERENCE 2012lineage.registry

• Local registry settings

• Proxy to the registry above

Page 20: Pioneer a Strategic Change in Content Organization with Plone

PLONE CONFERENCE 2012lineage.proxyprops

• Terrible code

• But it works...

Page 21: Pioneer a Strategic Change in Content Organization with Plone

PLONE CONFERENCE 2012lineage.themeselection

Page 22: Pioneer a Strategic Change in Content Organization with Plone
Page 23: Pioneer a Strategic Change in Content Organization with Plone
Page 24: Pioneer a Strategic Change in Content Organization with Plone
Page 25: Pioneer a Strategic Change in Content Organization with Plone

Events

Page 26: Pioneer a Strategic Change in Content Organization with Plone

PLONE CONFERENCE 2012Event Interfaces

IChildSiteCreatedEvent

IChildSiteRemovedEvent

Page 27: Pioneer a Strategic Change in Content Organization with Plone

PLONE CONFERENCE 2012Coming Soon...

IChildSiteWillBeCreatedEvent

IChildSiteWillBeRemovedEvent

Page 28: Pioneer a Strategic Change in Content Organization with Plone

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')

Page 29: Pioneer a Strategic Change in Content Organization with Plone

PLONE CONFERENCE 2012

In action...

Page 30: Pioneer a Strategic Change in Content Organization with Plone

The Future

Page 31: Pioneer a Strategic Change in Content Organization with Plone

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)

Page 32: Pioneer a Strategic Change in Content Organization with Plone

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

Page 33: Pioneer a Strategic Change in Content Organization with Plone

Check out

sixfeetup.com/demos

Questions?


Top Related