Personal tools
You are here: Home Zope & Plone tips Miniguide to the z3ext framework
Navigation
 
Document Actions
  • Send this page to somebody
  • Print this page
  • Add Bookmarklet

Miniguide to the z3ext framework

by tibi last modified 2007-06-19 17:48

Recently I've started working for a project that uses the z3ext libraries, written by Nikolay Kim, the same author as CMFBoard. The library is open source and makes a good effort in bringing a higher level framework on top of Zope 3, to make it possible to build general purpose CMS similar to Plone.

Being a new framework for me, the best way I know to learn it is to document it, so I'm adding notes and quirks that I note. Don't take what I write here as 100% truth, as I may rush to write here or misinterpret what I'm seeing. So standard disclaimer applies. :-)

Quirk 1: most of the time, when the word "publisher" is used for a package or module, it usually provides what the rest of the zope community calls "traverser"

Quirk 2: some packages contain reimplementation or wrappers over third party (or even basic zope) utils, in order to provide some hard-coded defaults that would otherwise require configuration from ZMI.

Quirk 3: there's little documentation inside or outside the code, no "high end overview", not much documentation on interfaces.

package
Description
actionsA namespace traverser which returns an action object that has a certain page registered on it. Example:

  <adapter
     name="z3ext.auth.principal"
     provides="z3ext.principals.interfaces.INewPrincipalAction"
     for="z3ext.principals.interfaces.IPrincipalsManagement *"
     factory=".principaladd.newPrincipalAction" />

  <browser:page
     for=".principaladd.INewPrincipalAction"
     name="index.html"
     class=".principaladd.NewPrincipal"
     permission="zope.View" />

  <class class=".principaladd.newPrincipalAction">
    <require
       permission="zope.Public"
       interface=".principaladd.INewPrincipalAction" />
  </class>

authentication
A principal folder implementation with principals that login with their usernames, searchable principals, TeamSpace style groups plugin
cache
Utils to provide site based caching strategies for content (modification date based, etag based)
catalog
Extends zope.app.catalog to implement a security aware catalog and index sorting.
common
Various utils used inside the other packages
content
A base class content type (Item), a content item factory and zcml extensions to declare classes as content items.
controlpanel
A framework that implements a persistent control panel (similar to Plone's control panel) which receives configlets registered through ZMI
cssregistry
An extension to z3ext.zrtresource which allows defining global css variables to be inserted in site stylesheets
extension
Makes it possible to define packages as extensions, which are registered per portal
folder
Basic Folder implementation, integrated with the z3ext framework
form
Widgets and basic form classes to be used in z3ext forms
mail
A "mail receiver" service, customizable per user and with its own preference pages
ownership
Makes content "owner" aware and provides a local roles framework for content
permissionsmap
Allows setting mapping permissions to roles on a per class basis
portal
The site and content container
portalmessage
A session based global message dispatching service, similar to the status message in Plone
principals
Defines and manages principals
product
z3ext.extension installer and configlet
publisher
Defines a pluggable traverser and has several zcml extensions to define resources (directories, files, images)
relationship
Basic relationship engine
resourcepackage
Package similar to zc.resourcelibrary
security
A replacement for the default zope security policy
skin
The default z3ext skin
transport
Base for packages that provide transport means??
workflow
A basic state-based workflow engine
zrtresource
Extensions to z3c.zrtresource

Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.
 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: