Personal tools
You are here: Home Products Plone Roadmap #113: CMF1.6 / GenericSetup
Navigation
Log in


Forgot your password?
New user?
 
Document Actions

#113: CMF1.6 / GenericSetup

Contents
  1. Motivation
  2. Assumptions
  3. Proposal
  4. Implementation
  5. Deliverables
  6. Risks
  7. Progress log
  8. Participants
by Whit Morriss last modified June 11, 2006 - 00:21
The CMF team is in support of releasing a CMF1.6 version, which would be nearly identical to CMF1.5 except that it would have the GenericSetup-based site creation code backported from the CMF trunk. This PLIP is proposing that the next release of Plone require CMF1.6, making use of GenericSetup for site creation.
Proposed by
Rob Miller
Seconded by
Whit Morriss
Proposal type
Architecture
Assigned to release
Repository branch
goldegg
State
completed

Motivation

In CMF2.0, the PortalGenerator method of creating a portal (which Plone 2.1 currently uses) will be removed from CMF altogether; instead a site configuration system built on top of GenericSetup will be used. It is not feasible for us to switch to CMF2.0 right now due to the amount of 3rd party product breakage that would cause, but it _is_ desireable for us to start using the GenericSetup method of portal creation, to make it possible development against CMF2.0 possible without having to maintain two radically different branches of Plone.

The CMF team has agreed to allow a CMF1.6 release, which would be nearly identical to CMF1.5 except that it would have the GenericSetup site creation code back-ported from CMF2.0. If our next release of Plone supports CMF1.6 and the new site creation mechanism, it will be much easier for us to do ongoing development against the CMF trunk, while still staying reasonably synchronized with the code base from the latest release.

GenericSetup forms the basis for a wide variety of other improvements to Plone, including the migration framework, portal customization, import / export, and product installation. Additionally, maintaining closer compatibility with CMF2.0 will make it easier for Plone to make use of new developments happening there, including events for caching and container operations, and extension through component architecture instead of inheritance and monkey patching.

Assumptions

CMF1.6 will be in a usable state, working with a GenericSetup based Plone installation by December 1st.

NOTE: As of November 29, 2005, the CMF 1.6 branch is fully functional, with ALL unit tests passing, except for four failing GenericSetup tests. These same four tests are failing in a CMF trunk checkout.

Proposal

GenericSetup-based portal creation code needs to be backported from CMF2.0 to CMF1.6. DONE

Plone's site creation process needs to be updated to make use of the GenericSetup-based creation code. (This is about 98% complete as of November 29, 2005.)

Implementation

Current setup mechanism must be reimplemented to use CMFSetup profile rather than the old customization pseudo component architecture.

GenericSetup-based site configuration will make some of the migration steps that are currently happening at portal creation time unnecessary, but these steps will still need to be taken for sites that are being migrated from earlier versions. The migration code will need to be shuffled a bit, then, to expose the correct steps (and only the correct steps) to the portal creation process.

NOTE: This is approximately 98% done as of November 29, 2005.

Deliverables

A working branch of Plone, with all unit tests passing, on top of CMF1.6 and using GenericSetup for the site creation code. NOTE: As of November 29, 2005, CMFPlone has 23 failures and 3 errors for it's unit tests in this configuration. A number of these failures are bogus, related to tab index discrepancies. It is possible to create a functional site TTW and to perform basic operations without trouble.

Documentation explaining how to create GenericSetup setup profiles so that third party product maintainers can start using them for their own product configuration.

Risks

There should be almost no imcompatibilities w/ existing products because we will not be removing the QuickInstaller mechanism of product installation, nor will the underlying CMF be changing very much.

It is possible that Florent will be introducing some changes to CMFCatalogAware in CMF1.6 that will impact Plone, however. This needs to be resolved; ideally it will provide us an opportunity to clean up the messy state that the Plone and Archetypes indexing code is currently in. NOTE: Consensus has been reached that the CMFCatalogAware changes will not land in CMF 1.6, so this risk has been eliminated.

Progress log

  • A considerable amount of work getting Plone to work w/ a GenericSetup-based installation, using the CMF trunk, has been done already; it is estimated this is 70% complete. NOTE: About 98% done as of November 29, 2005.
  • A CMF1.6 branch has been cut, work will begin very soon backporting the GenericSetup site creation code to this branch. NOTE: This work is largely done as of November 29, 2005.

Participants

Brent Hendriks
Whit Morriss
Rob Miller


For any issues with the web site functionality, please file a ticket.

Please consult the policy on plone.org content if you want your content published on this site.

Servers and hosting by