Bric::Changes - Bricolage Changes
$Revision: 1.160.2.56 $
$Date: 2002/10/25 23:57:09 $
This document lists the Changes to Bricolage introduced with each release.
Empty listManager lists no longer have a gap in them. [David]
Made the table around the formBuilder radio buttons prettier. [David]
Fixed numbering of sections in Media profile so that the numbers don't skip. [David]
Updated display of existing contributors in the "Edit Contributors" screen of the story and media asset profiles to use listManager. This makes them look like they do everywhere else (and uses less code, to boot!). [David]
Improved error messages thrown in exceptions in Bric::Util::Trans::FTP. [David]
Removed code and documentation for PostgreSQL 7.3 compatability. With the release of 7.3b2, it's no longer needed. [David]
Fixed "make clone" to properly include database contents in clone distribution. [Sam]
Added <meta http-equiv="Content-Type"> tag to the <head> to header.mc so that the browser knows to send text back to Bricolage in the expected character set. [Mark]
Changed the default character set from ISO-8859-1 to UTF-8. With this setting, Bricolage does no character set translation, so it's faster. Furthermore, most users should be outputting UTF-8 in their templates, anyway. If you're not, then you're likely finding doing charset translation in all of your templates to be a big PITA. And if you're not doing charset translation, then you really are outputting UTF-8 in your templates, and just haven't realized it. [David]
Fixed bug when reverting stories and media with no associated contributors. [Mark]
"Check In and Publish" now works again for Media assets. Thanks to Matt Vella for the spot. [David]
Deleting assets on My Workspace now prompts the user to make sure s/he really wants to do that. Not sure how we missed this all this time! Thanks to Andrew Baio for the spot. [David]
Assets on Desks and My Workspace that are checked out to the the user whose viewing them will now always preview the version as currently edited by the user, rather than the last checked-in version. Other users still can only previewe the last checked-in version. [David]
Clicking the "Check In" or "Check In/Deploy" buttons in a template profile now properly updates the template with any new data entered into the template profile before attempting a syntax check. This ensures that the latest data you've entered gets its syntax checked before the template is checked in or deployed. [David]
Fixed a bug in Bric::Util::Class where classesn't couldn't be looked up by package name. This affected the "Access Denied" page. [David]
Made Bric::Util::Burner::Mason a little smarter handling exceptions. [David]
Fixed bug where Bric::SOAP::Category would fail to import ad strings. [David]
Fixed bug in Bric::Util::Grp->has_member where an already-added member wasn't always found. [Mark]
Conflicting URI messages for media assets no longer suggest changing the value of the slug, since media assets have no slug. [David]
The friendly messages confirming publishes are back. [David]
Fixed bug where selecting a large number of list options in the story profile would cause an SQL error. [Matt]
Fixed bug where Bric::SOAP would accept story element types for media and vice versa. Thanks to Evan Prodromou for the spot. [Sam]
Added code to installation scripts to delete existing Mason object files when upgrading. This hasn't been a problem thus far, but this step will help to ensure that users are always running the latest UI components. [David]
Fixed bug where deactivated element types weren't checked before creating a new element type with the same name as a deactivated element type. Thanks to Geoff Richards for the spot. [David]
Fixed inconsistencey between container element methods and their convenience accessors in Bric::Biz::Asset::Business. Thanks to Philip Fibiger for the spot. [David]
Assets can once again be recalled from the library and put on a desk. [David]
The get_all_keywords() method of Bric::Biz::Asset::Business works again. [David]
Can once again check out multiple assets at once. Thanks to Andrew Baio for the spot. [David]
Templates once again behave themselves. There were some circumstances where they couldn't be checked in, generating "Cannot checkin non checked out versions" errors. These have been fixed. [David]
Some assets on My Workspace were getting "Cannot checkin non checked out versions" errors when they were checked in using the "Check in to" select list. This has been fixed. [David]
When templates are deployed, they now get a "Template removed from Workflow" event logged. [David]
Using the "Check in to" select list on My Workspace to check assets into the desk they're already on will no longer remove them from all desks altogether. [David]
Upgrading from from a version prior to 1.3.3 no longer tries to create an index that already exists (and that will be dropped, anyway). [David]
Removed documentation for intalling mod_proxy with Apache. [David]
Improved documentation for upgrading from older versions of Bricolage that were not installed by make install. Thanks to Andrew Baio for helping to identify the problems. [David]
Added use Bric::Util::Grp::Keyword; back into Bric::Biz::Keyword. This prevents some upgraded Bricolage installations from breaking. [David]
Added Net::FTPServer and Net::SFTP to the list of optional modules. [David]
Fixed some SQL errors uncovered by the release of PostgreSQL 7.3b1. [David]
Added code and documentation for compatability with PostgreSQL 7.3. [David]
Media assets can now be distributed to more than one output channel at a time. [David]
Files are now distributed on a per-output channel basis, to ensure that the proper file is distributed to the proper destinations. [David]
Assets are now properly removed from workflow when they're deactivated (deleted in the UI). [David]
Template syntax is now properly checked when using the "Checkin/Deploy" button. [João Pedro]
The example generic template (autohandler) included in the database is now included in the burn root, too, since it's marked as "Deployed" in the database. [David]
Deleted output channels no longer show up in the "New Template" output channel select list. Thanks to Daniel Fisher for the spot. [David]
The root category ("/") no longer returns itself as its own parent. [David]
Assets not in workflow are now properly logged as being checked out when someone checks them out. [David]
The "Or Pick a Type" menus in the Group manager, the Contributor manager, and the Element manager all work again. [David]
Changing category names now updates the name of the category asset group object, which appears in the user group permissions page. [David]
Hitting the "enter" key after filling in a serach field now properly submits the search as if the "Search" button had been clicked. [David]
Changed libapreq requirement in Bric::Admin to read "Apache::Request 1.0". This should make the installer install the most recent version of libapreq, instead of relying on whatever the OS provides. [David]
Changed value of autopopulated media asset data fields to an empty string when the value returned by the autopopulation method is undef. [David]
Fixed bug where autopopulated media asset data fields weren't properly autopopulated. [David]
Fixed problem with category upgrade script failing on category data created with 1.3.2. [Sam]
During installation, entering a directory name when prompted for the "PID File Location" now results in Bricolage using a file called "httpd.pid" in that directory, rather than trying (and failing) to use the directory itself as the PID file. [David]
The side navigation layer is now better aware of its context, and changes the colors of some of its graphics depending on the context. Also recreaed the "WORKFLOW" tab graphics. It looks like this has been broken for over a year, and I only just noticed it! [David]
Slightly improved handling of assets that have forgotten where they are. [David]
Checked-out templates are now displayed only once (instead of twice) in the "Find Templates" manager. [David]
Added get_new_objs() method to Bric::Util::Coll so that Bric::Util::Grp's has_member() method can see a member even if it hasn't been saved to the database. Also changed Bric::Util::Grp to check for members in this way, of course. [David]
Assets retrieved from the library now appear on the desk they're checked out into only once (instead of twice). This thanks to the above-noted changes to Bric::Util::Grp. [David]
Added upgrade script inst/upgrade/1.4.1/clean_desks.pl to clean up existing duplicate listings of assets on desks. [David]
Removed the checkin() method from Bric::Biz::Asset::Formatting and Bric::Biz::Asset::Business and put it into Bric::Biz::Asset, instead, since it's exactly the same for all assets. [David]
Fixed the display of permissions settings to be more consistent with the design and layout of the rest of the application. Also neatened listManager display a bit. [David]
Fixed misnamed database constraint. [David]
Templates can once again be retreived from the library and checked out for revising. [David]
Assets on a desk now no longer have the current desk listed in the "Move to" select list. Even if they did, selecting the current desk would no longer remove an asset from workflow! Thanks to Andrew Baio for the spot. [David]
The installer is now much more intelligent about prompting for SSL information. It won't ask if you want to use SSL if it can't find mod_ssl or apache_ssl, and will only prompt you to pick one or the other if it can find both. [David]
Fetching objects from Bric::Biz::Asset::Business::Media has been optimized for greater speed. [João Pedro]
PostgreSQL "NOTICE" messages are now suppressed during installation. Instead, a series of dots will be displayed to indicate progress loading the database. [David]
Added README.MacOSX. [David]
You can now pass a date format string argument to the get_data() method of container elements in templates (and elsewhere, for that matter). This is useful if the data you're retrieving is of the "date" type, and you don't want the date to be formatted in the format specified in the "Date Format" preference. [David]
The Element Type manager now displays properly again without errors. [David]
Assets are now properly removed from desks when they are published or moved from one desk to another. More generally, any time a single object is removed from a group, it will be properly removed. [David]
Media profile now display the proper category in the Category select list. [David]
Media assets with no associated media file now generate a message indicating that no file will be distributed, and are properly removed from workflow when published. [David]
Some media asset events weren't getting logged properly Now they are. [David]
Database transactions are now properly maintained when publishing assets. Everything was working, but DBI AutoCommit was getting turned on, and this likely slowed some things down a bit. [David]
Assets can once again be found via the "Find" pages and recalled into a workflow without error. [David]
Module man pages are now properly installed under Perl 5.8.0. Thanks to Michael Schwern for helping to diagnose the problem and come up with a solution. [David]
The select list of desks to transfer an asset to on My Workspace now includes all possible desks, including the one for which there is a link. [João Pedro]
All Bricolage .pod files are now installed and converted to man pages along with all of the .pm files. [David]
Corrected a bunch of spelling errors in this file. [David]
Calling get_data() on a container element in templates (or elsewhere, for that matter) now properly ignores container subelements. Likewise for get_container(), whicn how properly ignores data subelements. [David]
All of the .pl and .tst files in lib/ no longer clutter up the distribution created by make dist. [David]
Much of the POD documentation in the API classes has been cleaned up, and converting them to man pages no longer generates any error messages. [David]
The install process will now find Apache modules in /usr/lib/apache/modules, which is where they are in OpenBSD. Thanks to Mark Johnson for his help tracking this one down. [Sam]
The install process will no longer install an incompatible version of HTML::Mason (>1.09). [Sam]
The bric_dist_mon program works again. [David]
Revised Bric::Biz::Keyword implementation to improve performance. The new implementation no longer relies on the Bric::Util::Grp system. Also implemented API and database support for Media keywords. [Sam]
Added support for search Media by category and file name through the SOAP interface and standard API. [Sam]
Added new --save-cookie-file and --use-cookie-file options to bric_soap to allow authentication to span bric_soap calls. This can result in significant time savings across multiple invocations. [Matt]
Added new --chunks option to the bric_soap tool to avoid problems with timeouts on large workloads. Currently only supports the workflow commands (publish, deploy, checkin, checkout, move), but it will be expanded to other long-running commands in the future. [Sam]
Improved performance of search paging. ListManager now only builds the output rows that will actually be shown on the screen. For large data sets this results in a huge gain in search speed. [Adam and Sam]
Revised category implementation to use explicit uri and parent_id fields rather than relying on the Bric::Util::Grp system. This improves performance tremendously for larger numbers of categories. [Jeff Pinyan]
Added new --continue-on-errors option to bric_soap to prevent non-fatal errors from ending the process. [Sam]
Beautified the list paging interface. [David]
Added new Media Type manager. [Scott]
Added list reverse feature. [Scott]
Added SFTP mover. [Scott]
Add support for Apache-SSL. This required a change to the context of the bricolage.conf ENABLE_SSL directive to indicate the type of SSL support: none, apache_ssl, or mod_ssl. [Michael Robinton]
Added support for manual httpd configuration. Split out dynamic configuration from ApacheConfig.pm and move to a new module, ApacheStartup.pm, that sets no Apache configuration directives. ApacheConfig.pm calls this module. [Michael Robinton]
Added bricolage.conf configuration directive to force the start up process to always write out a $TEMP_DIR/bricolage/bric_httpd.conf as an httpd.conf include file. [Michael Robinton]
Moved SSL key and certificate configuration from global httpd.conf settings to per virtual host via bricolage.conf configuration directives. [Michael Robinton]
Added a bricolage.conf directive to force the user to always use SSL. [Michael Robinton]
Added get_data() method to Bric::Util::Grp::Parts::Member::Contrib. This method takes a simpler scalar argument and returns the relevant attribute. This bit of syntactic sugar makes contributor objects behave a bit more like $element objects in templates, thus simplifying things for template developers. [David]
Categories now default to sorting by URI, and the URI is the searchable field, rather than name. [David]
Vastly improved the speed at which categories can be imported via SOAP. [David]
Makefile now confirms location of Apache and PostgreSQL to allow for systems with multiple versions of each available. [Sam]
Added "make clone" command to the installation system to create distributions based on existing Bricolage systems. [Sam]
Added bricolage.conf directive to enable/disable the browser toolbar for debugging and development. Documented in Bric::Hacker. [Michael Robinton]
Added support for running Bricolage with SSL support on arbitrary ports. Previous versions required https support to use only port 80 for http and port 443 for https. With this release, Bricolage fully supports http and https service on any ports. This allows the Apache daemon supporting Bricolage to be run with a minimum number of children while still allowing normal http and https service on the standard ports with a light-weight Apache daemon. See the INSTALL file (or Bric::Admin) for full details and an example installation procedure. [Michael Robinton]
Added new bric_apachectl command "single". This command will start Bricolage in single-process mode. This mode is principally useful for debugging. [Michael Robinton]
The size of the database column that stores custom field options (such as for select lists) has been changed to the TEXT PostgreSQL type, so that the number of options isn't arbitrarily limited. [Matt Vella]
The group API has been approximately 75% rewritten. The goal was to optimize its performance, since group activity proved to be a serious bottleneck to Bricolage performance. Those interested in the nitty-gritty details of the rewrite can read about them here: http://sourceforge.net/mailarchive/forum.php?thread_id=967943&forum_id=561.
Added constraint to the group table to keep a group from having itself as a parent. Thanks to João Pedro Gonçalves for the patch. [David]
Fixed bug in side navigation where an HTML table was opened but not closed. [Charles Albrecht]
Fixed bug where installation system would chown all of the chosen TEMP_DIR to SYS_USER. Thanks to Dave Rolsky for the report. [Sam]
Fixed a bug in the installation system that was creating empty comp/comp and data/data directories BRICOLAGE_ROOT. Thanks to Michael for the spot. [Sam]
Fixed remote previews to redirect to a better URL. [Mark]
Fixed a bug where trying to create a story through the SOAP interface containing a contributor with an empty middle name would fail. [Sam]
Changed strftime instances of '%G' to '%Y' in URI preference, as this seems to be more portable. [David]
Fixed bug that was preventing 'make upgrade' from running database upgrade scripts. [Sam]
Fixed broken "Log" link on Media Search results screen. [Sam]
Fixed bug where deleted output channels were showing up in list of available output channels in the element profile. [David]
Fixed conflict in list manager that prevented some lists from working properly. Probably never showed up before, as we only noticed it with the new Media Type manager. Thanks to Scott for the heads-up. [David]
The PREVIEW_MASON configuration directive no longer is no longer defaulting to on in one context and off in another. It is now off by default. Thanks to Michael Slattery for the spot! [David]
Eliminated the password field type from the formBuilder interface used for contributor types and elements. Its inclusion up to now may be considered a bug. [David]
Fixed cover date editing to repopulate correctly on the Story profile screens. [Matt]
Fixed bug where previewing a story assigned to multiple categories would preview to a random category. Now the primary category is always chosen. [Sam]
Fixed display and editing of dates more than one year in the past. [Matt]
Fixed bug where setting CHAR_SET to UTF-8 in bricolage.conf would result in blank output. [Sam]
Changed Category manager to display no categories by default, only display them after a search. This is because some folks have a lot of categories. [David]
Fixed bug where when SYS_USER and/or SYS_GROUP wasn't in bricolage.conf, Bric::Config would use the username "nobody" instead of the UID for the user "nobody". [David]
Adding a note to a story that has not yet been saved no longer causes an error. [David]
Fixed "make dist" to work on Mac OS/X and FreeBSD. [Sam]
Fixed a problem in Bric::Util::Burner::Template where a newly added template wouldn't be picked up by <tmpl_include>. This was due to caching being turned on. HTML::Template's cache doesn't know that a new compilation would turn up a difference <tmpl_include> so it continues to use the old one. [Sam]
Fixed installer to not require unneeded Apache modules (mod_proxy and mod_rewrite). [Sam]
Fixed installer to first ask whether SSL support is desired before asking for a specific SSL module. [Sam]
Fixed documentation bug in Bric::Admin concerning PostgreSQL paths. Thanks to Vicki Brown for the catch. [Sam]
Fixed installation system to fail if there are errors importing the database. Also added test for missing or empty bricolage.sql. [Sam]
Fixed installation system to support optional modules and not force users to install them. [Sam]
Fixed bug that prevented the contents of fields to be updated through Bric::SOAP. [Sam]
Fixed "Checkin and Publish" button to only appear if the user has permissions to publish. [Matt]
Fixed bug where text pasted into Bulk Edit textarea box was getting words smooshed together. Thanks to Rachel Murray for the spot. [David]
Fixed bug where date field elements weren't getting properly converted between the local time zone and UTC, which is the time zone of all the dates in the database. Thanks to Matt Vella for the spot. [David]
Fixed issue where Bric::Util::Grp was adding every member of a group whenever a new member was added. This was very wasteful, and slowed performance a great deal for groups with thousands of members. Thanks to Mark for the spot. [David]
Added check for Category "Directory" string to make sure that no non-URL characters are added. [Matt Vella]
Clicking "Cancel" when editing keywords in a new story now properly returns to the story profile, rather than to the last screen before the story was created. [David]
Deleting a a contributor immediately after adding one no longer causes all of the contributors to be deleted on check-in. [David]
Contributors are now properly reverted when stories and media are reverted. [David]
Added --chunks option to bric_republish to publish stories in batches. This is useful to avoid timing out on long runs. [Sam]
Added [Check In / Publish] button to Story Profile to checkin and publish in one step. [Matt]
Added needs_publish() method and associated published_version database field to Bric::Biz::Asset. This method is now used by the publisher to determine if something needs republishing. Added new graphics to display this information on the desks. [Matt]
Moved repeated publish and preview functionality into Bric::Util::Burner. Updated Mason code and Bric::SOAP::Workflow accordingly. [Matt]
Added DBI_PROFILE bricolage.conf option and bric_dbprof script to allow profiling of Bricolage database performance. [Sam]
Added bric_apachectl debug command to run Bricolage under the Perl debugger using Apache::DB. [Sam]
Added checks to make sure Story and Media URIs are unique within the system. [Matt]
Added search paging preference to break search results into multiple pages. [Adam]
Added support for running Bricolage under Devel::Profiler with the new PROFILE configuration option. [Sam]
Added support for Apache::SizeLimit to keep Apache process size under control. [Adam]
Revised Bric::App::Cache to improve performance. The new system is a two-level cache with Cache:Mmap and Cache::Cache. This results in a 2x speedup on some cache-sensitive operations. [Sam]
Clicking "Add More" when editing contributor contacts now retains any changes made to the contributor profile. This matches the functionality of the user profile. Thanks to João Pedro Gonçalves for the spot. [David]
Fixed bug in Bric::SOAP::Element where deleting an element or field could cause SQL errors due to overflowing the name field. [Sam]
Removed Bric::SOAP::Element->delete(force => 1) which could cause data corruption in existing stories. Also removed dependent options in bric_dev_sync (--delete-existing) and bric_soap (--force). [Sam]
Fixed bug in Bric::SOAP::Element where updating an element could cause Stories using that element to lose track of their field data. [Sam]
Fixed bug in Bric::Util::Burner::Template where <tmpl_include>s caused syntax errors. [Sam]
The Bric::Biz::Category class method get_attr() now returns attributes for category ID 0 as well as all other categories. [João Pedro Gonçalves]
Fixed bug in DBI_DEBUG and DBI_CALL_TRACE options where non-prepared queries (row_aref(), all_aref(), etc.) were not being logged. [Sam]
Fixed bug in Bric::Dist::Resource that was causing publish to run very slowly by executing a bad database query. [Sam]
Related to the last item, fixed a bug in Bric::Util::Coll that would call the href() method on a class and pass in undefined values as parameters. This will happen if a collection is created for a new object that does not yet have an ID. The fix thus prevents the "= NULL" SQL syntax, which always matches nothing. The new syntax for constructing a collection has been implemented across the API. [David]
Fixed bug where the root category wasn't able to be added to a category group. Actually, this fixes a problem where any object with an id of 0 couldn't be added to a group. Thanks to Mark for the spot. [David]
Changed mover list to be sorted in alphabetical order in the Destination profile. This has the benefit of forcing "FTP" to be listed before "File System" -- Hurray for case-sensitive ordering! Thanks to Sam for the complaint. [David]
The OS for a destination server now defaults to the OS of the server on which Bricolage is installed instead of "Mac". Thanks to Sam for the spot. [David]
Deleted destinations will now be dissociated from output channels when they're deleted. This prevents stories from being published to deleted destinations. Thanks to Mark for the heads-up. [David]
Fixed bug where attribute metadata wasn't getting deleted when it was supposed to. [João Pedro Gonçalves]
Fixed bug where some browsers submit an image button with a value stored in the image button's name as well as in the name with ".x" and ".y" appended to it. This caused callbacks to be triggered twice for a single field! I noticed this with Mozilla on Mac OS X, and presume it would happen elsewhere, too. [David]
Fixed bug in navigation bar HTML that caused the bar to disappear on certain browsers. [Rachel Murray]
Fixed bug in Bric::SOAP where Bricolage exceptions resulted in an uninformative "Application error" message. Now the full exception message is displayed. [Sam]
Fixed installation to work under Debian Linux 3.0 (testing). Thanks to Mark Jaroski for a helpful patch. [Sam]
Changed length of Bric::Dist::Job name attribute from 64 characters to 256. This allows long asset names to be used. Also added code to Bric::Dist::Job to ensure that the name property is truncated if it's longer than 256 characters. Thanks to Josh Cox for the spot. [David]
Fixed bug where dumber browsers would submit a new template without any Element selected. Thanks to Michael Robinton for reporting the bug. [David]
All stories and media are now required to be associated with a category. For stories, the primary category cannot be deleted. If you want to change the primary category, add a new category, change it to the primary, and then delete the old primary category. This fix prevents previews and publishes from breaking on stories and media that had no categories. Thanks to Mark for the heads-up. [David]
An overhaul of the burn system had regressed the Output Channel preview functionality. I've put it back now. [Mark]
Fixed button JavaScript to work correctly in Mozilla. [Matt]
Fixed bug in HTML::Template burner that prevented <tmpl_include>s from working in some cases. [Sam]
Numerous spelling errors were fixed by Scott Lanning. Thanks!
In the Element manager, doing a search after selecting an Element Type from which to display elements no longer causes an error. Thanks to Adam Robinson for the spot. [David]
Made the parent category field in the Category Profile a required field. [Mark]
Fix Bric::Util::FTP::FileHandle to work with a modified date-formatting preference. [Matt]
Fixed section numbering in the Contributor Type profile. [Scott Lanning]
Bricolage SOAP interface fully implemented. The command-line clients bric_soap, bric_dev_sync and bric_republish are all complete. [Sam]
Bricolage now comes with a configure script and a Makefile for easier installation and configuration. [Mark Jaroski]
Removed MD5 Perl module requirement by requiring Apache::Session 1.54 or higher. [David]
Added new FTP distribution move method. Now you can distribute files either via a file system copy or via FTP. [David]
Added a preference to change the way URIs are formatted. [Adam]
Added a URI case preference to force URIs to lowercase, uppercase, or allow mixed case URIs. [Adam]
Categories are now all listed and sorted by URI in select lists. [Sam]
The cache is now cleared when the Apache server is started or restarted. This avoids potential problems with stale data in the cache. [Sam]
Fixed numerous cases where user_ids were being used as booleans. Since user_id 0 is the Administrator's user_id this can cause problems. [Sam]
Fixed problem where deleting an asset would fail with the "cannot check-in non checked-out version" error. [Sam]
Fixed bug in HTML::Template burner when an element name had more than one space in it. [Sam]
Fixed bug in database that prevented element names over 32 characters from working properly. [Sam]
Fixed bug where trying to preview a story without a Preview destination and PREVIEW_LOCAL off would result in a Mason error. [Sam]
Fixed bug in Bric::SOAP::Story->create() where data element order was getting lost. Thanks to Mike Slattery for the spot. [Sam]
Fixed bug in HTML::Template burner where templates in non-root categories could not be found. Thanks to Marlon Bermas for the spot. [Sam]
Fixed Bric::Util::FTP::FileHandle to create new revisions on PUT. [Sam]
Deleting a contributor will no longer break stories with which the contributor is associated. Thanks to Rachel Murray for the spot. [David]
Invalid configuration directives in bricolage.conf will now be caught and keep Bricolage from starting. [Sam]
The view button in the element profile now works correctly. Thanks to João Pedro Gonçalves for the spot. [David]
Changed all strftime instances of '%G' to '%Y', as this seems to be more portable. [David]
Checking in a template from a template profile now performs a syntax check of the template just as saving the template does. [João Pedro Gonçalves]
Notes attached to stories and media are now once again editable from the desk and profile views if they're checked out to the current user, and only viewable otherwise. Thanks to Tracey Largay for the spot. [David]
Fixed a few poorly-named time zones in the time zone preference. More still needs to be done here, actually. [David]
Implemented the chk_syntax() method in Bric::Util::Burner::Template. [Sam]
Functionally equivalent to 1.2.2, but includes required files missing from the 1.2.2 distribution.
Added chk_syntax() methods to Bric::Util::Burner and its subclasses. This method will takes a template asset object and make sure that it compiles. Bric::Util::Burner::chk_syntax() delegates to the proper subclass.
Some misspellings were corrected in Bric::Admin. Thanks to Ask Bjoern Hansen for the spot. [David]
Fixed broken "Return" buttons on related media and related story pages. [David]
Fixed bug where assets weren't activated when they were created and then checked in without clicking the "Save" button. [David]
Fixed bug where a fixed story's slug was getting used in its URI. [David]
Fixed broken image autopopulation fields (compression, height, width, etc.) [David]
Fixed broken support for audio and video files. These can be set up by the Media Type menu in Element Types. Eventually these should arrange for some fields to be auto-populated (e.g., bit rate, frame size, length, encoding, etc.). [David]
Fixed bug where Categories with the same directory name could not be created. Thanks to Andrew Baio for the spot. [David]
Fixed a bug where a user couldn't look at her own event log if she didn't have permission. Thank to Michael Alan Dorman for the spot. [David]
Fixed a bug where permissions set to access workflows and desks had no affect on the display of workflows and desks. Thanks to Rachel Murray for the spot. [David]
Fixed bug where attempting to create a destination with the same name as an existing but deactivated destination triggered an SQL error. Thanks to Michael Alan Dorman for the spot. [David]
Fixed bug where Workflows with spaces in their names would not create proper submenus in the left navigation bar. Thanks to the WHO for the spot [David]
Fixed bug where the wrong story might be previewed when clicking the title of a story in My Workspace or on a desk. [David]
Changing the category a media asset is in now correctly updates the underlying category object and the URI without the media asset needing to be checked in. [Matt Vella]
Eliminated "Template compile failed" errors for templates with <%init> sections. [David]
Field elements now show up with their display names in the bulk edit select lists, instead of with their names (which are really keys). [David]
Eliminated "Use of uninitialized value in bitwise or (|)" warnings when checking permissions. Thanks to Sam Tregar for the spot. [David]
Custom fields in elements and contributor types now remember their "size" setting. Thanks to Sam Tregar for the spot. [David]
The Element select list on the new Template profile no longer lists media elements, since media assets don't use templates. [David]
Removed old XML::Writer stuff from Bric::Util::Burner, since I moved it to Bric::Util::Burner::Mason a while ago and it was causing some problems. Thanks to Michael Robinton for the spot. [David]
Fixed typo in Bric::Hacker spotted by Axel Beckert. [Sam]
The CREATE permission works properly now. Thanks to Rachel Murray for the spot. [David]
Created new method of configuring Bricolage in Apache. For mod_perl 1.26 and earlier, a custom config file will be written to the bricolage temp directory every time Bricolage is started or restarted. For mod_perl 1.27 and later, no temp file will be written. [David]
Added support for Mozilla (and there was much rejoicing!). [David]
Changed password for the default "admin" user to "change me now!" [David]
The slug is stored in the database for both fixed and non-fixed stories. This is in anticipation of adding the ability to use the slug for fixed story URIs later on. Thanks to Darren Graves for the patch.
Added DISABLE_NAV_LAYER directive. It's off by default, but if you turn it on in bricolage.conf, the side navigation layer will be rendered as plain HTML in every page instead of as a separate layer. [David]
Documented PERL_LOADER directive in Bric::AdvTemplates. [David]
Turned off the PREVIEW_MASON configuration directive in bricolage.conf. It should be off by default. [David]
Deleted Output Channels now properly don't show up in the Output Channel manager again. Thanks to Sara for the spot! [David]
All previews now preview assets in the primary Output Channel only. Previously, the previews were in the Output Channel whose name came first alphabetically. Thanks to Sara Wood for catching this bug. [David]
Fixed bug where templates often couldn't be found by the Mason burner if the output channel had a post_path. [David]
Fixed bug where templates often couldn't be found by the HTML::Template burner if the output channel had a post_path. [Sam]
Fixed some problems with the sideNav menus under Netscape. [David]
Fixed broken "Preview" button in Read-only story profile and in related story elements. [Matt Vella]
Updated debugging code to accommodate new syntax in Cache::Cache. Thanks to Sam Tregar for the spot. [David]
Fixed problem with Element names containing non-alphanumeric characters. [Sam]
Checking out media assets from "Find Media" now redirects you to the media profile if you've checked out one media asset, or My Workspace if you've checked out more than one. This puts it in line with how "Find Stories" and "Find Templates" work. Thanks to Sam for the report. [David]
Fixed bulk edit functionality for Media assets. Thanks to Sam for the spot. [David]
In Bric::Biz::Asset::Business, the source get_meth key in my_meths() now works properly. Also, get_all_keywords() now also returns the category keywords as well as the story keywords. Thanks to Darren Graves for the patch.
Removed quotation marks from DEF_MEDIA_TYPE setting in bricolage.conf. Thanks to Darren Graves for the spot. [David]
Sorting assets by ID in "Find X" and Workspace/Desk view now properly does a numeric sort rather than an alphanumeric sort. Thanks to Sam Tregar for the spot. [David]
Fixed an obscure bug where, for files uploaded as part of a Media file, Bricolage attempted to create a path on its own file system using path delimiters for another file system. Thanks to Mike Slattery for the spot. [David]
Required content fields in stories and elements are now displayed in the order specified in the Element profile. Thanks to Sam Tregar for the spot. [David]
All assets now start with the version number 0 until the first time they are checked in. Also, they will show up on desks and in the Find views after the first time they are saved. It was inconsistent before, and some items could not be seen in the desk and Find views until they were checked in. Thanks to Sam for spotting the inconsistency. [David]
The bric_clean_tmp script has been changed to avoid deleting the Bricolage cache file. [Sam]
Fixed typo that broke Bric::Dist::Client. [Mike Slattery]
Fixed multiple select custom fields for Elements and Contributors. Thanks to Mike Slattery for the spot. [David]
Fixed ugly bug where deleting a "Media Type" Element would delete all the media objects of that type. Thanks to Sam for the spot (though not for the bug!). [David]
Fixed bric_pgimport so that it uses DBI to drop and create the database, rather than relying on a hard-coded location for pgsql binaries. [David]
Fixed permission granting in bric_pgimport so that the Bricolage database use has DELETE permissions on all objects in the Bricolage database. It looks like this permission was ignored in PosgreSQL 7.1 and earlier, or problems would have shown up a long time ago! [David]
Fixed a bug where the time a distribution job is scheduled was not properly converted to UTC for storage in the database. Thanks to Mike Slattery for the great code archaeology! [David]
Fixed the spelling of "contributor" in several spots. [Andrew Baio]
Fixed bug where changing a story's primary category left it with no primary category. [Matt Vella]
Added Context-sensitive, online help. [Sam]
Added separate interface for editing templates (via FTP). [Sam]
Added the ability to use HTML::Template Templates. [Sam]
Added ability for different Output Channels to function as different component roots for in Mason templates. This will allow for templates that can't be found in the current Output Channel to be searched for in other Output Channels. [David]
Added link to Event log to Find Story, Find Template, and Find Media screens. [David]
Added true previewing for media assets. Now, when you click their URIs to preview them, they will be distributed to the preview server(s) before redirecting the user to them, rather than just serving them up from where they live on the Bricolage file system. The latter can still be accessed under "Download" in the Media Asset profile. This will continue to be the preferred way to grab media files for editing and such, as it will not incur the overhead of distributing the media file. [David]
Allow only one template with a given name for a given category, element, burner and output channel. [Sam]
Added a Maintainer section to the About page. [David]
Updated About page to mimic the layout of the help pages. [David]
Fixed a bug with local previews where a preview page could show up instead of the Bricolage UI. Thanks to Sara for the spot. [David]
Fixed a bug where Mason component calls failed in previews when the PREVIEW_MASON directive was enabled. [David]
Changed default value for text area fields added via the form builder (i.e., in Contributor Type and Element profiles) to 0. The values 0 and "" always make the the new field unlimited in length. [David]
Fixed a couple of buttons to be proper case rather than upper case. [David]
Separated the filesystem destinations for assets burned for publication and for assets burned for previewing. This will prevent someone previewing and stomping all over a published version of an asset before the published version is distributed. [David]
Removed hard-coding of the local preview directory in httpd.conf and httpd-ssl.conf. Now using the values stored in PREVIEW_LOCAL, instead, to determine the proper directory. [David]
Added the DEF_MEDIA_TYPE directive. Bricolage will use the value in this directive to assign a Media Type to all file resources if Bricolage can't figure it out from their file extensions. This fixes a bug where Bricolage would choke if it couldn't figure out the MediaType itself. [David]
Added "File Name" and "File Extension" properties to OutputChannels. These properties will now be used to name files burned to the file system on preview and publish. [David]
Added DEFAULT_FILENAME and DEFAULT_FILE_EXT configuration directives to set default values on the "File Name" and "File Extension" Output Channel properties. [David]
Changed Bric::Util::Burner->display_element() so that it doesn't paginate. All paginated pages are now treated instead as regular elements. This is useful for things like printer-friendly pages. Bric::Util::Burner->display_element() continues to work as before. Use this method to output a separate file for each paginated element. [David]
When errors occur while previewing stories, the leftNav is now turned off. [David]
Browser buttons and menus are now disabled. [David]
Added ability to set permissions on assets based on the categories they're in. [David]
Moved all session and session locking files into the "bricolage" subdirectory of the local file system's tmp directory. You'll want to rm -rf /tmp/bricolage_* upon upgrading. [David]
Moved the location of cache files to the "bricolage/cache" subdirectory of the local file system's tmp directory. You'll want to rm -rf /tmp/FileCache upon upgrading. Together with the above change, this means that all Bricolage temporary files are stored in the "bricolage" subdirectory of the local tmp, e.g., /tmp/bricolage. [David]
Added new program, bric_clean_tmp, that can be used in a cron job to delete stale temporary files. [Sam]
Added an "About" page, linked from the logo graphic, that explains the name "Bricolage" and offers the license and credits. [David]
Added PERL_LOADER configuration directive. Pass a line of Perl to this directive, and on startup, it'll execute it in the same namespace as your templates execute in. [David]
Added INCLUDE_XML_WRITER and XML_WRITER_ARGS configuration parameters. If INCLUDE_XML_WRITER is turned on, then all templates will include a new global, $writer, that is an XML::Writer object. This object is provided as a convenience for creating XML in your templates. XML_WRITER_ARGS allows certain arguments to be passed to the XML::Writer. [David]
Fixed bug where data fields deleted from Elements were deleting them from existing stories, too. [David]
Fixed bug where stories with related media associated with them were displaying the story as an Element rather than as a story after editing the related media. [David]
Removed all file system location dependencies for the operation of Bricolage. Bricolage will still assume that everything's in /usr/local/bricolage, but any location is fine as long as the BRICOLAGE_ROOT environment variable is set to the proper location. [David]
Added code to force all preview pages to be re-requested from the server every time they're viewed. This prevents the browser from loading older versions from its cache, and allows users to always see the most recently-burned output of a story. [David]
Removed debugging information from URLs for when debugging is turned off -- which should be always in production code (e.g., releases). [David]
Elements are now displayed with their display names rather than their attribute names. Thanks to Sam Tregar for the spot. [David]
Fixed bug where fields (attributes) added to an Element with the name of an existing but deactivated field triggered an error. Thanks to Sam for the heads-up. [David]
Fixed a bug where data fields sometimes were not properly retrieved from the database in Bric::Biz::AssetType. [David]
Fixed a bug where clicking "Save and Stay" in the Element profile wouldn't delete attributes (fields) marked as such, or even delete the Element itself, if the "Delete this profile" checkbox was checked.
Fixed a bug where, for Story and Media assets, editors were given Edit access to notes, even when they didn't have the asset checked out. [David]
Changed the misleading and inaccurate "Two blank lines" label in the Bulk Edit interface to the more accurate "One blank line". Thanks to Sam Tregar for the heads-up.
Initial public release.
David Wheeler <david@wheeler.net>