[Zope] Inaugural Zope 3 Mini-Newsletter
Gary Poster
gary@zope.com
17 Oct 2002 12:32:02 -0400
WELCOME TO THE ZOPE 3 MINI-NEWSLETTER
Find out what's going on in Zope 3 development, then contribute your
opinions, your experience, and your code to one of the most exciting
Open Source projects going.
Most news is submitted. Tell us what you're doing! Send anything
from a sentence to a few paragraphs about your latest efforts, be
they code, documentation, research, or design, to gary@zope.com.
We'll send one of these out whenever we have enough to warrant it--
just two or three submissions are enough--and I'll also specifically
request news from the zope3-dev@zope.org group once a month.
The newsletter begins with a high-level glossary that might help you
understand a bit about what's going on with some of the announcements.
Want to help others get a grasp on your favorite Zope 3 (or Zope 2)
concept? Send in a definition, or request one, or fix these.
LITE 'N' EASY GLOSSARY: Starred items have definitions also in the
glossary
Event Service: An internal system (not intended to be external) that
can send events to interested object subscribers.
I18N: a W3C standard for internationalization; includes Unicode. See
http://www.w3.org/International/
ObjectHub: A way to assign an object's path in the *ZODB* to an
integer unique to that hub instance. Thanks to the *Event Service*,
the ObjectHub can maintain the integer-to-object-path relationship
even if the object moves...theoretically. First we need some
something to send the appropriate events!
Persistent: the base class that makes it possible for an object to be
stored (mostly) transparently in the *ZODB*
Relation Manager: A central place to store relationships between
objects, giving some very simple and basic relational-database-like
functionality. A client of the *ObjectHub*.
ZCML: Zope Configuration Meta Language. The XML language that is the
file-system configuration tool for site administrators. One uses it
to declare new Zope 3 products, new services, new views, and so on.
ZODB: Zope Object DataBase. A way to store Python objects
persistently; an underlying technology of Zope 2 and 3, but also
available in a stand-alone distribution.
NEWS SNIPPETS:
* First edition of the Zope 3 newsletter! Thanks to the Melbourne
OzZope interest group (http://www.ozzope.org/) for the idea.
* Thoughts on improving I18N internationalization support: see
http://dev.zope.org/Members/nheiich/drafts/z3_i18n_d1
* Jim Fulton requests thought on CMF Content Type vs. Zope 3 Interfaces
vs. ??? in preparation for the SPRINTATHON in Rotterdam, Dec 2-6: see
http://lists.zope.org/pipermail/zope3-dev/2002-October/002988.html
* A Zope 3 alpha by end of 2002? Wiki vs. PEP? Find this and more at
http://lists.zope.org/pipermail/zope3-dev/2002-October/002960.html
PYTHONLABS' JEREMY HYLTON: Persistence Improvements
We've been making some improvements to the core persistence
implementation and trying to make persistent modules and classes
usable.
The Persistent base class is now used for regular persistent objects
and for custom C types like BTrees. It only provides an __dict__ for
instances of the type if the most derived type is a new-style class
that does not use __slots__. (Objects with __slots__ aren't
supported yet, but they probably will be in the future.) This change
allowed us to remove lots of C code. Unfortunately, it requires a
custom metaclass to work with Python 2.2.1; in Python 2.3, the
metaclass is just an alias for type, the default metaclass.
Jim [Fulton] and I have done some minimal work to make persistent
modules usable in Zope3. You can create modules through the web
using the service manager -- one of those places where you get lots
of funny ++ stuff in the URLs. When the modules are updated, the
function and classes are updated in place. The code and interfaces
are still pretty rough; I'm still learning how the feature will be
used and expect to make improvements based on experience.
R. DAVID MURRAY: Zope Configuration Meta Language (ZCML) Improvements
and Automated Documentation
I'm currently working in rdmurray-metameta-branch on a set of changes
to the configuration system. The changes allow reconfiguration of
configuration directives, including the metaconfiguration
directives. I then use this to change the meta-config directives to
support additional attributes and subdirectives so that the basic
documentation for configuration directives can be specified in the
meta.zcml files. I'm currently working on the program that extracts
this data and builds the namespaces.zope.org subdirectory hierarchy in
doc.
GARY POSTER: New Placeful ObjectHub, Relation Manager Proposal
I took advantage of some significant flight time (and jet-lagged
insomnia) to work on items centering around the ObjectHub. I'm
trying to get some consensus before I check anything in, but hope
to get something in this weekend. I am particularly excited about
the Relation Manager--thanks to Andy Bulka for pointing out his
pattern and discussions at http://www.atug.com/andypatterns/RM.htm
that explore some of the implications, problems, and promises of some
very similar approaches. I also stole the name from him (I did
shorten it a bit). ;-)
STEVE ALEXANDER: Aiding, Abetting, Speaking, Organising
After an absence of several weeks, I've been getting back into the
world of Zope 3. I've been working with CodeWorks in Lithuania,
helping them with their work on CacheManagers, organising a Sprint
here in Vilnius, and reviewing Gary's recent work on the ObjectHub
and RDM's improvements to documenting the meta-directive files.
A couple of weeks ago, I gave a talk on Zope 3 at the Universite de
Savoie at Chambery, France. The slides are available on their
webpages somewhere, and consisted of Jim's OSCOM talk, and some
discussion of Zope 3 security, stitched together with my thoughts
on the benefits of component software, and how it allows for
interesting economic patterns between collaborating companies.
The Sprint will be in Vilnius from Tuesday 10 December to Thursday
12 December. As well as myself, Albertas, Marius, Vika and Brad from
CodeWorks, and Jim from Zope Corp are definitely attending. There's
still room for some more sprinters!
NEWS CONTRIBUTION GUIDELINES:
We want to know what you're doing, be it code or design, so just
write something quick and easy. First person and casual is fine, as
you can see. Send to gary@zope.com whenever the spirit moves you.
LEARN MORE ABOUT ZOPE 3:
See http://lists.zope.org/mailman/listinfo/zope3-dev
See
http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/FrontPage
but be aware the design docs often lag as we develop prototypes.