[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.