Mailing List Archive

ANN: Bricolage 1.10.1 Released
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
ANN: Bricolage 1.10.1 Released [ In reply to ]
Apologies for the previous email, which contained the announcement for
Bricolage 1.10.0, which was released in January. This is the correct
announcement for Bricolage 1.10.1, which was released today.

The Bricolage development team is pleased to announce the release of
Bricolage 1.10.1. This maintenance release adds a few new features, a
number of improvements, and many bug fixes. Highlights include new SOAP
modules, improved packaging support, and smother upgrades from 1.8.x
versions. The most important changes are:

New Features

* Added ContribType, Destination, and Preference SOAP modules.
[Scott]

* Added upload and download feature to the template interface, so
that templates can optionally be uploaded or downloaded. Suggested by
Chris Sutton. [David]

Improvements

* Added installation defaults for FreeBSD that will be used when the
USE_DEFAULTS environment variable is set to "freebsd" during
installation. [Rod Taylor]

* Created two new make targets, "install_files" and "install_db", to
allow the files to be installed without doing anything with the
database. Useful for packagers who need to let users manually create
the database. [Marshall]

* Updated Bric::ElementAdmin to be conversant in the merging of
element type sets and elements. That is, it now makes sense in the
context of Bricolage 1.10. Reported by Ryan O'Toole. [David]

* The View/Edit link has been restored to stories, media, and
templates on desks, and the title has been returned to its status as
a preview link. The URI is no longer a link. [David]

Bug Fixes

* The database upgrade script now updates table permissions after
executing all of the scripts for each version to be upgraded, rather
than after all of the upgrade scripts have run, thus allowing later
scripts to properly access tables created by earlier scripts.
Reported by Nate Perry-Thistle. [David]

* Fixed some of the 1.8.9 upgrade scripts that run after the 1.9.x
upgrade scripts to that they are properly compatible. [Nate
Perry-Thistle, Rod Taylor, and David]

* Reverting stories and media no longer leads to occasional errors
such as, "Too many Bric::Biz::Element::Container objects found".
Reported by Simon Wilcox. [David]

* Disabled the "sticky" scroll bar in the story profile. It just
didn't work very well. [David]

* The "Allow Multiple" checkbox and "Size" field in the "Add New
Field" section of the element type profile work again. Reported by
Rod Taylor and Paul Orrock. [David]

* Multiple select lists no longer break the story and element
profiles, and can once again have their values properly changed from
multiple to single to none. Spotted by Rod Taylor. [David]

* Assets can once again be properly deleted from desks. [David]

* Cancelling the checkout of an media document now deletes any new
file that has been uploaded and, if the AUTO_PREVIEW_MEDIA
bricolage.conf directive is enabled, re-previews the previous version
of the media file. [David]

* The autopopulated fields for image element types are now created
when a new image element type is created. This was made possible by
moving the selection of media type (Image, Audio, Video, or Other
Media) to the New Element Type screen, where it is now part of the
"Content Type" select list, which also includes the Story and
Subelement options. As a result, one can no longer change the media
type in an existing element type (not that it ever made sense to do
so). Reported by Paul Orrock. [David]

* Failed jobs can once again be cancelled. Reported by Rod Taylor.
[David]

* Publishing multiple versions of a document before any of the
publish jobs for those versions are executed no longer leads to
publishing errors when the older version is published. Thanks to Rod
Taylor for the spot! [David]

For a complete list of the changes in Bricolage 1.10.1, see the changes
list at
http://www.bricolage.cc/news/announce/changes/bricolage-1.10.1/. 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.1 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