On 18 October 2010 12:51, Thomas Lotze <thomas@thomas-lotze.de> wrote:
Hi all,
at the Zope summit in September, we were talking about what Zope actually is or should be and how to define the goal of the Zope project. This led to the idea of identifying the functional areas of Zope. I'd like to pursue this by starting a discussion about Zope's functional areas among the developer community and hope to come up with a number of commonly agreed-upon items. Wherever it matters, I suggest limiting ourselves to discussing the ZTK in order to keep things focussed.
As functional areas (for some examples, see below), we consider diverse, broadly defined tasks and problems that a web developer is being faced with, and that a web framework ought to have an answer for. We hope to be able to define better what Zope is and is not and how it compares to other web frameworks by starting from a set of functional areas and trying to state Zope's answer to each of them.
Another benefit from having a grip on functional areas of Zope the project would be the possibility to organise the large and grown set of individual packages that make up Zope's code.
To get the discussion started, I'll give a few random examples of functional areas that we thought of immediately:
- software architecture (interfaces, components) - data persistence (ZODB) - URL resolution (object traversal) - form generation (form libs for HTML forms, other possibilities?) - resource handling (CSS, Javascript delivery) - client-side programming framework (no good solution so far, people use all sorts of Javascript technologies and programming styles)
I would say that javascript and client side programming frameworks are out of scope for Zope the project. There are plenty of existing client side frameworks (jquery, YUI, etc.) with varying degrees of weight and functionality. We don't want to build another. Zope components may need to implement some rich functionality (form widgets for instance), in which case it may be worthwhile picking a particular javascript framework to use (Plone uses jquery). We also want to make it easy to communicate between client side javascript and server side python via JSON (bobo implmented some json help classes IIRC). Laurence