[Zope-dev] Zope 4 roadmap
Martin Aspeli
optilude+lists at gmail.com
Thu Nov 17 15:23:43 UTC 2011
On 17 November 2011 14:46, Laurence Rowe <l at lrowe.co.uk> wrote:
> Here's my current understanding of the Zope 4 roadmap.
>
>
> Zope 4
> ------
>
> Significant progress has already been made on the following features
> and I expect they should all land in time for a Zope 4 release:
>
> - Storing parent pointers (elro, davisagli): we have a branch of Zope
> that changes OFS to store parent pointers on objects implementing
> ILocation and fixed the issues that arose in copy/cut/paste and zexp
> export code. There's an issue remaining with Acquisition, where we
> lost some protection against cycle protection - Hanno continues
> working on this. See also:
> http://wiki.zope.org/zope2/SetParentAndNameInOFS
+1
> - Remove XML zexp export (davisagli).
+1
> - Catalog using intids (rossp): we have branches of Zope, ZCatalog and
> CMF which change the catalog to use intids as their internal uid and
> rid. This needs more testing, but looks very promising. Currently it
> uses plone.app.intid / five.intid to maintain an intid to physical
> path mapping. Once the parent pointer work is stable, we can stop
> doing this and load objects directly from the database connection
+0 - can we articulate the benefit of doing this?
> - Chameleon (chaoflow): Florian worked on making Zope use Chameleon by
> default. This works for the most parts, but there's some problems left
> in tests, as Chameleon wants an utility to be registered but a lot of
> tests in Zope and CMF don't use ZCML test layers.
+1
> - WebOb (garbas): Rok worked on bringing in WebOb as an underpinning
> for the request/response objects and making both API's available at
> the same time. I think the request is done and a good deal of the
> response works. Doing this means we can deprecate parts of the old
> request API and encourage the use of the more standard WebOb API.
+1, though we'll need to balance the desire to be a better WSGI
citizen with adding yet more complexity to BaseRequest and
BaseResponse.
> - WSGI (matthewwilkes, hannosch): We fixed the bugs that had been
> reported about using the current WSGI support (mod_wsgi problems,
> forced dependency on repoze.who) on trunk and the 2.13 branch.
> Afterwards Matthew continued on a branch to remove the ZServer/medusa
> from Zope and leave only the WSGI publisher in place.
+1 - I think WSGI should be the only way to deploy Zope 4.
> - Decorators for AccessControl (chaoflow).
+1
> Future releases (Zope 5, 6, etc.)
> ---------------------------------
>
> There has been some discussion on these topics but not much in the way
> of code yet:
>
> - Traversal Simplification. Remove attribute lookup from default traversal.
+1, although this will require a lot of fixes in Zope consumers. I
think we need a substantially simpler traversal mechanism that people
actually understand. I've pdb'd BaseRequest.traverse more times than I
care to remember and I still only vaguely understand it.
> - Unicode IDs in OFS
+1
> - Remove __allow_access_to_unprotected_subobjects__=1 from OFS.SimpleItem.Item
+1, though again will break quite a lot. It's scary from a security
perspective, though.
> - New ZMI
+0 - we certainly need better XSRF protection and accessibility and
look and feel are not great, though I think we should also consider
what we actually use the ZMI for. A low-level object browser is really
useful as a last resort admin tool. A number of the other things (like
the various CMF tools, PAS, etc) could just as well expose their own
views more independently of the ZMI, though we'd still need a way to
discover those views. Perhaps something more simliar to the Plone
control panel where tools can register views that just appear in a
list of things you may need to manage may be useful, but it'll need
some way of rooting that to e.g. Plone sites.
> - Move authentication out to WSGI middleware.
+1 - anything we can do to make AccessControl simpler and more
debuggable would be a big win.
> Long term
> ---------
>
> - Move to WebOb as our request object. The wider Python web framework
> community seems to have settled on WebOb as their request object of
> choice, so to facilitate sharing of software components with other
> projects we should consider making WebOb our request object too
> (instead of just wrapping it). This will require buy-in from the wider
> ZTK community as the ZTK components will need
+1
> - Move to Python 3.
+0
Martin
More information about the Zope-Dev
mailing list