Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Theory (10)

Theory
  (email not shown publicly)
http://www.justatheory.com/
AOL IM: dwTheory (Add Buddy, Send Message)
Yahoo! ID: dew7e (Add User, Send Message)
Jabber: Theory@jabber.org

Perl, PostgreSQL hacker; US politics junkie; Webapp developer; Portvangelist; profane iconoclast.

On CPAN see: DWHEELER [cpan.org].

Journal of Theory (10)

Thursday June 03, 2004
07:44 PM

New Blog

http://www.justatheory.com/

This space intentionally left blank.

Thursday May 20, 2004
08:52 PM

Internationalizing Numbers in Address Book

Anyone got a recipe to go through all of the phone nubmers in the Panther Address Book and add "+1 " to any numbers that don't have a + International code? Mac::Carbon, AppleScript, XML::Parser, or any approach would be welcome.

Thanks!

David

Wednesday May 05, 2004
10:46 PM

In Search of a Server

The Bricolage community is currently working on the design for a new Bricolage site. The site will of course be managed in Bricolage. But we need a server!

If you or someone you know would be willing to donate and host a server for us, with the ability to install Bricolage and manage the Bricolage site, please contact me forthwith!

David

Tuesday May 04, 2004
11:22 AM

Bricolage 1.8.0 Arrives!

It is with great pleasure that the Bricolage development team announces the release of Bricolage 1.8.0. The culmination of over 15 months in development, with contributions from over 20 independent developers, and new features sponsored by numerous organizations world-wide, version 1.8.0 represents a significant new pinnacle for the much-lauded open-source content management and publishing system. This release offers more new features, improvements, and performance gains than any previous release. There are so many, in fact (over 120), that they can't effectively be included in this announcement. Here are some of the highlights:

  • Support for managing multiple sites from a single Bricolage installation. Each site has its own categories, templates, document types, and workflows, and collaboration across sites is supported by document aliasing and shared workflow desks.
  • Significant performance boosts to search queries and URI uniqueness validation.
  • Email document distribution, which can be used to email the files generated by an output channel to one or more email addresses.
  • A greatly simplified and flexible templating and element API.
  • Template sandboxes to enable template development without interfering with production templates.
  • Support for Template Toolkit templates (http://www.template-toolkit.org).
  • New "Publish" and "Recall" permissions, for improved workflow management.
  • Per-user preferences.
  • Document formatting at publish time, rather than publish scheduling time.
  • New German and Mandarin localizations.
  • Image thumbnails and icons for all media documents.
  • Support for HTMLArea WYSIWYG editing with HTMLArea. See http://www.interactivetools.com/products/htmlarea/.

For a complete list of the changes, see the release notes and changes list on SourceForge. For the complete history of ongoing changes in Bricolage, see Bric::Changes.

Download Bricolage 1.8.0 now from the Kineticode download page or from the SourceForge download page.

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, 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 was hailed as "Most Impressive" in 2002 by eWeek.

Enjoy!

--The Bricolage Team

Sunday April 11, 2004
10:38 AM

Bricolage 1.7.5 "Ashland" (1.8.0 RC2)

I'm thrilled to announce the release of Bricolage-Devel 1.7.5 "Ashland", the second release candidate for Bricolage 1.8.0. This version of the open-source content management system addresses all of the bugs discovered since the release of the first release candidate, 1.7.4, and adds several new features and numerous improvements. The changes since 1.7.4 include:

  • New Features
    • Added bric_template_dump to contrib. This script uses the Bricolage SOAP server to export all of the templates in a single output channel. [David]
    • Added SFTP_MOVER_CIPHER bricolage.conf directive to tune the SFTP mover (if enabled) to the best cipher for good performance on the wire. [David]
  • Improvements
    • Added site and output channel support to bric_template_diff and bric_template_patch in contrib. [David]
    • When cloning a story, you can now select a new primary output channel, in addition to category, slug, cover date, etc. Suggested by Serge Sozonoff. [David]
    • Spell checking now works in HTMLArea. [Eric Sellers]
    • When creating a new story without a slug, Bricolage will now autogenerate a slug based on the title. [João Pedro]
    • Added single underscore parameters to the list() methods of the Story, Media, and Template classes to complement those that have the awful double underscores. [David]
    • Made SOAP modules more tolerant of lack of sites in 1.6. [Scott]
    • The collection API now checks newly added members when deleting members. This ensures that newly added objects won't be saved to the database if they are deleted, first. [David]
    • Turned off browser autocompletion in the Server and User profiles. This prevents some browsers (e.g., Camino) from filling in your username and password where it doesn't belong. [David]
    • When the "Filter by Site Context" preference is enabled, it no longer filters documents when searching for documents to alias. Reported by Patrick Walsh. [David]
    • The "Cancel Checkout" button in the Story, Media, and Template profiles now tries to do the right thing instead of just leaving the asset on a desk in workfow every time. If the asset was just created by the user, it will be deleted. If it was just recalled from the library by the user, it will be removed from workflow and shelved in the library. Otherwise, clicking the "Cancel Checkout" button will leave the asset in workflow. Requested by Sara Wood, Rachel Murray, and others. [David]
    • make clone now provides the current date and time for the default name for the cloned package. Suggested by Marshall Roch. [David]

  • Bug Fixes
    • Bricolage no longer tries to display thumbnails for related stories, since stories don't have thumbnails and would therefore create an error. [Eric Sellers]
    • Text::Levenshtein is again correctly loaded as an optional module, not a required module. Reported by Marshall Roch. [David]
    • Bric::Util::Burner's preview_another() method now actually works. Thanks to Serge Sozonoff for the spot. [David]
    • Fixed clone interface for IE users. Spotted by Serge Sozonoff. [Scott]
    • Some of the supported values for the Order parameter to the Story, Media, and Template classes, such as category_uri, did not work before. Now they do. [David]
    • Changing categories on a template no longer creates Frankensteinian template paths. [David]
    • Added constant HAS_MULTISITE to the Bric base classe so that all classes properly declare themselves for UI search results. [João Pedro]
    • Story and Media SOAP calls now correctly use the element's key name to identify the element. [João Pedro]
    • Story, Media, and Template creation via SOAP now correctly look up the Category by URI and site ID. [João Pedro & David]
    • The Template SOAP interface now suports the site parameter to list_ids(). [David]
    • The Story, Template, and Media SOAP list_ids() intefaces now properly look up categories, output channels, and workflows with the site paremeter, if there is one. [David]
    • The LOAD_LANGUGES and LOAD_CHAR_SETS directives are now space delimited, to better match other bricolage.conf options. [David]
    • Aliased media documents now correctly point to the file name for the aliased media document. Reported by Patrick Walsh. [David]
    • Thanks to the improvements to the collection class, cloning stories and putting them into new output channels to ensure that they have unique URIs now works properly. Reported by Serge Sozonoff. [David]
    • The publish status and version is once again properly set for media when they are published. Reported by Serge Sozonoff. [David]
    • The group manager now properly displays the names of the sites that member objects are associated with if the class of the objects being managed knows that its objects are associated with sites. Reported by Ho Yin Au. [David]
    • The list of output channels to add to a media or story document in the media and story profiles now includes only those output channels associated with the site that the story or media document is in. [David]
    • Thanks to the fix to 1.6.13 that prevents deleted groups from affecting permissions, there is no longer any need to provide a checkbox to get access to deleted groups in the permissions interface. So it has been removed. [David]

For a complete list of the changes, see the changes file.

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, 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 as "Most Impressive" in 2002 by eWeek.

Learn more about Bricolage and download it from the Bricolage home page.

Enjoy!

Tuesday April 06, 2004
11:39 AM

Cross-Platform Conferencing Software?

Suddenly I'm getting a number of requests to do Bricolage demos via conferencing software. I tried to join a WebEx meeting yesterday, but it didn't like any of my Mac OS X browsers or the versions of Java they had installed (browser sniffing == bad!).

I'd like to use Mac OS X software to conference with folks using Windows and other platforms. I can use my old Windows 98 SE box if necessary, but I'd rather not. Anyone know what the options are for good cross-plaform conferencing, and what works and what doesn't?

Thanks,

David

Friday March 19, 2004
01:38 AM

Bricolage-Devel 1.7.4

I'm thrilled to announce the release of Bricolage-Devel 1.7.4 "Sacramento", the first release candidate for Bricolage 1.8.0. This version of the open-source content management system addresses all of the bugs discovered since the release of the fourth development release, 1.7.4, and adds several new features and numerous improvements. The most significant changes since 1.7.3 include:

  • New Features
    • A "Bulk Publish" link in ADMIN->PUBLISHING that lets members of the Global Admins group publish story and media documents by category. [Scott]
    • Added notes() method to Bric::Util::Burner, along with the accompanying clear_notes(). The notes() method provides a place to store burn data data, giving template developers a way to share data among multiple burns over the course of publishing a single story in a single category to a single output channel. Any data stored here persists for the duration of a call to burn_one(). [David]
    • Added new contributed scripts for Bricolage button generation. These scripts use the Gimp to generate localized buttons for the Bricolage UI based on the contents of an input file. See contrib/button_gen/README for details. [Florian Rossol]
    • Added support for icons for all media documents when the USE_THUMBNAILS bricolage.conf directive is enabled. These rely on the presence of PNG icon files for each MIME type in comp/media/mime. Only one such icons is distributed with Bricolage, comp/media/mime/none.png (borrowed from the KDE project under a free license), which is the default icon when the MIME type of a media file is unknown or when no icon file exists for the MIME type of the media file. Administrators are free to add their own icons, and the copy_gnome_icons script in contrib makes it easy to use GNOME icons. [David]
    • Added bric_template_diff and bric_template_patch scripts in contrib/bric_template_diff. These scripts can be used to sync templates between two Bricolage servers. [Sam]
    • added bric_media_load to contrib/. This script copies media into Bricolage while accounting for the new to update existing media. [Sam]
    • Added HTMLArea support. This adds a new type of field to be added to elements and contributor types, "WYSIWYG". Such fields are then displayed in the UI using HTMLArea, a WYSIWYG HTML editor. This can be useful in particular for simple fields that often need emphasis added or links. It is not currently available in Bulk Edit or Super Bulk edit. See Bric::Admin for installation and configuration details. [Eric Sellers]
  • Improvements
    • The list of categories for which permissions can be granted to user groups to access the documents and templates in the category now displays the categories for each site separately, so that categories with same URIs (such as for the root category in each site) can be easily told apart. Reported by Ho Yin Au. [David]
    • The list of workflows for which permissions can be granted in the permissions page now includes the parenthesized name of the site each workflow is associated with. [David]
    • Modified the indexes on the workflow__id and desk__id columns of the story, media, and formatting (template) tables to be more efficient, being indexed only when their IDs are greater than 0 (that is, when a story, media document, or template is actually on a desk and in a workflow). [David]
    • Added a method is_fixed to story and media objects, to determine whether a business asset has a fixed URL (for example, a Cover page). Refer to Bric::Biz::Asset::Business. [Scott]
    • Added the ENABLE_OC_ASSET_ASSOCIATION bricolage.conf directive to remove the ability to associate output channels from the story and media profiles. [Scott]
    • The element admin profile now automatically adds the currently selected site context to new elements, thus generally saving a step when creating new elements. [João Pedro]
    • Added an interface to 'Clone' for stories so that you can change the category, slug, and cover date, because otherwise an identical story is created, which would cause errors for some stories. Clones are no longer allowed to have URIs that are identical to the stories they were cloned from. [Scott & David]
    • Added the ability to Delete from desks (same as My Workspace). Note however, that you can't delete from a publish desk. [Scott]
    • Completely documented the document element classes: Bric::Biz::Asset::Business::Parts::Tile, Bric::Biz::Asset::Business::Parts::Tile::Data, and Bric::Biz::Asset::Business::Parts::Tile::Container. This should make it a bit easier on templators learning their way around the Bricolage API. [David]
    • Refactored quite a bit of the code in the element classes. Renamed the methods with "tile" in their names to use "element" instead (but kept the old ones around as aliases, since they're used throughout the UI). Added a few methods to make the interface more complete. [David]
    • Modified the get_containers() method of Bric::Biz::Asset::Business::Parts::Tile::Container to take an optional list of key name arguments, and to return only the container subelements with those key names. This is most useful in templates, where it's fairly common to get a list of container subelements of only one or two particular types out all at once. It neatly replaces code such as this:

      for ( my $x = 1; my $quote = $element->get_container('quote', $x); $x++ ) {
          $burner->display_element($quote);
      }

      With this:

      for my $quote ($element->get_containers('quote')) {
          $burner->display_element($quote);
      }

      And is more efficient, too. [David]

    • Modified the get_elements() method of Bric::Biz::Asset::Business::Parts::Tile::Container to take an optional list of key name arguments, and to return only the subelements with those key names. [David]
    • Added the get_data_elements() method to Bric::Biz::Asset::Business::Parts::Tile::Container. This method functions exactly like get_containers() except that it returns data element objects that are subelements of the container element. It also takes an optional list of key name arguments, and, if passed, will return only the subelements with those key names. [David]
    • The ANY() subroutine will now throw an exception if no arguments are passed to it. Suggested by Dave Rolsky. [David]
    • Added the unexpired parameter to the list() method of the story and media classes. It selects for stories without an expire date, or with an expire date set in the future. [David]
    • The "User Override" admin tool is now available to all users. But a user can only override another user if she has EDIT permission to that other user. This makes it easier for user administrators to masquerade as other users without having to change passwords. [David]
    • Eliminated another SQL performance bottleneck with simple searches of media assets. [João Pedro]
    • Images with no dimension greater than the THUMBNAIL_SIZE bricolage.conf directive are no longer expanded to have one side at least THUMBNAIL_SIZE pixels, but are left alone. [David]
    • Thumbnails are now displayed when searching media to related to an element. [David]
    • Thumbnails are now displayed in related media subelements. [David]
    • Added preview_another() method to Bric::Util::Burner. This method is designed to be the complement of publish_another(), to be used in templates during previews to burn and distribute related documents so that they'll be readily available on the preview server within the context of previewing another document. [Serge Sozonoff]
    • Added the subelement_key_name parameter to the list() method of the story and media classes. This parameter allows searches on the key name for a container element that's a subelement of a story or media document. [David]
    • Added support for all of the parameters to the list_ids() method of the Story, Media, and Template classes to the list_ids() method of the corresponding SOAP classes. This allows for much more robust searches via the SOAP interface. [David & Scott]
    • Eliminated login_avail() PostgreSQL function, replacing it with a partial constraint. This not only makes things simpler code-wise, but it also eliminates backup and restore problems where the usr table is missing. The downside is that it requires PostgreSQL 7.2 instead of our traditional minimum requirement of 7.1. So any PostgreSQL 7.1 users will need to upgrade before upgrading to this version of Bricolage. Suggested by Josh Berkus. [David]
  • Bug Fixes
    • make clone will now properly clone a database on a different database server, provided the host name (and port, if necessary) have been provided. Thanks to Ho Yin Au for the spot! [David]
    • Admin tool lists that include the number "9" in the corner of a table of items is now properly orange instead of green. Reported by Ho Yin Au. [David]
    • Bricolage works with Perl 5.6.x again, although it's pretty strongly deprecated. Perl 5.8.0 or later is required for character set conversion and if any content uses characters outside of US ASCII. Thanks to John Greene for the spot! [David]
    • Image files uploaded in formats not recognized by Image::Info no longer trigger an error. Reported by Alexander Ling. [David]
    • Changing the cover date of a media document once again correctly updates the primary URI of the media document. Reported by Serge Sozonoff. [David]
    • Fixed API that was causing no elements to be returned on "Add sub-elements" page, when "Filter by site context" was turned on. [João Pedro]
    • When the SOAP server serializes and deserializes element templates, it now correctly identifies the element by its key name, rather than its name. Thanks to João Pedro for the spot! [David]
    • The template profile's "cheat sheet" of the subelements of an element now correctly display subelement key names instead of munging element names, as was required before version 1.7.0. [João Pedro]
    • Bric::SOAP::Category->list_ids now converts site names to site IDs. [João Pedro]
    • Bric::Util::Burner->preview once again defaults to previewing in an asset's primary output channel instead of using the element's primary output channel. [João Pedro]
    • Added first_publish_date attribute to the SOAP input and output for stories and media. [David]
    • The category SOAP class now correctly calls lookup() with the site ID to prevent multiple categories with the same names but in different sites from being looked up. [João Pedro]
    • User overrideable preferences are now properly checked for permissions to allow users with READ permission to a user to see the permissions. [David]
    • Users can now edit their own user-overrideable preferences. [David]
    • Group management now works more correctly in user profiles where users have on READ access to the user object. [David]
    • Removed queries added in 1.7.2 that were running at Bricolage startup time. They could cause DBI to cache a database handle and return it after Apache forks, leading to strange errors such as "message type 0x49 arrived from server while idle", and occaisionally a frozen server. [David]

For a complete list of the changes, see the changes file.

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, 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 as "Most Impressive" in 2002 by eWeek.

Learn more about Bricolage and download it from the Bricolage home page.

Enjoy!

David

Thursday March 11, 2004
12:54 PM

activitymail 1.19

I'm pleased to announce the release of activitymail 1.19, currently finding its way to a CPAN mirror near you. This release has a new feature I've been wanted to add for a long time, ever since Ask mentioned it to me a couple of years ago. A patch from Gary Meyer ported log_accume's -I and -E options, which specify files with a list of regular expressions that can be used to exclude certain files from being processed via a commit. Now, this was the feature I wanted, but wasn't exactly how I wanted to do it.

So starting with Gary's patch, I've modified the -I and -E options to instead take one or more regular expressions right on the command line. These regular expressions are then compared to each file processed during the CVS activity, and then either include the file (in the case of a -I regular expression) or exclude the file (in the case of a -E regular expression). Needless to say, both -I and -E cannot be included in a single invocation of activitymail. You can even pass multiple regular expressions to a single -I or -E option, delimited by an empty space. This means you can't use spaces in your regular expressions, though; use \s, instead.

The expected use for these new options is in combination with the regular expressions in the CVS loginfo file. You can specify that activitymail be executed for a particular directory, and then use -I or -E to include or exclude specific files in that directory.

One other new feature of activitymail 1.19 is the new -q and -Q options. Both options enable a quiet mode for activitymail, eliminating the status messages typically printed out during a commit (such as "Collecting file lists..." and "Sending email"). The -q option can be used for most cases; the -Q option is exactly the same, except that it also silences the status message output when an email is larger than the size specified by the -M option.

Enjoy!

David

Tuesday March 02, 2004
08:55 PM

activitymail 1.18

Just thought I'd pop a quick note here to announce that I've released activitymail 1.18, now wending its way to a CPAN mirror near you. This release of the CVS activity notification program fixes a bug introduced in 1.16 that prevented ativitymail from properly handling file names with spaces. I've also added a To Do section for some of the things I'd like to change going forward. Patches welcome!

01:13 AM

Bricolage-Devel 1.7.3

I'm thrilled to announce the release of Bricolage-Devel 1.7.3, the fourth development release for what will soon become Bricolage 1.8.0. This version of the open-source content management system addresses all of the bugs discovered since the release of the third development release, 1.7.2, and adds several new features and numerous improvements. The most significant changes since 1.7.2 include:

  • New Features
    • The virtual FTP server now moves templates into workflow when they're uploaded and puts them into the user's sandbox. This behavior allows the user to test the template changes without imposing possible bugs upon other Bricolage users. This approach is much safer than the previous behavior, which simply checked in and deployed a template upon upload. Templates can still be deployed via the virtual FTP server by appending .deploy to their names. The original behavior of always deploying templates upon upload can be restored by enabling the FTP_DEPLOY_ON_UPLOAD bricolage.conf directive. [David]
    • Added ANY function to be used with select parameters to story, media, and template (formatting) list. Pass a list of values to this function to have any of of them match for a given parameter. This is especially useful for matching on, say, a list of URIs or category IDs. This function is automatically available in templates. [David]
    • Added a feature that counts characters used in a textarea subelement on the fly. It displays this figure and the number of characters left, immediately above the textarea. This feature is enabled when the Max size attribute for the textarea is given a non zero value when adding it to the element profile stage. The JavaScript will also not allow you to have more than max size characters in the textarea by truncating the data to that number of characters every time someone adds another character beyond the maximum. [Paul Orrock/Digital Craftsmen]
    • Added a feature to display image thumbnails in the search results and active view for media objects that are image objects. This feature uses the Perl module Imager from CPAN and the relevant image library for each format you want to display. It can be turned on or off using the USE_THUMBNAILS bricolage.conf directive. See Bric::Biz::Asset::Business::Media::Image for more information. [Paul Orrock/ Digital Craftsmen]
  • Improvements
    • More story, media, and template query optimization. [David]
    • The story, media, and template queries now use aggregates to create arrays of group IDs, instead of returning a separate row for each individual group ID. Since all story, media, and template objects are now returned in single rows instead of potentially many rows, this greatly cuts down on the overhead of fetching data from the database. Suggested by Josh Berkus. [David]
    • Thanks to the aggregation of group IDs into a single row for each story, media and template object, the Offset and Limit parameters to the list() methods of the story, media, and template (formatting) classes are now handled by the database back end, instead of in Perl space. This makes using these parameters much more efficient.
    • Added get_element() method to Bric::Biz::Asset::Business and deprecated the get_tile() method. This will make things a bit more consistent for template developers, at least. [David]
    • Added primary_category_id parameter to the story class' list() method. [David]
    • The list of output channels available to be included in an output channel now has the name of the site with which each is affiliated listed as well. This is to prevent confusion between output channels with the same names in different sites. [David]
    • The Contributor manager no longer presents a "New" link if the Contributor Type on which the contributor is based has no custom fields. This will prevent folks from creating new contributor roles in the UI only to find that Bricolage hasn't created them because there are no custom fields. [David]
    • In the formBuilder interface used by the Element and Contributor Type profiles, the maximum length of text and textarea fields is no "0", or unlimited. [David]
    • When publishing from a publish desk, you can now uncheck related assets in order to not publish them. [Scott]
  • Bug Fixes
    • The virtual FTP server now correctly creates a utility template when a template with an unknown name is uploaded. [David]
    • The virtual FTP server now pays proper attention to all permissions. [David]
    • A number of upgrade script annoyances were cleared up. [David]
    • The simple parameter to the Media class' list() method works again. As a result, so does "Find Stories" in the UI. [David]
    • Several Alert Type fixes. Rule regular expression matching (=~, !~) now handles patterns containing slashes (important for URIs, for example). Attributes no longer show up as stringified hash references in subject or message variable substitution. $trig_password was removed from the Profile as it caused an error and was useless anyway. And finally, duplicate and spurious attributes were removed from the rules and message variable lists. [Scott & David]
    • Fixed Template Element list, where container elements appeared twice. [Joao Pedro]
    • Changes to site settings are now correctly reflected in the UI for all users as soon as they are made. [David]
    • Autopopulated fields in media elements can once again have their values fetched in templates. This problem was due to bad key names being created for new image elements created after upgrading to 1.7.0. [David]
    • The workflow profile no longer displays deactivated sites in the site select list. Thanks to Serge Sozonoff for the spot. [David]
    • Fixed URI uniqueness upgrade scripts, which were having problems with PostgreSQL permissions. [David]
    • make clone works again. [David]
    • Distribution jobs can be edited via the UI again. Thanks to Marshall Roch for the spot. [David]
    • Publishes once again work when the "Date/Time Format" preference is set to something other than ISO-8601. Reported by Marshall Roch. [David]
    • Fixed previewing with multiple OCs. [Serge Sozonoff]
    • Fixed a bug in bric_soap story create/update caused by refactoring in version 1.7.0. Found by David during a demo. [Scott]
    • An attempt to preview a story for which no template exists now gives a friendly error message again. This was broken by the change in 1.7.2 that made the Mason burner use document templates as true dhandlers. [Dave Rolsky]
    • The workflow menus in the side navigation layer no longer disappear after a server restart. Reported by Ben Bangert. [David]
    • The Mason burner's special <%publish>, <%preview>, and <%chk_syntax> tags now work as advertised. Reported by Ben Bangert. [David]

For a complete list of the changes, see the changes file.

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, 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 as "Most Impressive" in 2002 by eWeek.

Learn more about Bricolage and download it from the Bricolage home page.

Enjoy!

David