The microsite creation product for Plone
Project description
Introduction
Lineage is a Plone product that allows subfolders of a Plone site to appear as autonomous Plone sites to the everyday user. This hub and spoke structure allows site administrators to easily manage multiple, seemingly independent, sub-entity websites in one Plone. Furthermore, the “parent” site can access and view the content in all the “child” sites while the child sites only view their own content. The parent site can also syndicate chosen content to the selected child sites. Lineage is less complex and easier to manage than a cluster of nested Plone sites but gives users all the same benefits.
Lineage can be used within a large organization to manage multiple microsites, such as school district sites, university departments, corporate product sites, public library satellites, professional association events, and more.
Useful links
irc room: #plone-lineage
issue tracker: http://plone.org/products/collective-lineage/issues
svn repository: http://dev.plone.org/collective/browser/collective.lineage
Detailed Documentation
After you’ve bootstrapped your buildout, installed all the dependencies, and installed Lineage via Site Setup -> Add on Products, you are ready to go.
Add a Child Site
In Plone, go to the place where you want to add a new child site.
Click Add New, and add a Folder.
Enter the title and description for the Child site.
Click Save.
Click the actions drop down and select Child Site. This “activates” the child site behavior.
The Plone site now has a child site. A drop down will appear at the top of the Plone to the left of the site actions area. A user can select the parent site or any child sites from this drop down.
Installation Instructions
First step
If you are using zc.buildout and the plone.recipe.zope2instance recipe to manage your project, you can add collective.lineage to your instance part:
[instance] ... eggs = Plone collective.lineage zcml = collective.lineage
If you are using Plone 3.2
You will need to use the code added for PLIP 234. To do so, you’ll have to add the branches of the eggs for the plip:
[buildout] parts = ... plip234-branches [plip234-branches] recipe = infrae.subversion as_eggs = true urls = http://svn.plone.org/svn/plone/Plone/branches/calvinhp-inavigationroot-fixes Plone http://svn.plone.org/svn/plone/plone.app.layout/branches/calvinhp-inavigationroot-fixes plone.app.layout http://svn.plone.org/svn/plone/plone.app.portlets/branches/calvinhp-inavigationroot-fixes plone.app.portlets
If you are using Plone 3.1.7
You will need to use the branches created by duffyd (note the reference to ${plone317-products:location} in the products value of the instance section must be first in the list):
[buildout] parts = ... plone317-products plone317-eggs [instance] recipe = plone.recipe.zope2instance ... products = ${plone317-products:location} ... [plone317-products] recipe = infrae.subversion urls = http://svn.plone.org/svn/plone/Plone/branches/duffyd-inavigationroot-fixes-317/ Plone [plone317-eggs] recipe = infrae.subversion as_eggs = true urls = http://svn.plone.org/svn/plone/plone.app.layout/branches/duffyd-inavigationroot-fixes-317/ plone.app.layout http://svn.plone.org/svn/plone/plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/ plone.app.portlets
Last step
Now you can re-run your buildout to get the all the dependencies:
$ bin/buildout
Once your buildout is finished, you can start up your instance and install Lineage via the Add-on Products configlet in site setup.
Migration from 0.1 to the latest version
In versions of collective.lineage that are greater than 0.1, the Child Folder type has been deprecated and you can know activate a folder using the subtyper action when you are on a Folder.
An upgrade step takes care of migrating the old Child Folder to Folder. Make sure to backup your data and then, once you have updated your instance to use the latest collective.lineage, reinstall “Lineage”, it will migrate the items automatically.
Note: we are assuming that the Child Folder and the Folder workflows are the same.
Working on the trunk of lineage
To work on the trunk of lineage, do the following:
$ svn co https://svn.plone.org/svn/collective/collective.lineage/trunk/ lineage-trunk $ cd lineage-trunk $ python2.4 bootstrap.py $ bin/buildout -v $ bin/instance fg
Then:
go to http://localhost:8080/manage (admin/admin)
add a plone site
quickinstall lineage in the new plone site
create a folder and subtype it to see if everything works fine
You can run the tests in debug mode with the following command:
$ bin/test -D
Changelog
0.6 - (2010-05-25)
used z3c.autoinclude and removed the zcml slug in buildout.cfg [tbesluau]
update the security settings at the end of the migration so that the workflow is applied correctly on the new migrated folders, fixes #20 [lucielejard]
updated the migration so it keeps the layout on the folder fixes #18 [lucielejard]
0.5.1 - (2010-05-12)
updated docs as per duffyd suggestions [lucielejard]
0.5 - (2010-05-11)
updated docs with links to the branches created by duffyd for the backports of the plip #234 mods to Plone 3.1.7 [lucielejard]
0.4 - (2010-04-30)
updated docs about PLIP
Update docs with information about “activation” behavior. [clayton]
0.3 - (2010-04-30)
getting the unit testing to work with plone4 and allowing childsite editing with plone4, refs #16 [tbesluau]
updated README.txt with useful links [lucielejard]
added tests for the uninstall of lineage [lucielejard]
updated the list of items todo, removed rolemap.xml since we don’t use it anymore, updated the history with the recent changes [lucielejard]
moved the registration of the utility in component registry so it gets registered locally, this fixes #5 [lucielejard]
added a deprecation warning on the Child Folder type [lucielejard]
put back some old zcml so the Child Folder migration can be tested [lucielejard]
added a test for the migration from 0.1 to >0.1 [lucielejard]
updated the version in metadata.xml for the upgrade step [lucielejard]
made the Child Folder type not globally addable [lucielejard]
added an upgrade step that will migrate the old Child Folder objects [lucielejard]
added an import various step so that the upgrade step gets run automatically on reinstall [lucielejard]
Set up for i18n translations [claytron]
Moving over to an ‘activation’ based system instead of having a ‘Child Folder’ type. Now a folder will have the option for a subtype named ‘Child Site’. http://plone.org/products/collective-lineage/issues/3 http://plone.org/products/collective-lineage/issues/1 [claytron]
Remove ‘Child Folder’ add/edit interfaces. The type still remains so that we can do a migration. [claytron]
Added uninstall profile and hooked it up to the Quickinstaller [claytron]
Added subtyper.xml to the uninstall profile that will deactivate all ‘Child Sites’ in the portal. This depends on p4a.subtyper code that has not yet been released. This also solves the export/import issue http://plone.org/products/collective-lineage/issues/2 [claytron]
Added a subscriber to create the local component site (this was in the ‘Child Folder’ type before) [claytron]
0.2 - (XXXX-XX-XX)
Doc clarifications [claytron]
0.1 - (2009-02-10)
Initial public release
Special Thanks
Six Feet Up would especially like to thank Martin Aspeli for his inspiration and the Duke Clinical Research Institute group for project funding.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.