Theory's Journal
http://use.perl.org/~Theory/journal/
Theory's use Perl Journalen-ususe Perl; is Copyright 1998-2006, Chris Nandor. Stories, comments, journals, and other submissions posted on use Perl; are Copyright their respective owners.2012-01-25T02:06:57+00:00pudgepudge@perl.orgTechnologyhourly11970-01-01T00:00+00:00Theory's Journalhttp://use.perl.org/images/topics/useperl.gif
http://use.perl.org/~Theory/journal/
Bricolage 1.8.6 Released
http://use.perl.org/~Theory/journal/25791?from=rss
<p>The Bricolage development team is pleased to announce the release of
Bricolage 1.8.6. This maintenance release addresses numerous minor issues in
Bricolage 1.8.5 and adds a number of improvements, including SOAP, document
expiration, and <em>bric_queued</em> fixes. The most important changes
include:</p><p>
Improvements
</p><ul>
<li>Added JavaScript code to validate that the username in the user profile does not have leading or trailing spaces.
[David]</li><li>Events in the event log are now returned (and displayed) in reverse
chronological order. [David]</li><li>The SOAP server now uses a user's template sandbox when executing previews
(such as with <code>bric_soap --to-preview workflow publish</code>). Reported
by Marshall. [David]</li><li>Bric::Biz::Workflow now caches calls to <code>allowed_desks()</code>. This
will allow desks to render <i>much</i> Faster, since most assets on a desk
will list the same desks in the Move to select lists. [David]</li><li>When the <code>PUBLISH_RELATED_ASSETS</code> <em>bricolage.conf</em>
directive is enabled, aliases are now also republished. Only aliases that have
previously been published will be republished, and only the last published
version will be republished, rather than any versions created since the last
publish. Suggested by Serge Sozonoff. [David]</li><li>A story or media document published with an expire date earlier than the
scheduled publish time no longer bothers with the publish but just expires the
story or media document. [David]</li><li>Media documents without an associated media file will no longer be
displayed in the search results when attempting to relate a media document to
an element. Reported by Adam Rinehart. [David]</li></ul><p>
Bug Fixes
</p><ul>
<li>Form validation and group management now properly work in the user
profile. [David]</li><li>The SFTP mover now works with <code>bric_queued</code>. [David]</li><li>Cloned stories now properly set the <code>published_version</code>
attribute to <code>undef</code> rather than the value of the original story,
thus preventing the clone from having a published version number greater than
its current version number. Reported by Nate Perry-Thistle and Joshua
Edelstein. [David and Nate Perry-Thistle]</li><li>When a category is added to a story that creates a URI conflict, the new
category does not remain associated with the story in the story profile after
the conflict error has been thrown. Reported by Paul Orrock. [David]</li><li>Contributor groups created in the contributor profile are no longer
missing from the contributor manager search interface. Reported by Rachel
Murray and Scott. [David]</li><li>The <em>favicon.ico</em> works again. [David]</li><li>Stories are now properly expired when
the <code>BRIC_QUEUED</code> <em>bricolage.conf</em> directive is enabled.
Reported by Scott. [David]</li><li>When a template is checked out of the library and then the checkout is
canceled, it is no longer left on the desk it was moved into upon the
checkout, but properly reshelved. Reported by Marshall. [David]</li><li>Super Bulk Edit now works for media as well as stories. Reported by Scott.
[David]</li><li>When a template is moved to a new category, the old version of the
template is undeployed when the new version is deployed to the new category.
The versions in the sandbox are properly synced, as well.</li></ul><p>For a complete list of the changes, see the <a href="http://www.bricolage.cc/news/announce/changes/bricolage-1.8.6/">changes</a>.
For the complete history of ongoing changes in Bricolage, see <a href="http://www.bricolage.cc/docs/api/current/Bric::Changes">Bric::Changes</a>.</p><p>Download Bricolage 1.8.6 now from the Bricolage Web site <a href="http://www.bricolage.cc/downloads/">Downloads page</a>, from the <a href="http://sourceforge.net/project/showfiles.php?group_id=34789">SourceForge
download page</a>, and from the <a href="http://www.kineticode.com/bricolage/index2.html">Kineticode download
page</a>.</p><p>
About Bricolage
</p><p>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 quite possibly the most capable enterprise-class open-source
application available by <i>eWEEK</i>.</p>Theory2005-07-19T16:05:13+00:00journalJavaScript TestSimple 0.03 Released
http://use.perl.org/~Theory/journal/24452?from=rss
<p>I'm pleased to announce the third alpha release of TestSimple, the port of
<a href="http://search.cpan.org/dist/Test-Simple/">Test::Builder, Test::Simple, and Test::More</a> to
JavaScript. You can download
it <a href="http://www.justatheory.com/downloads/TestSimple-0.03.tar.gz">here</a>. This release has the following
changes:</p><ul>
<li>Removed trailing commas from 3 arrays, since IE6/Win doesn't like
them. And now everything works in IE. Thanks to Marshall Roch for tracking
down and nailing this problem.</li><li> <code>isNum()</code> and <code>isntNum()</code> in TestBuilder.js now
properly convert values to numbers using the global Number() function.</li><li>CurrentTest is now properly initialized to 0 when creating a new
TestBuilder object.</li><li>Values passed to <code>like()</code> and <code>unlike()</code> that are
not strings now always fail to match the regular expression.</li><li> <code>plan()</code> now outputs better error messages.</li><li> <code>isDeeply()</code> now works better with circular and repeating
references.</li><li> <code>diag()</code> is now smarter about converting objects to strings
before outputting them.</li><li>Changed isEq() and isntEq() to use simple equivalence checks
(<code>==</code> and <code>!=</code>, respectively) instead of stringified
comparisons, as the equivalence checks are more generally
useful. Use <code>cmpOk(got, "eq", expect)</code> to explicitly
compare stringified versions of values.</li><li>TestBuilder.create() now properly returns a new TestBuilder object
instead of the singleton.</li><li>The <code>useNumbers()</code>, <code>noHeader()</code>,
and <code>noEnding()</code> accessors will now properly assign a non-null
value passed to them.</li><li>The arrays returned from <code>summary()</code>
and <code>details()</code> now have the appropriate structures.</li><li> <code>diag()</code> now always properly adds a # character after
newlines.</li><li>Added <code>output()</code>, <code>failureOutput()</code>,
<code>todoOutput()</code>, <code>warnOutput()</code>,
and <code>endOutput()</code> to TestBuilder to set up function reference to
which to send output for various purposes. The first three each default
to <code>document.write</code>, while <code>warnOutput()</code> defaults to
<code>window.alert</code> and <code>endOutout()</code> defaults to the
<code>appendData</code> function of a text element inside an element with
the ID test or, failing that, <code>window.write</code>.</li><li> <code>todo()</code> and <code>todoSkip()</code> now properly add #
after all newlines in their messages.</li><li>Fixed line ending escapes in diagnostics to be platform-independent. Bug
reported by Marshall Roch.</li><li>Ported about a third of the tests from Test::Simple (which is how I
caught most of the above issues). The remaining test from Test::Simple will
be ported for the next release.</li></ul><p>Many thanks to <a href="http://www.spastically.com/">Marshall Roch</a> for help debugging issues in IE.</p><p>Now, there is one outstanding issue I'd like to address before I would
consider this production ready (aside from porting all the remaining tests
from Test::Simple): how to harness the output. Harnessing breaks down into a
number of issues:</p><p>How to run all tests in a single window. I might be able to write a build
script that builds a single HTML file that includes all the other HTML files
in iframes or some such. But then will each run in its own space without
stomping on the others? And how would the harness pull in the results of each?
It might be able to go into each of its children and grab the resultsfrom the
TestBuilder objects...
</p><p>More Feedback/advice/insults welcome!</p>Theory2005-04-29T19:09:20+00:00journalJavaScript TestSimple 0.02 Released
http://use.perl.org/~Theory/journal/24154?from=rss
<p>I'm pleased to announce the second alpha release of TestSimple, the port of
<a href="http://search.cpan.org/dist/Test-Simple/">Test::Builder, Test::Simple, and Test::More</a> to
JavaScript. You can download it <a href="http://www.justatheory.com/downloads/TestSimple-0.02.tar.gz">here</a>. This release has the following
changes:</p><ul>
<li>Removed <code>eqArray()</code> and <code>eqAssoc()</code> functions from
TestMore per suggestion from Michael Schwern. The problem is that these
are not test functions, and so are inconsistent with the way the rest of
the functions work. <code>isDeeply()</code> is the function that users
really want.</li><li>Changed <code>eqSet()</code> to <code>isSet()</code> and made it into a
real test function.</li><li>Implemented <code>skip()</code>, <code>todoSkip()</code>,
and <code>todo()</code>. These are a bit different than the Perl
originals originals so read the docs!</li><li>Implemented <code>skipAll()</code> and <code>BAILOUT()</code> using
exceptions and an exception handler installed
in <code>window.onerror</code>.</li><li>The final message of a test file now properly outputs in the proper
place. Tests must be run inside an element its id attribute set
to test, such as <code><pre id="test"></code>. The
<code>window.onload</code> handler will find it and append the final test
information.</li><li>Implemented <code>skipRest()</code> in TestBuilder and TestMore. This
method is stubbed out the Perl original, but not yet implemented
there!</li></ul><p>The only truly outstanding issues I see before I would consider
these modules ready for production use are:</p><ul>
<li>Figure out how to get at file names and line numbers for better
diagnostic messages. Is this even possible in JavaScript?</li><li>Decide where to send test output, and where to allow other output to be
sent. Test::Builder clones <code>STDERR</code> and <code>STDOUT</code> for
this purpose. We'll probably have to do it by overriding
<code>document.write()> </code>, but it'd be good to allow users to define
alternate outputs (tests may not always run in a browser, eh?). Maybe we can
use an output object? Currently, a browser and its DOM are expected to be
present. I could really use some advice from real JavaScript gurus on this
one.</li><li>Write tests!</li></ul><p>Feedback/advice/insults welcome!</p>Theory2005-04-12T21:20:20+00:00journalNew JavaScript Testing Method: TestSimple
http://use.perl.org/~Theory/journal/24059?from=rss
<p>I'm pleased to announce the first alpha release of my port of <a href="search.cpan.org/dist/Test-Simple/">Test::Simple/Test::More/Test::Builder</a> to JavaScript. <a href="http://www.justatheory.com/downloads/TestBuilder-0.01.tar.gz">Download it now</a> and let me know what
you think!</p><p>You can see what the tests look like by loading the files in
the <em>tests/</em> directory into your Web browser. This is my first stab at
what I hope becomes a complete port. I could use some feedback/ideas on a
number of outstanding issues:</p><ul>
<li>I have made no decisions as to where to output test results,
diagnostics, etc. Currently, they're simply output to document.write(). This
may well be the best place in the long run, though it might be nice to allow
users to configure where output goes. It will also be easy to control the
output, since the output functions can easily be replaced in JavaScript.
Suggestions welcome.</li><li>I have no idea how to exit execution of tests other than by throwing an
exception, which is only supported by JavaScript 1.5, anyway, AFAIK. As a
result, <code>skipAll()</code>, <code>BAILOUT()</code>,
and <code>skipRest()</code> do not work.</li><li>Skip and Todo tests currently don't work because named blocks (e.g.,
<code>SKIP:</code> and <code>TODO:</code>) are lexical in JavaScript.
Therefore I cannot get at them from within a function called from within a
block (at least not that I can tell). It might be that I need to just pass
function references to <code>skip()</code> and <code>todo()</code>, instead.
This is a rather different interface than that supported by Test::More, but
it might work. Thoughts?</li><li>Currently, one must call <code>Test._ending()</code> to finish running
tests. This is because there is no <code>END</code> block to grab on to in
JavaScript. Suggestions for how to capture output and append the output of
<code>_ending()</code> are welcome. It might work to have
the <code>onload</code> event execute it, but then it will have to look for
the proper context in which to append it (a <code><pre></code> tag, at
this point).</li><li>Anyone have any idea how to get at the line number and file name in a
JavaScript? Failures currently aren't too descriptive. As a result, I'm not
sure if <code>level()</code> will have any part to play.</li><li>Is there threading in JavaScript?</li><li>I haven't written TestHarness yet. It may not make sense to even have
such a thing in JavaScript; I'm not sure.</li><li>I'm using a <a href="http://search.cpan.org/dist/Module-Build/">Module::Build</a>
script to build a distribution. I don't think there's a standard for
distributing JavaScript libraries, but I think that this works reasonably
well. I have all of the documentation in POD, and the script generates HTML
and text versions before creating the tarball. The <em>Build.PL</em> script
of course is not included in the distribution. I started out trying to write
the documentation in JSDoc, but abandoned it for all of the reasons I <a href="http://www.justatheory.com/computers/programming/javascript/no_jsdoc_please.html">recounted last
week</a>.</li><li>Is there a way to dynamically load a JavaScript file? I'd like to use an
approach to have <em>TestMore.js</em> and <em>TestSimple.js</em>
load <em>TestBuilder.js</em>. I'd also like to use it to
implement <code>loadOk()</code> (equivalent to
Test::More's <code>use_ok()</code> and
<code>require_ok()</code> subroutines).</li></ul><p>More details are in the ToDo section of the TestBuilder docs.</p><p>Let me know what you think!</p>Theory2005-04-07T19:31:29+00:00journalBricolage 1.8.5 Released
http://use.perl.org/~Theory/journal/23732?from=rss
<p>The Bricolage development team is pleased to announce the release of
Bricolage 1.8.5. This maintenance release addresses a number of issues in
Bricolage 1.8.3 and adds a number of improvements (there was no announcement
for the short-lived 1.8.4 release). The SOAP server in particular sees
improvements in this release, with improved character set support; better
support for related stories and media using URIs in addition to IDs; and as
support for top-level element relations. Issues with the ordering of story
elements have also been corrected, as well as errors when attempting to revert
a story or media document or template. Here are the other highlights of this
release:</p><p> <strong>Improvements</strong> </p><ul>
<li>Added Linux startup script <em>contrib/start_scripts/linux</em>.
[David]</li><li>Related story and media elements managed through the SOAP server can now
use a combination of URI and site ID to identify related assets in addition to
the existing approach of using story and media IDs. [David]</li><li>A list of subelements is now less likely to mysteriously become out of
order and thus lead to strange action-at-a-distance errors. And even if they
do become out of order, the error message will be more appropriate
(Warning! State inconsistent instead of Can't call method
"get_name" on an undefined value). Reported by Curtis Poe.
[David]</li><li>The SOAP media interface now supports creating relationships between the
media documents elements and other story and media documents, just like the
SOAP story interface does. [David]</li><li>The SOAP interface now supports Related stories and media on story type
and media type elements just as in the UI. This involved the somewhat hackish
necessity for including the related_story_id
and related_media_id (or related_story_uri
and related_media_uri) attributes in the elements XML element,
but it does the trick. [David]</li></ul><p> <strong>Bug Fixes</strong> </p><ul>
<li>Calls to publish documents via SOAP will no longer fail if
the <code>published_version</code> attribute is not specified and the document
to be published has never been published before. [David]</li><li>The Bricolage virtual FTP server will no longer fail to start if Template
Toolkit is installed but its version number is less than 2.14. Reported by
Adam Rinehart. [David]</li><li>Stories and Media created or updated via the SOAP interface will now
associate contributors of the appropriate type, instead of All
Contributors. [Scott & David]</li><li>Deleting an element that has a template no longer causes an error. Thanks
to Susan for the spot! [David]</li><li>Eliminated encoding errors when using the SOAP interface to output
stories, media, or templates with wide characters. Reported by Scott Lanning.
[David]</li><li>Reverting (stories, media, templates) no longer gives an error. Reported
by Simon Wilcox, Rachel Murray, and others. [David]</li><li>Publishing a published version of a document that has a later version in
workflow will no longer cause that later version to be mysteriously removed
from workflow. This could be caused by passing a document looked up using
the <code>published_version</code> to <code>list()</code>
to <code>$burner->publish_another</code> in a template. [David]</li><li>The SOAP server story and media interfaces now support elements that
contain both related stories and media, rather than one or the other.
[David]</li><li>Attempting to preview a story or media document currently checked out to
another user no longer causes an error. Reported by Paul Orrock. [David]</li><li>Custom fields with default values now have their values included when they
are added to stories and media. Thanks to Clare Parkinson for the spot!
[David]</li><li>The <code>bric_queued</code> script now requires a username and password
and will authenticate the user. This user will then be used for logging
events. All events logged when a job is run via the UI are now also logged
by <code>bric_queued</code>. [Mark and David]</li><li>Preview redirections now use the protocol setting of the preview output
channel if it’s available, and falls back on using http:// when
it’s not, instead of using the hard-coded http://. Thanks to
Martin Bacovsky for the spot! [David]</li><li>The <code>has_keyword()</code> method in the Business class (from which
the story and media classes inherit) now works. Thanks to Clare Parkinson for
the spot! [David]</li><li>Clicking a link in the left-side navigation after the session has expired
now causes the whole window to show the login form, rather than it showing
inside the nav frame, which was useless. [Marshall]</li><li>The JavaScript that validates form contents once again works with
htmlArea, provided htmlArea itself is patched. See the relevant <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1155712&group_id=69750&atid=525656">htmlArea
bug report</a> for the patch. As of this writing, you must run the version of
htmlArea in CVS. [David & Marshall]</li><li>The JavaScript that handles the double list manager has been vastly
optimized. It should now be able to better handle large lists, such as a list
of thousands of categories. Reported by Scott. [Marshall]</li><li>Uploading a new image to a media document with a different media type than
the previous image no longer causes an Imager error. [David]</li></ul><p>For a complete list of the changes, see the <a href="http://www.bricolage.cc/news/announce/changes/bricolage-1.8.5/">changes</a>.
For the complete history of ongoing changes in Bricolage, see <a href="http://www.bricolage.cc/docs/api/current/Bric::Changes">Bric::Changes</a>.</p><p>Download Bricolage 1.8.5 now from the Bricolage Web site <a href="http://www.bricolage.cc/downloads/">Downloads page</a>, from the <a href="http://sourceforge.net/project/showfiles.php?group_id=281500">SourceForge
download page</a>, and from the <a href="http://www.kineticode.com/bricolage/index2.html">Kineticode download
page</a>.</p><p> <strong>About Bricolage</strong> </p><p>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 quite possibly the most capable enterprise-class open-source
application available by <cite>eWEEK</cite>.</p>Theory2005-03-19T06:56:47+00:00journalBricolage 1.8.3 Released
http://use.perl.org/~Theory/journal/21787?from=rss
<p>The Bricolage development team is pleased to announce the release of Bricolage
1.8.3. This maintenance release addresses a number of issues in Bricolage
1.8.2. The most important changes eliminate or greatly reduce the number of
deadlocks caused during bulk publishes of many documents. Other changes
include new contributed scripts for importing contributors and for generating
thumbnail images, Russian localization, and various fixes for database
transaction, template formatting, and various user interface fixes. Here are
the other highlights of this release:</p><p>
Improvements
</p><ul>
<li>Added <em>contrib/thumbnails/precreate-thumbs.pl</em> script to pre-create
thumbnails from images. Useful for upgraders. [Scott]</li><li>Added <em>contrib/bric_import_contribs</em> to import contributors from a
tab-delimited file. Development by Kineticode, sponsored by the RAND
Corporation. [David]</li><li>Added the <code>published_version</code> parameter to
the <code>list()</code> methods of the story, media, and template
classes. This parameter forces the search to return the versions of the assets
as they were last published, rather than the most recent version. This will be
most useful to those looking up other documents in templates and publishing
them, as a way of avoiding pulling documents out from other anyone who might
have them checked out! [David]</li><li>All publishing and distribution jobs are now executed in their own
transactions when they are triggered by the user interface. This is to reduce
the chances of a deadlock between long-running publishing
transactions. [David]</li><li>Optimized SQL queries for key names or that order by string values to use
indexes in the <code>list()</code> and <code>list_ids()</code> methods of the
story, media, and template classes. [David]</li><li>Added Russian localization.
[Sergey Samoilenko].</li><li>Changed the foreign keys in the story, media, and formatting (template)
tables so that <code>DELETE</code>s do not cascade, but are restricted. This
means that before deleting any source, element, site, workflow, or other
related object that has a foreign key reference in an asset table, those rows
must be deleted. Otherwise, PostgreSQL will throw an exception. Hopefully,
this will put a stop to the mysterious but very rare disappearance of stories
from Bricolage. [David]</li><li>A call to <code>$burner->burn_another</code> in a template that passes
in a date/time string in the future now causes a publish job to be scheduled
for that time, rather than immediate burning the document and then scheduling
the distribution to take place in the future. Reported by Ashlee
Caul. [David]</li><li>Changing the sort order of a list of items in a search interface now
properly reverses the entire collection of object over the pages, rather than
just the objects for the current page. Thanks to Marshall for the spot!
[David]</li></ul><p>
Bug Fixes
</p><ul>
<li>Publishing stories not in workflow via the SOAP server works again.
[David]</li><li>The Burner object’s <code>encoding</code> attribute is now setable
as well as readable. [David]</li><li>The category browser works again. [David]</li><li>Fixed Media Upload bug where the full local path was being used, by adding
a winxp key to Bric::Util::Trans::FS to account for an update to
HTTP::BrowserDetect. [Mark Kennedy]</li><li>Instances of a required custom field in story elements is no longer
required once it has been deleted from the element definition in the element
manager. Reported by Rod Taylor. [David]</li><li>A false value passed to the <code>checked_out</code> parameter of
the <code>list()</code> and <code>list_ids()</code> methods of the story,
media, and template (formatting) classes now properly returns only objects or
IDs for assets that are not checked out. [David]</li><li>The cover date select widget now works properly in the clone interface
when a non-ISO style date preference is selected. Thanks to Susan G. for the
spot! [David]</li><li>Sorting templates based on Asset Type (Element) no longer causes an
error. [David]</li><li>Fixed a number of the callbacks in the story, media, and template profiles
so that they didn’t clear out the session before other callbacks were
done with it. Most often seen as the error Can’t call
method get_tiles on an undefined value in the media profile,
especially with IE/Windows (for some unknown reason). Reported by Ed
Stevenson. [David]</li><li>Fixed typo in clone page that caused all output channels to be listed
rather than only those associated with the element itself. [Scott]</li><li>Fixed double listing of the All group in the group membership
double list manager. [Christian Hauser]</li><li>Image buttons now correctly execute the <code>onsubmit()</code> method for
forms that define an <code>onsubmit</code> attribute. This means that, among
other things, changes to a group profile will persist when you click
the Permissions button. [David]</li><li>Simple search now works when it is selected when the Default Search
preference is set to Advanced. Reported by Marshall Roch. [David]</li><li>Multiple alert types set up to trigger alerts for the same event will now
all properly execute. Thanks to Christian Hauser for the spot! [David]</li><li>Publishing stories or media via SOAP with the <code>published_only</code>
parameter (<code>--published-only</code> for <em>bric_republish</em>) now
correctly republishes the published versions of documents even if the current
version is in workflow. Reported by Adam Rinehart. [David]</li><li>Users granted a permission greater than READ to the members of the All
Users group no longer get such permission to any members of the Global
Admins group unless they have specifically been granted such permission to
the members of the Global Admins group. Thanks to Marshall Roch for the
spot! [David]</li></ul><p>For a complete list of the changes, see the <a href="http://www.bricolage.cc/news/announce/changes/bricolage-1.8.3/">changes</a>. For
the complete history of ongoing changes in Bricolage, see <a href="http://www.bricolage.cc/docs/api/current/Bric::Changes">Bric::Changes</a>.</p><p>Download Bricolage 1.8.3 now from the Bricolage Website <a href="http://www.bricolage.cc/downloads/">Downloads page</a>, from the <a href="http://sourceforge.net/project/showfiles.php?group_id=281500">SourceForge
download page</a>, and from the <a href="http://www.kineticode.com/bricolage/index2.html">Kineticode download
page</a>.</p><p>
About Bricolage
</p><p>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 quite possibly the most capable enterprise-class open-source
application available by <cite>eWEEK</cite>.</p><p>Enjoy!</p><p>--The Bricolage Team</p>Theory2004-11-10T00:08:20+00:00journalSVN::Notify 2.00 Hits CPAN
http://use.perl.org/~Theory/journal/21191?from=rss
<p>I've <a href="http://www.justatheory.com/computers/programming/perl/svnnotify_2.0.html">released</a> <a href="http://search.cpan.org/dist/SVN-Notify/">SVN::Notify</a>, a port of my widely-used <em>activitymail</em> script from CVS to Subversion and from a script to a genuine class.</p><p>Enjoy!</p>Theory2004-10-05T02:19:32+00:00journalBricolage 1.8.2 Released
http://use.perl.org/~Theory/journal/20856?from=rss
<p>The Bricolage development team is pleased to announce the release of Bricolage 1.8.2.
This maintenance release addresses quite a large number of issues in Bricolage 1.8.1.
The most important changes were to enhance Unicode support in Bricolage.
Bricolage now internally handles all text content as UTF-8 strings,
thus enabling templates to better control the manipulation of multibyte characters.
Other changes include better performance for searches using the <code>ANY()</code> operators and more intelligent transaction handling for distribution jobs.
Here are the other highlights of this release:</p><p> <strong>Improvements</strong> </p><ul>
<li>Bricolage now runs under a DSO <code>mod_perl</code> as long as it uses a Perl
compiled
with <code>-Uusemymalloc</code> <em>or</em> <code>-Ubincompat5005</code>. See <a href="http://perl.apache.org/docs/1.0/guide/install.html#When_DSO_can_be_Used">The <code>mod_perl</code>
FAQ</a> for details.</li><li>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.</li><li>Added <code>bric_media_dump</code> script to <code>contrib/</code>.</li><li>The category association interface used in the story profile when the <code>ENABLE_CATEGORY_BROWSER</code> <em>bricolage.conf</em> directive is enabled now uses radio buttons instead of a link to select the primary category.
Suggested by Scott Lanning.</li><li>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.</li><li>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 <code><%filter></code> blocks to convert content to another encoding using something like <code>Encode::from_to($_,
'utf-8',
$encoding)</code> must now use something like <code>$_ = Encode::encode($encoding,
$_)</code>,
instead.
Bric::Util::CharTrans should continue to do the right thing.</li><li>Added <code>encoding</code> attribute to Bric::Util::Burner so that,
if templates are outputting something other than Perl <code>utf8</code> 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.</li><li>Added <code>SFTP_HOME</code> <em>bricolage.conf</em> directive to specify the home directory and location of SSH keys when SSH is enabled.</li></ul><p> <strong>Bug Fixes</strong> </p><ul>
<li> <code>make clone</code> once again properly copies the <em>lib/Makefile.PL</em> and <em>bin/Makefile.PL</em> files from the source directory.</li><li>Added missing language-specifying HTML attributes so as to properly localize story titles and the like.</li><li>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.</li><li>The Advanced Search interface once again works for searching for related story and media documents.</li><li>Bricolage no longer attempts to email alerts to an empty list of recipients.
This will make your SMTP server happier.</li><li>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.</li><li>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.</li><li>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.</li><li>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.</li><li>Deleted output channels no longer show up in the select list for story type and media type elements.</li><li>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 restart.</li><li>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.</li><li>Content submitted to Bricolage in the UTF-8 character set is now always has the <code>utf8</code> 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.</li><li>Elements with autopopulated fields (e.g.,
for image documents) can now be created via the SOAP interface.</li><li>Fixed a number of the parameters to the <code>list()</code> method of the Story,
Media,
and Template classes to properly handle an argument using the <code>ANY</code> operator.
These include the <code>keyword</code> and <code>category_uri</code> parameters.
Passing an <code>ANY</code> 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.</li><li>Template sandboxes now work for the Template Toolkit burner.</li></ul><p>For a complete list of the changes, see the <a href="http://www.bricolage.cc/news/announce/changes/bricolage-1.8.2/">changes</a>. For
the complete history of ongoing changes in Bricolage, see <a href="http://www.bricolage.cc/docs/api/current/Bric::Changes">Bric::Changes</a>.</p><p>Download Bricolage 1.8.2 now from the Bricolage Website <a href="http://www.bricolage.cc/downloads/">Downloads page</a>, from the <a href="http://sourceforge.net/project/showfiles.php?group_id=34789">SourceForge
download page</a>, and from the <a href="http://www.kineticode.com/bricolage/index2.html">Kineticode download
page</a>.</p><p> <strong>About Bricolage</strong> </p><p>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 quite possibly the most capable enterprise-class open-source
application available by <cite>eWEEK</cite>.</p><p>Enjoy!</p><p>--The Bricolage Team</p>Theory2004-09-13T17:04:28+00:00journalBricolage 1.8.1 Released
http://use.perl.org/~Theory/journal/19760?from=rss
<p>The Bricolage development team is pleased to announce the release of Bricolage 1.8.1.
This maintenance release address a number of issues in Bricolage 1.8.0.
Here are the highlights:</p><p>
Improvements
</p><ul>
<li>More complete Traditional Chinese and Simplified Chinese
localizations. Also, the Mandarin localization now simply inherits from the
Traditional Chinese localization.</li><li> <code>make clone</code> now copies the <em>lib</em> directory and all of the <em>bin</em> scripts from the target to the clone,
rather than from the sources.
This allows any changes that have been made to scripts and classes to be properly cloned.</li><li>When installing Bricolage,
it will now allow you to proceed if the database already exists by asking if you want to create the Bricolage tables in the existing database.
Suggested by Mark Fournier and Marshall Roch.</li><li>The installer is now a bit smarter in how it handles loading the
<code>log_config</code> (or <code>config_log</code>, as the case may be)
module.</li><li>Added language-specific style sheets.
This is especially useful for right-to-left languages or for languages that require special fonts.</li><li>The New Alias search interface now displays thumbnails when searching for media documents to alias and the <code>USE_THUMBNAILS</code> <em>bricolage.conf</em> directive is enabled.</li><li>Aliases can now be made to documents within the same site.</li><li>The SOAP interface for importing and exporting elements now properly has key_name XML elements instead of name XML elements.
The changes are backwards compatible with XML exported from Bricolage 1.8.0 servers,
however.</li><li>Added <code>move()</code> method to the virtual FTP interface.
This means that to deploy a template,
rather than having to rename it locally to append<nobr> <wbr></nobr>.deploy
one can simply move in FTP to its new name with<nobr> <wbr></nobr>.deploy on appended to the new name.</li><li>Document expirations are now somewhat more intelligent.
Rather than just scheduling an expiration job only if there is an expiration date the first time a document is published,
Bricolage will now always schedule an expiration job for a document provided that one does not already exist (scheduled or completed) for the same time and for one of the file resources for the document.
This should allow people to more easily and arbitrarily expire content whenever necessary.</li><li>Burner notes now persist for all sub burns (triggered by <code>publish_another()</code> and <code>preview_another()</code> in a single burn.</li><li>Added ability to create and manage groups of objects for several different types of objects.
Also added the ability manage group membership within the administrative profiles for those objects.
This change makes it possible to give users permission to administer subsets of objects.
The new groupable objects are:</li><li><ul>
<li>Preferences</li><li>Groups</li><li>Alert Types</li><li>Element Types</li><li>Keywords</li><li>Contributors</li></ul></li><li>Alert rules are now evaluated within a safe compartment (using Safe.pm) to prevent security exploits.</li><li>The Bulk Publish admin tool is no longer limited to use only by members of the Global Admins group.
Now anyone can use it.
All one needs is READ permission to the categories of stories,
and PUBLISH permission to the stories and media documents to be published.</li></ul><p>
Bug Fixes
</p><ul>
<li>Eliminated Bareword "ENABLE_HTMLAREA" not allowed while "strict subs" in use warning that prevented startup for some installations.</li><li>Changes made to user or contributor contacts without changing any other part of the user or contributor object are now properly saved.</li><li>The upgrade to 1.8.0 now correctly updates story URIs that use the URI Suffix of an output channel instead of using the URI Prefix twice.</li><li>Aliases of Image,
Audio,
or Video media documents no longer remain stuck on desks.</li><li>Related media and story subelements of media documents now work properly.</li><li>Calls to <code>preview_another()</code> in Bric::Util::Burner will now use any templates in the current user's sandbox and properly burn them to the preview root rather than to the staging root used for publishing.</li><li>Contributor fields for roles other than the default role now properly store and retain their values.</li><li>The virtual FTP server now properly checks out templates when a template is uploaded and is already in workflow.</li><li>Uploading a non-existent template via the virtual FTP server now correctly creates a new template.
The type of template depends on the name of the template being uploaded,
and for element templates,
on whether there is an element with the appropriate key name.
The user must have CREATE permission to All Templates or to the start desk in the first template workflow in the relevant site.</li><li>Reverting a document or template to the current version number now properly reverts all changes to the time the user checked out the document or template.
Reversion is also a bit more efficient in how it looks up the previous version in the database.</li><li>The SOAP server now rolls back any changes whenever an error is thrown.
This prevents problems when a few objects are created or updated before an exception is thrown.
Now any error will cause the entire SOAP request to fail.
Thanks to Neal Sofge for the spot!</li></ul><p>For a complete list of the changes, see the <a href="http://sourceforge.net/project/shownotes.php?release_id=251820">release notes and changes
list</a>. For the complete history of ongoing changes in Bricolage, see <a href="http://www.bricolage.cc/docs/api/current/Bric::Changes">Bric::Changes</a>.</p><p>Download Bricolage 1.8.1 now from the <a href="http://sourceforge.net/project/showfiles.php?group_id=34789">SourceForge download page</a> or
from the <a href="http://www.kineticode.com/bricolage/index2.html">Kineticode download page</a> </p><p>
About Bricolage
</p><p>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.</p><p>Enjoy!</p><p>--The Bricolage Team</p>Theory2004-07-08T23:26:23+00:00journalApache::TestMB Released!
http://use.perl.org/~Theory/journal/19553?from=rss
<p>Get the story <a href="http://www.justatheory.com/computers/programming/perl/mod_perl/apache_testmb_released.html"> here</a>.</p>Theory2004-06-28T18:34:08+00:00journalNew Blog
http://use.perl.org/~Theory/journal/19079?from=rss
<p> <a href="http://www.justatheory.com/">http://www.justatheory.com/</a> </p><p>This space intentionally left blank.</p>Theory2004-06-04T00:44:43+00:00journalInternationalizing Numbers in Address Book
http://use.perl.org/~Theory/journal/18860?from=rss
<a href="Anyone know how to automate this?"> </a>
<p>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.</p><p>Thanks!</p><p>David</p>Theory2004-05-21T01:52:27+00:00journalIn Search of a Server
http://use.perl.org/~Theory/journal/18639?from=rss
<a href="Can you help us out?"> </a>
<p>The <a href="http://www.bricolage.cc/">Bricolage community</a> is currently working on the design for a <a href="http://www.spastically.com/projects/bricolage/sitemockup/">new Bricolage site</a>. The site will of course be managed in Bricolage. But we need a server!</p><p>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!</p><p>David</p>Theory2004-05-06T03:46:22+00:00journalBricolage 1.8.0 Arrives!
http://use.perl.org/~Theory/journal/18614?from=rss
<a href="At long last, it' here!"> </a>
<p>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:</p><ul>
<li>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.</li><li>Significant performance boosts to search queries and URI uniqueness validation.</li><li>Email document distribution,
which can be used to email the files generated by an output channel to one or more email addresses.</li><li>A greatly simplified and flexible templating and element API.</li><li>Template sandboxes to enable template development without interfering with production templates.</li><li>Support for Template Toolkit templates (http://www.template-toolkit.org).</li><li>New "Publish" and "Recall" permissions,
for improved workflow management.</li><li>Per-user preferences.</li><li>Document formatting at publish time,
rather than publish scheduling time.</li><li>New German and Mandarin localizations.</li><li>Image thumbnails and icons for all media documents.</li><li>Support for HTMLArea WYSIWYG editing with HTMLArea.
See <a href="http://www.interactivetools.com/products/htmlarea/">http://www.interactivetools.com/products/htmlarea/</a>.</li></ul><p>For a complete list of the changes, see the <a href="http://sourceforge.net/project/shownotes.php?release_id=235793">release
notes and changes list</a> on SourceForge. For the complete history of
ongoing changes in Bricolage, see <a href="http://www.bricolage.cc/docs/Bric/Changes.html">Bric::Changes</a>.</p><p>Download Bricolage 1.8.0 now from the <a href="http://www.kineticode.com/bricolage/index2.html">Kineticode download page</a> or from the <a href="http://sourceforge.net/project/showfiles.php?group_id=34789">SourceForge download
page</a>.</p><p>
ABOUT BRICOLAGE
</p><p>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.</p><p>Enjoy!</p><p>--The Bricolage Team</p>Theory2004-05-04T16:22:01+00:00journalBricolage 1.7.5 "Ashland" (1.8.0 RC2)
http://use.perl.org/~Theory/journal/18283?from=rss
<a href="Expect 1.8.0 in two weeks."> </a>
<p>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:</p><ul>
<li>New Features</li><li><ul>
<li>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]</li><li>Added <code>SFTP_MOVER_CIPHER</code> bricolage.conf directive to tune the SFTP
mover (if enabled) to the best cipher for good performance on the
wire. [David]</li></ul></li><li>Improvements</li><li><ul>
<li>Added site and output channel support to bric_template_diff and
bric_template_patch in contrib. [David]</li><li>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]</li><li>Spell checking now works in HTMLArea. [Eric Sellers]</li><li>When creating a new story without a slug, Bricolage will now
autogenerate a slug based on the title. [João Pedro]</li><li>Added single underscore parameters to the <code>list()</code> methods of the
Story, Media, and Template classes to complement those that have the
awful double underscores. [David]</li><li>Made SOAP modules more tolerant of lack of sites in 1.6. [Scott]</li><li>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]</li><li>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]</li><li>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]</li><li>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]</li><li><p>
<code>make clone</code> now provides the current date and time for the default
name for the cloned package. Suggested by Marshall Roch. [David]</p></li>
</ul></li><li>Bug Fixes</li><li><ul>
<li>Bricolage no longer tries to display thumbnails for related stories,
since stories don't have thumbnails and would therefore create an
error. [Eric Sellers]</li><li>Text::Levenshtein is again correctly loaded as an optional module,
not a required module. Reported by Marshall Roch. [David]</li><li>Bric::Util::Burner's <code>preview_another()</code> method now actually works.
Thanks to Serge Sozonoff for the spot. [David]</li><li>Fixed clone interface for IE users. Spotted by Serge Sozonoff.
[Scott]</li><li>Some of the supported values for the <code>Order</code> parameter to the Story,
Media, and Template classes, such as <code>category_uri</code>, did not work
before. Now they do. [David]</li><li>Changing categories on a template no longer creates Frankensteinian
template paths. [David]</li><li>Added constant <code>HAS_MULTISITE</code> to the Bric base classe so that all
classes properly declare themselves for UI search results. [João
Pedro]</li><li>Story and Media SOAP calls now correctly use the element's key name
to identify the element. [João Pedro]</li><li>Story, Media, and Template creation via SOAP now correctly look up
the Category by URI and site ID. [João Pedro & David]</li><li>The Template SOAP interface now suports the <code>site</code> parameter to
<code>list_ids()</code>. [David]</li><li>The Story, Template, and Media SOAP <code>list_ids()</code> intefaces now
properly look up categories, output channels, and workflows with the
<code>site</code> paremeter, if there is one. [David]</li><li>The <code>LOAD_LANGUGES</code> and <code>LOAD_CHAR_SETS</code> directives are now space
delimited, to better match other bricolage.conf options. [David]</li><li>Aliased media documents now correctly point to the file name for the
aliased media document. Reported by Patrick Walsh. [David]</li><li>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]</li><li>The publish status and version is once again properly set for media
when they are published. Reported by Serge Sozonoff. [David]</li><li>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]</li><li>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]</li><li>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]</li></ul></li>
</ul><p>For a complete list of the changes, see the <a href="http://sourceforge.net/project/shownotes.php?release_id=230340">changes
file</a>.</p><p> <b>ABOUT BRICOLAGE</b> </p><p>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 <a href="http://www.masonhq.com/">HTML::Mason</a>,
<a href="http://search.cpan.org/dist/HTML-Template/">HTML::Template</a>,
and <a href="http://www.tt2.org/">Template Toolkit</a>
support for flexibility, and many other features. It operates in an
<a href="http://httpd.apache.org/">Apache</a>/<a href="http://perl.apache.org/">mod_perl</a> environment, and uses the
<a href="http://www.postgresql.org/">PostgreSQL</a> RDBMS for its
repository. A comprehensive, actively-developed open source CMS, Bricolage has
been hailed as "Most Impressive" in 2002 by eWeek.</p><p>Learn more about Bricolage and download it from the <a href="http://bricolage.cc/">Bricolage home page</a>.
</p><p>Enjoy!</p>Theory2004-04-11T15:38:41+00:00journalCross-Platform Conferencing Software?
http://use.perl.org/~Theory/journal/18219?from=rss
<a href="What are the best options?"> </a>
<p>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!).</p><p>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?</p><p>Thanks,</p><p>David</p>Theory2004-04-06T16:39:37+00:00journalBricolage-Devel 1.7.4
http://use.perl.org/~Theory/journal/17961?from=rss
<a href="Alllmoooost therre..."> </a>
<p>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:</p><ul>
<li>New Features</li><li><ul>
<li>A "Bulk Publish" link in ADMIN->PUBLISHING that lets
members of the Global Admins group publish story and media documents
by category. [Scott]</li><li>Added <code>notes()</code> method to Bric::Util::Burner, along with the
accompanying <code>clear_notes()</code>. The <code>notes()</code> 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 <code>burn_one()</code>.
[David]</li><li>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]</li><li>Added support for icons for all media documents when the
<code>USE_THUMBNAILS</code> 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 href="http://artist.kde.org/new/license.html#others">a free
license</a>), 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
<code>copy_gnome_icons</code> script in contrib makes it easy to use GNOME
icons. [David]</li><li>Added <code>bric_template_diff</code> and <code>bric_template_patch</code> scripts in
contrib/bric_template_diff. These scripts can be used to sync
templates between two Bricolage servers. [Sam]</li><li>added <code>bric_media_load</code> to <code>contrib/</code>. This script copies media into
Bricolage while accounting for the new to update existing media.
[Sam]</li><li>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]</li></ul></li><li>Improvements</li><li><ul>
<li>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]</li><li>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]</li><li>Modified the indexes on the <code>workflow__id</code> and <code>desk__id</code> 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]</li><li>Added a method <code>is_fixed</code> 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]</li><li>Added the <code>ENABLE_OC_ASSET_ASSOCIATION</code> bricolage.conf directive to
remove the ability to associate output channels from the story and
media profiles. [Scott]</li><li>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]</li><li>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]</li><li>Added the ability to Delete from desks (same as My Workspace). Note
however, that you can't delete from a publish desk. [Scott]</li><li>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]</li><li>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]</li><li> <p>Modified the <code>get_containers()</code> 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:</p><blockquote><div><p> <tt>for ( my $x = 1; my $quote = $element->get_container('quote', $x); $x++ ) {<br> $burner->display_element($quote);<br>}</tt></p></div> </blockquote><p>With this:</p><blockquote><div><p> <tt>for my $quote ($element->get_containers('quote')) {<br> $burner->display_element($quote);<br>}</tt></p></div> </blockquote><p>And is more efficient, too. [David]</p></li><li>Modified the <code>get_elements()</code> 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]</li><li>Added the <code>get_data_elements()</code> method to
Bric::Biz::Asset::Business::Parts::Tile::Container. This method
functions exactly like <code>get_containers()</code> 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]</li><li>The <code>ANY()</code> subroutine will now throw an exception if no arguments
are passed to it. Suggested by Dave Rolsky. [David]</li><li>Added the <code>unexpired</code> parameter to the <code>list()</code> 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]</li><li>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]</li><li>Eliminated another SQL performance bottleneck with simple searches
of media assets. [João Pedro]</li><li>Images with no dimension greater than the <code>THUMBNAIL_SIZE</code>
bricolage.conf directive are no longer expanded to have one side at
least <code>THUMBNAIL_SIZE</code> pixels, but are left alone. [David]</li><li>Thumbnails are now displayed when searching media to related to an
element. [David]</li><li>Thumbnails are now displayed in related media subelements. [David]</li><li>Added <code>preview_another()</code> method to Bric::Util::Burner. This method
is designed to be the complement of <code>publish_another()</code>, 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]</li><li>Added the <code>subelement_key_name</code> parameter to the <code>list()</code> 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]</li><li>Added support for all of the parameters to the <code>list_ids()</code> method
of the Story, Media, and Template classes to the <code>list_ids()</code> method
of the corresponding SOAP classes. This allows for much more robust
searches via the SOAP interface. [David & Scott]</li><li>Eliminated <code>login_avail()</code> 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 <code>usr</code>
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]</li></ul></li><li>Bug Fixes</li><li><ul>
<li> <code>make clone</code> 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]</li><li>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]</li><li>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]</li><li>Image files uploaded in formats not recognized by Image::Info no
longer trigger an error. Reported by Alexander Ling. [David]</li><li>Changing the cover date of a media document once again correctly
updates the primary URI of the media document. Reported by Serge
Sozonoff. [David]</li><li>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]</li><li>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]</li><li>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]</li><li> <code>Bric::SOAP::Category->list_ids</code> now converts site names to site
IDs. [João Pedro]</li><li> <code>Bric::Util::Burner->preview</code> once again defaults to previewing in
an asset's primary output channel instead of using the element's
primary output channel. [João Pedro]</li><li>Added <code>first_publish_date</code> attribute to the SOAP input and output
for stories and media. [David]</li><li>The category SOAP class now correctly calls <code>lookup()</code> with the site
ID to prevent multiple categories with the same names but in
different sites from being looked up. [João Pedro]</li><li>User overrideable preferences are now properly checked for
permissions to allow users with READ permission to a user to see the
permissions. [David]</li><li>Users can now edit their own user-overrideable preferences. [David]</li><li>Group management now works more correctly in user profiles where
users have on READ access to the user object. [David]</li><li>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]</li></ul></li>
</ul><p>For a complete list of the changes, see the <a href="http://sourceforge.net/project/shownotes.php?release_id=224711">changes
file</a>.</p><p> <b>ABOUT BRICOLAGE</b> </p><p>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 <a href="http://www.masonhq.com/">HTML::Mason</a>,
<a href="http://search.cpan.org/dist/HTML-Template/">HTML::Template</a>,
and <a href="http://www.tt2.org/">Template Toolkit</a>
support for flexibility, and many other features. It operates in an
<a href="http://httpd.apache.org/">Apache</a>/<a href="http://perl.apache.org/">mod_perl</a> environment, and uses the
<a href="http://www.postgresql.org/">PostgreSQL</a> RDBMS for its
repository. A comprehensive, actively-developed open source CMS, Bricolage has
been hailed as "Most Impressive" in 2002 by eWeek.</p><p>Learn more about Bricolage and download it from the <a href="http://bricolage.cc/">Bricolage home page</a>.
</p><p>Enjoy!</p><p>David</p>Theory2004-03-19T06:38:41+00:00journalactivitymail 1.19
http://use.perl.org/~Theory/journal/17859?from=rss
<a href="Now with file includes and excludes."> </a>
<p>I'm pleased to announce the release of <a href="http://search.cpan.org/dist/activitymail/">activitymail</a> 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 <a href="http://www.askbjoernhansen.com/">Ask</a> mentioned it to me a couple of years ago. A patch from Gary Meyer ported <code>log_accume</code>'s <code>-I</code> and <code>-E</code> 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.</p><p>So starting with Gary's patch, I've modified the <code>-I</code> and <code>-E</code> 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 <code>-I</code> regular expression) or exclude the file (in the case of a <code>-E</code> regular expression). Needless to say, both <code>-I</code> and <code>-E</code> cannot be included in a single invocation of activitymail. You can even pass multiple regular expressions to a single <code>-I</code> or <code>-E</code> option, delimited by an empty space. This means you can't use spaces in your regular expressions, though; use <code>\s</code>, instead.</p><p>The expected use for these new options is in combination with the regular expressions in the CVS <code>loginfo</code> file. You can specify that activitymail be executed for a particular directory, and then use <code>-I</code> or <code>-E</code> to include or exclude specific files in that directory.</p><p>One other new feature of activitymail 1.19 is the new <code>-q</code> and <code>-Q</code> 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 <code>-q</code> option can be used for most cases; the <code>-Q</code> 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 <code>-M</code> option.</p><p>Enjoy!</p><p>David</p>Theory2004-03-11T17:54:26+00:00journalactivitymail 1.18
http://use.perl.org/~Theory/journal/17730?from=rss
<a href="Fixes bugs handling file names with spaces."> </a>
<p>Just thought I'd pop a quick note here to announce that I've released activitymail 1.18, now wending its way to a <a href="http://search.cpan.org/dist/activitymail/">CPAN</a> 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!</p>Theory2004-03-03T01:55:42+00:00journalBricolage-Devel 1.7.3
http://use.perl.org/~Theory/journal/17709?from=rss
<a href="Next up, RC1."> </a>
<p>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:</p><ul>
<li>New Features</li><li><ul>
<li>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<nobr> <wbr></nobr><code>.deploy</code> to their names. The
original behavior of always deploying templates upon upload can be
restored by enabling the <code>FTP_DEPLOY_ON_UPLOAD</code> bricolage.conf
directive. [David]</li>
<li>Added <code>ANY</code> 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]</li>
<li>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]</li>
<li>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 <code>USE_THUMBNAILS</code> bricolage.conf directive. See
Bric::Biz::Asset::Business::Media::Image for more information. [Paul
Orrock/ Digital Craftsmen]</li>
</ul></li><li>Improvements</li><li><ul>
<li>More story, media, and template query optimization. [David]</li>
<li>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]</li>
<li>Thanks to the aggregation of group IDs into a single row for each
story, media and template object, the <code>Offset</code> and <code>Limit</code>
parameters to the <code>list()</code> 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.</li>
<li>Added <code>get_element()</code> method to Bric::Biz::Asset::Business and
deprecated the <code>get_tile()</code> method. This will make things a bit more
consistent for template developers, at least. [David]</li>
<li>Added <code>primary_category_id</code> parameter to the story class' <code>list()</code>
method. [David]</li>
<li>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]</li>
<li>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]</li>
<li>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]</li>
<li>When publishing from a publish desk, you can now uncheck related
assets in order to not publish them. [Scott]</li>
</ul></li><li>Bug Fixes</li><li><ul>
<li>The virtual FTP server now correctly creates a utility template when
a template with an unknown name is uploaded. [David]</li>
<li>The virtual FTP server now pays proper attention to all permissions.
[David]</li>
<li>A number of upgrade script annoyances were cleared up. [David]</li>
<li>The <code>simple</code> parameter to the Media class' <code>list()</code> method works
again. As a result, so does "Find Stories" in the UI. [David]</li>
<li>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]</li>
<li>Fixed Template Element list, where container elements appeared
twice. [Joao Pedro]</li>
<li>Changes to site settings are now correctly reflected in the UI for
all users as soon as they are made. [David]</li>
<li>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]</li>
<li>The workflow profile no longer displays deactivated sites in the
site select list. Thanks to Serge Sozonoff for the spot. [David]</li>
<li>Fixed URI uniqueness upgrade scripts, which were having problems
with PostgreSQL permissions. [David]</li>
<li> <code>make clone</code> works again. [David]</li>
<li>Distribution jobs can be edited via the UI again. Thanks to Marshall
Roch for the spot. [David]</li>
<li>Publishes once again work when the "Date/Time Format" preference is
set to something other than ISO-8601. Reported by Marshall Roch.
[David]</li>
<li>Fixed previewing with multiple OCs. [Serge Sozonoff]</li>
<li>Fixed a bug in <code>bric_soap story create/update</code> caused by refactoring
in version 1.7.0. Found by David during a demo. [Scott]</li>
<li>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]</li>
<li>The workflow menus in the side navigation layer no longer disappear
after a server restart. Reported by Ben Bangert. [David]</li>
<li>The Mason burner's special <code><%publish></code>, <code><%preview></code>, and
<%chk_syntax> tags now work as advertised. Reported by Ben
Bangert. [David]</li>
</ul></li>
</ul><p>For a complete list of the changes, see the <a href="http://sourceforge.net/project/shownotes.php?release_id=220916">changes
file</a>.</p><p> <b>ABOUT BRICOLAGE</b> </p><p>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 <a href="http://www.masonhq.com/">HTML::Mason</a>,
<a href="http://search.cpan.org/dist/HTML-Template/">HTML::Template</a>,
and <a href="http://www.tt2.org/">Template Toolkit</a>
support for flexibility, and many other features. It operates in an
<a href="http://httpd.apache.org/">Apache</a>/<a href="http://perl.apache.org/">mod_perl</a> environment, and uses the
<a href="http://www.postgresql.org/">PostgreSQL</a> RDBMS for its
repository. A comprehensive, actively-developed open source CMS, Bricolage has
been hailed as "Most Impressive" in 2002 by eWeek.</p><p>Learn more about Bricolage and download it from the <a href="http://bricolage.cc/">Bricolage home page</a>.
</p><p>Enjoy!</p><p>David</p>Theory2004-03-02T06:13:10+00:00journalBricolage 1.6.10 "Jump"
http://use.perl.org/~Theory/journal/17684?from=rss
<a href="Get ready to jump to 1.8.0!"> </a>
<p>I'm pleased to announce the release of Bricolage 1.6.10 "Jump". This
maintenance release addresses a number issues discovered since the release
of version 1.6.9. Here is the complete list of chnages for this release:</p><ul>
<li>Added missing index to the "workflow__id" column of the "story",
"media", and "formatting" (template) tables. [David]</li><li>Made index on the "desk__id" column of the "story", "media", and
"formatting" (template) tables a partial index, since the column
will usually be "NULL". [David]</li><li>Added an index to the description column of the "story_instance",
"media_instance", and "formatting" (template) tables to speed up
simple searches. [David]</li><li>Added missing foreign key constraints for the "desk_id" column of
the "story", "media", and "formatting" (template) tables. [David]</li><li>"make clone" no longer fails when it can't find httpd.conf, because
it no longer looks for it. [David]</li><li>"make clone" no longer assumes that the conf directory is in
$BRICOLAGE_ROOT, and prompts the user to find out. [David]</li><li>Bricolage once again works with Perl 5.6.x and Perl 5.8.1. [David]</li><li>Made bric_republish and bric_dev_sync safe to use with "https://".
[Geoff Richards]</li><li>The user object is no longer instantiated from the database every
time a user sends a request to Bricolage. It appears that this bit
of overhead has unfortunately been imposed on every request since
Bricolage 1.0 due to a very stupid typo. [David]</li><li>The creation of the Bricolage PostgreSQL user and database during
installation no longer complains about usernames or database names
with dashes and other non-alphanumeric characters in them. Thanks to
Marshall Roch for the spot! [David]</li><li>Fixed ancient bug revealed by the release of DBI 1.41. [David]</li><li>Photoshop-generated images no longer make Bricolage choke when
they're uploaded to a Media profile that autopopulates fields.
Reported by Paul Orrock. [David]</li><li>The "lookup()" method of the story, media, and template classes will
now correctly return inactive objects. [David]</li><li>Fixed typo of "CHECK_FREQUENCY" in Bric::Config that made it always
use the default of 1. [Scott]</li><li>The "lookup()" method of the story, media, and template classes once
again attempt to retrieve objects from the per-request cache before
looking them up in the database. [David]</li><li>Changed the name of the event logged when templates are checked out
from "Template Checked Out Canceled" to the correct "Template
Checked Out." [David]</li><li><p>See the <a href="http://sourceforge.net/project/shownotes.php?release_id=220606">changes page</a> for a complete history of
Bricolage changes.</p><p> <b>ABOUT BRICOLAGE</b> </p><p>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 <a href="http://www.masonhq.com/">HTML::Mason</a> and
<a href="http://search.cpan.org/dist/HTML-Template/">HTML::Template</a>
support for flexibility, and many other features. It operates in an
<a href="http://httpd.apache.org/">Apache</a>/<a href="http://perl.apache.org/">mod_perl</a> environment, and uses the
<a href="http://www.postgresql.org/">PostgreSQL</a> RDBMS for its
repository. A comprehensive, actively-developed open source CMS, Bricolage has
been hailed as "Most Impressive" in 2002 by <cite>eWeek</cite>.</p><p>Learn more about Bricolage and download it from the <a href="http://bricolage.cc/">Bricolage home page</a>.
</p><p>Enjoy!</p><p>David</p></li></ul>Theory2004-02-29T21:41:16+00:00journalBricolage-Devel 1.7.2
http://use.perl.org/~Theory/journal/17387?from=rss
<a href="Masive performance improvements abound."> </a>
<p>I'm thrilled to announce the release of Bricolage-Devel 1.7.2, the third
development release for what will eventually 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 second development release, 1.7.1, and
adds several new features and some tremendous performance optimizations. The
most significant changes since 1.7.1 include:</p><ul>
<li>New Features</li><li><ul>
<li>Bricolage now has a much more robust security policy. Users with
permission to edit various objects and groups in the administrative
interface can no longer increase their permissions. Nor can they
manage the membership of groups of which they are not members or do
not have EDIT access to the members. All this is to prevent users
from giving themselves higher permissions. [David]</li><li>Added "publish_another()" method to Bric::Util::Burner. This method
publishes a document other than the one currently being published.
This is useful when a template for one document type needs to
trigger the publish of another document. [David]</li><li>Added new permissions "RECALL" and "PUBLISH". These permissions
apply only to asset groups, including desks, categories, and
workflows. Now users must have RECALL permission to recall assets
from the library and bring them into workflow, and PUBLISH
permission to publish assets. This should make it much easier to
create more flexible permissions to manage approval processes.
[David]</li><li>Bricolage now supports per-user preferences. Admins can mark a
preference as overrideable, which allows users to set this
preference to their preferred value. [Dave Rolsky]</li><li>The character set and language preferences have been moved into the
database, so that these can be overridden by individual users if
needed. [Dave Rolsky]</li><li>Added the "bric_queued" daemon to take advantage of the new
publication scheduling of Bric::Util::Job::Pub. Together with the
use of a carefully tuned instance of Bricolage, these new features
allows the Bricolage administrator to control the amount of system
resources given over to publishing. [Mark]</li><li>German localization completed. [Thorsten Biel]</li><li>Added User and Desk (asset) modules to the SOAP API, added asset
commands to the Workflow module, and made corresponding changes to
bric_soap. [Scott]</li><li>Added "burn_again" attribute to the Mason burner. This method can be
called from within a template to force the burner to burn the
current page again, creating a new file. This can be useful for
creating multi-file output without extra paginated subelements.
[David]</li><li>Added zh-cn localization, with translation based on zh-tw. [Kang-min
Liu]</li></ul></li><li>Improvements</li><li><ul>
<li>Fixed upgrade scripts to be more intelligent in their handling of
transactions. They no longer allow SQL errors without failing the
upgrade. The upgrade scripts have also been updated to ensure
successful upgrades to Bricolage installations as far back as 1.4.0.
[David]</li><li>Added "element_key_name" parameter to the "list()" method of the
story, media, and formatting classes. This makes it easier to use
the name of a story type element, media type element, or template
element to search for assets, rather than the "element__id"
parameter, which isn't as friendly. [David]</li><li>Added "Filter by Site Context" preference. When active, search
results only return assets relative to the site context instead of
all the sites the user has access to [Jo„o Pedro]</li><li>The Mason burner now uses document templates as true dhandlers,
enabling full Mason-style inheritance from autohandlers to work
properly. [David & Dave Rolsky]</li><li>"All *" groups can now be accessed via the Group Manager. Their
names and memberships cannot be edited, but their permissions can.
Inspired by a bug report from Patrick Walsh. [David]</li><li>Queries for stories, media, and templates have been greatly
optimized. Thanks to a large database from *The Register* and query
optimization from Josh Berkus (under sponsorship from WHO) and Simon
Myers of GBDirect, searches for stories in the UI are now 10-40
times faster than they were before (depending on the version of
PostgreSQL you're running). [David]</li><li>Added the "story.category" parameter to the "list()" method of
Bric::Biz::Asset::Business::Story. Pass in a story ID, and a list of
stories in the same categories as the story with that ID will be
returned, minus the story with that ID. This parameter triggers a
complex join, which can slow the query time significantly on
underpowered servers or systems with a large number of stories.
Still, it can be very useful in templates that want to create a list
of stories in all of the categories the current story is in. But be
sure to use the parameter! Thanks to Josh Berkus for his
help figuring out the query syntax. [David]</li></ul></li><li>Bug Fixes</li><li><ul>
<li>Category groups can be edited again. Reported by Alexander Ling.
[David]</li><li>Elements can be edited again. Thanks to Alexander Ling for the spot!
[David]</li><li>Element fields can be edited again without encountering the "called
the removed method 'get_name'" error. Reported by Alexander Ling.
[David]</li><li>Templates can be deleted again. Thanks to Adeola Awoyemi for the
spot! [David]</li><li>Stories and media with non-unique URIs can now be deleted. Reported
by Simon Wilcox. [David]</li><li>Checkin and Publish once again works in the media profile. Thanks to
Alexander Ling for the spot. [David]</li><li>The inline "Bulk Edit" feature in story and media profiles works
again. Thanks to Neal Sofge for the spot! [David]</li><li>Templates are now correctly saved to the user's sandbox when "Save
and Stay" is pressed. [Jo„o Pedro]</li><li>Select lists now correctly save their states so that, for example,
dropdown menus in New Story remember the element and category that
was selected last time. [Scott]</li><li>Sites can now be disassociated with elements. Reported by Alexander
Ling. [David]</li><li>Redirects during previews work again. [David]</li><li>The virtual FTP server works again for the first time since before
the release of 1.7.0. Now when you log in to the FTP server, the
root directory will contain a list of sites. When you change
directories into one of the site directories, you'll see a list of
the output channels in that site. [David]</li><li>The virtual FTP server no longer displays output channels or
categories (or sites) that the user does not have at least READ
permission to access. [David]</li></ul></li>
</ul><p>For a complete list of the changes, see the <a href="http://sourceforge.net/project/shownotes.php?release_id=216763">changes
file</a>.</p><p> <b>ABOUT BRICOLAGE</b> </p><p>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 <a href="http://www.masonhq.com/">HTML::Mason</a>,
<a href="http://search.cpan.org/dist/HTML-Template/">HTML::Template</a>,
and <a href="http://www.tt2.org/">Template Toolkit</a>
support for flexibility, and many other features. It operates in an
<a href="http://httpd.apache.org/">Apache</a>/<a href="http://perl.apache.org/">mod_perl</a> environment, and uses the
<a href="http://www.postgresql.org/">PostgreSQL</a> RDBMS for its
repository. A comprehensive, actively-developed open source CMS, Bricolage has
been hailed as "Most Impressive" in 2002 by eWeek.</p><p>Learn more about Bricolage and download it from the <a href="http://bricolage.cc/">Bricolage home page</a>.
</p><p>Enjoy!</p><p>David</p>Theory2004-02-13T02:09:45+00:00journalBricolage 1.6.9
http://use.perl.org/~Theory/journal/17255?from=rss
<a href="Desirable bugfixes all around."> </a>
<p>I'm pleased to announce the release of Bricolage 1.6.9. This maintenance
release addresses a number issues discovered since the release of version
1.6.8. Here is the complete list of chnages for this release:</p><ul>
<li>Fixed installation and upgrade scripts to use the same perl binary
as was used to execute Makefile.PL. This ensures that all necessary
CPAN modules will be correctly installed and located. [Simon Wilcox]</li><li>Story profile JavaScript validation works again. Thanks to Simon
Wilcox for the spot! [David]</li><li>Eliminated the need for the Apache::ConfigFile module, and thus some
annoying problems with the CPAN indexer when trying to install it.
[David]</li><li>Fixed order of SQL statement execution upon installation so that
dependencies are properly handled. [Mark]</li><li>New file resources created for distribution are now created with the
proper media type. [Mark]</li><li>The German localization module (Bric::Util::Language::de_de) had the
wrong package name, which meant that attempts to use it failed with
the error "Can't locate class method
'Bric::Util::Language::de_de::new' via package
'Bric::Util::Language::de_de'". [Dave Rolsky]</li><li>Added new path to find PostgreSQL installed by some Debian packages.
[Cinly Ooi]</li><li>Workflows with special characters such as "+" and "&" now work
properly in the side navigation. Thanks to Patrick Walsh for the
spot! [David]</li><li>Start desks can no longer be removed from workflows. This prevents
workflows from having no desks, thus avoiding problems adding desks
to such workflows. Reported by Patrick Walsh. [David]</li><li>Pushing the cancel button in a desk profile and then in a workflow
profile no longer redirects back to the desk profile. [David]</li><li>Made publish_date not be empty when publish is done through the SOAP
API and no publish_date argument is passed. [Scott]</li><li>Fixed CPAN installer to correctly update the list of modules to be
installed after a module has been successfully installed. Reported
by Perrin Harkins. [David]</li><li>Checkout checkboxes no longer appear for assets that users don't
have permission to check out. Thanks to Alexander Ling for the spot!
[David]</li><li>Bric::Biz::AssetType::Parts::Data's "lookup()" method now returns
deactivated objects, as it should. Thanks to Nuno Barreto for the
spot. [David]</li><li>Events with attributes with the same name as attributes of the
object the event was triggered on (a common occurrence) no longer
confuses the two. Thanks to Todd Tyree for the spot. [David]</li><li>Users granted permission to access the members of a group via two
user group associations now always get the highest priority
permission, as it should be. Thanks to Patrick Walsh for the spot.
[David]</li><li>Textarea fields in elements no longer lose some of their default
data after editing the field in the element manager. Reported by
Todd Tyree. [David]</li><li>Media assets now properly remember their class, which means that
autopopulated fields (such as "height" and "width" for images) are
autopopulated when a new image file is uploaded. Thanks to Patrick
Walsh for the spot! [David]</li><li>Updated Chinese Traditional localization. [Kang-min Liu]</li></ul><p>See the <a href="http://sourceforge.net/project/shownotes.php?release_id=215294">changes page</a> for a complete history of Bricolage changes.</p><p> <b>ABOUT BRICOLAGE</b> </p><p>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 <a href="http://www.masonhq.com/">HTML::Mason</a> and
<a href="http://search.cpan.org/dist/HTML-Template/">HTML::Template</a>
support for flexibility, and many other features. It operates in an
<a href="http://httpd.apache.org/">Apache</a>/<a href="http://perl.apache.org/">mod_perl</a> environment, and uses the
<a href="http://www.postgresql.org/">PostgreSQL</a> RDBMS for its
repository. A comprehensive, actively-developed open source CMS, Bricolage has
been hailed as "Most Impressive" in 2002 by <cite>eWeek</cite>.</p><p>Learn more about Bricolage and download it from the <a href="http://bricolage.cc/">Bricolage home page</a>.
</p><p>Enjoy!</p><p>David</p>Theory2004-02-06T21:13:15+00:00journalApple Mail Hack
http://use.perl.org/~Theory/journal/16428?from=rss
<a href="Use multiple addresses without multiple accounts."> </a>
<p>For those who have multiple email addresses like me, but most are only for sending, and who use Apple Mail, be sure to check out <a href="http://email.about.com/cs/macosxmailtips/a/et062402.htm">this hack</a>, and do away with bogus extra mail account configurations.</p>Theory2003-12-19T18:52:21+00:00journalBricolage-Devel 1.7.1
http://use.perl.org/~Theory/journal/16084?from=rss
<a href="Getting closer to 1.8.0"> </a>It gives me great pleasure to announce the release of Bricolage-Devel 1.7.1,
the second development release for what will eventually 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 first development
release, 1.7.0. The most significant changes include:<ul>
<li>Eliminated the need for the Apache::ConfigFile module, and thus some
annoying problems with the CPAN indexer when trying to install it.
[David]</li><li>Passwords can be changed again. [Mike Slattery]</li><li>It is now virtually impossible to create media type or story type
elements without site and output channel associations. This should
eliminate errors when users try to create documents based on types
without output channel associations. [David]</li><li>The "Output Channel" item for templates on desks now displays
properly. [David]</li><li>Eliminated bogus "Use of element's 'name' field is deprecated"
warnings. Key names are allowed to have digits and underscores, and
we weren't consistent about that. [David]</li><li>The <code>display_element()</code> method in the Mason burner once again passes
component arguments on to components. And now, so does
<code>sdisplay_element()</code>. [David]</li><li>Fixed favicon.ico code so that the browser and server don't go into
an infinite loop with redirects of redirects. The favicon.ico still
doesn't pop up in the location field in my browser, but it does
display properly if I point my browser at it. [David]</li><li>An attempt to create a document with the same URI as an existing
document no longer litters the database with broken stories. Thanks
to Arthur for the spot. [David]</li><li>Redirection after some publishes and previews works again, instead
of returning a text page to the browser. [David]</li><li>Now displaying the name of the site each story and media document is
in in Find Stories and Find Media. Suggested by Arthur. [David]</li><li>A number of fixes for the bric_media_upload contrib script:
<ul>
<li>Made it work with the 1.7.0 XML Schema.</li><li>Fixed a bug in its use of File::Find.</li><li>Fixed problem in calculating category names when given a directory
to upload.</li><li>Added <code>--bric_soap</code> and <code>--site</code> options.</li></ul><p>
See the script's usage info for details. [Dave Rolsky]</p></li><li>Changing a media item's category and then saving caused an error.
[Dave Rolsky]</li><li>Changing a media document's cover date no longer causes the URI to
disappear. Thanks to Dave Rolsky for the spot. [David]</li><li>Attempting to preview a story for which there are no associated
destinations no longer causes the error 'Can't call method "ACCESS"
without a package or object reference'. Thanks to Earle Martin for
the spot! [David]</li><li>Added <code>output_channel_id</code> parameter to the <code>list()</code> method of
Bric::Biz::Site in order to prevent sites without output channel
associations from being listed in the select list for story type and
media type elements. [David]</li><li>When a document fails to publish because there are no destinations
configured, the UI no longer displays a message saying that it was
published. [David]</li><li>Fixed page logging so that redirects to the page before the current
page can work correctly. It was most noticeably broken when trying
to associate a contributor with a document. [David]</li><li>The upgrade process no longer moves media document files to where
Bricolage can't find them. If this happened to you, just <code>mv
$BRICOLAGE_ROOT/comp.old/data $BRICOLAGE_ROOT/comp</code>. [David]</li><li>Performing an action in the contributor and category association
interfaces in the story and media profiles no longer causes an empty
search to be performed and return all contributors or categories.
This could be a pain for organizations with 1000s of contributors or
categories. Thanks to Scott for the report! [David]</li><li>The Key Name field in the element profile is no longer editable.
Only new elements can type in the key name field. Thanks to Arthur
for the spot! [David]</li><li>The Template toolkit burner now correctly uses element key names
instead of names to find corresponding templates. [David]</li><li>Management of user groups in a double list manager UI no longer
causes an SQL error. Spotted by Alexander Ling. [David]</li><li>Sites added to a site group will now be listed as members of the
site group in the site group's profile. Thanks to Alexander Ling for
the spot. [David]</li><li>Improved permission checking in the virtual FTP server. [David]</li></ul><p>For a complete list of the changes, see the <a href="http://sourceforge.net/project/shownotes.php?release_id=200856">changes
file</a>.</p><p> <b>ABOUT BRICOLAGE</b> </p><p>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 <a href="http://www.masonhq.com/">HTML::Mason</a>,
<a href="http://search.cpan.org/dist/HTML-Template/">HTML::Template</a>,
and <a href="http://www.tt2.org/">Template Toolkit</a>
support for flexibility, and many other features. It operates in an
<a href="http://httpd.apache.org/">Apache</a>/<a href="http://perl.apache.org/">mod_perl</a> environment, and uses the
<a href="http://www.postgresql.org/">PostgreSQL</a> RDBMS for its
repository. A comprehensive, actively-developed open source CMS, Bricolage has
been hailed as "Most Impressive" in 2002 by eWeek.</p><p>Learn more about Bricolage and download it from the <a href="http://bricolage.cc/">Bricolage home page</a>.
</p><p>Enjoy!</p><p>David</p>Theory2003-11-30T19:57:29+00:00journalBricolage 1.6.8
http://use.perl.org/~Theory/journal/16073?from=rss
<a href="Includes support for PostgreSQL 7.4."> </a>
<p>I'm pleased to announce the release of Bricolage 1.6.8. This maintenance
release addresses a few issues discovered since the release of version
1.6.7. Here is the complate list of chnages for this release:</p><ul>
<li>Custom select fields now correctly pay attention to the size
attribute. Reported by Dave Rolsky. [David]</li><li>The element type manager now displays "Subelement" instead of
"Story" for subelement element types. Suggested by Dave Rolsky.
[David]</li><li>Updated to work with PostgreSQL 7.4. [David]</li><li>Improved error message in Bric::Util::Trans::SFTP. [David]</li><li>It's possible to create new stories again without running into errors
saying that a URI is not unique because the cover date and slug were
accidentally excluded from the URI. [David]</li><li>Mason story templates now inherit from all category templates, thus
enabling the access of <code><%attr></code>s and calling
of <code><%method></code>s in category templates from story
templates. [David]</li><li>Permission to edit element fields is now based on the permissions
granted to edit the elements they belong to. This means that users
other Global Admin group members can now edit fields. [David]</li><li>Dates are no longer editable if a user doesn't have permission to
edit them. [David]</li><li>Users without EDIT access to an element no longer see a link to Edit
fields of that element, but a link to View them, instead. They will
also no longer see an "Add Subelements" button. [David]</li><li>Fixed bug that triggered an invalid error message when a story URI
is non-unique. Reported by Kevin Elliott. [David]</li><li>Assets with the same IDs but in different classes (media vs. stories
vs. templates) no longer prevent each other from being added to a
desk that can contain different classes of assets. Thanks to Scott
for the spot and doing the research that lead to the replication of
the problem. [David]</li></ul><p>For a complete list of the changes, see the <a href="http://sourceforge.net/project/shownotes.php?release_id=200747">changes
file</a>.</p><p> <b>ABOUT BRICOLAGE</b> </p><p>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 <a href="http://www.masonhq.com/">HTML::Mason</a> and
<a href="http://search.cpan.org/dist/HTML-Template/">HTML::Template</a>
support for flexibility, and many other features. It operates in an
<a href="http://httpd.apache.org/">Apache</a>/<a href="http://perl.apache.org/">mod_perl</a> environment, and uses the
<a href="http://www.postgresql.org/">PostgreSQL</a> RDBMS for its
repository. A comprehensive, actively-developed open source CMS, Bricolage has
been hailed as "Most Impressive" in 2002 by <cite>eWeek</cite>.</p><p>Learn more about Bricolage and download it from the <a href="http://bricolage.cc/">Bricolage home page</a>.
</p><p>Enjoy!</p><p>David</p>Theory2003-11-30T02:35:59+00:00journalBricolage-Devel 1.7.0
http://use.perl.org/~Theory/journal/15330?from=rss
<a href="Well on our way to 1.8.0!"> </a>
<p>It give me great pleasure to announce the release of Bricolage-Devel 1.7.0,
the first development release for what will eventually become Bricolage
1.8.0. In addition to all of the bug fixes included in the 1.6.x series,
this version of the open-source content management system adds a number of
significant new features. The most significant changes include:</p><ul>
<li>Added multisite support. Now all stories, media, output channels,
templates, categories, and workflows may be associated with
different sites, and even have the same names in different sites.
This simplifies the management of multiple Web sites with Bricolage.
Story type and media type elements may be shared between sites.
Funded by Portugal Telecom Multimedia.</li><li>Added document aliasing. Stories and media in a site may now be
aliased and published in another site, as long as the elements on
which they are based are shared between sites. Control over the
content of aliased documents remains in the original site, thus
ensuring the editorial integrity of the document for that site.
Funded by Portugal Telecom Multimedia.</li><li>Added <code>$burner->sdisplay_element</code> method to Bric::Util::Burner. This
is a <code>sprintf</code>-style version of <code>$burner->display_element</code>.</li><li>Added the <code>YEAR_SPAN_BEFORE</code> and <code>YEAR_SPAN_AFTER</code> bricolage.conf
directives. These directives enable control how many years before
and after the current year to display in the list of years in the
date and time select widget. The default values are 10 for each,
meaning that if the current year is 2003, then the date span will be
from 1993 to 2013.</li><li>Added "Email" action, which can be used to email the files generated
by a publish to one or more email addresses. Funded by ETonline.</li><li>Callbacks were moved from Mason components to modules based on
Params::Callback and managed by MasonX::Interp::WithCallbacks. This
makes the UI layer more responsive and enhances maintainability.</li><li>Optimized performance of URI uniqueness checks by adding database
tables to do the job, rather than constructing the URIs for all
other documents in the same categories as the document being
checked. This was the last major bottleneck affecting SOAP
performance, as well as document editing in general. Funded by
Kineticode.</li><li>Added <code>output_channel_id</code> parameter to the <code>list()</code> methods of Story
and Media to enable querying for documents in output channels other
than the primary output channel.</li><li>Added Keyword Management interface to centrally manage keywords.</li><li>Added HTML::Mason Custom tags support, allowing template developers
to write code blocks that are context sensitive.</li><li>Added new page extension support to the burner, which allows
template developers to set string extensions to use for successive
file names, rather than the traditional use of numeric file name
extensions for successive file names.</li><li>Added "Text to search" option in the Advanced search of Media and
Stories to search for documents based on the contents of their
field.</li><li>All preview links are now generated by a single widget. This widget
adds the story or media URI to the <code>title</code> attribute of the link tag
(which is modern browsers will automatically work as a roll-over
tooltip), makes the story or media URI copyable (by relying on
JavaScript to actually open a new window for the preview), and
manages selecting an output channel in which to preview a story.</li><li>Made User Group Permissions UI wieldy with larger numbers of users
by adding a select list to choose which type of Permission to look
at.</li><li>Added <code>contrib_id</code> parameter to the <code>list()</code> methods of
Bric::Biz::Asset::Business::Story and
Bric::Biz::Asset::Business::Media to return a list of story or media
documents associated with a given contributor.</li><li>Switched Bric::Util::CharTrans from using Text::Iconv to Encode,
thus removing the dependency on a C library (libiconv). Note that
this has changed the API of Bric::Util::CharTrans. Its <code>to_utf8()</code>
and <code>from_utf8()</code> methods now always convert the argument passed in
in place. They did this before for references, but now they do it
for plain strings, as well. Also note that use of character
translation also now requires Perl 5.8.0 or later.</li><li>Added MediaType, Site, and Keyword SOAP modules.</li><li>Added <code>element</code> attribute to Bric::Util::Burner so that
<code>$burner->get_element</code> should always return the element currently
being burned.</li><li>Added a <code>throw_error()</code> method to Bric::Util::Burner so that
template developers can easily throw an exception that their users
will see in the UI.</li><li>Moved category selection from Media and Story Profiles into their
own separate components so that organizations with hundreds or
thousands of categories don't have to load them into a dropdown list
every time an asset is edited. The category "browser" uses an
interface similar to 'Associate Contributors', which has the
advantage of being searchable rather than looking through a "long
list of all categories". This feature can be enabled via the new
<code>ENABLE_CATEGORY_BROWSER</code> bricolage.conf directive.</li><li>Added list paging to Desks and My Workspace.</li><li>Added the ability to test templates without having to deploy them by
using "template sandboxes" for each template developer.</li><li>Added Template Toolkit burner support.</li><li>Added support for installing and upgrading Bricolage with PostgreSQL
on a separate host.</li><li>Added context-sensitive help for pages that were missing it.</li><li><p>For a complete list of the changes, see the <a href="http://sourceforge.net/project/shownotes.php?release_id=192790">changes
file</a>.</p><p> <b>ABOUT BRICOLAGE</b> </p><p>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 <a href="http://www.masonhq.com/">HTML::Mason</a>,
<a href="http://search.cpan.org/dist/HTML-Template/">HTML::Template</a>,
and <a href="http://www.tt2.org/">Template Toolkit</a>
support for flexibility, and many other features. It operates in an
<a href="http://httpd.apache.org/">Apache</a>/<a href="http://perl.apache.org/">mod_perl</a> environment, and uses the
<a href="http://www.postgresql.org/">PostgreSQL</a> RDBMS for its
repository. A comprehensive, actively-developed open source CMS, Bricolage has
been hailed as "Most Impressive" in 2002 by eWeek.</p><p>Learn more about Bricolage and download it from the <a href="http://bricolage.cc/">Bricolage home page</a>.
</p><p>Enjoy!</p><p>David</p></li></ul>Theory2003-10-22T23:43:41+00:00journalBricolage 1.6.7
http://use.perl.org/~Theory/journal/15328?from=rss
<a href="Gearing up for 1.7.0."> </a>
<p>I'm pleased to announce the release of Bricolage 1.6.7. This maintenance
release addresses a few issues discovered since the release of version
1.6.6. Some of the more important changes include:</p><ul>
<li>Fixed "bric_soap" to accept a "--server" argument starting with
"https", which is more friendly to an SSI environment.</li><li>The PostgreSQL admin username and password arguments were reversed
during "make upgrade".</li><li>Added partial index to speed queries against the job table, and thus
to speed distribution.</li><li>Updated slug RegExen. They were a bit too strict, and should be
better now, allowing dots, dashes, and underscores.</li><li>Inactive alert types no longer trigger the sending of alerts.</li><li>Fixed "element_data_id" parameter to
Bric::Biz::Asset::Business::Parts::Tile::Data to actually work.</li></ul><p>For a complete list of the changes, see the <a href="http://sourceforge.net/project/shownotes.php?release_id=192775">changes
file</a>.</p><p> <b>ABOUT BRICOLAGE</b> </p><p>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 <a href="http://www.masonhq.com/">HTML::Mason</a> and
<a href="http://search.cpan.org/dist/HTML-Template/">HTML::Template</a>
support for flexibility, and many other features. It operates in an
<a href="http://httpd.apache.org/">Apache</a>/<a href="http://perl.apache.org/">mod_perl</a> environment, and uses the
<a href="http://www.postgresql.org/">PostgreSQL</a> RDBMS for its
repository. A comprehensive, actively-developed open source CMS, Bricolage has
been hailed as "Most Impressive" in 2002 by eWeek.</p><p>Learn more about Bricolage and download it from the <a href="http://bricolage.cc/">Bricolage home page</a>.
</p><p>Enjoy!</p><p>David</p>Theory2003-10-22T22:37:46+00:00journalBricolage 1.6.6 Released
http://use.perl.org/~Theory/journal/15056?from=rss
<a href="Likely the last 1.6.x maintenance release."> </a>
<p>I'm pleased to announce the release of Bricolage 1.6.6.
This maintenance release addresses a number issues discovered since
the release of version 1.6.5. Some of the more important changes
include:</p><ul>
<li>Added README.Solaris.</li><li>When an asset is published or deployed directly from the asset
profile, it is now properly removed from the publish or deploy desk.</li><li>Templates now display their output channel associations instead of
their element associations on desks. This seems to be more useful,
since the element association is usually obvious from the name.</li><li>The category URI is now displayed for assets on desks, rather than
the name. This is consistent with the display of the category
elsewhere.</li><li>Elements to which no subelements can be added will no longer display
an empty select list and "Add Element" button.</li><li>Bug fix when deploying to multiple output channels. If the output
channel IDs matched each other partly, it could cause a file to be
removed after it just had been uploaded.</li><li>Users with CREATE access to a start desk can once again create
stories on that desk even when they don't have CREATE access to "All
Stories."</li><li>Each upgrade script is now run within the confines of a single
database transaction. If any database changes within an upgrade
script encounter an error, all of the changes in that script will be
rolled back.</li><li>An upgrade script failure will now cause "make upgrade" to halt
installation so that any issues are immediately identified and
correctable.</li></ul><p>For a complete list of the changes, see the <a href="http://sourceforge.net/project/shownotes.php?release_id=188766">changes
file</a>.</p><p> <b>ABOUT BRICOLAGE</b> </p><p>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 <a href="http://www.masonhq.com/">HTML::Mason</a> and
<a href="http://search.cpan.org/dist/HTML-Template/">HTML::Template</a>
support for flexibility, and many other features. It operates in an
<a href="http://httpd.apache.org/">Apache</a>/<a href="http://perl.apache.org/">mod_perl</a> environment, and uses the
<a href="http://www.postgresql.org/">PostgreSQL</a> RDBMS for its
repository. A comprehensive, actively-developed open source CMS, Bricolage has
been hailed as "Most Impressive" in 2002 by eWeek.</p><p>Learn more about Bricolage and download it from the <a href="http://bricolage.cc/">Bricolage home page</a>.
</p><p>Enjoy!</p><p>David</p>Theory2003-10-04T00:18:13+00:00journalBricolage 1.6.5 Released
http://use.perl.org/~Theory/journal/14640?from=rss
<a href="More goodness delivered!"> </a>
<p>I'm pleased to announce announce the release of Bricolage 1.6.5.
This maintenance release addresses a number issues discovered since
the release of version 1.6.4. Some of the more important changes
include:</p><ul>
<li>Previewing stories with related media that have no associated file
no longer causes an error.</li><li>Switched to using <code>DBI->connect_cached()</code> from using our own
database connection caching. This change does bump up the minimum
required version of DBI to 1.18, though the latest version is always
recommended. It's also the right thing to do.</li><li>Fixed issue that could cause Bric::Util::DBI to create inconsistent
transaction states.</li><li>Passing an undef via the <code>workflow__id</code> parameters to
the <code>list()</code> method of Story, Media, or Template really
does again cause Bricolage to correctly return only those assets that
are not in workflow. It wasn't as fixed in 1.6.3 as I had
thought.</li><li>Vastly improved the speed of the query that lists events, and added
an index to help it along, as well.</li><li>The FTP mover now properly deletes files rather than erroring out.</li><li>Users without EDIT access to the start desk in a workflow can no
longer create assets in that workflow. Nor can they check out assets
from the library, as there's no start desk for them to check them in
to. But they can still check them out from other desks that they
have EDIT access to.</li><li>Time zone issues have been fixed to be more portable. Some platforms
that experienced Bricolage unexpectedly shifting cover dates and
other dates and times by several hours should no longer see this
problem.</li><li>Adding a new element type with the same name as an existing or
deleted element type no longer causes an SQL error.</li></ul><p>For a complete list of the changes, see the <a href="http://sourceforge.net/project/shownotes.php?release_id=183771">changes file</a>.</p><p> <b>ABOUT BRICOLAGE</b> </p><p>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 <a href="http://www.masonhq.com/">HTML::Mason</a> and
<a href="http://search.cpan.org/dist/HTML-Template/">HTML::Template</a>
support for flexibility, and many other features. It operates in an
<a href="http://httpd.apache.org/">Apache</a>/<a href="http://perl.apache.org/">mod_perl</a> environment, and uses the
<a href="http://www.postgresql.org/">PostgreSQL</a> RDBMS for its
repository. A comprehensive, actively-developed open source CMS, Bricolage has
been hailed as "Most Impressive" in 2002 by eWeek.</p><p>Learn more about Bricolage and download it from the <a href="http://bricolage.cc/">Bricolage home page</a>.
</p><p>Enjoy!</p><p>David</p>Theory2003-09-11T01:19:20+00:00journal