Re: [PLIP-Advisories] [Plone] #10776: Update to Zope 2.13
#10776: Update to Zope 2.13 +--- Reporter: hannosch|Owner: hannosch Type: PLIP| Status: closed Priority: minor |Milestone: 4.1 Component: Infrastructure | Resolution: fixed Keywords: | +--- Changes (by hannosch): * status: assigned = closed * resolution: = fixed Old description: '''Proposer:''' Hanno Schlichting[[BR]] '''Seconder:''' None as yet == Motivation == Zope 2.13 is the next stable release of Zope 2. It comes with a new and faster version of the ZODB, support for Python 2.7, built-in WSGI support, updated Zope Toolkit packages and a much faster ZCatalog. It also makes all of zope.app.* optional and has a number of internal cleanups. You can read more about it at http://docs.zope.org/zope2/releases/2.13/WHATSNEW.html In the past Plone has had a very conservative update policy towards upgrading Zope 2 releases, which has frequently led to a mismatch between the Zope distributions Plone shipped with and those developers wanted to use. This is again the case for Plone 4.0 and developers relying on for example z3c.form. == Assumptions == With Zope 2.12 we have gotten a fully eggified Zope release including all Zope Toolkit distributions. This has made it much easier to selectively upgrade individual distributions. In practice this currently does not work. In the refactoring of Zope 3 into the Zope Toolkit there's been a massive amount of interdependent changes to all distributions and a bulk of new distributions. Upgrading individual distributions without getting the whole has become impossible, without risking subtle and sometimes critical breakages in unexpected places. There's many distributions were even using new supposedly bug fix releases isn't possible [see http://download.zope.org/Zope2/index/2.12.11/versions.cfg for a list]. Zope 2.13 solves this issue by updating to a real and stable Zope Toolkit release. This release is also used by both BlueBream and Grok and thus has a higher chance of being kept stable and maintained over a longer period. Sharing the same version set with Grok also makes it possible to use Grok technologies inside Zope 2 / Plone in a sane way. z3c.form is another example of a library that needs more recent versions of Zope Toolkit libraries than those provided in Zope 2.12. While Zope 2.13 does a leap forward in the provided Zope libraries, virtually all of them are 100% backwards compatible in their API's. A demonstration of this is that both Plone 4.0 and CMF 2.2 work with Zope 2.13 without any more modifications (some modifications where required in the test runner, which interacts with many internals). The classic Zope 2 code itself is being factored out into multiple distributions in the 2.13 release. Going forward this trend will continue. This will allow us to both quickly pull in new bug fix releases of things like DateTime or Products.MailHost and with Zope 2.14 and going forward to drop unused parts of Zope 2 from Plone. For example ExternalMethods and PythonScripts will be entirely optional in 2.14. five.formlib integration and Products.ZSQLMethods are already optional in 2.13. While Zope 2.13 provides native WSGI functionality, it is outside of this PLIP to make use of this in any way. There's a large number of open questions around WSGI and the changes it requires to instance creation and setup, which warrant their own PLIP. A good number of those will also have an impact on the Zope 2 codebase itself, which is going to be already past a beta release by the time this PLIP gets started and thus will have to wait for Zope 2.14. I expect to see more community experimentation being done with WSGI once the capability is there. We might see a PLIP for Plone 4.2 to see those experimentations being solidified into good practice, standards and documentation. == Proposal Implementation == A PLIP config is available at https://svn.plone.org/svn/plone/buildouts /plone-coredev/branches/4.1/plips/plip10776-zope213.cfg. While Zope 2.13 itself is still changing, there might be more minor changes required to the Plone codebase. Those are to be provided in PLIP branches, when they aren't backwards compatible and truly minor in scope. It will also help to review all remaining use of zope.app packages in Plone itself and use their zope.* replacements instead. In order to keep backwards compatibility with add-ons, Plone should extend the zopeapp.cfg configuration file, which provides version pins for all zope.app.* distributions. == Deliverables == See Proposal above. == Risks == While the changes to the Zope Toolkit packages should be all backwards compatible, there's a chance that some of them might cause problems. Generally most of the
Re: [PLIP-Advisories] [Plone] #10776: Update to Zope 2.13
#10776: Update to Zope 2.13 +--- Reporter: hannosch| Owner: hannosch Type: PLIP| Status: assigned Priority: minor | Milestone: 4.1 Component: Infrastructure |Keywords: +--- Comment(by hannosch): Zope 2.13.0 final is released. I think all issues have been addressed and this should be ready for merging. -- Ticket URL: http://dev.plone.org/plone/ticket/10776#comment:22 Plone http://plone.org Plone Content Management System ___ PLIP-Advisories mailing list plip-advisor...@lists.plone.org http://lists.plone.org/mailman/listinfo/plip-advisories
Re: [PLIP-Advisories] [Plone] #10776: Update to Zope 2.13
#10776: Update to Zope 2.13 +--- Reporter: hannosch|Owner: hannosch Type: PLIP| Status: assigned Priority: minor |Milestone: 4.1 Component: Infrastructure | Resolution: Keywords: | +--- Comment(by hannosch): Replying to [comment:15 davisagli]: It concerns me a bit that the update to Zope 2.13 appears to require an update to CMFCore 2.3 (currently unreleased), which deprecates some stuff that was available in 2.2. That doesn't seem good for a Plone .x release. What makes you think it requires CMFCore trunk? The buildout has an autocheckout for CMFCore, which uses the 2.2 branch as per the sources.cfg in the 4.0 coredev buildout. That's simply because we require the yet unreleased CMFCore 2.2.3 (scheduled for a release after the bugday tomorrow). -- Ticket URL: http://dev.plone.org/plone/ticket/10776#comment:19 Plone http://plone.org Plone Content Management System ___ PLIP-Advisories mailing list plip-advisor...@lists.plone.org http://lists.plone.org/mailman/listinfo/plip-advisories
Re: [PLIP-Advisories] [Plone] #10776: Update to Zope 2.13
#10776: Update to Zope 2.13 +--- Reporter: hannosch|Owner: hannosch Type: PLIP| Status: assigned Priority: minor |Milestone: 4.1 Component: Infrastructure | Resolution: Keywords: | +--- Comment(by hannosch): Issues that came up: The DateTime pin to an older version is not specific to this PLIP. It's required on Plone 4.0.x as well to deal with GenericSetup / DateTime / CMFEditions issues. Regarding the missing image/file types, I have a feeling that David might have found and fixed the cause for that yesterday. I'll try to update and test the buildout again this week and sent you a note once I fixed the issues. -- Ticket URL: http://dev.plone.org/plone/ticket/10776#comment:20 Plone http://plone.org Plone Content Management System ___ PLIP-Advisories mailing list plip-advisor...@lists.plone.org http://lists.plone.org/mailman/listinfo/plip-advisories
Re: [PLIP-Advisories] [Plone] #10776: Update to Zope 2.13
#10776: Update to Zope 2.13 +--- Reporter: hannosch|Owner: hannosch Type: PLIP| Status: assigned Priority: minor |Milestone: 4.1 Component: Infrastructure | Resolution: Keywords: | +--- Comment(by cah190): (In [40358]) Review for PLIP 10776. Refs #10776. -- Ticket URL: http://dev.plone.org/plone/ticket/10776#comment:13 Plone http://plone.org Plone Content Management System ___ PLIP-Advisories mailing list plip-advisor...@lists.plone.org http://lists.plone.org/mailman/listinfo/plip-advisories
Re: [PLIP-Advisories] [Plone] #10776: Update to Zope 2.13
#10776: Update to Zope 2.13 +--- Reporter: hannosch|Owner: hannosch Type: PLIP| Status: assigned Priority: minor |Milestone: 4.1 Component: Infrastructure | Resolution: Keywords: | +--- Comment(by eleddy): (In [40359]) zope 2.13 plip review. refs #10776 -- Ticket URL: http://dev.plone.org/plone/ticket/10776#comment:14 Plone http://plone.org Plone Content Management System ___ PLIP-Advisories mailing list plip-advisor...@lists.plone.org http://lists.plone.org/mailman/listinfo/plip-advisories
Re: [PLIP-Advisories] [Plone] #10776: Update to Zope 2.13
#10776: Update to Zope 2.13 +--- Reporter: hannosch|Owner: hannosch Type: PLIP| Status: assigned Priority: minor |Milestone: 4.1 Component: Infrastructure | Resolution: Keywords: | +--- Comment(by davisagli): Alec, thanks for the reminders regarding our deprecation policy. I took a closer look at the changes on CMFCore trunk and none of them are a concern, given that policy (or even particularly a concern without it). -- Ticket URL: http://dev.plone.org/plone/ticket/10776#comment:17 Plone http://plone.org Plone Content Management System ___ PLIP-Advisories mailing list plip-advisor...@lists.plone.org http://lists.plone.org/mailman/listinfo/plip-advisories
Re: [PLIP-Advisories] [Plone] #10776: Update to Zope 2.13
#10776: Update to Zope 2.13 +--- Reporter: hannosch|Owner: hannosch Type: PLIP| Status: assigned Priority: minor |Milestone: 4.1 Component: Infrastructure | Resolution: Keywords: | +--- Comment(by esteele): FWIW, I'm only seeing test failures in plone.app.blob and wicked. The GenericSetup failures have been cleared in 4.0 (which 4.1 currently uses as a versions base). -- Ticket URL: http://dev.plone.org/plone/ticket/10776#comment:18 Plone http://plone.org Plone Content Management System ___ PLIP-Advisories mailing list plip-advisor...@lists.plone.org http://lists.plone.org/mailman/listinfo/plip-advisories