wiki:Plone4

Plone 4

Information specific to Plone 4.

Important Dates (subject to change)

  •  Release calendar (and in  iCal format)
  • August 16, 2009: Initial PLIP implementation deadline
  • September 9, 2009: Framework Team PLIP reviews due
  • September 23, 2009: PLIP revisions due
  • October 7, 2009: Framework Team review of PLIP revisions due. Final voting. Merging begins.
  • February 17, 2010: Alpha 5 release
  • March 3, 2010: Beta 1 release

Accepted Proposals

No results

Merged Proposals

#7822
Make standard file content types use ZODB BLOB support
#8801
Move action icon support into actions, deprecate CMFActionIcons
#8802
Move our upgrade / migration infrastructure to GenericSetup
#8805
Do not ship with NuPlone anymore
#8808
Require Python 2.5 or 2.6, Zope 2.12, and CMF 2.2 for Plone 4.0
#8814
Replace SecureMailHost with a standard Zope mailhost
#8815
Use normal CSS and no more magic base_properties
#9186
Set Image IDs from Title field
#9214
support logins using e-mail address instead of user id
#9249
Add TinyMCE as the default visual editor
#9250
Add jQuery Tools to base install
#9256
Expand variable substitution in mailing action of plone.app.contentrules
#9258
Replace Products.ATReferenceBrowserWidget with archetypes.referencebrowserwidget
#9259
Group dashboards
#9263
GenericSetup syntax for importing Sharing page roles
#9264
Merge backport patches from plone.app.dexterity into Plone
#9272
Exposing and editing Dublin Core properties
#9285
Show blocked portlets in management interface
#9286
Allow to show/hide portlets
#9305
Use real names instead of usernames
#9309
Better search for East Asian (multi-byte) languages.
#9310
User registration process more flexible
#9314
Plone "Developer Pack" option for installers
#9315
New theme for Plone 4
#9316
Unify folder implementations
#9321
Reimplement the search form with an eye on usability
#9330
Add ability to choose group when adding new site members
#9545
Folder Contents interface improvements
#9560
GroupUserFolder removing
#9568
Add buildout to the Plone Installer for Windows
#9570
Change root-of-Zope page for Unified Install
#10014
Enable sub-groups

Development

Documentation and pointers for changes relevant for people working on the Plone 4 codebase.

Using SVN, check out the  Plone 4.0 buildout. Plone 4 now runs Zope 2.12, which uses Python 2.6, so make sure that you're using the version of Python to run the 'bootstrap.py' command, typically this would be done using

python2.6 bootstrap.py

This buildout uses  mr.developer to manage package development.

Bug fixing

Packages currently under development can be found in your buildout's src directory. If the package you wish to make changes to is not there, run

bin/develop co <name of package>
bin/develop rb

This will do an svn checkout of the package into your src directory and rerun the buildout so that it's recognized.

Once your changes have been made and committed, edit sources.cfg and add the name of the package to the [autocheckout] section. This allows all other developers to use your updated package and alerts the package maintainers that the package needs a new release.

PLIP Implementation

Create a buildout configuration file for your plip in the 'plips' folder. Give it a descriptive name, starting with the plip number, plip-1234-widget-frobbing.cfg for example. This file will define the branches/trunks you're working with in your PLIP. It should look something like this:

plips/plip-1234-widget-frobbing.cfg

[buildout]
extends = plipbase.cfg
auto-checkout +=
    plone.somepackage
    plone.app.someotherpackage

[sources]
plone.somepackage          = svn https://svn.plone.org/svn/plone/plone.somepackage/branches/plip-1234-widget-frobbing
plone.app.someotherpackage = svn https://svn.plone.org/svn/plone/plone.app.someotherpackage/somepackage/branches/plip-1234-widget-frobbing

[instance]
eggs += plone.somepackage
        plone.app.someotherpackage
zcml += plone.somepackage
        plone.app.someotherpackage

Use the same naming convention when branching existing packages, and you should always be branching packages when working on PLIPs.