• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
A Look at Plone 4
 

A Look at Plone 4

on

  • 5,958 views

The story of Plone 4. What's changed and how we got there.

The story of Plone 4. What's changed and how we got there.

Statistics

Views

Total Views
5,958
Views on SlideShare
5,917
Embed Views
41

Actions

Likes
9
Downloads
123
Comments
1

5 Embeds 41

http://www.slideshare.net 30
http://www.ploneconf2009.org 8
http://cms.ploneconf2009.org:8080 1
http://ploneconf2009.org 1
http://webcache.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • which absolutely none of you came to hear, but I’m going to tell you about anyway.
  • Part the first, in which things are needlessly convoluted.
  • We had two releases, Plone 3 and Plone 4.
  • We had two releases, Plone 3 and Plone 4.
  • Plone 3 had all sorts of things <br /> <br /> Plone 4 had all sorts of plans
  • Plone 3 had all sorts of things <br /> <br /> Plone 4 had all sorts of plans
  • Plone 3 had all sorts of things <br /> <br /> Plone 4 had all sorts of plans
  • Plone 3 had all sorts of things <br /> <br /> Plone 4 had all sorts of plans
  • Plone 3 had all sorts of things <br /> <br /> Plone 4 had all sorts of plans
  • Plone 3 had all sorts of things <br /> <br /> Plone 4 had all sorts of plans
  • Plone 3 had all sorts of things <br /> <br /> Plone 4 had all sorts of plans
  • Plone 3 had all sorts of things <br /> <br /> Plone 4 had all sorts of plans
  • Plone 3 had all sorts of things <br /> <br /> Plone 4 had all sorts of plans
  • Plone 3 had all sorts of things <br /> <br /> Plone 4 had all sorts of plans
  • Plone 3 had all sorts of things <br /> <br /> Plone 4 had all sorts of plans
  • Plone 3 had all sorts of things <br /> <br /> Plone 4 had all sorts of plans
  • Plone 3 had all sorts of things <br /> <br /> Plone 4 had all sorts of plans
  • Plone 3 had all sorts of things <br /> <br /> Plone 4 had all sorts of plans
  • Plone 3 had all sorts of things <br /> <br /> Plone 4 had all sorts of plans
  • Plone 3 had all sorts of things <br /> <br /> Plone 4 had all sorts of plans
  • The problem was, we were looking at 3 years between releases and huge migrations for everyone.
  • And so we said, &#x201C;well, some of this is actually ready...now&#x201D;.
  • So let&#x2019;s make a new major release! <br /> <br /> It&#x2019;ll be like Plone 3, but with some of the things from Plone 4. People get will get some of the new features much sooner and they&#x2019;ll have a much simpler migration.
  • And everybody said yaaay!
  • And let&#x2019;s call it Plone 3.5!
  • And everybody said Nooo!
  • Because of what I&#x2019;ve been calling the &#x201C;Dot Release Contract&#x201D; <br /> <br /> Though, while researching for this presentation, Google informed me that I&#x2019;m the only one to ever actually use the term. Here&#x2019;s how we make it canon...
  • So we said, &#x201C;here&#x2019;s what we&#x2019;ll do...&#x201D;
  • We&#x2019;ll take the release we&#x2019;ve been calling Plone 4 and call it Plone 5.
  • &#x201C;And then we&#x2019;ll call this new one Plone 4 instead!&#x201D; <br /> <br /> [deadpan/sarcastic] Because that won&#x2019;t confuse anybody...
  • And everybody sorta just shrugged.
  • And so, let me introduce
  • The intent of the release was to make this primarily a transitional release which means
  • Part the second, in which I give an overly-detailed description of...
  • ...the PLIP process.
  • So what&#x2019;s a PLIP?
  • == Motivation == <br /> Why does this proposal exist and what problem does it solve? <br /> <br /> == Assumptions == <br /> What is being covered by and what is intentionally left out of the scope of the proposal. <br /> <br /> == Proposal & Implementation == <br /> What needs to be done, and how should it be done? <br /> <br /> == Deliverables == <br /> What code and documentation needs to be produced? <br /> <br /> == Risks == <br /> What are the risks of implementing this proposal? <br /> What incompatibilities can it cause?
  • And before we could accept those proposals, we needed a framework team. <br /> And the primary duty of the Framework Team is to evaluate PLIPs for inclusion into the release.
  • And before we could accept those proposals, we needed a framework team. <br /> And the primary duty of the Framework Team is to evaluate PLIPs for inclusion into the release.
  • And before we could accept those proposals, we needed a framework team. <br /> And the primary duty of the Framework Team is to evaluate PLIPs for inclusion into the release.
  • 3 series, Plone 5
  • And we threw in Plone 2.5&#x2018;s release manager, Alec Mitchell, for good measure. Eight people sounded like a lot, but really worked out rather well because of what happened next.
  • And as release manager, it&#x2019;s my job to remind, push, prod, nag, cajole, and occasionally shame everyone into getting their work done.
  • And as release manager, it&#x2019;s my job to remind, push, prod, nag, cajole, and occasionally shame everyone into getting their work done.
  • And as release manager, it&#x2019;s my job to remind, push, prod, nag, cajole, and occasionally shame everyone into getting their work done.
  • And as release manager, it&#x2019;s my job to remind, push, prod, nag, cajole, and occasionally shame everyone into getting their work done.
  • And as release manager, it&#x2019;s my job to remind, push, prod, nag, cajole, and occasionally shame everyone into getting their work done.
  • And as release manager, it&#x2019;s my job to remind, push, prod, nag, cajole, and occasionally shame everyone into getting their work done.
  • So Deadline 1 was PLIP submission. We gave everyone two weeks to get their proposals in. <br /> <br /> I figured we&#x2019;d be lucky to see 10.
  • We got a record 58.
  • After an initial evaluation by the Framework Team, we were down to 41.
  • 33 actual implementations were submitted to the Framework Team who dug through the code and made suggestions for improvements. <br /> <br /> <br /> Then handed those back to the implementers and gave them 3 weeks to revise their work accordingly.
  • At this point, I need to give a big thanks to <br /> <br /> for pitching in for these reviews. We never would&#x2019;ve made it through otherwise.
  • So then we handed those critiques back to the implementers and gave them 3 weeks to revise their work accordingly.
  • And then it was time for the final up or down vote on each. 26 made the cut.
  • Again, a record for Plone.
  • Done.
  • So basically I went through all of that for one reason. There are a lot of people who worked extremely hard to put together this release in a very short amount of time. They all deserve a round of applause. And, if I might make a suggestion, a round or more of free beers.
  • [reduces the risk of Plone being unable to adopt third party <br /> packages that depend on newer Python features]
  • RelStorage, which means it&#x2019;s easier to store data in relational databases and use their clustering and replication features. <br /> <br /> And Blob storage, which lets us save file content to the filesystem outside of the Data.fs.
  • Funkload tests run for us by Ross Patterson.
  • Using Plone 2.5 as the baseline performance measurement.
  • Then Plone 3.0
  • 3.3
  • And 4.0
  • We can see that Plone 4.0 responds nearly twice as fast at low loads and as we get up into higher loads, it&#x2019;s performing nearly 5 times better than Plone 2.5.
  • And responds around twice as fast as Plone 3.3.
  • And another graph.
  • This time, we&#x2019;re looking at performance while adding new content to the site.
  • Once again, using Plone 2.5 as the baseline.
  • We can see that Plone 4 runs anywhere from 2.5 to 4.5 times faster than Plone 2.5, again with much better relative response times at higher loads.
  • And up to 3 times as fast as Plone 3.3
  • Also of note, Plone 3.3 performs worse than 3.0 in this test. Now that we have this benchmarking set up, we can hopefully catch regressions like these before we release.
  • Hanno ran some numbers for page load times using apache benchmark and found that <br /> 44% increase in speed <br /> 35% increase in speed <br /> 19% increase in speed
  • SecureMailHost was added in Plone 2.1 to support Transport Layer Security encryption. <br /> <br /> That was made redundant by changes to Zope 2.11&#x2019;s MailHost. <br /> <br /> Quoted-printable instead of base64 which should make them less likely to get flagged by spam filters.
  • Plone currently ships with two types of folders.
  • Plone currently ships with two types of folders.
  • Basically a large plone folder, <br /> <br /> but with ordering support <br /> <br /> Provides an ordering adapter which allows you to specify exactly which content types will be orderable within a folder.
  • Basically a large plone folder, <br /> <br /> but with ordering support <br /> <br /> Provides an ordering adapter which allows you to specify exactly which content types will be orderable within a folder.
  • Basically a large plone folder, <br /> <br /> but with ordering support <br /> <br /> Provides an ordering adapter which allows you to specify exactly which content types will be orderable within a folder.
  • 40% increase in speed <br /> 30% increase in speed
  • Simplify the process of adding new roles to Plone&#x2019;s sharing view by adding some new GenericSetup functionality. <br /> <br /> This is a port from collective.sharingroles.
  • And this is what the GenericSetup XML would look like.
  • Hanno has pointed out another instance of plone.app.blob in production: Norden.org, built by Jarn, which has a 6 gig data.fs and another 16 gigs of file content in blob-storage. It scales quite nicely.
  • Take advantage of changes in CMF
  • Take advantage of changes in CMF
  • Why&#x2019;s this so great?
  • They&#x2019;ve just opened Plone up to a potential 1.5 billion new users.
  • Billion
  • The main intent behind this theme was to be intentionally boring. Something that looked good, but was simple enough that a company could slap their own logo in there and call it a finished site. <br /> <br /> It&#x2019;s built on the Deco grid system which lets you define layout very easily.
  • The main intent behind this theme was to be intentionally boring. Something that looked good, but was simple enough that a company could slap their own logo in there and call it a finished site. <br /> <br /> It&#x2019;s built on the Deco grid system which lets you define layout very easily.
  • The main intent behind this theme was to be intentionally boring. Something that looked good, but was simple enough that a company could slap their own logo in there and call it a finished site. <br /> <br /> It&#x2019;s built on the Deco grid system which lets you define layout very easily.
  • The main intent behind this theme was to be intentionally boring. Something that looked good, but was simple enough that a company could slap their own logo in there and call it a finished site. <br /> <br /> It&#x2019;s built on the Deco grid system which lets you define layout very easily.
  • The main intent behind this theme was to be intentionally boring. Something that looked good, but was simple enough that a company could slap their own logo in there and call it a finished site. <br /> <br /> It&#x2019;s built on the Deco grid system which lets you define layout very easily.
  • The main intent behind this theme was to be intentionally boring. Something that looked good, but was simple enough that a company could slap their own logo in there and call it a finished site. <br /> <br /> It&#x2019;s built on the Deco grid system which lets you define layout very easily.
  • Roel Bruggink
  • Provides the option to expose Dublin Core metadata for any object in the HTML meta tags.
  • A PLIP so big it apparently defies my attempts to display it on one line.
  • Replaces Products.ATReferenceBrowserWidget <br /> Provides large performance improvements over its predecessor <br /> It supports more reference field implementations OOTB and is easier to plug into new ones. <br /> It&#x2019;s easy to override the popup template <br /> Proper test coverage
  • Replaces Products.ATReferenceBrowserWidget <br /> Provides large performance improvements over its predecessor <br /> It supports more reference field implementations OOTB and is easier to plug into new ones. <br /> It&#x2019;s easy to override the popup template <br /> Proper test coverage
  • Replaces Products.ATReferenceBrowserWidget <br /> Provides large performance improvements over its predecessor <br /> It supports more reference field implementations OOTB and is easier to plug into new ones. <br /> It&#x2019;s easy to override the popup template <br /> Proper test coverage
  • Replaces Products.ATReferenceBrowserWidget <br /> Provides large performance improvements over its predecessor <br /> It supports more reference field implementations OOTB and is easier to plug into new ones. <br /> It&#x2019;s easy to override the popup template <br /> Proper test coverage
  • Replaces Products.ATReferenceBrowserWidget <br /> Provides large performance improvements over its predecessor <br /> It supports more reference field implementations OOTB and is easier to plug into new ones. <br /> It&#x2019;s easy to override the popup template <br /> Proper test coverage
  • This is Products.TinyMCE which has been available for use in Plone 3 for a while now. This PLIP is one of those Plone 5 changes that we&#x2019;re preparing everyone for since TinyMCE is an integral part of the Deco UI. <br /> <br /> We&#x2019;re integrating this as the default rich text editor for Plone 4, but we&#x2019;re still including Kupu for backwards compatibility reasons.
  • The configuration options look very similar to Kupu&#x2019;s as well.
  • Like Mac screenshots or downloads from Flickr
  • This is another highly requested feature.
  • This is another highly requested feature.
  • This is another highly requested feature.
  • This is another highly requested feature.
  • We&#x2019;re stealing the Zope startup page from the Unified Installer. This provides a much friendlier view for new Plone users. <br /> <br /> Create a new Plone site from here. And you&#x2019;ll also see any migration warnings here.
  • The new Plone site form has also been revamped. Once again, trying to provide a much friendlier experience for new users. The general idea is to keep newbies out of the ZMI for as long as possible. <br /> <br /> Have the option to skip the example content (front-page, news, events) <br /> <br /> You&#x2019;ll have the ability to chose which (already downloaded) products should be automatically installed in that new site.
  • The new Plone site form has also been revamped. Once again, trying to provide a much friendlier experience for new users. The general idea is to keep newbies out of the ZMI for as long as possible. <br /> <br /> Have the option to skip the example content (front-page, news, events) <br /> <br /> You&#x2019;ll have the ability to chose which (already downloaded) products should be automatically installed in that new site.
  • The new Plone site form has also been revamped. Once again, trying to provide a much friendlier experience for new users. The general idea is to keep newbies out of the ZMI for as long as possible. <br /> <br /> Have the option to skip the example content (front-page, news, events) <br /> <br /> You&#x2019;ll have the ability to chose which (already downloaded) products should be automatically installed in that new site.
  • And if you&#x2019;ve been following the growing debate over Setuptools and Distribute, Plone will be throwing its rather sizable weight behind Distribute.
  • Configurable and extensible comment forms using z3c.form
  • Configurable and extensible comment forms using z3c.form
  • Configurable and extensible comment forms using z3c.form
  • Configurable and extensible comment forms using z3c.form

A Look at Plone 4 A Look at Plone 4 Presentation Transcript

  • A Look At Plone 4 P l o n e C o n f e r e n c e 2 0 0 9
  • Introductions
  • Introductions • Eric Steele
  • Introductions • Eric Steele • esteele on IRC
  • Introductions • Eric Steele • esteele on IRC • Product Developer @ WebLion
  • Introductions • Eric Steele • esteele on IRC • Product Developer @ WebLion • GloWorm, FacultyStaffDirectory
  • Introductions • Eric Steele • esteele on IRC • Product Developer @ WebLion • GloWorm, FacultyStaffDirectory • Plone 4 Release Manager
  • First things first...
  • We are not renaming magnets topics smart folders collections in Plone 4.
  • So...
  • The boring backstory...
  • Part the First: Needlessly convoluted
  • Once upon a time... (ie March 2009)
  • Plone 3
  • Plone 3 Plone 4
  • Plone 3 Plone 4
  • Plone 3 Plone 4 •KSS
  • Plone 3 Plone 4 •KSS •Wicked
  • Plone 3 Plone 4 •KSS •Wicked •NuPlone
  • Plone 3 Plone 4 •KSS •Wicked •NuPlone •Zope 2.10
  • Plone 3 Plone 4 •KSS •Wicked •NuPlone •Zope 2.10 •Versioning
  • Plone 3 Plone 4 •KSS •Wicked •NuPlone •Zope 2.10 •Versioning •Content Rules
  • Plone 3 Plone 4 •KSS •Wicked •NuPlone •Zope 2.10 •Versioning •Content Rules •OpenID
  • Plone 3 Plone 4 •KSS •KSS •Wicked •NuPlone •Zope 2.10 •Versioning •Content Rules •OpenID
  • Plone 3 Plone 4 •KSS •KSS •Wicked •Wicked •NuPlone •Zope 2.10 •Versioning •Content Rules •OpenID
  • Plone 3 Plone 4 •KSS •KSS •Wicked •Wicked •NuPlone •NuPlone •Zope 2.10 •Versioning •Content Rules •OpenID
  • Plone 3 Plone 4 •KSS •KSS •Wicked •Wicked •NuPlone •NuPlone •Zope 2.10 •Zope 2.12 •Versioning •Content Rules •OpenID
  • Plone 3 Plone 4 •KSS •KSS •Wicked •Wicked •NuPlone •NuPlone •Zope 2.10 •Zope 2.12 •Versioning •Deco/Blocks/TinyMCE •Content Rules •OpenID
  • Plone 3 Plone 4 •KSS •KSS •Wicked •Wicked •NuPlone •NuPlone •Zope 2.10 •Zope 2.12 •Versioning •Deco/Blocks/TinyMCE •Content Rules •Dexterity •OpenID
  • Plone 3 Plone 4 •KSS •KSS •Wicked •Wicked •NuPlone •NuPlone •Zope 2.10 •Zope 2.12 •Versioning •Deco/Blocks/TinyMCE •Content Rules •Dexterity •OpenID •WSGI
  • Plone 3 Plone 4 •KSS •KSS •Wicked •Wicked •NuPlone •NuPlone •Zope 2.10 •Zope 2.12 •Versioning •Deco/Blocks/TinyMCE •Content Rules •Dexterity •OpenID •WSGI •BLOB support
  • Plone 3 Plone 4 •KSS •KSS •Wicked •Wicked •NuPlone •NuPlone •Zope 2.10 •Zope 2.12 •Versioning •Deco/Blocks/TinyMCE •Content Rules •Dexterity •OpenID •WSGI •BLOB support •Rework folder classes
  • Plone 3 Plone 4 August, 2007 Late 2010?
  • Plone 3 Plone 4 •KSS •KSS •Wicked •Wicked •NuPlone •NuPlone •Zope 2.10 •Zope 2.12 •Versioning •Deco/Blocks/TinyMCE •Content Rules •Dexterity compatibility •OpenID •WSGI •BLOB support •Rework folder classes
  • Plone 3 Plone 4 [New Release]
  • Yay!
  • Plone 3 Plone 4 Plone 3.5?
  • No!
  • The “Dot Release Contract”
  • The “Dot Release Contract” Expected Migration Headache 0 1 2 3 Number of Dots
  • The “Dot Release Contract” Release Size Expected Migration 3 Ugh. 3.x Eh. 3.x.y *pfft*
  • The “Dot Release Contract” Release Size Expected Migration 3 Ugh. 3.x Eh. 3.x.y *pfft*
  • The “Dot Release Contract” Release Size Expected Migration 3 Ugh. 3.x Eh. 3.x.y *pfft*
  • The “Dot Release Contract” Release Size Expected Migration 3 Ugh. 3.x Eh. 3.x.y *pfft*
  • The “Dot Release Contract” Release Size Expected Migration 3 Ugh. 3.x Eh. 3.x.y *pfft*
  • The “Dot Release Contract” Release Size Expected Migration 3 Ugh. 3.x Eh. 3.x.y *pfft*
  • The “Dot Release Contract” Release Size Expected Migration 3 Ugh. 3.x Eh. 3.x.y *pfft*
  • Plone 3 Plone 4
  • Plone 3 Plone 4 5
  • Plone 3 Plone 4 5 Plone 4!
  • ...
  • And so...
  • The New Plone 4
  • The New Plone 4 (Just like the old Plone 4, but not)
  • The New Plone 4 (Just like the old Plone 4, but not) (No, it doesn’t have Deco)
  • The New Plone 4 • “Transitional Release” • Infrastructure improvements for Plone 5 • Low-cost migration from Plone 3 • Aggressive timeline • Small featureset
  • Part the Second: Needlessly detailed
  • PLIP Process
  • What’s a PLIP?
  • PLIPs • “PLone Improvement Proposal” • Detailed plan for: • Addition • Removal • Substantial changes
  • PLIPs • Motivation • Assumptions • Proposed Implementation • Deliverables • Risks • Participants
  • Framework Team
  • Framework Team • Evaluate proposals for inclusion into the release
  • Framework Team • Evaluate proposals for inclusion into the release • Vote on those evaluations
  • Framework Team • Evaluate proposals for inclusion into the release • Vote on those evaluations • Make recommendations to the release manager
  • Finding a Framework Team Plone 3 Plone 5 •Danny Bloemendaal •David Glick •Tom Lazaar •Calvin Hendryx-Parker •Martijn Pieters •Martijn Pieters •Raphael Ritz •Ross Patterson •Andreas Zeidler •Erik Rose •Laurence Rowe •Matthew Wilkes
  • Finding a Framework Team Plone 4 •Danny Bloemendaal •David Glick •Tom Lazaar •Calvin Hendryx-Parker •Martijn Pieters •Martijn Pieters •Raphael Ritz •Ross Patterson •Andreas Zeidler •Erik Rose •Laurence Rowe •Matthew Wilkes
  • Finding a Framework Team Plone 4 •Danny Bloemendaal •David Glick •Tom Lazaar •Calvin Hendryx-Parker •Martijn Pieters •Martijn Pieters •Raphael Ritz •Ross Patterson •Andreas Zeidler •Erik Rose •Laurence Rowe •Alec Mitchell •Matthew Wilkes
  • PLIP Process
  • PLIP Process Framework Team
  • PLIP Process Implementer Framework Team
  • PLIP Process Implementer Framework Team Submit
  • PLIP Process Implementer Framework Team Submit Vote
  • PLIP Process Implementer Framework Team Submit Vote Implement
  • PLIP Process Implementer Framework Team Submit Vote Implement Review
  • PLIP Process Implementer Framework Team Submit Vote Implement Review Vote
  • PLIP Process Implementer Framework Team Submit Vote Implement Review Revise Vote
  • PLIP Process Implementer Framework Team Submit Vote Implement Review Revise Vote Re-Review
  • PLIP Process Implementer Framework Team Submit Vote Implement Review Revise Vote Re-Review Vote
  • PLIP Process Implementer Framework Team Submit Vote Implement Review Revise Vote Merge Re-Review Vote
  • PLIP Process Implementer Framework Team Submit Vote Implement Review Revise Vote Merge Re-Review Vote Plone 4!
  • PLIP Process Release Manager Implementer Framework Team Submit Vote Implement Review Revise Vote Merge Re-Review Vote Plone 4!
  • PLIP Process Release Manager Remind Implementer Framework Team Submit Vote Implement Review Revise Vote Merge Re-Review Vote Plone 4!
  • PLIP Process Release Manager Remind Push Implementer Framework Team Submit Vote Implement Review Revise Vote Merge Re-Review Vote Plone 4!
  • PLIP Process Release Manager Remind Push Implementer Framework Team Prod Submit Vote Implement Review Revise Vote Merge Re-Review Vote Plone 4!
  • PLIP Process Release Manager Remind Push Implementer Framework Team Nag Prod Submit Vote Implement Review Revise Vote Merge Re-Review Vote Plone 4!
  • PLIP Process Release Manager Remind Push Implementer Framework Team Nag Prod Submit Vote Implement Review Cajole Revise Vote Merge Re-Review Vote Plone 4!
  • PLIP Process Release Manager Remind Push Implementer Framework Team Nag Prod Submit Vote Implement Review Shame Cajole Revise Vote Merge Re-Review Vote Plone 4!
  • Deadline 1: PLIP Submissions 2 Weeks
  • Initial PLIP Submissions • 7822: Make standard file content types use ZODB BLOB support • 9286: Allow to show/hide portlets • 8801: Move action icon support into actions, remove CMFActionIcons • 9288: Improved commenting infrastructure • 8802: Move our upgrade / migration infrastructure to GenericSetup • 9292: Group management delegation • 8805: Do not ship with NuPlone anymore • 9295: Improved UI for collections • 8808: Require Python 2.5 or 2.6, Zope 2.12, and CMF 2.2 for Plone 4.0 • 9300: Well formed, valid XHTML • 8809: Make KSS optional • 9302: Improving the event type with recurrence, etc. • 8814: Replace SecureMailHost with a standard Zope mailhost • 9305: Use real names instead of usernames • 8901: Deleting a user should revoke roles • 9309: Better search for East Asian (multi-byte) languages. • 9186: Set Image IDs from Title field • 9310: User registration process more flexible • 9210: Folderish pages • 9311: Clean up of user related actions UI • 9214: support logins using e-mail address instead of user id • 9312: New roles : Webmaster/site administrator and novice users • 9236: Include ""CachableRedirects"" or equivalent functionality • 9313: Mobile View with Mobile Image selection options • 9249: Add TinyMCE as the default visual editor • 9314: Plone "Developer Pack" option for installers • 9250: Add jQuery Tools to base install • 9315: New theme for Plone 4 • 9256: Expand variable substitution in mailing action of plone.app.contentrules • 9316: Unify folder implementations • 9258: Replace Products.ATReferenceBrowserWidget with • 9319: Merging archetypes.fieldtraverser into Products.Archetypes archetypes.referencebrowserwidget • 9320: Add global status bar for site notifications • 9259: Group dashboards • 9321: Reimplement the search form with an eye on usability • 9263: GenericSetup syntax for importing Sharing page roles • 9322: Ensure that Plone 4 can upgrade Zope on Windows and Mac OS X via • 9264: Merge backport patches from plone.app.dexterity into Plone binary eggs • 9270: Stop using fill-slot column_one_slot and two in standard templates • 9323: Ship with Vice for syndication • 9271: Improving the search results page • 9324: Use Amberjack to offer guided help for first-time users • 9272: Exposing and editing Dublin Core properties • 9327: unified interface for lists of content • 9274: Remove actions tab from folder_contents • 9328: content im-/export • 9279: Making document actions optional • 9329: Manage actions through-the-plone • 9281: Use dashboard as social networking tool • 9330: Add ability to choose group when adding new site members • 9282: Improved search results presentation • 9331: Invite to share • 9283: A more lightweight backend for collections • 9347: Registration Policy • 9284: Allow views to override skin layer elements easily • 9352: Search Results Improvements • 9285: Show blocked portlets in management interface • 9376: Include archetypes.schematuning
  • Initial FWT Vote • 7822: Make standard file content types use ZODB BLOB support • 9286: Allow to show/hide portlets • 8801: Move action icon support into actions, remove CMFActionIcons • 9288: Improved commenting infrastructure • 8802: Move our upgrade / migration infrastructure to GenericSetup • 9292: Group management delegation • 8805: Do not ship with NuPlone anymore • 9295: Improved UI for collections • 8808: Require Python 2.5 or 2.6, Zope 2.12, and CMF 2.2 for Plone 4.0 • 9300: Well formed, valid XHTML • 8809: Make KSS optional • 9302: Improving the event type with recurrence, etc. • 8814: Replace SecureMailHost with a standard Zope mailhost • 9305: Use real names instead of usernames • 8901: Deleting a user should revoke roles • 9309: Better search for East Asian (multi-byte) languages. • 9186: Set Image IDs from Title field • 9310: User registration process more flexible • 9210: Folderish pages • 9311: Clean up of user related actions UI • 9214: support logins using e-mail address instead of user id • 9312: New roles : Webmaster/site administrator and novice users • 9236: Include ""CachableRedirects"" or equivalent functionality • 9313: Mobile View with Mobile Image selection options • 9249: Add TinyMCE as the default visual editor • 9314: Plone "Developer Pack" option for installers • 9250: Add jQuery Tools to base install • 9315: New theme for Plone 4 • 9256: Expand variable substitution in mailing action of plone.app.contentrules • 9316: Unify folder implementations • 9258: Replace Products.ATReferenceBrowserWidget with • 9319: Merging archetypes.fieldtraverser into Products.Archetypes archetypes.referencebrowserwidget • 9320: Add global status bar for site notifications • 9259: Group dashboards • 9321: Reimplement the search form with an eye on usability • 9263: GenericSetup syntax for importing Sharing page roles • 9322: Ensure that Plone 4 can upgrade Zope on Windows and Mac OS X via • 9264: Merge backport patches from plone.app.dexterity into Plone binary eggs • 9270: Stop using fill-slot column_one_slot and two in standard templates • 9323: Ship with Vice for syndication • 9271: Improving the search results page • 9324: Use Amberjack to offer guided help for first-time users • 9272: Exposing and editing Dublin Core properties • 9327: unified interface for lists of content • 9274: Remove actions tab from folder_contents • 9328: content im-/export • 9279: Making document actions optional • 9329: Manage actions through-the-plone • 9281: Use dashboard as social networking tool • 9330: Add ability to choose group when adding new site members • 9282: Improved search results presentation • 9331: Invite to share • 9283: A more lightweight backend for collections • 9347: Registration Policy • 9284: Allow views to override skin layer elements easily • 9352: Search Results Improvements • 9285: Show blocked portlets in management interface • 9376: Include archetypes.schematuning
  • Initial Implementation Reviews • 7822: Make standard file content types use ZODB BLOB support • 9286: Allow to show/hide portlets • 8801: Move action icon support into actions, remove CMFActionIcons • 9288: Improved commenting infrastructure • 8802: Move our upgrade / migration infrastructure to GenericSetup • 9292: Group management delegation • 8805: Do not ship with NuPlone anymore • 9295: Improved UI for collections • 8808: Require Python 2.5 or 2.6, Zope 2.12, and CMF 2.2 for Plone 4.0 • 9300: Well formed, valid XHTML • 8809: Make KSS optional • 9302: Improving the event type with recurrence, etc. • 8814: Replace SecureMailHost with a standard Zope mailhost • 9305: Use real names instead of usernames • 8901: Deleting a user should revoke roles • 9309: Better search for East Asian (multi-byte) languages. • 9186: Set Image IDs from Title field • 9310: User registration process more flexible • 9210: Folderish pages • 9311: Clean up of user related actions UI • 9214: support logins using e-mail address instead of user id • 9312: New roles : Webmaster/site administrator and novice users • 9236: Include ""CachableRedirects"" or equivalent functionality • 9313: Mobile View with Mobile Image selection options • 9249: Add TinyMCE as the default visual editor • 9314: Plone "Developer Pack" option for installers • 9250: Add jQuery Tools to base install • 9315: New theme for Plone 4 • 9256: Expand variable substitution in mailing action of plone.app.contentrules • 9316: Unify folder implementations • 9258: Replace Products.ATReferenceBrowserWidget with • 9319: Merging archetypes.fieldtraverser into Products.Archetypes archetypes.referencebrowserwidget • 9320: Add global status bar for site notifications • 9259: Group dashboards • 9321: Reimplement the search form with an eye on usability • 9263: GenericSetup syntax for importing Sharing page roles • 9322: Ensure that Plone 4 can upgrade Zope on Windows and Mac OS X via • 9264: Merge backport patches from plone.app.dexterity into Plone binary eggs • 9270: Stop using fill-slot column_one_slot and two in standard templates • 9323: Ship with Vice for syndication • 9271: Improving the search results page • 9324: Use Amberjack to offer guided help for first-time users • 9272: Exposing and editing Dublin Core properties • 9327: unified interface for lists of content • 9274: Remove actions tab from folder_contents • 9328: content im-/export • 9279: Making document actions optional • 9329: Manage actions through-the-plone • 9281: Use dashboard as social networking tool • 9330: Add ability to choose group when adding new site members • 9282: Improved search results presentation • 9331: Invite to share • 9283: A more lightweight backend for collections • 9347: Registration Policy • 9284: Allow views to override skin layer elements easily • 9352: Search Results Improvements • 9285: Show blocked portlets in management interface • 9376: Include archetypes.schematuning
  • Initial Implementation Reviews •Martin Aspeli •Alex Clark •Vincent Fretin •Rob Gietema •Craig Haynal •Hanno Schlichting
  • Initial Implementation Reviews • 7822: Make standard file content types use ZODB BLOB support • 9286: Allow to show/hide portlets • 8801: Move action icon support into actions, remove CMFActionIcons • 9288: Improved commenting infrastructure • 8802: Move our upgrade / migration infrastructure to GenericSetup • 9292: Group management delegation • 8805: Do not ship with NuPlone anymore • 9295: Improved UI for collections • 8808: Require Python 2.5 or 2.6, Zope 2.12, and CMF 2.2 for Plone 4.0 • 9300: Well formed, valid XHTML • 8809: Make KSS optional • 9302: Improving the event type with recurrence, etc. • 8814: Replace SecureMailHost with a standard Zope mailhost • 9305: Use real names instead of usernames • 8901: Deleting a user should revoke roles • 9309: Better search for East Asian (multi-byte) languages. • 9186: Set Image IDs from Title field • 9310: User registration process more flexible • 9210: Folderish pages • 9311: Clean up of user related actions UI • 9214: support logins using e-mail address instead of user id • 9312: New roles : Webmaster/site administrator and novice users • 9236: Include ""CachableRedirects"" or equivalent functionality • 9313: Mobile View with Mobile Image selection options • 9249: Add TinyMCE as the default visual editor • 9314: Plone "Developer Pack" option for installers • 9250: Add jQuery Tools to base install • 9315: New theme for Plone 4 • 9256: Expand variable substitution in mailing action of plone.app.contentrules • 9316: Unify folder implementations • 9258: Replace Products.ATReferenceBrowserWidget with • 9319: Merging archetypes.fieldtraverser into Products.Archetypes archetypes.referencebrowserwidget • 9320: Add global status bar for site notifications • 9259: Group dashboards • 9321: Reimplement the search form with an eye on usability • 9263: GenericSetup syntax for importing Sharing page roles • 9322: Ensure that Plone 4 can upgrade Zope on Windows and Mac OS X via • 9264: Merge backport patches from plone.app.dexterity into Plone binary eggs • 9270: Stop using fill-slot column_one_slot and two in standard templates • 9323: Ship with Vice for syndication • 9271: Improving the search results page • 9324: Use Amberjack to offer guided help for first-time users • 9272: Exposing and editing Dublin Core properties • 9327: unified interface for lists of content • 9274: Remove actions tab from folder_contents • 9328: content im-/export • 9279: Making document actions optional • 9329: Manage actions through-the-plone • 9281: Use dashboard as social networking tool • 9330: Add ability to choose group when adding new site members • 9282: Improved search results presentation • 9331: Invite to share • 9283: A more lightweight backend for collections • 9347: Registration Policy • 9284: Allow views to override skin layer elements easily • 9352: Search Results Improvements • 9285: Show blocked portlets in management interface • 9376: Include archetypes.schematuning
  • Final FWT Vote • 7822: Make standard file content types use ZODB BLOB support • 9286: Allow to show/hide portlets • 8801: Move action icon support into actions, remove CMFActionIcons • 9288: Improved commenting infrastructure • 8802: Move our upgrade / migration infrastructure to GenericSetup • 9292: Group management delegation • 8805: Do not ship with NuPlone anymore • 9295: Improved UI for collections • 8808: Require Python 2.5 or 2.6, Zope 2.12, and CMF 2.2 for Plone 4.0 • 9300: Well formed, valid XHTML • 8809: Make KSS optional • 9302: Improving the event type with recurrence, etc. • 8814: Replace SecureMailHost with a standard Zope mailhost • 9305: Use real names instead of usernames • 8901: Deleting a user should revoke roles • 9309: Better search for East Asian (multi-byte) languages. • 9186: Set Image IDs from Title field • 9310: User registration process more flexible • 9210: Folderish pages • 9311: Clean up of user related actions UI • 9214: support logins using e-mail address instead of user id • 9312: New roles : Webmaster/site administrator and novice users • 9236: Include ""CachableRedirects"" or equivalent functionality • 9313: Mobile View with Mobile Image selection options • 9249: Add TinyMCE as the default visual editor • 9314: Plone "Developer Pack" option for installers • 9250: Add jQuery Tools to base install • 9315: New theme for Plone 4 • 9256: Expand variable substitution in mailing action of plone.app.contentrules • 9316: Unify folder implementations • 9258: Replace Products.ATReferenceBrowserWidget with • 9319: Merging archetypes.fieldtraverser into Products.Archetypes archetypes.referencebrowserwidget • 9320: Add global status bar for site notifications • 9259: Group dashboards • 9321: Reimplement the search form with an eye on usability • 9263: GenericSetup syntax for importing Sharing page roles • 9322: Ensure that Plone 4 can upgrade Zope on Windows and Mac OS X via • 9264: Merge backport patches from plone.app.dexterity into Plone binary eggs • 9270: Stop using fill-slot column_one_slot and two in standard templates • 9323: Ship with Vice for syndication • 9271: Improving the search results page • 9324: Use Amberjack to offer guided help for first-time users • 9272: Exposing and editing Dublin Core properties • 9327: unified interface for lists of content • 9274: Remove actions tab from folder_contents • 9328: content im-/export • 9279: Making document actions optional • 9329: Manage actions through-the-plone • 9281: Use dashboard as social networking tool • 9330: Add ability to choose group when adding new site members • 9282: Improved search results presentation • 9331: Invite to share • 9283: A more lightweight backend for collections • 9347: Registration Policy • 9284: Allow views to override skin layer elements easily • 9352: Search Results Improvements • 9285: Show blocked portlets in management interface • 9376: Include archetypes.schematuning
  • Final FWT Vote • 7822: Make standard file content types use ZODB • 9263: GenericSetup syntax for importing Sharing page BLOB support roles • 8801: Move action icon support into actions, remove • 9264: Merge backport patches from plone.app.dexterity CMFActionIcons into Plone • 8802: Move our upgrade / migration infrastructure to • 9272: Exposing and editing Dublin Core properties GenericSetup • 9285: Show blocked portlets in management interface • 8805: Do not ship with NuPlone anymore • 9286: Allow to show/hide portlets • 8808: Require Python 2.5 or 2.6, Zope 2.12, and CMF • 9305: Use real names instead of usernames 2.2 for Plone 4.0 • 9309: Better search for East Asian (multi-byte) languages. • 8814: Replace SecureMailHost with a standard Zope • 9310: User registration process more flexible mailhost • 9314: Plone "Developer Pack" option for installers • 9186: Set Image IDs from Title field • 9315: New theme for Plone 4 • 9214: support logins using e-mail address instead of user • 9316: Unify folder implementations id • 9321: Reimplement the search form with an eye on • 9249: Add TinyMCE as the default visual editor usability • 9250: Add jQuery Tools to base install • 9330: Add ability to choose group when adding new site • 9256: Expand variable substitution in mailing action of members plone.app.contentrules • 9258: Replace Products.ATReferenceBrowserWidget with archetypes.referencebrowserwidget • 9259: Group dashboards
  • Done.
  • Yay!
  • Features
  • Infrastructure
  • User Interface
  • Infrastructure
  • #8808 Zope 2.12, CMF 2.2, Python 2.6 David Glick, Hanno Schlichting
  • Python 2.6 • Officially supported • Faster • Improved memory management
  • Zope 2.12 • Support for Python 2.4, 2.5, 2.6 • Fully eggified • Flexible storage options • RelStorage • BLOBs
  • Performance
  • Performance • Code cleanup • Integration of • experimental.contentcreation • experimental.opaquespeedup
  • Plone 2.5 Plone 3.0 Plone 3.3 Plone 4.0 400% 300% 200% 100% 0% 1 2 3 5 10 15 20 Concurrent Requests Improvement in Median Response Time Read Only
  • Plone 2.5 Plone 3.0 Plone 3.3 Plone 4.0 400% 300% 200% 100% 0% 1 2 3 5 10 15 20 Concurrent Requests Improvement in Median Response Time Read Only
  • Plone 2.5 Plone 3.0 Plone 3.3 Plone 4.0 400% 300% 200% 100% 0% 1 2 3 5 10 15 20 Concurrent Requests Improvement in Median Response Time Read Only
  • Plone 2.5 Plone 3.0 Plone 3.3 Plone 4.0 400% 300% 200% 100% 0% 1 2 3 5 10 15 20 Concurrent Requests Improvement in Median Response Time Read Only
  • Plone 2.5 Plone 3.0 Plone 3.3 Plone 4.0 400% 300% 200% 100% 0% 1 2 3 5 10 15 20 Concurrent Requests Improvement in Median Response Time Read Only
  • Plone 2.5 Plone 3.0 Plone 3.3 Plone 4.0 400% 300% 200% 100% 0% 1 2 3 5 10 15 20 Concurrent Requests Improvement in Median Response Time Read Only
  • Plone 2.5 Plone 3.0 Plone 3.3 Plone 4.0 400% 300% 200% 100% 0% 1 2 3 5 10 15 20 Concurrent Requests Improvement in Median Response Time Read Only
  • Plone 2.5 Plone 3.0 Plone 3.3 Plone 4.0 400% 300% 200% 100% 0% 1 2 3 5 10 15 20 Concurrent Requests Improvement in Median Response Time Read Only
  • Plone 2.5 Plone 3.0 Plone 3.3 Plone 4.0 400% 300% 200% 100% 0% 1 2 3 5 10 15 20 Concurrent Requests Improvement in Median Response Time Read Only
  • Plone 2.5 Plone 3.0 Plone 3.3 Plone 4.0 400% 300% 200% 100% 0% 1 2 3 5 10 Concurrent Requests Improvement in Median Response Time Content Creation
  • Plone 2.5 Plone 3.0 Plone 3.3 Plone 4.0 400% 300% 200% 100% 0% 1 2 3 5 10 Concurrent Requests Improvement in Median Response Time Content Creation
  • Plone 2.5 Plone 3.0 Plone 3.3 Plone 4.0 400% 300% 200% 100% 0% 1 2 3 5 10 Concurrent Requests Improvement in Median Response Time Content Creation
  • Plone 2.5 Plone 3.0 Plone 3.3 Plone 4.0 400% 300% 200% 100% 0% 1 2 3 5 10 Concurrent Requests Improvement in Median Response Time Content Creation
  • Plone 2.5 Plone 3.0 Plone 3.3 Plone 4.0 400% 300% 200% 100% 0% 1 2 3 5 10 Concurrent Requests Improvement in Median Response Time Content Creation
  • Plone 2.5 Plone 3.0 Plone 3.3 Plone 4.0 400% 300% 200% 100% 0% 1 2 3 5 10 Concurrent Requests Improvement in Median Response Time Content Creation
  • Plone 2.5 Plone 3.0 Plone 3.3 Plone 4.0 400% 300% 200% 100% 0% 1 2 3 5 10 Concurrent Requests Improvement in Median Response Time Content Creation
  • Plone 3.3 Plone 4.0 Anonymous Page View Logged-In Page View Page Edit View 0 5 10 15 20 Average Requests/Sec
  • #8814 Remove SecureMailHost Alec Mitchell
  • SecureMailHost • Introduced in Plone 2.1 • TLS encryption support • Made redundant by Zope 2.11’s Products.MailHost • Optional mail queuing • Sent emails are quoted-printable
  • #9316 plone.folder Andreas Zeidler
  • plone.folder
  • plone.folder • Plone Folder
  • plone.folder • Plone Folder • Large Plone Folder
  • plone.folder
  • plone.folder • BTree-based folder implementation
  • plone.folder • BTree-based folder implementation • Ordering support
  • plone.folder • BTree-based folder implementation • Ordering support • Adapterized ordering
  • Performance Regular Ordered 1,200 Time taken in seconds 900 600 300 0 Create 500 News Items List Folder Contents
  • #9263 GS Import for Sharing Page Roles Martin Aspeli
  • GS Sharing Roles Import • Add new roles to the @@sharing view • Port from collective.sharingroles
  • sharing.xml <sharing xmlns:i18n="http://xml.zope.org/ namespaces/i18n" i18n:domain="plone"> <role id="CopyEditor" title="Can edit copy" permission="Manage portal" i18n:attributes="title" /> </sharing>
  • #9264 AddView Support Martin Aspeli
  • AddView Support • Port of CMF functionality • Custom add forms for content types • Simplifies Dexterity integration
  • #7822 BLOB Support Andreas Zeidler
  • BLOB Support • plone.app.blob • Store file data outside of Data.fs • Entirely managed by the ZODB • More efficient access
  • Sponsored By • Potsdam Institute for Climate Impact Research • Intergovernmental Panel on Climate Change • European Network and Information Security Agency
  • Real World Examples
  • Potsdam Institute For Climate Impact Research • http://pik-potsdam.de/ • 6,789 files to migrate • Migration took 51 minutes • ZODB was packed from 16.5 GB to 3.0 GB • Memory footprint from 10 GB to 3 GB
  • Memory Usage
  • CPU Load
  • norden.org •6 GB Data.fs • 16.2 GB blobs
  • plone.app.imaging • Enables storage of imaging data in BLOBs • TTP management of image scales
  • #8801 Deprecate CMFActionIcons David Glick, Hanno Schlichting
  • Deprecate CMFActionIcons • One less tool! • Define action icons in actions instead • “icon_expr”
  • Deprecate CMFActionIcons • portal_actionicons, actionicons.xml • continue working until Plone 5 • throws deprecation warning
  • #8802 plone.app.upgrade David Glick, Hanno Schlichting
  • plone.app.upgrade
  • plone.app.upgrade • “Eat our own dog food”
  • plone.app.upgrade • “Eat our own dog food” • Use GS upgrade profiles to handle Plone upgrades
  • #9310 Flexible User Registration Kees Hink, Huub Bouma, Duco Doktor
  • Flexible User Registration • join_form is now a view • Show/Hide possible fields • Utility lookup for fields • Easily extendible
  • #9309 East Asian Language Search Manabu Terada, Mikio Hokari, Takeshi Yamamoto, Naotaka Hotta, Jonathan Lewis
  • Full-text Indexing • Full-text indexing typically splits words on spaces • CJK (Chinese, Japanese, Korean) languages don’t • Use bigram-splitting for those languages instead • Work begun during 2008 GSOC
  • So?
  • 1.5 BILLION
  • 1.5 BILLION
  • User Interface
  • #9315 New Default Theme Alexander Limi
  • New Default Theme
  • New Default Theme • “Intentionally boring”
  • New Default Theme • “Intentionally boring” • Based on plone.org theme
  • New Default Theme • “Intentionally boring” • Based on plone.org theme • Uses Deco grid system
  • New Default Theme • “Intentionally boring” • Based on plone.org theme • Uses Deco grid system • Simplified CSS
  • New Default Theme
  • #9259 Group Dashboards Martin Aspeli
  • Group Dashboards
  • Group Dashboards • Assign portlets to dashboards on per-group basis
  • Group Dashboards • Assign portlets to dashboards on per-group basis • User sees:
  • Group Dashboards • Assign portlets to dashboards on per-group basis • User sees: • Personal portlets
  • Group Dashboards • Assign portlets to dashboards on per-group basis • User sees: • Personal portlets • Portlets of groups they belong to
  • Group Dashboards • Assign portlets to dashboards on per-group basis • User sees: • Personal portlets • Portlets of groups they belong to • Win for intranets
  • Group Dashboards • Assign portlets to dashboards on per-group basis • User sees: • Personal portlets • Portlets of groups they belong to • Win for intranets • Bulletin board
  • #9272 Dublin Core Properties Roel Bruggink
  • Dublin Core Properties • ExposeDublin Core metadata in HTML
  • #9285 Show Blocked Portlets Ricardo Alves
  • #9286 Show/Hide Portlets Ricardo Alves
  • #9305 Use Real Names Ralph Jakobs
  • Real Names
  • Real Names • Display the user’s full name instead of username
  • Real Names • Display the user’s full name instead of username • Search results
  • Real Names • Display the user’s full name instead of username • Search results • RSS Feeds
  • Real Names
  • Real Names
  • #9258 archetypes.referencebrowserwidge t Tom Gross
  • archetypes.referencebrowserwidget
  • archetypes.referencebrowserwidget • Replaces Products.ATReferenceBrowserWidget
  • archetypes.referencebrowserwidget • Replaces Products.ATReferenceBrowserWidget • Large performance improvements
  • archetypes.referencebrowserwidget • Replaces Products.ATReferenceBrowserWidget • Large performance improvements • Supports more reference field implementations
  • archetypes.referencebrowserwidget • Replaces Products.ATReferenceBrowserWidget • Large performance improvements • Supports more reference field implementations • Easily overridable template
  • archetypes.referencebrowserwidget • Replaces Products.ATReferenceBrowserWidget • Large performance improvements • Supports more reference field implementations • Easily overridable template • Proper test coverage
  • #9315 jQuery Tools Integration Steve McMahon
  • plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • Plone Integration
  • Plone Integration
  • #9249 TinyMCE Rob Gietema
  • Tiny MCE • Products.TinyMCE • The basis for Plone 5’s Deco editor • Easily extendible • Actively maintained • Easy to theme
  • Tiny MCE • Products.TinyMCE • The basis for Plone 5’s Deco editor • Easily extendible • Actively maintained • Easy to theme
  • Tiny MCE • Products.TinyMCE • The basis for Plone 5’s Deco editor • Easily extendible • Actively maintained • Easy to theme
  • #9321 Search Form Improvements Carsten Senger
  • Search Form Improvements • Collapseadvanced search options by default
  • Search Form Improvements • Collapseadvanced search options by default
  • Search Form Improvements • Collapseadvanced search options by default • Hideoptions based on logged-in status
  • Search Form Improvements • Collapseadvanced search options by default • Hideoptions based on logged-in status
  • #9186 Set Image ID from Title Erik Rose
  • Set Image ID from Title • Makes ATImage act more like other types • Easily give images more memorable IDs • Picture 1.png • 3425573738_90e84302e8.jpg
  • #9330 Choose Groups for New Users Alex Clark
  • Choose Group for New Users
  • Choose Group for New Users
  • #9256 Mailing Action Variable Substitutions Steve McMahon
  • Mailing Action Variable Substitutions
  • Mailing Action Variable Substitutions • New variables:
  • Mailing Action Variable Substitutions • New variables: • Workflow
  • Mailing Action Variable Substitutions • New variables: • Workflow • Dublin Core
  • Mailing Action Variable Substitutions • New variables: • Workflow • Dublin Core • Easier for products to add new substitutions
  • #9214 Login Using Email Address Maurits van Rees
  • Email Login
  • Email Login • Popular request
  • Email Login • Popular request • Portof collective.emaillogin
  • Email Login • Popular request • Portof collective.emaillogin • Disabled by default
  • Email Login • Popular request • Portof collective.emaillogin • Disabled by default • Automatic migration
  • And the rest...
  • New Zope Front Page • http://localhost:8080/
  • “Create a Plone site”
  • “Create a Plone site” • Friendlier form
  • “Create a Plone site” • Friendlier form • Skip example content
  • “Create a Plone site” • Friendlier form • Skip example content • Select products to auto- install
  • fg = debug
  • fg = debug • bin/instance fg
  • fg = debug • bin/instance fg • Debug modes for • portal_css • portal_javascripts • portal_kss
  • Distribute
  • Schedule
  • Where’s my new Plone? • Alpha 1 is out now! • Update ZopeSkel (easy_install -U zopeskel) • paster create -t plone3_buildout • “4.0a1”
  • Where’s my new Plone?
  • Where’s my new Plone? •2 more alpha releases
  • Where’s my new Plone? •2 more alpha releases • December 3rd, December 17th
  • Where’s my new Plone? •2 more alpha releases • December 3rd, December 17th • 4.0 Final ~ early March
  • 4.x
  • vs.event
  • vs.event • Recurring events
  • vs.event • Recurringevents • New calendar widget
  • vs.event • Recurringevents • New calendar widget • Improved all-day events
  • vs.event • Recurring events • New calendar widget • Improved all-day events • Extended support for attendees and attachments (UI and iCal level)
  • vs.event • Recurring events • New calendar widget • Improved all-day events • Extended support for attendees and attachments (UI and iCal level) • Support for master & supplementary events
  • collective.controlpanel.edit_css In-Plone editing of custom CSS and JS
  • plone.app.discussion
  • plone.app.discussion • Comment moderation
  • plone.app.discussion • Comment moderation • CAPTCHA support
  • plone.app.discussion • Comment moderation • CAPTCHA support • Configurable/ Extensible comment forms
  • plone.app.discussion • Comment moderation • CAPTCHA support • Configurable/ Extensible comment forms • Moderation/Batch editing
  • collective.amberjack • In-Plone tutorials & site tours
  • Collections
  • Collections • Improved criteria selection UI
  • Collections • Improved criteria selection UI • Liveupdate of results
  • http://tr.im/TryPlone4