[Zope] Second ZOPE 3 mini- NEWSLETTER (and kinda large glossary)

Gary Poster gary@zope.com
31 Oct 2002 10:15:25 -0500


WELCOME TO THE ZOPE 3 MINI-NEWSLETTER: ISSUE 2 (31 OCT 2002)

  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.  

  I'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.  I send 
  them to zope@zope.org and zope3-dev@zope.org (subscribe at 
  http://www.zope.org/Resources/MailingLists), announce it on the front 
  page of zope.org, and archive it at
 
http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/Zope3Newsletter

LITE (?) 'N' EASY GLOSSARY: 

  Each 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 pertinent
  Zope 2) concept?  Send in a definition, or request one, or fix these.

  Starred (or italicized) items have definitions also in the glossary.  
  Only terms discussed in this newsletter or newly submitted or 
  corrected terms are included here.  For full glossary, see
 
http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/NewsletterGlossary
  
  [NEW]
  Adapter Service: a tool that, given one "component" (an object that 
  declares an interface) and a desired resulting interface, tries to 
  wrap the component with extra functionality that matches the desired
  interface (forgive the simplification!)
  
  [NEW]
  Forms: Allows you to create (web) forms in a structured, secure and 
  easy way. First create the *schema*. This is just an *interface* with 
  schema information on it. From the schema, a form can be generated 
  automatically using widgets from an extensible set. User input to the 
  form is then automatically converted to the value types the schema 
  expects, and can then be validated against the schema to check whether
  the values fit the schema criteria. If any errors occur they can be 
  displayed to the end user (possibly along with the form itself).
  (thanks to Martijn Faassen)

  [CORRECTED]
  I18N: In Zope 3, i18n covers all that is needed to have an application
  be able to be switched from one language to another, or being able to
  support multiple languages at the same time, be it for its interface 
  or for its content objects themselves. That covers input and output 
  encoding, translatability and actual translation of views and 
  contents, the tools and formats necessary to provide those 
  translations, maybe even the translation workflows that authors will 
  use. (thanks to Florent Guillaume for the corrected definition)
  
  [NEWLY COPIED :)]
  Interface: a description of the behavior of objects.   Zope provides 
  objects for representing interfaces and a facility for asserting that 
  objects implement interfaces. Interface objects were added to Zope 
  for specification and documentation purposes.   Zope 3 uses interfaces
  primarily for classification and for connecting components based on 
  compatible interfaces. Future versions of Zope may utilize interfaces 
  for type safety, as part of the security system.
  
  [NEW]
  Placeful: An adjective describing an object that resides in the *ZODB*
  (and so is persistent) and is potentially pertinent only to the ZODB 
  branch (or "folder" and all children) in which it resides.  Similar 
  to standard programming "local" concept of variables.  Opposite of 
  *Placeless*.
  
  [NEW]
  Placeless: An adjective describing an object that resides outside
  of the typically addressed Zope database, and is available to all 
  objects irresepective of their location in the ZODB (or what "folder"
  they reside in).  Usually not persistent, but instantiated in memory 
  on each program start.  Somewhat similar to standard programming 
  "global" concept of variables.  Opposite of *Placeful*.

  [CORRECTED]
  Relationship Service: A proposed central place to store relationships 
  between objects, giving some very simple and basic 
  relational-database-like functionality.  A client of the *ObjectHub*.
  
  [NEW]
  Schema: A Zope 3 framework built on the Interface package that allows
  you to specify details about attributes of the object that implements 
  the schema.  This includes type information (string, integer, etc) as 
  well as restrictions on what values may be set (maximum length, can 
  be None, etc) which can be automatically validated. The schema 
  framework allows you to specify this information in an object's 
  interface. Schema information is used by several other Zope 3 systems,
  such as metadata (properties) and forms. The schema package lives in 
  'lib/python/Zope/Schema'. (thanks to Martijn Faassen)
  
  [NEWLY COPIED :)]
  Sprint: A sprint is a multi-day session of intense Zope3 development 
  organized around extreme programming (XP) ideas such as pair 
  programming. [stolen from
 
http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/SprintSchedule
  which tells a lot more!]
  
  [NEW]
  TTW: "Through the web," usually used in reference to ideas such as
  "scripting TTW" or "configuring TTW" and so on.
  
NEWS SNIPPETS:

 * Jim Fulton and the team in India checked in a new 
   ErrorReportingService to the Zope3 head, as well as a lot of work on 
   a placeful AdapterService, TTW code, and Forms in a couple of
   branches.  I'm probably leaving whole chunks of topics out too!

 * Look!  Up in the air!  It's a glossary!  It's spam!  No, it's 
   *the second Zope 3 mini-newsletter*!

 * uh...Happy Halloween?

STEVE ALEXANDER: 

  I spent a few days tracking down the source of the two month old bug
  http://collector.zope.org/Zope3-dev/78, fixing it, adding unit tests,
  and fixing the fix's repercussions.  
  
  I've continued helping CodeWorks with their work on the cache manager.
  Barry Warsaw and I had a chat about what would make a good MailHost 
  replacement for Zope 3. Some important things include 
  transaction-aware mail delivery (so that you don't get mails sent 
  when there are conflict errors or aborted transactions), and mail 
  delivery in a separate thread, so it doesn't hold up a page's 
  response. Barry's writing up a proposal on this, and I have some time 
  put aside to help with this.

  I refactored the unit tests for ContextMethods, making them more
elegant, and
  increasing their coverage.

  I reimplemented SimpleMethodWrapper to work better, and added in
support for 
  context-aware properties too. This is useful when you want to use
properties 
  in a Service implementation.

KAPIL THANGAVELU (as hazmat on IRC): Document Autogeneration

  I've been working on using docgeneration tools [epydoc] to generate 
  api docs from the z3 source. [Not from interfaces yet, from what he 
  said, but hopefully the tools will go there!]

INFRAE'S MARTIJN FAASSEN: Sprintathon

  Infrae is hosting a Zope 3 Content Management Sprintathon to be held
  december 2-6 in Rotterdam, the Netherlands. We already have an 
  interesting and large cast of developers who are planning to attend. 
  Even so, the room we have at our disposal is large enough to fit in 
  several more, so if you are interested in participating, please mail 
  faassen@infrae.com!

  One of the special features (and not strictly content management 
  related) of the Sprintathon will be a user interface team. This team 
  will be composed of people with a background and interest in user 
  interfaces, to lay down some of the groundwork for the  Zope 3 user 
  interface.

  Other topics will include workflow and searching. If you have a topic 
  you are interested in, please mail the zope3-dev mailing list to talk 
  about it.

  See this wiki page for more information:

 
http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/InfraeSprintathon

GARY POSTER:

  I checked in a placeful version of the ObjectHub, replacing
  the placeless one previously in CVS and fixing some errors and 
  polishing the interface.  Yay.
  
  I also have the most recent draft of RelationshipService proposal at
 
http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/RelationshipService
  
  Steve Alexander and I hope to put together a first take on 
  integrating indexing, metadata, relationships, and the ObjectHub, 
  very very soon, so we can all complain about what we don't like and 
  redo it....  Well, actually, I'm serious. :-)

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.