Perl, PostgreSQL hacker; US politics junkie; Webapp developer; Portvangelist; profane iconoclast.
On CPAN see: DWHEELER [cpan.org].
This space intentionally left blank.
Anyone got a recipe to go through all of the phone nubmers in the Panther Address Book and add "+1 " to any numbers that don't have a + International code? Mac::Carbon, AppleScript, XML::Parser, or any approach would be welcome.
Thanks!
David
The Bricolage community is currently working on the design for a new Bricolage site. The site will of course be managed in Bricolage. But we need a server!
If you or someone you know would be willing to donate and host a server for us, with the ability to install Bricolage and manage the Bricolage site, please contact me forthwith!
David
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:
For a complete list of the changes, see the release notes and changes list on SourceForge. For the complete history of ongoing changes in Bricolage, see Bric::Changes.
Download Bricolage 1.8.0 now from the Kineticode download page or from the SourceForge download page.
ABOUT BRICOLAGE
Bricolage is a full-featured, enterprise-class content management and publishing system. It offers a browser-based interface for ease-of use, a full-fledged templating system with complete HTML::Mason, HTML::Template, and Template Toolkit support for flexibility, and many other features. It operates in an Apache/mod_perl environment and uses the PostgreSQL RDBMS for its repository. A comprehensive, actively-developed open source CMS, Bricolage was hailed as "Most Impressive" in 2002 by eWeek.
Enjoy!
--The Bricolage Team
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:
SFTP_MOVER_CIPHER bricolage.conf directive to tune the SFTP
mover (if enabled) to the best cipher for good performance on the
wire. [David]list() methods of the
Story, Media, and Template classes to complement those that have the
awful double underscores. [David]
make clone now provides the current date and time for the default
name for the cloned package. Suggested by Marshall Roch. [David]
preview_another() method now actually works.
Thanks to Serge Sozonoff for the spot. [David]Order parameter to the Story,
Media, and Template classes, such as category_uri, did not work
before. Now they do. [David]HAS_MULTISITE to the Bric base classe so that all
classes properly declare themselves for UI search results. [João
Pedro]site parameter to
list_ids(). [David]list_ids() intefaces now
properly look up categories, output channels, and workflows with the
site paremeter, if there is one. [David]LOAD_LANGUGES and LOAD_CHAR_SETS directives are now space
delimited, to better match other bricolage.conf options. [David]For a complete list of the changes, see the changes file.
ABOUT BRICOLAGE
Bricolage is a full-featured, enterprise-class content management and publishing system. It offers a browser-based interface for ease-of use, a full-fledged templating system with complete HTML::Mason, HTML::Template, and Template Toolkit support for flexibility, and many other features. It operates in an Apache/mod_perl environment, and uses the PostgreSQL RDBMS for its repository. A comprehensive, actively-developed open source CMS, Bricolage has been hailed as "Most Impressive" in 2002 by eWeek.
Learn more about Bricolage and download it from the Bricolage home page.
Enjoy!
Suddenly I'm getting a number of requests to do Bricolage demos via conferencing software. I tried to join a WebEx meeting yesterday, but it didn't like any of my Mac OS X browsers or the versions of Java they had installed (browser sniffing == bad!).
I'd like to use Mac OS X software to conference with folks using Windows and other platforms. I can use my old Windows 98 SE box if necessary, but I'd rather not. Anyone know what the options are for good cross-plaform conferencing, and what works and what doesn't?
Thanks,
David
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:
notes() method to Bric::Util::Burner, along with the
accompanying clear_notes(). The notes() method provides a place
to store burn data data, giving template developers a way to share
data among multiple burns over the course of publishing a single
story in a single category to a single output channel. Any data
stored here persists for the duration of a call to burn_one().
[David]USE_THUMBNAILS bricolage.conf directive is enabled. These rely on
the presence of PNG icon files for each MIME type in
comp/media/mime. Only one such icons is distributed with Bricolage,
comp/media/mime/none.png (borrowed from the KDE project under
a free
license), which is the default icon when the MIME type of a media
file is unknown or when no icon file exists for the MIME type of the
media file. Administrators are free to add their own icons, and the
copy_gnome_icons script in contrib makes it easy to use GNOME
icons. [David]bric_template_diff and bric_template_patch scripts in
contrib/bric_template_diff. These scripts can be used to sync
templates between two Bricolage servers. [Sam]bric_media_load to contrib/. This script copies media into
Bricolage while accounting for the new to update existing media.
[Sam]workflow__id and desk__id columns of
the story, media, and formatting (template) tables to be more
efficient, being indexed only when their IDs are greater than 0
(that is, when a story, media document, or template is actually on a
desk and in a workflow). [David]is_fixed to story and media objects, to determine
whether a business asset has a fixed URL (for example, a Cover
page). Refer to Bric::Biz::Asset::Business. [Scott]ENABLE_OC_ASSET_ASSOCIATION bricolage.conf directive to
remove the ability to associate output channels from the story and
media profiles. [Scott]Modified the get_containers() method of
Bric::Biz::Asset::Business::Parts::Tile::Container to take an
optional list of key name arguments, and to return only the
container subelements with those key names. This is most useful in
templates, where it's fairly common to get a list of container
subelements of only one or two particular types out all at once. It
neatly replaces code such as this:
for ( my $x = 1; my $quote = $element->get_container('quote', $x); $x++ ) {
$burner->display_element($quote);
}
With this:
for my $quote ($element->get_containers('quote')) {
$burner->display_element($quote);
}
And is more efficient, too. [David]
get_elements() method of
Bric::Biz::Asset::Business::Parts::Tile::Container to take an
optional list of key name arguments, and to return only the
subelements with those key names. [David]get_data_elements() method to
Bric::Biz::Asset::Business::Parts::Tile::Container. This method
functions exactly like get_containers() except that it returns
data element objects that are subelements of the container element.
It also takes an optional list of key name arguments, and, if
passed, will return only the subelements with those key names.
[David]ANY() subroutine will now throw an exception if no arguments
are passed to it. Suggested by Dave Rolsky. [David]unexpired parameter to the list() method of the story
and media classes. It selects for stories without an expire date, or
with an expire date set in the future. [David]THUMBNAIL_SIZE
bricolage.conf directive are no longer expanded to have one side at
least THUMBNAIL_SIZE pixels, but are left alone. [David]preview_another() method to Bric::Util::Burner. This method
is designed to be the complement of publish_another(), to be used
in templates during previews to burn and distribute related
documents so that they'll be readily available on the preview server
within the context of previewing another document. [Serge Sozonoff]subelement_key_name parameter to the list() method of
the story and media classes. This parameter allows searches on the
key name for a container element that's a subelement of a story or
media document. [David]list_ids() method
of the Story, Media, and Template classes to the list_ids() method
of the corresponding SOAP classes. This allows for much more robust
searches via the SOAP interface. [David & Scott]login_avail() PostgreSQL function, replacing it with a
partial constraint. This not only makes things simpler code-wise,
but it also eliminates backup and restore problems where the usr
table is missing. The downside is that it requires PostgreSQL 7.2
instead of our traditional minimum requirement of 7.1. So any
PostgreSQL 7.1 users will need to upgrade before upgrading to this
version of Bricolage. Suggested by Josh Berkus. [David]make clone will now properly clone a database on a different
database server, provided the host name (and port, if necessary)
have been provided. Thanks to Ho Yin Au for the spot! [David]Bric::SOAP::Category->list_ids now converts site names to site
IDs. [João Pedro]Bric::Util::Burner->preview once again defaults to previewing in
an asset's primary output channel instead of using the element's
primary output channel. [João Pedro]first_publish_date attribute to the SOAP input and output
for stories and media. [David]lookup() with the site
ID to prevent multiple categories with the same names but in
different sites from being looked up. [João Pedro]For a complete list of the changes, see the changes file.
ABOUT BRICOLAGE
Bricolage is a full-featured, enterprise-class content management and publishing system. It offers a browser-based interface for ease-of use, a full-fledged templating system with complete HTML::Mason, HTML::Template, and Template Toolkit support for flexibility, and many other features. It operates in an Apache/mod_perl environment, and uses the PostgreSQL RDBMS for its repository. A comprehensive, actively-developed open source CMS, Bricolage has been hailed as "Most Impressive" in 2002 by eWeek.
Learn more about Bricolage and download it from the Bricolage home page.
Enjoy!
David
I'm pleased to announce the release of activitymail 1.19, currently finding its way to a CPAN mirror near you. This release has a new feature I've been wanted to add for a long time, ever since Ask mentioned it to me a couple of years ago. A patch from Gary Meyer ported log_accume's -I and -E options, which specify files with a list of regular expressions that can be used to exclude certain files from being processed via a commit. Now, this was the feature I wanted, but wasn't exactly how I wanted to do it.
So starting with Gary's patch, I've modified the -I and -E options to instead take one or more regular expressions right on the command line. These regular expressions are then compared to each file processed during the CVS activity, and then either include the file (in the case of a -I regular expression) or exclude the file (in the case of a -E regular expression). Needless to say, both -I and -E cannot be included in a single invocation of activitymail. You can even pass multiple regular expressions to a single -I or -E option, delimited by an empty space. This means you can't use spaces in your regular expressions, though; use \s, instead.
The expected use for these new options is in combination with the regular expressions in the CVS loginfo file. You can specify that activitymail be executed for a particular directory, and then use -I or -E to include or exclude specific files in that directory.
One other new feature of activitymail 1.19 is the new -q and -Q options. Both options enable a quiet mode for activitymail, eliminating the status messages typically printed out during a commit (such as "Collecting file lists..." and "Sending email"). The -q option can be used for most cases; the -Q option is exactly the same, except that it also silences the status message output when an email is larger than the size specified by the -M option.
Enjoy!
David
Just thought I'd pop a quick note here to announce that I've released activitymail 1.18, now wending its way to a CPAN mirror near you. This release of the CVS activity notification program fixes a bug introduced in 1.16 that prevented ativitymail from properly handling file names with spaces. I've also added a To Do section for some of the things I'd like to change going forward. Patches welcome!
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:
.deploy to their names. The
original behavior of always deploying templates upon upload can be
restored by enabling the FTP_DEPLOY_ON_UPLOAD bricolage.conf
directive. [David]ANY function to be used with select parameters to story,
media, and template (formatting) list. Pass a list of values to this
function to have any of of them match for a given parameter. This is
especially useful for matching on, say, a list of URIs or category
IDs. This function is automatically available in templates. [David]USE_THUMBNAILS bricolage.conf directive. See
Bric::Biz::Asset::Business::Media::Image for more information. [Paul
Orrock/ Digital Craftsmen]Offset and Limit
parameters to the list() methods of the story, media, and template
(formatting) classes are now handled by the database back end,
instead of in Perl space. This makes using these parameters much
more efficient.get_element() method to Bric::Biz::Asset::Business and
deprecated the get_tile() method. This will make things a bit more
consistent for template developers, at least. [David]primary_category_id parameter to the story class' list()
method. [David]simple parameter to the Media class' list() method works
again. As a result, so does "Find Stories" in the UI. [David]make clone works again. [David]bric_soap story create/update caused by refactoring
in version 1.7.0. Found by David during a demo. [Scott]<%publish>, <%preview>, and
<%chk_syntax> tags now work as advertised. Reported by Ben
Bangert. [David]For a complete list of the changes, see the changes file.
ABOUT BRICOLAGE
Bricolage is a full-featured, enterprise-class content management and publishing system. It offers a browser-based interface for ease-of use, a full-fledged templating system with complete HTML::Mason, HTML::Template, and Template Toolkit support for flexibility, and many other features. It operates in an Apache/mod_perl environment, and uses the PostgreSQL RDBMS for its repository. A comprehensive, actively-developed open source CMS, Bricolage has been hailed as "Most Impressive" in 2002 by eWeek.
Learn more about Bricolage and download it from the Bricolage home page.
Enjoy!
David