Welcome to the ninth Zope 3 newsletter.  Information about Zope 3
  and newsletter contributions and suggestions can be found at the
  bottom of this newsletter.


  Encounter a term in this newsletter you don't know?  Try this
  glossary:  http://dev.zope.org/Zope3/NewsletterGlossary


 - Jim Fulton released the third Zope X3 milestone release on June 30.
   A few "geddon"s (big changes to Zope 3) are still planned before
   the  beta release.

 - The Australian OzZope Zope 3 sprint, organized by Jan Smith, was a
   big success.  See http://www.ozzope.org/OzSprintWiki for a fun
   summary, and http://www.ozzope.org/news/LinMagAu for a link to a
   nice explanatory interview about Zope, Zope 3, and sprints with


Vocabulary Fields and Widgets

    A vocabulary is an object which represents a collection of
    distinct values (where distinct means that any two of them compare
    as not equal using !=, and no two compare equal using ==).  These
    are most interesting when the set of values is highly dynamic.  A
    vocabulary may be provided by (for example) some object in the
    ZODB, a query to an external database, the contents of a file
    maintained by another process, or static data provided by a
    separately maintained piece of code.

    Vocabulary fields provide a field type for situations in which the
    set of options is defined by a vocabulary.  This is most useful
    when the set of possible values may be highly dynamic or otherwise
    be decoupled from the schema definition itself.  A vocabulary
    field in a schema contains either a vocabulary object
    (``IBaseVocabulary``) or the name of a vocabulary.  If a name is
    used, the specific vocabulary to use will be supplied by a
    registry when the schema field is bound to an instance of a
    content object.  Entries in the registry may be made through an
    API or using ZCML.

    More information is available in the Zope 3 source tree in the
    file doc/schema/vocabularies.txt.  This is an especially important
    document to read before creating or configuring widgets to use
    with vocabulary fields.

ZConfig for Zope 3 (Submitted June 30)

    Zope 3 will be using a configuration file defined by a ZConfig
    schema for site administration.  This change is intended to make the
    operation of a site easier for system administrators to work with.
    Additional configuration parameters will be added to the
    configuration file during the continuing development of Zope 3.



    After Martijn Faassen and I had implemented a first bit of XML in
    Zope3 in Louvain-la-Neuve, I thought it was time again to advance
    things in that department. After discussing things with Martijn on
    IRC, I moved all zopeproducts concerning XML to one
    zopeproducts.xml package. The ParsedXML DOM implementation, which
    Martijn had ported to Zope3 looked like the most advanced part of
    the whole xml package. It was not yet ready to be used as
    components though, so I wrote interfaces for the DOM, following
    the W3C specs tightly, and added ZCML configuration directives for
    the classes.

    I also attempted to implement something like ParsedXML in the form
    of DOM  Document, which was simply a persistent document node.
    While providing views for it and simple adapters to and fro
    IXMLText (XML contained in a string) was - thanks to the CA -
    quite easy, trying to implement editing capabilities turned out to
    be a trip with much ContextWrapper pain, so I finally had to give
    up realizing that ContextWrappers were not the right choice for a
    DOM implementation. Martijn had used them because ParsedXML's DOM
    implementation used acquisition and ContextWrappers are its

    It is therefore questionable whether we will hang onto this DOM
    implementation. It is also questionable whether we will have to
    implement our own DOM at all. In order to store a DOM
    persistently, we will most certainly have to, but it would be wise
    to research use cases first before starting to re-implement the
    whole DOM API.

XHTML compliance ("xhtml-gheddon"?):

    When browsing through some page templates I realized that a lot
    of the times, XHTML compliancy was neglected. Thus I validated all
    page templates against XHTML 1.0 Transitional with the xmllint
    command line tool from http://xmlsoft.org/ and corrected all
    obvious errors that it reported. Unfortunately, the tool was very
    disturbed by the TAL and METAL namespaces and the flood of error
    messages was enormous, so I might have missed a few errors. I am
    yet looking for a solution to this problem, so that we can
    maintain XHTML compliance by validating page templates once in a

    For all emacs users: I used emacs's grep-find mode entering the
    following command::

      find . -name "*pt" -exec xmllint --noout --dtdvalid \
      http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd {} \;

    The grep-find mode can parse this output. Instead of specifying
    the URL, one can also download the DTD to speed up the process.

Zope products:

    I kept a few zopeproducts up to date with the changes in Zope3
    head (package refactorings, new-style implements, configuration ->
    registration). Most time I spent on the NewsSite product which was
    grossly out of date. I got it to work so that I could add a news
    site and news entries, but it's not pretty.

    This question goes out to both the initial developers
    (participants of the DZUG sprint) and other people interested in
    this product: is anyone willing to take further care of this
    product? If it is only kept up to date with changes in Zope3, it
    will remain in its miserable state for eternity. Then we might
    just as well remove it.

CHRISTIAN THEUNE: Zope Security evaluation gains speed

  The Zope Security Evaluation aims at getting Zope 3 security
  mechanisms certified with a "common criteria certificate" which is
  an approved certificate within 15 countries.

  During the 9. and 10. july there was a workshop at the TUV-IT
  (http://www.tuev-it.de) which included Steve Alexander, Aroldo
  Souza-Leite, 3 people from the TUV and me.

  We have begun explaining them the Zope 3 security model which
  produced a fair explicit layout of components that are involved and
  started writing the documentation of the security target which means
  determining the components that belong to security, possible threats
  to them as well as selecting functional and environmental security
  requirements and objectives to defend against those threats.

  We gained a pretty good picture of what the certificate will give us
  (better understanding of the whole complexity of the security
  machinery) and that even the entry level certification means a lot
  of explanation work and in-front work

  I now continue writing the security target and am aiming to finish
  it before end of june (which is some kind of unlikely but possible).

  Everybody who likes to see the progress of the certification work
  can find a page including the schedule in the "Subprojects" area of
  the Zope3 Wiki named "SecurityEvaluation". Also there are first
  checkins within the Zope 3 file tree to find under
  Zope3/doc/security. The documentation format is reStructuredText and
  is additionally checked in as a rendered .html file.

Stay Zope3ed.



    I have made significant progress with the Zope 3 Development
    Cookbook. The  "Content Components" section with 12 recipes
    (roughly 124 pages) is now done,  some in outline form and others
    fully written out. The source code can be  found at
    ZopeProducts/demo/messageboard. The recipes build a message board
    product from scratch and start out relatively easy and become then
    more  involved. There are a couple other recipes dispersed
    throughout the book  outline, which you can find at

    For everyone who does not know yet, the Zope 3 Python Developers
    Cookbook  will be published by Sams (same people as New Riders who
    did the Zope Book).  I will be the primary author, and Jim and
    Steve signed up as technical  editors. The book will be published
    under an open content license (http://

    Please send me or post comments about the recipes. The more early
    feedback I  have, the better the book will be!

Online Help

    While writing the recipes, I also fixed the Online Help to look
    for views  correctly. One of the above mentioned recipes
    (http://dev.zope.org/Zope3/ OnlineHelpForZopeApps) has detailed
    information on how to use it. The Zope 3  Development team would
    like to encourage people to start developing help  screens.


    Alan Runyan had the great idea to support a TALES expression that
    would  evaluate SQL statements. Short story: He told me, 2 hours
    later it was done.  The syntax looks as follows::

      <html tal:define="rdb string:PsycopgDA; dsn string:dbi://test">
           <ul tal:define="name string:Stephan; table string:contact">
              <li tal:repeat="
                  contact sql: SELECT * FROM ${table} WHERE
                    name = '${name}'">
                <b tal:content="contact/name" />

    The add-on is mainly aimed at scripters, who do not want to worry
    about design  so much. You can find the product at
    http://cvs.zope.org/ZopeProducts/ sqlexpr. BTW, I think it would
    be easy to port this code to Zope 2, since  very little is Zope 3

Making zope3.org our Home

    It has been in our heads since last year, but we did not have the
    time to do  it (other than registering the domain). But now it is
    time! We have a ZWiki  product and soon I will also have a Bug
    Collector ready for Zope 3, so that  we can start moving the
    content over to www.zope3.org. I hope to be able to  move there in
    the next weeks.


  Please send Zope 3 news, and newsletter suggestions and requests, to
  [EMAIL PROTECTED], with "Zope 3 newsletter" somewhere in the subject line.
  As you can see above, casual and quick news items are acceptable and
  even desirable.


  The central place to find Zope 3 information is currently

  The Zope 3 mailing list is archived and managed at

  The Zope 3 development IRC channel, #zope3-dev at
  irc.openprojects.net is (strictly) for discussion of Zope 3
  development issues.

  Newsletters are (supposed to be, blame the editor) archived at

Zope-Dev maillist - [EMAIL PROTECTED]
** No cross posts or HTML encoding! **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )

Reply via email to