Bricolage 1.8.2 Changes

2004.09.13

Improvements

  • Added note to the context-sensitive help for the story, media, and template search pages to search on / to return all records, and to use SQL wildcards such as % to generalize the search. [David]

  • make upgrade no longer copies the entire installed component root to a new directory as a way to get rid of old UI component files. We now require that any deleted component files get removed from an existing installation via an upgrade script, instead. See inst/upgrade/1.7.0/delete_old_components.pl for an example. [David]

  • Bricolage now runs under a DSO mod_perl as long as it uses a Perl compiled with -Uusemymalloc or -Ubincompat5005. See The mod_perl FAQ for details. Thanks to Marshall Roch for finding that link. [David]

  • The New Story and New Media profiles by default no longer have a value selected for the Story Type or Media type (respectively), so as to prevent the inadvertent creation of documents of the wrong type. [David]

  • Alerts triggered to be sent to users who don't have the appropriate contact information will now be logged for those users so that they can see them and acknowledge them under My Alerts. [David]

  • Added bric_media_dump script to contrib/. [David]

  • The category association interface used in the story profile when the ENABLE_CATEGORY_BROWSER bricolage.conf directive is enabled now uses radio buttons instead of a link to select the primary category. Suggested by Scott Lanning. [David]

  • Search by site is now supported in the Advanced Search interface of Find Stories, Find Media, and Find Templates when there is more than one site and the Filter by Site Context preference is not turned on. [David]

  • Removed Bric::FAQ, since it is now maintained on the Website, instead. [David]

  • Updated Bric::Admin to suggest that PostgreSQL's initdb be run with --no-locale so as to avoid collation issues with non-Western characters. See this discussion for more information.

  • Added a warning to the story and media profiles for when related stories and media have been deactivated and a different story or media document should be related.

  • Added output to the Apache log consisting of the 20 most recent events on an asset that has lost track of what workflow and/or desk it is on. This is to provide debugging information that might help us to track down when an asset forgets its workflow and/or desk, so that we might eventually be able to eliminate the code that picks up on this and corrects it. [David]

  • The distribution monitor, bric_dist_mon, now prints error information to STDERR when there is an error, instead of just printing it to the system log. [David]

  • Existing jobs are now executed within their own transactions, as opposed to no transaction specification. This means that each job must succeed or fail independent of any other jobs. New jobs are executed before being inserted into the database so as to keep them atomic within their surrounding transaction (generally a UI request). All this means that transactionality is much more intelligent for jobs and will hopefully eliminate job table deadlocks. Reported by Mark Jaroski, Serge Sozonoff, Patrick Michael Kane, and others. [David]

  • The workflow, destination, and output channel profiles only display site information if the user has EDIT access to more than one site. The Find Stories and Find Media managers only display the site information for the listed documents if there is more than one site in Bricolage. Suggested by Scott Lanning. [David]

  • Updated documentation of parameters to the list() method of Bric::Biz::Asset::Formatting (the template class). Also documented a few parameters to the story and media class list() methods that were supported but previously undocumented. [David]

  • Variables are now properly decoded to UTF-8 when they are populated from the database. [David]

  • The strings used in translations are now all properly decoded to UTF-8. [David]

  • All templates now execute with UTF-8 character strings enabled. This means that any templates that convert content to other character sets might need to change the way they do so. For example, templates that had used <%filter> blocks to convert content to another encoding using something like Encode::from_to($_, 'utf-8', $encoding) must now use something like $_ = Encode::encode($encoding, $_), instead. Bric::Util::CharTrans should continue to do the right thing. [David]

  • Added encoding attribute to Bric::Util::Burner so that, if templates are outputting something other than Perl utf8 decoded data, they can specify what they're outputting, and the file opened for output from the templates will be set to the proper mode. Applies to Perl 5.8.0 and later only. [David]

  • Added example use for $burner->display_pages to Bric::AdvTemplates. [Cinly Ooi]

  • Added README.Mandrake. [Cameron Miller]

  • Added SFTP_HOME bricolage.conf directive to specify the home directory and location of SSH keys when SSH is enabled. [Cameron Miller]

  • Users can no longer implicitly publish related stories and media via the UI that they don't have PUBLISH access to. [David]

  • Users can no longer publish related documents via the UI or SOAP that are in workflow but not on a publish desk. [David]

  • Added search by output channel to Find Templates. [David]

Bug Fixes

  • The burner next_page_file() and next_page_uri() methods now properly return a value if the burn_again attribute has been set to a true value in the Mason burner. [David]

  • The list() and list_ids() methods of the story, media, and template classes no longer return undef in a scalar context when there are no objects to be returned. They return an empty array reference, instead. [David]

  • The is_fixed() method in the story and media classes now works properly. Reported by Marshall Roch. [David]

  • make clone once again properly copies the lib/Makefile.PL and bin/Makefile.PL files from the source directory. [David]

  • Fixed the my_meths() method of Bric::Biz::AssetType::Parts::Data to return metadata for the the key_name attribute instead of an undef for the removed name attribute. [Scott]

  • Added missing language-specifying HTML attributes so as to properly localize story titles and the like. Reported by Joshua Edelstein. [David]

  • The list of output channels to add to an element in the element profile now contains the name of the site that each is associated with, since different sites can have output channels with the same names. [David]

  • You can no longer delete a category from a story when you have also marked it to become the primary category. Reported by Simon Wilcox. [David]

  • Editing notes from My Workspace now works properly. Thanks to Simon Wilcox for the spot! [David]

  • The Advanced Search interface once again works for searching for related story and media documents. Reported by Ben Bangert and many others. [David]

  • Renaming a site and its domain name now always properly renames the associated site permission user groups. Reported by Will Trillich. [David]

  • The Alias Story interface now works properly when the USE_THUMBNAILS directive is enabled. Reported by Ben Bangert. [David]

  • Attempting to create a new source with the same name as an existing but deactivated source no longer throws an SQL error, but provides a nice error message. Reported by Marshall Roch. [David]

  • Bricolage no longer attempts to email alerts to an empty list of recipients. This will make your SMTP server happier. [David]

  • The version numbering issues of Bricolage modules have all been worked out after the confusion in 1.8.1. This incidentally allows the HTML::Template and Template Toolkit burners to be available again. Reported by Mike W. [David]

  • Misspelling the name of a key name tag or including a non-repeatable field more than once in Super Bulk Edit no longer causes all of the changes in that screen to be lost. [David]

  • When a user overrides the global Date/Time Format and Time Zone preferences, the affects of the overrides are now properly reflected in the UI. [David]

  • The Default Asset Sort preference now actually works. Reported by Simon Wilcox. [David]

  • Publishing a story or media document along with its related story or media documents from a publish desk again correctly publishes the original asset as well as the relateds. Reported by Paul Orrock. [David]

  • Users can now set their own values for overrideable preferences. [David]

  • The list() and list_ids() methods of the Story, Media, and Template (Formatting.pm) classes no longer have the side effect of changing values in the hash references passed to them. This had caused problems for date/time parameters. Reported by Paul Orrock. [David]

  • Auto-generated slugs (enabled via the AUTOGENERATE_SLUG bricolage.conf directive) no longer convert uppercase characters to underscores. Thanks to Paul Orrock for the spot! [David]

  • Changes made to story content in the story profile are no longer preserved when clicking the Cancel button. Reported by Paul Orrock. [David]

  • The story and media profiles now clear out the session cache for the story or media element when leaving the story or media profile. This is to prevent perceived caching of changes that were canceled in a profile, noticed only when one canceled an edit of a story or media document and immediately edited the same document. [David]

  • Clicking the Add More button to add more keywords to a new category no longer causes an error. [David]

  • Adding a new category to a group and asking it to cascade that group membership into subcategories no longer causes an error. Thanks to Adam Rinehart for the spot! [David]

  • Adding an existing publish desk to a workflow no longer unsets its publish attribute. [David]

  • Deleted output channels no longer show up in the select list for story type and media type elements. [David]

  • Deleting a workflow from the workflow manager now properly updates the workflow cache so that the deleted workflow is removed from the left navigation without a reboot. [David]

  • Creating a story, checking it in, checking it out, and then canceling the checkout no longer incorrectly removes the story from workflow. [David]

  • The source of a story can now be changed. [David]

  • Status messages sent to the browser during previews are now hidden if an error is triggered. [Marshall]

  • Publishing a document with deactivated related documents no longer causes those deactivated documents to be published, too. Reported by Paul Orrock. [David]

  • The Bricolage 404, 403, and 500 error pages now send the appropriate HTTP header to the browser. Thanks to Marshall Roch for the spot! [David]

  • The Output Channel URI Prefix and URI Suffix fields are once again allowed to include a slash (/). Reported by Kevin Elliott. [David]

  • An attempt to create a new template with the proper extension as part of the name (e.g., foo.mc for a Mason template) now keeps the extension instead of changing the dot to an underscore and adding the extension (e.g., it stays foo.mc instead of becoming foo_mc.mc). This is especially useful when creating utility templates and for users of bric_dev_sync. Thanks to Paul Orrock for the spot! [David]

  • When Bricolage notices that a document or template is not in workflow or on a desk when it should be, it is now more intelligent in trying to select the correct workflow and/or desk to put it on, based on current workflow context and user permissions. Reported by Hal Creech. [David]

  • Content submitted to Bricolage in the UTF-8 character set is now always has the utf8 flag set on the Perl strings that store it. This allows fields that have a maximum length to be truncated to that length in characters instead of bytes. Thanks to Kang-min Liu for the spot! [David]

  • Bric::Biz::OutputChannel->list_ids no longer returns duplicate IDs. This incidentally allows output channels that happen to be in groups to be edited, eliminating the 'name Web is already used by another Output Channel' error. Thanks to John Greene for the spot! [David]

  • The media type of media documents now defaults to none instead of inserting a NULL into the database. The column has also be marked NOT NULL in order to ensure that this remains the pattern. [David]

  • Changed the name and error_message columns in the job table in the database from VARCHAR to <TEXT>. This is so that we don't have to truncate them before inserting them. [David]

  • Elements with autopopulated fields (e.g., for image documents) can now be created via the SOAP interface. Reported by Todd Tyree. [David]

  • Fixed a number of the parameters to the list() method of the Story, Media, and Template classes to properly handle an argument using the ANY operator. These include the keyword and category_uri parameters. Passing an ANY argument to these parameters before this release could cause a well-populated database to lock up with an impossible query for hours at a time. [David]

  • Restored foreign keys and constraints missing on the job table and related tables since version 1.8.0. [David]

  • The error message for failed distribution jobs is now properly displayed in the UI. [Mark]

  • Fixed bug with the execution of jobs in bric_queued. [Mark]

  • Attempting to create a new desk with the same name as a deactivated desk no longer returns an SQL error, but a more informative error.

  • Template sandboxes now work for the Template Toolkit burner. [David]

  • The output channel and element profiles no longer display deactivated output channels in their output channel select lists (for output channel includes in the output channel profile and for primary output channels in the element profile). [David]

  • The side navigation layer now works correctly with Internet Explorer 5.5 for Windows. [Marshall]

blog comments powered by Disqus