Lennart Regebro wrote:
On 12/20/05, Roman Suzi <rnd@onego.ru> wrote:
Lets suppose that I've done OO Analysis and have a dozen of nice classes which model my problem domain. Lets also suppose that I did it on the basis of known use cases. Now I want to build Web application fulfilling those use cases but separate my classes from Zope framework (Ok, some of them could be taken from Zope framework, like user folder), so that I can see the problem domain abstractions in the clear, without a mess of miriads of Presentation injections. (I'd liked to put presentation-related things into other classes and ZPTs)
Are there any good examples out there, or any good architectural solutions for that?
Yes. Zope 3. ;) Zope 3 adresses several of these questions, especially the separation of presentation from logic on a class bases. And of you can't use Zope 3, then you can use the same principals under Zope 2 thanks to the Five technology: http://codespeak.net/z3/five/
Five is included with Zope 2 since Zope 2.8.
Thank you for hints, Lennart. They are quite helpful. Its hard for me to competently say anything more on this as some time is required to learn and try Five.
Or is it even possible in Zope2 to go that far without doing to much adaptation?
No problems at all. Nuxeos new calendar product is done exactly like that, even to the point that the base classes are in a separate product (CalCore) that could be used outside of Zope, the UI is in another product (CalZope) that provides all the pages, and we have integration with CPS in a third product (a Plone integration, CalPlone, is in progress).
This example is also interesting, thanks!
-- Lennart Regebro, Nuxeo http://www.nuxeo.com/ CPS Content Management http://www.cps-project.org/