Mailing List Archive

Bricolage 1.10
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