Lineage is an add-on for Plone. With Lineage you can create lots of sites inside one system.
It's enabled by some of the pieces that are built into Plone, including INavigationRoot and IPossibleSite that provide an interface, IChildSite.
Advantages
You get a lot of benefits including:
One set of users
One set of groups, roles, permissions
Maintain Plone and all add-ons in one place, and update all sites at the same time
Can share content across sites because they are all in the same system
Smaller footprint and better performance
Disadvantages
It's a little more difficult to pull a site out into its own system
May get a little unwieldy if you have thousands of users
Add-ons and properties are global across all sites
This is nice if all the sites can be similar
Install Lineage
Add collective.lineage to your buildout. When installing Lineage, a really popular add on is lineage.themeselection
After Lineage is installed, you can go into the actions menu on any folder and select Enable Subsite. This folder can now look completely like it's own site. You can even nest subsites within subsites. The search box in the root site will search across all subsites, but if you are inside a specific subsite you will only find content in it. You can also point different domains at each subsite.
Theming subsites
With lineage.themeselection you can change themes on a subsite basis. You can see on each subsite there is a Theme tab, which takes you to the main Theme control panel, but in the context of the subsite that you came from.
Cool things you can do with Lineage
Custom Site Types
Lineage items are just folders
You can make custom content types based on folders and have custom Lineage sites that users can create
PSLA eLearning Mini Use Case
Penn State Liberal Arts had over 120 different Plone sites on one server for their classes. All the homework was due on Sunday night, and the sites would go down with all the students submitting homework at the same time.
Their previous solution was to copy and paste Plone sites in Zope
With Lineage we migrated all the sites into one Plone instance with folders
We migrated each class site into department sites so they could easily manage it
They have a custom content type called a Course
This generates all the blank lessons, front page, and everything they need for a course
The teacher is guided through everything they need to set up a new course
There are custom banners for each site
Course sites are tied into the students Angel Learning system to allow students to only access sites that match courses they are taking
Other Extension Examples
lineage.registry, for storing some config per site
lineage.index: adds a separate index to the catalog per site.
Resonate/WebUnity is new and enables moving content, syndicating content and central faculty profiles
Notre Dame College of Engineering Mini Case Study
They had a problem of each department and center going off and doing their own thing to build their websites. They wanted a consistent look and ability to share content across their various sites. Allowing them to promote content and the faculty involved in that content was important. They also could not manage the canonical source of content to increase their SEO. It also was very difficult to edit or retract content because it was being copied and pasted across sites.
With Resonate & WebUnit
You can request to syndicate a piece of content you make to anotjer site
This maintains a canonical source of content but shares a teaser that the other site can modify
You can request to move a piece of content you make to another site
Staff from the other site gets notified in the standard Plone review list to accept or reject the content
The content creator can monitor where an item has been accepted or rejected for syndication
Move and syndication requests show up in the history of the piece of content
Works with sites across separate vanity URLs
How does it perform?
I set up two Zope instances, one with 100 Plone Sites, one with 1 Plone Site and 100 sub sites.
100 empty Plone sites vs. 1 site with 100 child sites
ZODB size: about 9 MB with Lineage vs. 140 MB
Memory use was a lot closer with empty sites
Could be different as catalogs for each site grow with content
Lineage is Plone 5 compatible!
Lineage 2.0 works quite nicely in the new Plone 5 interface. Download Lineage 2.0.