Folks, There is a lot of exciting development happening in Zope 3, which is open to the public in CVS, and it's really an answer to many of the concerns raised in the "open letters" in the past few days.
Here are some of the things happening: - The structure of the Python packages has been redone. It will be much easier to see which packages can be used independently of Zope and which are meant for the Zope application. (There are many packages that can be separated already, but it's not easy to figure out.) - The new component architecture is having a very positive impact. Deep multiple inheritance is a thing of the past. The Python code is free of Zope framework clutter, besides occasional ZODB details. - There are interfaces for everything from authorization to folders, so the API is being documented as it is written. - ZPublisher has been refactored significantly and renamed to "Zope.Publisher". No more string exceptions, no more "maybe_webdav" hacks, no more publishing modules. Interfaces exist and more are planned. - The HTTP server has been redone. It is more optimized and there is a cleaner separation of the server (now "Zope.Server") and the publisher, making it easier to create alternate front-ends to the publisher (for speed). There are also tuning options. - There are unit tests for *everything*. - We're using page templates instead of DTML. I invite everyone to check out Zope 3X right away. But before you do, read carefully: We are first creating "Zope 3X", a version of Zope that is not compatible with Zope 2. We are taking off the shackles and blazing forward, applying the lessons we learned from Zope 2 and CMF. Soon we will create "Zope 3". Zope 3 will add Zope 2 backward compatibility. MINI-FAQ ======== Q: What is Zope 3X? A: Zope 3X is Zope rebuilt from the ground up, applying the lessons learned from Zope 2 and CMF. Q: What is Zope 3? A: Zope 3 is Zope 3X plus compatibility with Zope 2 products. Q: Will Zope 3X be compatible with Zope 2 products? A: No. Q: Will Zope 3 be compatible with Zope 2 products? A: Yes. Q: Will Zope 3X support DTML? A: Probably not. Q: Will Zope 3 support DTML? A: Yes. Q: Will Zope 3X be compatible with CMF? A: No. Q: Will Zope 3 be compatible with CMF? A: Very likely, but a lot of the CMF ideas will be folded directly into Zope 3. You might not need CMF anymore. Q: Are Zope 3X and Zope 3 licensed under the new GPL-compatible ZPL 2.0? A: Yes. Q: Why is Zope Corp. doing all this rearchitecting when Zope really needs feature XX? A: To make it easier for you, the developer. We make the flour, you make the cake. (Zope corp. will create major components also, but the best way to expand Zope is to empower developers.) Q: What is the component architecture? A: It's similar to other component architectures in that it lets you fit small pieces of functionality together. While Zope 2 has many parts welded together with inheritance, Zope 3 will let you take things apart and put them together like legos. See: http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/VisionStatement Q: How hard will it be to migrate a product to the component architecture? A: There are patterns emerging that should make it straightforward and much easier than starting from scratch. Q: Is I18N in the plans? A: Yes. It is time to start planning for internationalization. If this is your strength, download and get to know Zope 3X and the component architecture wiki, get involved in the community, and please help! Q: How can I help? A: If you're interested in helping and you have time, educate yourself on the component architecture and Zope 3X then volunteer to assist in your particular area of expertise. Q: Is there a tutorial? A: Yes! Look at the /Docs directory in CVS. Note that it's still in development. Q: When will Zope 3 be ready? A: I don't really know, but it's moving forward quickly. INSTRUCTIONS ============ To check out Zope 3X from CVS: cvs -d :pserver:cvs.zope.org:/cvs-repository co -r Zope-3x-branch Zope3 To check out the tutorial: cvs -d :pserver:cvs.zope.org:/cvs-repository co -d Tutorial \ /Docs/ZopeComponentArchitecture/PythonProgrammerTutorial Zope 3X requires Python 2.2b2. To compile the extensions, run "python2.2 stupid_build.py". To start the HTTP server on port 8080, "python2.2 z3.py" (it's very barebones right now; all the meat is in the code.) To run all unit tests in /bin/bash (over 250 of them!): PYTHONPATH=lib/python python2.2 utilities/unittestgui \ Zope.Testing.allZopeTests Again, this is all quite exciting and I hope you can join the action. Shane _______________________________________________ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )