SlideShare ist ein Scribd-Unternehmen logo
1 von 274
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

Weitere ähnliche Inhalte

Andere mochten auch

New in Plone 3.3. What to expect from Plone 4
New in Plone 3.3. What to expect from Plone 4New in Plone 3.3. What to expect from Plone 4
New in Plone 3.3. What to expect from Plone 4Quintagroup
 
Plone Conference 2010 – Where we go from here
Plone Conference 2010 – Where we go from herePlone Conference 2010 – Where we go from here
Plone Conference 2010 – Where we go from hereEric Steele
 
Continuous Integration Testing for Plone Using Hudson
Continuous Integration Testing for Plone Using HudsonContinuous Integration Testing for Plone Using Hudson
Continuous Integration Testing for Plone Using HudsonEric Steele
 
Plone 4 and 5, plans and progress
Plone 4 and 5, plans and progressPlone 4 and 5, plans and progress
Plone 4 and 5, plans and progressGeir Bækholt
 
Connecting Plone CMS and Salesforce.com CRM Webinar
Connecting Plone CMS and Salesforce.com CRM WebinarConnecting Plone CMS and Salesforce.com CRM Webinar
Connecting Plone CMS and Salesforce.com CRM WebinarifPeople
 
Socket Programming In Python
Socket Programming In PythonSocket Programming In Python
Socket Programming In Pythondidip
 
Py.test
Py.testPy.test
Py.testsoasme
 

Andere mochten auch (9)

New in Plone 3.3. What to expect from Plone 4
New in Plone 3.3. What to expect from Plone 4New in Plone 3.3. What to expect from Plone 4
New in Plone 3.3. What to expect from Plone 4
 
Plone Conference 2010 – Where we go from here
Plone Conference 2010 – Where we go from herePlone Conference 2010 – Where we go from here
Plone Conference 2010 – Where we go from here
 
Continuous Integration Testing for Plone Using Hudson
Continuous Integration Testing for Plone Using HudsonContinuous Integration Testing for Plone Using Hudson
Continuous Integration Testing for Plone Using Hudson
 
Iterating Plone
Iterating PloneIterating Plone
Iterating Plone
 
Plone 4 and 5, plans and progress
Plone 4 and 5, plans and progressPlone 4 and 5, plans and progress
Plone 4 and 5, plans and progress
 
Connecting Plone CMS and Salesforce.com CRM Webinar
Connecting Plone CMS and Salesforce.com CRM WebinarConnecting Plone CMS and Salesforce.com CRM Webinar
Connecting Plone CMS and Salesforce.com CRM Webinar
 
Socket Programming In Python
Socket Programming In PythonSocket Programming In Python
Socket Programming In Python
 
The headless CMS
The headless CMSThe headless CMS
The headless CMS
 
Py.test
Py.testPy.test
Py.test
 

Ähnlich wie A Look at Plone 4

Smau Milano 2016 - Fabio Alessandro Locati
Smau Milano 2016 - Fabio Alessandro LocatiSmau Milano 2016 - Fabio Alessandro Locati
Smau Milano 2016 - Fabio Alessandro LocatiSMAU
 
Taming a beast - AmsterdamPHP April Meetup
Taming a beast - AmsterdamPHP April MeetupTaming a beast - AmsterdamPHP April Meetup
Taming a beast - AmsterdamPHP April MeetupMike Chernev
 
20120524 english lt2_pythontoolsfortesting
20120524 english lt2_pythontoolsfortesting20120524 english lt2_pythontoolsfortesting
20120524 english lt2_pythontoolsfortestingKazuhiro Oinuma
 
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T Puppet
 
OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...
OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...
OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...NETWAYS
 
TYPO3 4.5 Kick-Off Presentation #t3dd10
TYPO3 4.5 Kick-Off Presentation #t3dd10TYPO3 4.5 Kick-Off Presentation #t3dd10
TYPO3 4.5 Kick-Off Presentation #t3dd10Ernesto Baschny
 
El estado de Plone
El estado de PloneEl estado de Plone
El estado de Plonementtes
 
Plone Symposium South America 2012
Plone Symposium South America 2012Plone Symposium South America 2012
Plone Symposium South America 2012Elizabeth Leddy
 
OPNFV CI and Challenges: How we solved them - if we solved them at all!
OPNFV CI and Challenges: How we solved them - if we solved them at all!OPNFV CI and Challenges: How we solved them - if we solved them at all!
OPNFV CI and Challenges: How we solved them - if we solved them at all!Fatih Degirmenci
 
TYPO3 4.5 LTS Status Report T3CON10
TYPO3 4.5 LTS Status Report T3CON10TYPO3 4.5 LTS Status Report T3CON10
TYPO3 4.5 LTS Status Report T3CON10Ernesto Baschny
 
State of Python (2010)
State of Python (2010)State of Python (2010)
State of Python (2010)Richard Jones
 
Plone as a Development Platform
Plone as a Development PlatformPlone as a Development Platform
Plone as a Development PlatformElizabeth Leddy
 
Taming a beast - Codemotion rome 2018
Taming a beast - Codemotion rome 2018Taming a beast - Codemotion rome 2018
Taming a beast - Codemotion rome 2018Mike Chernev
 
Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)
Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)
Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)Robert Nelson
 
Smau Milano 2016 - Fabio Alessandro Locati
Smau Milano 2016 - Fabio Alessandro LocatiSmau Milano 2016 - Fabio Alessandro Locati
Smau Milano 2016 - Fabio Alessandro LocatiSMAU
 
Automated Visual Regression Testing by Dave Sadlon
Automated Visual Regression Testing by Dave SadlonAutomated Visual Regression Testing by Dave Sadlon
Automated Visual Regression Testing by Dave SadlonQA or the Highway
 
FITB: Network graphing done right
FITB: Network graphing done rightFITB: Network graphing done right
FITB: Network graphing done rightLaurie Denness
 
OWASP 2013 APPSEC USA ZAP Hackathon
OWASP 2013 APPSEC USA ZAP HackathonOWASP 2013 APPSEC USA ZAP Hackathon
OWASP 2013 APPSEC USA ZAP HackathonSimon Bennetts
 

Ähnlich wie A Look at Plone 4 (20)

Smau Milano 2016 - Fabio Alessandro Locati
Smau Milano 2016 - Fabio Alessandro LocatiSmau Milano 2016 - Fabio Alessandro Locati
Smau Milano 2016 - Fabio Alessandro Locati
 
Commitmas 2015
Commitmas 2015Commitmas 2015
Commitmas 2015
 
Taming a beast - AmsterdamPHP April Meetup
Taming a beast - AmsterdamPHP April MeetupTaming a beast - AmsterdamPHP April Meetup
Taming a beast - AmsterdamPHP April Meetup
 
20120524 english lt2_pythontoolsfortesting
20120524 english lt2_pythontoolsfortesting20120524 english lt2_pythontoolsfortesting
20120524 english lt2_pythontoolsfortesting
 
Pinto+Stratopan+Love
Pinto+Stratopan+LovePinto+Stratopan+Love
Pinto+Stratopan+Love
 
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
 
OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...
OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...
OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...
 
TYPO3 4.5 Kick-Off Presentation #t3dd10
TYPO3 4.5 Kick-Off Presentation #t3dd10TYPO3 4.5 Kick-Off Presentation #t3dd10
TYPO3 4.5 Kick-Off Presentation #t3dd10
 
El estado de Plone
El estado de PloneEl estado de Plone
El estado de Plone
 
Plone Symposium South America 2012
Plone Symposium South America 2012Plone Symposium South America 2012
Plone Symposium South America 2012
 
OPNFV CI and Challenges: How we solved them - if we solved them at all!
OPNFV CI and Challenges: How we solved them - if we solved them at all!OPNFV CI and Challenges: How we solved them - if we solved them at all!
OPNFV CI and Challenges: How we solved them - if we solved them at all!
 
TYPO3 4.5 LTS Status Report T3CON10
TYPO3 4.5 LTS Status Report T3CON10TYPO3 4.5 LTS Status Report T3CON10
TYPO3 4.5 LTS Status Report T3CON10
 
State of Python (2010)
State of Python (2010)State of Python (2010)
State of Python (2010)
 
Plone as a Development Platform
Plone as a Development PlatformPlone as a Development Platform
Plone as a Development Platform
 
Taming a beast - Codemotion rome 2018
Taming a beast - Codemotion rome 2018Taming a beast - Codemotion rome 2018
Taming a beast - Codemotion rome 2018
 
Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)
Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)
Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)
 
Smau Milano 2016 - Fabio Alessandro Locati
Smau Milano 2016 - Fabio Alessandro LocatiSmau Milano 2016 - Fabio Alessandro Locati
Smau Milano 2016 - Fabio Alessandro Locati
 
Automated Visual Regression Testing by Dave Sadlon
Automated Visual Regression Testing by Dave SadlonAutomated Visual Regression Testing by Dave Sadlon
Automated Visual Regression Testing by Dave Sadlon
 
FITB: Network graphing done right
FITB: Network graphing done rightFITB: Network graphing done right
FITB: Network graphing done right
 
OWASP 2013 APPSEC USA ZAP Hackathon
OWASP 2013 APPSEC USA ZAP HackathonOWASP 2013 APPSEC USA ZAP Hackathon
OWASP 2013 APPSEC USA ZAP Hackathon
 

Kürzlich hochgeladen

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 

Kürzlich hochgeladen (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 

A Look at Plone 4

  • 1. A Look At Plone 4 P l o n e C o n f e r e n c e 2 0 0 9
  • 4. Introductions • Eric Steele • esteele on IRC
  • 5. Introductions • Eric Steele • esteele on IRC • Product Developer @ WebLion
  • 6. Introductions • Eric Steele • esteele on IRC • Product Developer @ WebLion • GloWorm, FacultyStaffDirectory
  • 7. Introductions • Eric Steele • esteele on IRC • Product Developer @ WebLion • GloWorm, FacultyStaffDirectory • Plone 4 Release Manager
  • 9. We are not renaming magnets topics smart folders collections in Plone 4.
  • 10. So...
  • 13. Once upon a time... (ie March 2009)
  • 14.
  • 16. Plone 3 Plone 4
  • 17. Plone 3 Plone 4
  • 18. Plone 3 Plone 4 •KSS
  • 19. Plone 3 Plone 4 •KSS •Wicked
  • 20. Plone 3 Plone 4 •KSS •Wicked •NuPlone
  • 21. Plone 3 Plone 4 •KSS •Wicked •NuPlone •Zope 2.10
  • 22. Plone 3 Plone 4 •KSS •Wicked •NuPlone •Zope 2.10 •Versioning
  • 23. Plone 3 Plone 4 •KSS •Wicked •NuPlone •Zope 2.10 •Versioning •Content Rules
  • 24. Plone 3 Plone 4 •KSS •Wicked •NuPlone •Zope 2.10 •Versioning •Content Rules •OpenID
  • 25. Plone 3 Plone 4 •KSS •KSS •Wicked •NuPlone •Zope 2.10 •Versioning •Content Rules •OpenID
  • 26. Plone 3 Plone 4 •KSS •KSS •Wicked •Wicked •NuPlone •Zope 2.10 •Versioning •Content Rules •OpenID
  • 27. Plone 3 Plone 4 •KSS •KSS •Wicked •Wicked •NuPlone •NuPlone •Zope 2.10 •Versioning •Content Rules •OpenID
  • 28. Plone 3 Plone 4 •KSS •KSS •Wicked •Wicked •NuPlone •NuPlone •Zope 2.10 •Zope 2.12 •Versioning •Content Rules •OpenID
  • 29. Plone 3 Plone 4 •KSS •KSS •Wicked •Wicked •NuPlone •NuPlone •Zope 2.10 •Zope 2.12 •Versioning •Deco/Blocks/TinyMCE •Content Rules •OpenID
  • 30. Plone 3 Plone 4 •KSS •KSS •Wicked •Wicked •NuPlone •NuPlone •Zope 2.10 •Zope 2.12 •Versioning •Deco/Blocks/TinyMCE •Content Rules •Dexterity •OpenID
  • 31. 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
  • 32. 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
  • 33. 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
  • 34. Plone 3 Plone 4 August, 2007 Late 2010?
  • 35. 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
  • 36. Plone 3 Plone 4 [New Release]
  • 37. Yay!
  • 38. Plone 3 Plone 4 Plone 3.5?
  • 39. No!
  • 40. The “Dot Release Contract”
  • 41. The “Dot Release Contract” Expected Migration Headache 0 1 2 3 Number of Dots
  • 42. The “Dot Release Contract” Release Size Expected Migration 3 Ugh. 3.x Eh. 3.x.y *pfft*
  • 43. The “Dot Release Contract” Release Size Expected Migration 3 Ugh. 3.x Eh. 3.x.y *pfft*
  • 44. The “Dot Release Contract” Release Size Expected Migration 3 Ugh. 3.x Eh. 3.x.y *pfft*
  • 45. The “Dot Release Contract” Release Size Expected Migration 3 Ugh. 3.x Eh. 3.x.y *pfft*
  • 46. The “Dot Release Contract” Release Size Expected Migration 3 Ugh. 3.x Eh. 3.x.y *pfft*
  • 47. The “Dot Release Contract” Release Size Expected Migration 3 Ugh. 3.x Eh. 3.x.y *pfft*
  • 48. The “Dot Release Contract” Release Size Expected Migration 3 Ugh. 3.x Eh. 3.x.y *pfft*
  • 49. Plone 3 Plone 4
  • 50. Plone 3 Plone 4 5
  • 51. Plone 3 Plone 4 5 Plone 4!
  • 52. ...
  • 55. The New Plone 4 (Just like the old Plone 4, but not)
  • 56. The New Plone 4 (Just like the old Plone 4, but not) (No, it doesn’t have Deco)
  • 57. The New Plone 4 • “Transitional Release” • Infrastructure improvements for Plone 5 • Low-cost migration from Plone 3 • Aggressive timeline • Small featureset
  • 58. Part the Second: Needlessly detailed
  • 61. PLIPs • “PLone Improvement Proposal” • Detailed plan for: • Addition • Removal • Substantial changes
  • 62. PLIPs • Motivation • Assumptions • Proposed Implementation • Deliverables • Risks • Participants
  • 64. Framework Team • Evaluate proposals for inclusion into the release
  • 65. Framework Team • Evaluate proposals for inclusion into the release • Vote on those evaluations
  • 66. Framework Team • Evaluate proposals for inclusion into the release • Vote on those evaluations • Make recommendations to the release manager
  • 67. 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
  • 68. 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
  • 69. 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
  • 71. PLIP Process Framework Team
  • 72. PLIP Process Implementer Framework Team
  • 73. PLIP Process Implementer Framework Team Submit
  • 74. PLIP Process Implementer Framework Team Submit Vote
  • 75. PLIP Process Implementer Framework Team Submit Vote Implement
  • 76. PLIP Process Implementer Framework Team Submit Vote Implement Review
  • 77. PLIP Process Implementer Framework Team Submit Vote Implement Review Vote
  • 78. PLIP Process Implementer Framework Team Submit Vote Implement Review Revise Vote
  • 79. PLIP Process Implementer Framework Team Submit Vote Implement Review Revise Vote Re-Review
  • 80. PLIP Process Implementer Framework Team Submit Vote Implement Review Revise Vote Re-Review Vote
  • 81. PLIP Process Implementer Framework Team Submit Vote Implement Review Revise Vote Merge Re-Review Vote
  • 82. PLIP Process Implementer Framework Team Submit Vote Implement Review Revise Vote Merge Re-Review Vote Plone 4!
  • 83. PLIP Process Release Manager Implementer Framework Team Submit Vote Implement Review Revise Vote Merge Re-Review Vote Plone 4!
  • 84. PLIP Process Release Manager Remind Implementer Framework Team Submit Vote Implement Review Revise Vote Merge Re-Review Vote Plone 4!
  • 85. PLIP Process Release Manager Remind Push Implementer Framework Team Submit Vote Implement Review Revise Vote Merge Re-Review Vote Plone 4!
  • 86. PLIP Process Release Manager Remind Push Implementer Framework Team Prod Submit Vote Implement Review Revise Vote Merge Re-Review Vote Plone 4!
  • 87. PLIP Process Release Manager Remind Push Implementer Framework Team Nag Prod Submit Vote Implement Review Revise Vote Merge Re-Review Vote Plone 4!
  • 88. PLIP Process Release Manager Remind Push Implementer Framework Team Nag Prod Submit Vote Implement Review Cajole Revise Vote Merge Re-Review Vote Plone 4!
  • 89. 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!
  • 90. Deadline 1: PLIP Submissions 2 Weeks
  • 91. 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
  • 92. 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
  • 93. 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
  • 94. Initial Implementation Reviews •Martin Aspeli •Alex Clark •Vincent Fretin •Rob Gietema •Craig Haynal •Hanno Schlichting
  • 95. 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
  • 96. 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
  • 97. 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
  • 98. Done.
  • 99. Yay!
  • 104. #8808 Zope 2.12, CMF 2.2, Python 2.6 David Glick, Hanno Schlichting
  • 105. Python 2.6 • Officially supported • Faster • Improved memory management
  • 106. Zope 2.12 • Support for Python 2.4, 2.5, 2.6 • Fully eggified • Flexible storage options • RelStorage • BLOBs
  • 108.
  • 109. Performance • Code cleanup • Integration of • experimental.contentcreation • experimental.opaquespeedup
  • 110. 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
  • 111. 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
  • 112. 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
  • 113. 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
  • 114. 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
  • 115. 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
  • 116. 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
  • 117. 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
  • 118. 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
  • 119. 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
  • 120. 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
  • 121. 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
  • 122. 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
  • 123. 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
  • 124. 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
  • 125. 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
  • 126. Plone 3.3 Plone 4.0 Anonymous Page View Logged-In Page View Page Edit View 0 5 10 15 20 Average Requests/Sec
  • 127. #8814 Remove SecureMailHost Alec Mitchell
  • 128. 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
  • 132. plone.folder • Plone Folder • Large Plone Folder
  • 134. plone.folder • BTree-based folder implementation
  • 135. plone.folder • BTree-based folder implementation • Ordering support
  • 136. plone.folder • BTree-based folder implementation • Ordering support • Adapterized ordering
  • 137. Performance Regular Ordered 1,200 Time taken in seconds 900 600 300 0 Create 500 News Items List Folder Contents
  • 138. #9263 GS Import for Sharing Page Roles Martin Aspeli
  • 139. GS Sharing Roles Import • Add new roles to the @@sharing view • Port from collective.sharingroles
  • 140. 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>
  • 141. #9264 AddView Support Martin Aspeli
  • 142. AddView Support • Port of CMF functionality • Custom add forms for content types • Simplifies Dexterity integration
  • 143. #7822 BLOB Support Andreas Zeidler
  • 144. BLOB Support • plone.app.blob • Store file data outside of Data.fs • Entirely managed by the ZODB • More efficient access
  • 145. Sponsored By • Potsdam Institute for Climate Impact Research • Intergovernmental Panel on Climate Change • European Network and Information Security Agency
  • 147. 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
  • 150. norden.org •6 GB Data.fs • 16.2 GB blobs
  • 151. plone.app.imaging • Enables storage of imaging data in BLOBs • TTP management of image scales
  • 152. #8801 Deprecate CMFActionIcons David Glick, Hanno Schlichting
  • 153. Deprecate CMFActionIcons • One less tool! • Define action icons in actions instead • “icon_expr”
  • 154. Deprecate CMFActionIcons • portal_actionicons, actionicons.xml • continue working until Plone 5 • throws deprecation warning
  • 157. plone.app.upgrade • “Eat our own dog food”
  • 158. plone.app.upgrade • “Eat our own dog food” • Use GS upgrade profiles to handle Plone upgrades
  • 159. #9310 Flexible User Registration Kees Hink, Huub Bouma, Duco Doktor
  • 160. Flexible User Registration • join_form is now a view • Show/Hide possible fields • Utility lookup for fields • Easily extendible
  • 161. #9309 East Asian Language Search Manabu Terada, Mikio Hokari, Takeshi Yamamoto, Naotaka Hotta, Jonathan Lewis
  • 162. 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
  • 163. So?
  • 167. #9315 New Default Theme Alexander Limi
  • 169. New Default Theme • “Intentionally boring”
  • 170. New Default Theme • “Intentionally boring” • Based on plone.org theme
  • 171. New Default Theme • “Intentionally boring” • Based on plone.org theme • Uses Deco grid system
  • 172. New Default Theme • “Intentionally boring” • Based on plone.org theme • Uses Deco grid system • Simplified CSS
  • 174. #9259 Group Dashboards Martin Aspeli
  • 176. Group Dashboards • Assign portlets to dashboards on per-group basis
  • 177. Group Dashboards • Assign portlets to dashboards on per-group basis • User sees:
  • 178. Group Dashboards • Assign portlets to dashboards on per-group basis • User sees: • Personal portlets
  • 179. Group Dashboards • Assign portlets to dashboards on per-group basis • User sees: • Personal portlets • Portlets of groups they belong to
  • 180. Group Dashboards • Assign portlets to dashboards on per-group basis • User sees: • Personal portlets • Portlets of groups they belong to • Win for intranets
  • 181. 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
  • 183. Dublin Core Properties • ExposeDublin Core metadata in HTML
  • 184. #9285 Show Blocked Portlets Ricardo Alves
  • 185. #9286 Show/Hide Portlets Ricardo Alves
  • 186. #9305 Use Real Names Ralph Jakobs
  • 188. Real Names • Display the user’s full name instead of username
  • 189. Real Names • Display the user’s full name instead of username • Search results
  • 190. Real Names • Display the user’s full name instead of username • Search results • RSS Feeds
  • 195. archetypes.referencebrowserwidget • Replaces Products.ATReferenceBrowserWidget
  • 196. archetypes.referencebrowserwidget • Replaces Products.ATReferenceBrowserWidget • Large performance improvements
  • 197. archetypes.referencebrowserwidget • Replaces Products.ATReferenceBrowserWidget • Large performance improvements • Supports more reference field implementations
  • 198. archetypes.referencebrowserwidget • Replaces Products.ATReferenceBrowserWidget • Large performance improvements • Supports more reference field implementations • Easily overridable template
  • 199. archetypes.referencebrowserwidget • Replaces Products.ATReferenceBrowserWidget • Large performance improvements • Supports more reference field implementations • Easily overridable template • Proper test coverage
  • 201. plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • 202. plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • 203. plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • 204. plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • 205. plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • 206. plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • 207. plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • 208. plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • 209. plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • 210. plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • 211. plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • 212. plone.app.jquerytools • Tabs • Tooltips • Overlay • Exposé • Scrollable • Flashembed
  • 216. Tiny MCE • Products.TinyMCE • The basis for Plone 5’s Deco editor • Easily extendible • Actively maintained • Easy to theme
  • 217. Tiny MCE • Products.TinyMCE • The basis for Plone 5’s Deco editor • Easily extendible • Actively maintained • Easy to theme
  • 218. Tiny MCE • Products.TinyMCE • The basis for Plone 5’s Deco editor • Easily extendible • Actively maintained • Easy to theme
  • 220. Search Form Improvements • Collapseadvanced search options by default
  • 221. Search Form Improvements • Collapseadvanced search options by default
  • 222. Search Form Improvements • Collapseadvanced search options by default • Hideoptions based on logged-in status
  • 223. Search Form Improvements • Collapseadvanced search options by default • Hideoptions based on logged-in status
  • 224. #9186 Set Image ID from Title Erik Rose
  • 225. Set Image ID from Title • Makes ATImage act more like other types • Easily give images more memorable IDs • Picture 1.png • 3425573738_90e84302e8.jpg
  • 226. #9330 Choose Groups for New Users Alex Clark
  • 227. Choose Group for New Users
  • 228. Choose Group for New Users
  • 229. #9256 Mailing Action Variable Substitutions Steve McMahon
  • 230. Mailing Action Variable Substitutions
  • 231. Mailing Action Variable Substitutions • New variables:
  • 232. Mailing Action Variable Substitutions • New variables: • Workflow
  • 233. Mailing Action Variable Substitutions • New variables: • Workflow • Dublin Core
  • 234. Mailing Action Variable Substitutions • New variables: • Workflow • Dublin Core • Easier for products to add new substitutions
  • 235. #9214 Login Using Email Address Maurits van Rees
  • 238. Email Login • Popular request • Portof collective.emaillogin
  • 239. Email Login • Popular request • Portof collective.emaillogin • Disabled by default
  • 240. Email Login • Popular request • Portof collective.emaillogin • Disabled by default • Automatic migration
  • 242. New Zope Front Page • http://localhost:8080/
  • 243. “Create a Plone site”
  • 244. “Create a Plone site” • Friendlier form
  • 245. “Create a Plone site” • Friendlier form • Skip example content
  • 246. “Create a Plone site” • Friendlier form • Skip example content • Select products to auto- install
  • 248. fg = debug • bin/instance fg
  • 249. fg = debug • bin/instance fg • Debug modes for • portal_css • portal_javascripts • portal_kss
  • 252. Where’s my new Plone? • Alpha 1 is out now! • Update ZopeSkel (easy_install -U zopeskel) • paster create -t plone3_buildout • “4.0a1”
  • 253. Where’s my new Plone?
  • 254. Where’s my new Plone? •2 more alpha releases
  • 255. Where’s my new Plone? •2 more alpha releases • December 3rd, December 17th
  • 256. Where’s my new Plone? •2 more alpha releases • December 3rd, December 17th • 4.0 Final ~ early March
  • 257. 4.x
  • 261. vs.event • Recurringevents • New calendar widget • Improved all-day events
  • 262. vs.event • Recurring events • New calendar widget • Improved all-day events • Extended support for attendees and attachments (UI and iCal level)
  • 263. 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
  • 267. plone.app.discussion • Comment moderation • CAPTCHA support
  • 268. plone.app.discussion • Comment moderation • CAPTCHA support • Configurable/ Extensible comment forms
  • 269. plone.app.discussion • Comment moderation • CAPTCHA support • Configurable/ Extensible comment forms • Moderation/Batch editing
  • 270. collective.amberjack • In-Plone tutorials & site tours
  • 273. Collections • Improved criteria selection UI • Liveupdate of results

Hinweis der Redaktion

  1. which absolutely none of you came to hear, but I&amp;#x2019;m going to tell you about anyway.
  2. Part the first, in which things are needlessly convoluted.
  3. We had two releases, Plone 3 and Plone 4.
  4. We had two releases, Plone 3 and Plone 4.
  5. Plone 3 had all sorts of things Plone 4 had all sorts of plans
  6. Plone 3 had all sorts of things Plone 4 had all sorts of plans
  7. Plone 3 had all sorts of things Plone 4 had all sorts of plans
  8. Plone 3 had all sorts of things Plone 4 had all sorts of plans
  9. Plone 3 had all sorts of things Plone 4 had all sorts of plans
  10. Plone 3 had all sorts of things Plone 4 had all sorts of plans
  11. Plone 3 had all sorts of things Plone 4 had all sorts of plans
  12. Plone 3 had all sorts of things Plone 4 had all sorts of plans
  13. Plone 3 had all sorts of things Plone 4 had all sorts of plans
  14. Plone 3 had all sorts of things Plone 4 had all sorts of plans
  15. Plone 3 had all sorts of things Plone 4 had all sorts of plans
  16. Plone 3 had all sorts of things Plone 4 had all sorts of plans
  17. Plone 3 had all sorts of things Plone 4 had all sorts of plans
  18. Plone 3 had all sorts of things Plone 4 had all sorts of plans
  19. Plone 3 had all sorts of things Plone 4 had all sorts of plans
  20. Plone 3 had all sorts of things Plone 4 had all sorts of plans
  21. The problem was, we were looking at 3 years between releases and huge migrations for everyone.
  22. And so we said, &amp;#x201C;well, some of this is actually ready...now&amp;#x201D;.
  23. So let&amp;#x2019;s make a new major release! It&amp;#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&amp;#x2019;ll have a much simpler migration.
  24. And everybody said yaaay!
  25. And let&amp;#x2019;s call it Plone 3.5!
  26. And everybody said Nooo!
  27. Because of what I&amp;#x2019;ve been calling the &amp;#x201C;Dot Release Contract&amp;#x201D; Though, while researching for this presentation, Google informed me that I&amp;#x2019;m the only one to ever actually use the term. Here&amp;#x2019;s how we make it canon...
  28. So we said, &amp;#x201C;here&amp;#x2019;s what we&amp;#x2019;ll do...&amp;#x201D;
  29. We&amp;#x2019;ll take the release we&amp;#x2019;ve been calling Plone 4 and call it Plone 5.
  30. &amp;#x201C;And then we&amp;#x2019;ll call this new one Plone 4 instead!&amp;#x201D; [deadpan/sarcastic] Because that won&amp;#x2019;t confuse anybody...
  31. And everybody sorta just shrugged.
  32. And so, let me introduce
  33. The intent of the release was to make this primarily a transitional release which means
  34. Part the second, in which I give an overly-detailed description of...
  35. ...the PLIP process.
  36. So what&amp;#x2019;s a PLIP?
  37. == Motivation == Why does this proposal exist and what problem does it solve? == Assumptions == What is being covered by and what is intentionally left out of the scope of the proposal. == Proposal &amp; Implementation == What needs to be done, and how should it be done? == Deliverables == What code and documentation needs to be produced? == Risks == What are the risks of implementing this proposal? What incompatibilities can it cause?
  38. And before we could accept those proposals, we needed a framework team. And the primary duty of the Framework Team is to evaluate PLIPs for inclusion into the release.
  39. And before we could accept those proposals, we needed a framework team. And the primary duty of the Framework Team is to evaluate PLIPs for inclusion into the release.
  40. And before we could accept those proposals, we needed a framework team. And the primary duty of the Framework Team is to evaluate PLIPs for inclusion into the release.
  41. 3 series, Plone 5
  42. And we threw in Plone 2.5&amp;#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.
  43. And as release manager, it&amp;#x2019;s my job to remind, push, prod, nag, cajole, and occasionally shame everyone into getting their work done.
  44. And as release manager, it&amp;#x2019;s my job to remind, push, prod, nag, cajole, and occasionally shame everyone into getting their work done.
  45. And as release manager, it&amp;#x2019;s my job to remind, push, prod, nag, cajole, and occasionally shame everyone into getting their work done.
  46. And as release manager, it&amp;#x2019;s my job to remind, push, prod, nag, cajole, and occasionally shame everyone into getting their work done.
  47. And as release manager, it&amp;#x2019;s my job to remind, push, prod, nag, cajole, and occasionally shame everyone into getting their work done.
  48. And as release manager, it&amp;#x2019;s my job to remind, push, prod, nag, cajole, and occasionally shame everyone into getting their work done.
  49. So Deadline 1 was PLIP submission. We gave everyone two weeks to get their proposals in. I figured we&amp;#x2019;d be lucky to see 10.
  50. We got a record 58.
  51. After an initial evaluation by the Framework Team, we were down to 41.
  52. 33 actual implementations were submitted to the Framework Team who dug through the code and made suggestions for improvements. Then handed those back to the implementers and gave them 3 weeks to revise their work accordingly.
  53. At this point, I need to give a big thanks to for pitching in for these reviews. We never would&amp;#x2019;ve made it through otherwise.
  54. So then we handed those critiques back to the implementers and gave them 3 weeks to revise their work accordingly.
  55. And then it was time for the final up or down vote on each. 26 made the cut.
  56. Again, a record for Plone.
  57. Done.
  58. 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.
  59. [reduces the risk of Plone being unable to adopt third party packages that depend on newer Python features]
  60. RelStorage, which means it&amp;#x2019;s easier to store data in relational databases and use their clustering and replication features. And Blob storage, which lets us save file content to the filesystem outside of the Data.fs.
  61. Funkload tests run for us by Ross Patterson.
  62. Using Plone 2.5 as the baseline performance measurement.
  63. Then Plone 3.0
  64. 3.3
  65. And 4.0
  66. We can see that Plone 4.0 responds nearly twice as fast at low loads and as we get up into higher loads, it&amp;#x2019;s performing nearly 5 times better than Plone 2.5.
  67. And responds around twice as fast as Plone 3.3.
  68. And another graph.
  69. This time, we&amp;#x2019;re looking at performance while adding new content to the site.
  70. Once again, using Plone 2.5 as the baseline.
  71. 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.
  72. And up to 3 times as fast as Plone 3.3
  73. 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.
  74. Hanno ran some numbers for page load times using apache benchmark and found that 44% increase in speed 35% increase in speed 19% increase in speed
  75. SecureMailHost was added in Plone 2.1 to support Transport Layer Security encryption. That was made redundant by changes to Zope 2.11&amp;#x2019;s MailHost. Quoted-printable instead of base64 which should make them less likely to get flagged by spam filters.
  76. Plone currently ships with two types of folders.
  77. Plone currently ships with two types of folders.
  78. Basically a large plone folder, but with ordering support Provides an ordering adapter which allows you to specify exactly which content types will be orderable within a folder.
  79. Basically a large plone folder, but with ordering support Provides an ordering adapter which allows you to specify exactly which content types will be orderable within a folder.
  80. Basically a large plone folder, but with ordering support Provides an ordering adapter which allows you to specify exactly which content types will be orderable within a folder.
  81. 40% increase in speed 30% increase in speed
  82. Simplify the process of adding new roles to Plone&amp;#x2019;s sharing view by adding some new GenericSetup functionality. This is a port from collective.sharingroles.
  83. And this is what the GenericSetup XML would look like.
  84. 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.
  85. Take advantage of changes in CMF
  86. Take advantage of changes in CMF
  87. Why&amp;#x2019;s this so great?
  88. They&amp;#x2019;ve just opened Plone up to a potential 1.5 billion new users.
  89. Billion
  90. 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. It&amp;#x2019;s built on the Deco grid system which lets you define layout very easily.
  91. 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. It&amp;#x2019;s built on the Deco grid system which lets you define layout very easily.
  92. 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. It&amp;#x2019;s built on the Deco grid system which lets you define layout very easily.
  93. 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. It&amp;#x2019;s built on the Deco grid system which lets you define layout very easily.
  94. 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. It&amp;#x2019;s built on the Deco grid system which lets you define layout very easily.
  95. 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. It&amp;#x2019;s built on the Deco grid system which lets you define layout very easily.
  96. Roel Bruggink
  97. Provides the option to expose Dublin Core metadata for any object in the HTML meta tags.
  98. A PLIP so big it apparently defies my attempts to display it on one line.
  99. Replaces Products.ATReferenceBrowserWidget Provides large performance improvements over its predecessor It supports more reference field implementations OOTB and is easier to plug into new ones. It&amp;#x2019;s easy to override the popup template Proper test coverage
  100. Replaces Products.ATReferenceBrowserWidget Provides large performance improvements over its predecessor It supports more reference field implementations OOTB and is easier to plug into new ones. It&amp;#x2019;s easy to override the popup template Proper test coverage
  101. Replaces Products.ATReferenceBrowserWidget Provides large performance improvements over its predecessor It supports more reference field implementations OOTB and is easier to plug into new ones. It&amp;#x2019;s easy to override the popup template Proper test coverage
  102. Replaces Products.ATReferenceBrowserWidget Provides large performance improvements over its predecessor It supports more reference field implementations OOTB and is easier to plug into new ones. It&amp;#x2019;s easy to override the popup template Proper test coverage
  103. Replaces Products.ATReferenceBrowserWidget Provides large performance improvements over its predecessor It supports more reference field implementations OOTB and is easier to plug into new ones. It&amp;#x2019;s easy to override the popup template Proper test coverage
  104. 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&amp;#x2019;re preparing everyone for since TinyMCE is an integral part of the Deco UI. We&amp;#x2019;re integrating this as the default rich text editor for Plone 4, but we&amp;#x2019;re still including Kupu for backwards compatibility reasons.
  105. The configuration options look very similar to Kupu&amp;#x2019;s as well.
  106. Like Mac screenshots or downloads from Flickr
  107. This is another highly requested feature.
  108. This is another highly requested feature.
  109. This is another highly requested feature.
  110. This is another highly requested feature.
  111. We&amp;#x2019;re stealing the Zope startup page from the Unified Installer. This provides a much friendlier view for new Plone users. Create a new Plone site from here. And you&amp;#x2019;ll also see any migration warnings here.
  112. 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. Have the option to skip the example content (front-page, news, events) You&amp;#x2019;ll have the ability to chose which (already downloaded) products should be automatically installed in that new site.
  113. 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. Have the option to skip the example content (front-page, news, events) You&amp;#x2019;ll have the ability to chose which (already downloaded) products should be automatically installed in that new site.
  114. 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. Have the option to skip the example content (front-page, news, events) You&amp;#x2019;ll have the ability to chose which (already downloaded) products should be automatically installed in that new site.
  115. And if you&amp;#x2019;ve been following the growing debate over Setuptools and Distribute, Plone will be throwing its rather sizable weight behind Distribute.
  116. Configurable and extensible comment forms using z3c.form
  117. Configurable and extensible comment forms using z3c.form
  118. Configurable and extensible comment forms using z3c.form
  119. Configurable and extensible comment forms using z3c.form