June 02nd Zope Weekly News
Zope 2.4 alpha is out with more WebDAV, product refresh, and drop in indexes, CMF 1.1 beta is released with STNG in Document, you can give your site an FTP Skin, IANA assigns webDAV port, More!
The opinions expressed in Zope Weekly News are solely the authors', and not the opinions of Digital Creations, The Zope Community at-large, or the Spanish Inquisition.
If you or your company are doing something cool with zope, "submit it to Zope Weekly News", mail:[email protected] for possible inclusion.
Upcoming Events
EuroZope Conference
The EuroZope crew is organizing a two day Zope only conference in Berlin on the 12th and 13th of July.
Those interested in participating should join the discussion on the EuroZope mailinglist
CMF 1.1 beta released
by Tres Seaver
What is the CMF?
The Zope Content Management Framework provides a set of services and content objects useful for building highly dynamic, content-oriented portal sites. As packaged, the CMF generates a site much like the Zope.org site. The CMF is intended to be easily customizable, in terms of both the types of content used and the policies and services it provides.
Resources
- Download the CMF
- The CMF site.
- The mailing list.
Installation
Please see Installing CMF
New features
- Added CMFCore.utils.keywordsplitter to construct
Subject
dublin core header from bothKeywords
andSubject
headers passed in (meta tags/rfc822). - CMF Document now uses StructuredTextNG for structured text handling. Nicely enough, it uses the "with images" features, and also enables named and inner links.
- CMF Document exposes two new accessor methods for getting at the
"cooked" and editable body,
CookedBody()
, andEditableBody()
. Using thecooked_text
andtext
instance attributes should be considered deprecated. - Added new "exemplar" content product, CMFCalendar, which (for now) adds a simple content object, Event. This product serves a similar didactic purpose as CMFTopic (which is now "in the core"): it shows how to build new content types as filesystem products.
- Implemented improved "safety belt" for concurrent Document editing. See the dogbowl proposal
- Added new filesystem-based skin method type, FSSTXMethod, for creating "methods" which render STX.
- Exposed "controlled vocabulary" for Subject in
metadata_edit_form
. - Gave
portal_skins
tool its own PUT_factory (Tracker #238). Allows site builder to create skin methods via WebDAV/FTP, including ZPT, PythonScripts, etc. - Implemented "outbound" segment of the Syndication tool proposal
- Made
PUT_factory
use newcontent_type_registry
tool. - Made
PUT_factory
useinvokeFactory
, so that objects created via PUT have theirportal_type
set properly. - Added ContentTypeRegistry class and related predicates for mapping PUT requests (name,content_type,body) to type object names.
- Allowed Reviewers to "retract" published content owned by others.
- Added "Overview" ZMI view to tools.
- Added "Dublin Core" ZMI view to PortalContent; added an editing view for Document and derivatives.
- Added "drop-in" workflow objects to the WorkflowTool, including the ability to map workflows onto content types.
- Changed CMFDefault.Portal to install CMF Topic by default when building a new CMF Site.
- Added a new criteria type, FriendlyDateCriterion, to
CMFTopic for building queries like
When effective_date is less than five days old
. - Implemented
portal_metadata
tool. See the dogbowl proposal. - Extended DirectoryView objects to reload when the directory they represent has changed, if Zope is running in debug mode.
- Added hooks to CookieCrumbler to permit site managers to customize seting/expiring of the authentication cookie by adding PythonScripts; two default filesystem implementations are in CMFDefault's "control" skin.
- Extended TypesTool to deal appropriately with DTML factory methods (e.g., for ZClasses).
- Made FSDTMLMethods searchable from the ZMI (Issue PTK(251)[]).
- plus numerous bugfixes.
Zope Status
by Brian Lloyd
The first Zope 2.4 alpha has been released so please give it a whirl and let us know what you find.
More info about what is new in 2.4 can be found in the Zope 2.4 Migration Guide
Also, here's a blow by blow from the Changes.txt:
Features Added
- The
Authenticated
role has been added as one of Zope's standard roles. A user's possession of this role indicates that he or she has been authenticated by the Zope security machinery. It is an implicit role, and cannot be provided to users within the user management screens or the local roles management screens. It is provided to all authenticated users. Another way to think of theAuthenticated
role is that it is possessed by all users except the Anonymous User. - A module
requestprofiler.py
is now part of the utilities directory. When run from the command line, this utility allows you to generate profiling information from Zope's detailed request log (the "-M" log). - Restricted code can import AccessControl.getSecurityManager,
and use
validate
,validateValue
,checkPermission
,getUser
, andcalledByExecutable
. - Zope's WebDAV support now includes exclusive write locking.
- Data.fs.in index_html now shows zope_quick_start instead of old, inaccurate content.
- Changed index_html, standard_html_header, standard_html_footer, and standard_error_message in Data.fs.in to use "new" DTML syntax (as opposed to SSI-style syntax).
- Added check for
FORCE_PRODUCT_LOAD
environ var to bits which try to detect whether we're a ZEO client or not in order not to skip product-loading tasks. This has the consequence that a ZEO client with the "ZEO_CLIENT" env var set will cause product loading tasks to occur iff his "FORCE_PRODUCT_LOAD" environment var is set as well. - Further optimizations in the lexicon of the Catalog as well as the final merge code integration for Text indexes. This should reduce the bloat when things are reindexed.
- StructuredText: old StructuredText replaces by StructuredTextNG. Added support for locale settings. Several bugfixes and code cleanup.
- Image and File objects now support the HTTP Range and If-Range headers, enabeling partial downloads of such objects. This can be used by clients to restart a broken download. Downloads of these objects through FTP can also be restarted.
- Update of Medusa tree to latest version
- If an INSTANCE_HOME is defined and has a
lib/python
subdirectory, it will be added to the front of the Python path. - DTML-In and DTML-Tree now have optional "prefix" attributes that can be used to make friendlier tag variable names.
- Added product reloading capability, formerly provided by the "Refresh" product. This enables developers to see the effect of changes to their products without restarting Zope.
- Added new
sequence
module for underscore namespace to provide extended sorting functionality for sequence (implements ExtendedDTMLSorting proposal) - Fixed a long-standing bug in FileStorage that made it so versions were only partially committed.
- Rewrote the complete indexing infrastructure according to the DropinIndex proposal (see lib/python/Products/PlugginIndexes/README.txt for detailed informations).
- Adopted ZCatalog to new indexing infrastructure.
- added text() method to HTTPRequest object to provide a plain text representation of the request (Collector #2264)
Zope Web
by Ethan Fremen
Is steaming along pretty nicely ... Thanks to ChrisM, we're pretty much done with CMFWikis and getting close with a replacement for the "Software Product" product.
In addition, there's been a whole lotta planning going on behind the scenes. Expect things to move more quickly than they have to date.
IANA assigns WebDAV source port
port 9800 is now the official WebDAV source port . I intend to prostelytize this far and wide for anyone who has presentation/content that needs to be edited in rendered and unrendered form.
If you're running a WebDAV source port ( the -W option when starting Zope ), please consider running this on 9800 .
Note that this is only a hack until webDAV clients start supporting "source-link" in the WebDav RFC
As we all know from our experience with 3 year old standards People will rush to implement every last detail of WebDAV in their clients, and this hack will rapidly become unnecessary.
-EOT-