[Templates-announce] Bricolage 1.10 Released

David Wheeler david@kineticode.com
Mon, 23 Jan 2006 12:08:13 -0800


     It is with great pleasure that the Bricolage development team  
announces
     the release of Bricolage 1.10. The culmination of over 19 months of
     development, version 1.10 represents a significant advance for the
     celebrated open-source content management and publishing system.  
Here
     are some of the highlights:

PHP Templating

     Bricolage is the first content management system to support three
     different Perl-based templating architectures (Mason, Template  
Toolkit,
     and HTML::Template) as well as one in a completely different
     programming language: PHP 5. Bricolage 1.10 adds PHP templating
     support, allowing template developers to use the popular Web
     programming language to formatting their documents for output. This
     functionality is thanks to a killer new technology, known as
     PHP::Interpreter, that loads the PHP 5 interpreter into a Perl 5
     interpreter, and affords transparent access between PHP and Perl  
code.
     The upshot is that PHP templaters get full access to the entire
     Bricolage API, as well as the ability to use whatever other PHP  
or Perl
     libraries they wish.

     Our expect is that this development will push Bricolage into new
     environments where PHP developers can make use of the powerful  
content
     management and publishing system without having to learn a new
     programming language. Furthermore, we hope that PHP::Interpreter  
will
     act as a bridge between the Perl and PHP communities, such that  
there
     is a greater exchange of ideas and a greater ability to use each
     other's libraries.

     PHP::Interpreter was developed by OmniTI. PHP::Interpreter and  
the PHP
     templating support in Bricolage were sponsored by SAPO--Portugal
     Online.

LDAP Authentication

     Bricolage 1.10 includes support for a pluggable authentication
     architecture, and in addition to its built-in authentication has  
added
     a module for authentication against an LDAP directory server.  
This new
     feature is sure to be welcome in busy enterprises that rely on a
     directory server, such as Windows Active Directory
     http://www.microsoft.com/windowsserver2003/technologies/ 
directory/activ
     edirectory/default.mspx, Novel eDirectory
     http://www.novell.com/products/edirectory/, or OpenLDAP
     http://www.openldap.org/. Authentication can be limited to  
members of a
     directory group, and supports LDAP v.3 and TLS connectivity.
     Contributed by Kineticode.

Revamped Interface

     Bricolage 1.10 sports a completely revamped browser interface  
that is
     XHTML compliant and handles all styling via CSS. Yes, our 1999-era
     table-driven interface is officially a thing of the past. The  
upshot is
     that the interface is much more elegant, easier to skin with  
your own
     look (by overriding its CSS files), allows search results and  
editing
     fields to expand and contract with the browser window size, and
     delivers pages as much as 70% smaller than they were before. The  
new
     interface was Contributed by Marshall Roch.

     A second major new UI feature is the revamped "Bulk Edit"  
interface.
     Gone is the old "Super Bulk Edit" interface, with the Bulk Edit
     revisions overtaking its functionality. Now you can edit the entire
     contents of a story document, from the top-most element to the
     bottom-most field, in a single textarea field with no reloads.

     The secret to allowing the full-text editing of Bricolage's unique
     hierarchical element structures is Plain Old Documentation, or  
"POD".
     Subelements are denoted by a new =begin POD tag, and end with a
     matching =end tag. The result is a much more natural editing  
interface.
     Even related stories and media are supported by new POD tags. We
     believe that this improvement will greatly facilitate the editing
     process, making Bricolage a much more enjoyable product for content
     editors to work with.

     The Bulk Edit revision is complemented by two new additions: diff
     support and a JavaScript-powered "Find and Replace" dialog box.  
Users
     can now see at a glance the changes between one version of a  
document
     and another. The changes are shown on a word-by-word basis, with
     additions in green with an underline and deletions in red with a
     strikeout. A similar interface is used to show the differences  
between
     versions of templates using the traditional "unified diff" format
     rather than word-by word.

     The JavaScript-powered "Find and Replace" dialog box can be used to
     search by strings or regular expressions in a Bulk Edit or Template
     editing environment. Found bits of text can also be replaced or  
even
     globally replaced. We believe that this powerful new feature,  
combined
     with the new Bulk Edit interface, makes Bricolage a compelling  
content
     editing environment.

     The Bulk Edit, diff, and Find and Replace features were  
contributed by
     Kineticode.

What's in a Name?

     A somewhat less apparent but no less massive change in Bricolage  
1.10
     is a system-wide naming normalization. Now all objects in  
Bricolage are
     known by the same names, from the UI to the class to the  
database to
     the SOAP server. Most noticeable in the UI will be the  
elimination of
     the old "Element Type" object, and the renaming of "Element"  
objects to
     "Element Types." This change has the benefit of disambiguating  
element
     types, which define the structure of documents, and elements,  
which are
     the document parts that contain content. Gone is the confusion  
between
     element administration and content elements; there are now only  
element
     types and elements.

     Another example is the renaming of "Data Elements" to "Field  
Types" and
     "Fields". And in tandem with this change, the storage of field  
values
     in the database has been denormalized, so that every field value  
does
     not also store the name and key name of the field. This greatly  
reduces
     the size of the database, and should make field lookups much  
faster,
     particularly in formatting templates.

     And while we were going about denormalizing field storage, the data
     types of the database columns were also normalized. Old-style,
     inefficient column types have been dumped in favor of more  
efficient,
     precise column types. For example, all "NUMERIC" columns, which
     everywhere only contained integers or booleans, have been  
converted the
     "INTEGER" and "BOOLEAN" data types, as appropriate. This change  
will
     also be invisible to the everyday Bricolage user, but should  
enhance
     database performance by optimizing the storage of object  
attributes.

     And finally, a more visible change: Bricolage 1.10 introduces  
much more
     flexible URI formats. You can now use many more parts of the  
cover date
     in the URI, and in whatever format you like. So you could have a  
format
     of "/%{categories}/%Y-%m-%d/" and end up with the URI
     "/foo/bar/2004-09-22/" if you wanted. Or even "/%{categories}/%Y/ 
%V/"
     to get the week number as part of the URI. You can also include
     document UUIDs, and even your own text, (e.g. foobar in
     /%{categories}/%Y/%m/foobar/%{uuid}/". This enhancement finally  
allows
     users to almost always be able to replicate legacy URI formats in
     Bricolage, for a seamless upgrade from an older CMS.

What are You Waiting For?

     There are many, many more changes in Bricolage 1.10 that,  
overall, make
     using it a joy. For a complete list of the changes, see the changes
     list at
     http://www.bricolage.cc/news/announce/changes/bricolage-1.10.0/.  
For
     the complete history of ongoing changes in Bricolage, see  
Bric::Changes
     at http://www.bricolage.cc/docs/current/api/Bric::Changes.

     Download Bricolage 1.10.0 now from the Bricolage Website at
     http://www.bricolage.cc/downloads/, from the SourceForge  
download page
     at http://sourceforge.net/project/showfiles.php?group_id=34789,  
or from
     the Kineticode download page at
     http://www.kineticode.com/bricolage/downloads/.

About Bricolage

     Bricolage is a full-featured, enterprise-class content  
management and
     publishing system. It offers a browser-based interface for ease- 
of use,
     a full-fledged templating system with complete HTML::Mason,
     HTML::Template, PHP5, and Template Toolkit support for  
flexibility, and
     many other features. It operates in an Apache/mod_perl  
environment and
     uses the PostgreSQL RDBMS for its repository. A comprehensive,
     actively-developed open source CMS, Bricolage has been hailed by  
eWEEK
     as "quite possibly the most capable enterprise-class open-source
     application available."

     Enjoy!

     --The Bricolage Team