Just a Theory

Black lives matter

Pittsburgh.pm

I’m doing another PerlMongers talk, this time for the Pittsburgh Mongers. I’ll be doing my introduction to Bricolage talk. In the area on Tuesday, September 2, 2003 at 7 pm? Come for the talk!

See the announcement for details. Food will be involved.

Thanks to Casey West for putting this together!

Originally published on use Perl;

Bricolage at the Forge

  • “Toolbox at the Forge” columnist Reuven Lerner has published the first in a series of articles about Bricolage. This is a good, technically-oriented article that gets into the guts of Bricolage’s data model and really shows off what a great database PostgreSQL is, too. So go read it!

— David

Originally published on use Perl;

Bricolage 1.6.4

I’m abashed to announce announce the release of Bricolage 1.6.4, mere hours after the release of 1.6.3. This maintenance release addresses a number issues discovered since the release of version 1.6.2, plus one serious issue in version 1.6.3. Some of the more important changes since 1.6.2 include:

  • Preview works again (it was broken only during 1.6.3’s brief life).

  • Document and contributor type field information (label, options) is no longer pushed through Locale::Maketext, thus preventing errors when element and contributor type administrators create field options with brackets in them.

  • Documents associated with categories that have been deleted will once again work properly. Even though a category may be deactivated, any documents previously put into that category should still work, and still treat the category as a working category. And so they do.

  • Permissions granted on the “All” groups work again.

  • Resize now works in super bulk edit.

  • When a template is deployed, Bricolage now checks to see if its file name has changed since it was last deployed, and if it has, it deletes the old file.

  • Optimized performance of Bric::Dist::Resource queries and wrote lots of tests for them.

  • When a story or media document is published, Bricolage now looks to see if any files distributed for previous versions of the document are no longer associated with the document, and expires them if they are. It does so on a per-output channel basis, so note that if output channel settings have changed since the document was last published, the expiration may miss some stale files. The same goes for when destinations are changed. But this should cover the vast majority of cases.

  • Text input fields no longer impose a default maximum field length. This is so that element fields that have their maximum length set to 0 can truly be unlimited in length.

  • Passing an undef via the workflow__id parameters to the list() method of Story, Media, or Template once again causes Bricolage to correctly return only those assets that are not in workflow.

  • Extra blank lines between subelement tags in super bulk edit no longer causes an error.

  • Searches no longer return unexpected results or all objects when pagination is enabled.

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 and HTML::Template 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

Originally published on use Perl;

Bricolage 1.6.3 Released

I’m pleased to announce announce the release of Bricolage-Devel 1.6.3. This maintenance release addresses a number issues discovered since the release of version 1.6.2. Some of the more important changes since 1.6.2 include:

  • Document and contributor type field information (label, options) is no longer pushed through Locale::Maketext, thus preventing errors when element and contributor type admins create field options with brackets in them.

  • Documents associated with categories that have been deleted will once again work properly. Even though a category may be deactivated, any documents previously put into that category should still work, and still treat the category as a working category. And so they do.

  • Permissions granted on the “All” groups work again.

  • Resize now works in super bulk edit.

  • When a template is deployed, Bricolage now checks to see if its file name has changed since it was last deployed, and if it has, it deletes the old file.

  • Optimized performance of Bric::Dist::Resource queries and wrote lots of tests for them.

  • When a story or media document is published, Bricolage now looks to see if any files distributed for previous versions of the document are no longer associated with the document, and expires them if they are. It does so on a per-output channel basis, so note that if output channel settings have changed since the document was last published, the expiration may miss some stale files. The same goes for when destinations are changed. But this should cover the vast majority of cases.

  • Text input fields no longer impose a default maximum field length. This is so that element fields that have their maximum length set to 0 can truly be unlimited in length.

  • Passing an undef via the workflow__id parameters to the list() method of Story, Media, or Template once again causes Bricolage to correctly return only those assets that are not in workflow.

  • Extra blank lines between subelement tags in super bulk edit no longer causes an error.

  • Searches no longer return unexpected results or all objects when pagination is enabled.

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 and HTML::Template 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

Originally published on use Perl;

CMSs in Asia

The July, 2003 American Chamber of Commerce in Japan Journal (ACCJ Journal) as an article entitled, “Taming the Avalanche: How to choose the software to manage your company’s information explosion,” by Tony Laszlo. It’s a good article that covers the importance of content management systems, gives special attention to open-source solutions, and features a minor bit of punditry from yours truly.

Enjoy!

— David

Originally published on use Perl;

Bricolage 1.6.2

I’m pleased to announce announce the release of Bricolage-Devel 1.6.2. This maintenance release addresses numerous issues discovered since the release of version 1.6.1. Some of the more important changes since 1.6.1 include:

  • New help pages for the destination, server, and action profiles.

  • Fixed issue where new output channels added to a document type element were not always actually saved as a part of that element.

  • Fixed installer to again work with versions of PostgreSQL prior to 7.3.

  • Alert types can once again be deleted from the alert type profile.

  • Users can now only add subelements to a story if they have at least READ permission to those subelements.

  • The media type profile again allows extensions to be added and removed.

  • Perl 5.8.0 or later is now strongly recommended for better Unicode support.

  • Fixed deleting an Alert Type Rule. Also fixed Editing Alert Type Recipients.

  • Clicking “Cancel” in an element no longer saves the changes in that element before going up to the parent element.

  • Added Localization support to widgets that were missing it. Added pt_pt localized images.

  • Documents are no longer distributed to deleted (deactivated) destinations.

  • Eliminated several error log authentication message such as “No cookie found.” These tended only to confuse users when they were just starting to use Bricolage.

  • Elements added with the same name as an existing, active or inactive element no longer trigger an SQL error to be displayed.

  • Fixed issue where adding an output channel to a document type element removed that output channel from another document type element.

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 and HTML::Template 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

Originally published on use Perl;

Synergy at OSCON

Well, I thoroughly enjoyed OSCON this year. I knew a lot more people than last year, and thus was able to socialize more, and talk to more people about more stuff. Really a great time, with lots of cross-pollination of ideas.

My favorite moment came on Thursday. The PostgreSQL BOF was on Wednesday night, where Bruce Momjian was discussing some of the problems they’ve been having with the Win32 port, specifically with fork and exec. Now, I know nothing about C, but James Briggs suggested that the PostgreSQL guys talk to Gurusamy Sarathy about it, since he did the work on fork and exec for Perl and thus might be able to provide some advice for the PostgreSQL folks.

No one reacted much to this, but I thought it was a good enough idea that during the morning break on Thursday, I introduced my self to Sarathy and asked if he’d be willing to discuss it with the PostgreSQL developers. He said he’d be happy to. So during the afternoon break, I brought Bruce down to the ActiveState booth and introduced him to Sarathy.

Well, that seemed to go very, very well. Sarathy seemed willing not only to help them with some questions they might have, but perhaps even to contribute some work to the effort. It turns out that he views PostgreSQL as an important open-source asset, and is willing to put his code where his opinion is. He asked about subscribing to the PostgreSQL hackers mail list! He and Bruce talked for a while about the issues at hand, and there seemed to be a great deal of understanding and mutual respect. This could be a major benefit for the PostgreSQL community, and will in turn give Perlers another great OSS RDBMS that runs just about anywhere. Yay!

A similar thing happened on Thursday night. Andy Wardley of Template Toolkit fame has promised to create a TT burner for Bricolage. This will bring the total number of Bricolage templating systems to three (Mason, HTML::Template, and TT). After the action, I accompanied Dave Rolsky, one of the lead Mason hackers, into the bar where we ran into Andy. Andy started telling us that looking at adding TT to Bricolage had led him to hatch a plan to come up with a unified, foundational templating API that many or all of the Perl templating systems might one day be able to use, so that they might start to share a common feature set. And then, when one of them wanted to add a feature similar to a feature in another templating architecture, it might be able to just exploit the common API.

This seemed like a very cool idea to me, and Dave said that he would definitely be interested in participating in such an effort. I think that, if he can find the tuits, Andy may well start a project in this vein, inviting the Mason, Embperl, Apache::ASP, and other Perl templating hackers to collaborate. This could really be to the benefit of them all.

What a great conference. I can’t wait till next year when I can see some of the fruits of these meetings, the spoils of inter-community synergy, and where it will happen all over again.

My apologies for those friends I didn’t get a chance to spend much time with at the conference. All of a sudden I know so many people! See you next year.

Originally published on use Perl;

Mason Callbacks Module Released

I’m pleased to announce the release of MasonX::ApacheHandler::WithCallbacks 0.96. This is a fairly minor release, but adds support for httpd.conf directives and a new module, MasonX::CallbackTester, to help you write tests for your callback packages and classes.

Now to finish preparing my YAPC presentation.

Enjoy!

Originally published on use Perl;

Bricolage 1.6.1

I’m pleased to announce announce the release of Bricolage-Devel 1.6.1. This maintenance release addresses a number of issues in version 1.6.0. Some of the more important changes since 1.6.0 include:

  • Bricolage now works with HTML::Mason 1.20 and later.

  • Added Chinese (Traditional) localization.

  • make clone has been fixed and improved.

  • The Media Type manager works again.

  • Various localization improvements and fixes.

  • “Image”, “Audio”, and “Video” documents now properly show up on desks.

  • Fixed alerts so that alerts are once again sent to the members of groups and deleted alerts no longer appear in the UI.

  • The virtual FTP server no longer displays templates in subcategories of the current subcategory directory.

  • Fixed Element profile so that Output Channel associations can be deleted and deleted fields no longer appear in the UI.

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 and HTML::Template 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!

Originally published on use Perl;

Bricolage News

There’s been a fair bit of press coverage of Bricolage lately, which, since it’s all positive, is very satisfying. In addition to the article in IT-Director.com that I mentioned a week ago, a new article, “The Register signs up for Bricolage,” appeared today in – where else? – The Register. They write:

More than 30 companies contacted us with a view to pitching. Thanks guys, but we have made our CMS decision. Step forward Bricolage.

It’s powerful, it’s flexible, it’s a perfect fit for the content we currently handle and the kind of content we want to handle in the future. As a bonus, Bricolage is open source, which we like.

An article also appeared in Intranet Journal, entitled “:Faster, More Flexible Bricolage Challenges CM Vendors” There Michael Pastore observes:

The acceptance of Linux as a viable OS in the enterprise has opened some doors for open-source enterprise applications, and in the Web content management space there has been a decent amount of buzz surrounding Bricolage.

It turns out that Pastore also talked to Jupiter Communications about Bricolage:

Matthew Berk, senior analyst for site technologies and operations at Jupiter Research, said Bricolage is one of the open-source projects that has proved to be a black eye for high-end content management vendors. (Jupiter Research is a division of Jupitermedia, the publisher of this Web site.)

“[Bricolage] is one of the first projects to claim that ‘Hey, this stuff that Vignette said is rocket science, isn’t,’” Berk said. According to research done by Jupiter, eight out of 10 companies surveyed can meet their content management requirements with an open-source system.

I’m pleased that the big IT analyst firms are paying attention to Bricolage. The success of Bricolage at well-known enterprises such as Macworld Magazine, MacCentral, The World Health Organization and The Reg have caused so many in the industry to sit up and take notice. It’s great for open source, for Perl, and hopefully for my business, too.

Speaking of Kineticode, I should also point out that we’ve not launched a series of Bricolage support plans. We hope that these will help to keep steady revenues coming to Kineticode, as well as to validate Bricolage as a product. Wish us luck!

Originally published on use Perl;

Bricolage Stands Out

IT-Director.com has published an article, Open Source Content Management arrives, in which Bricolage is the only content management system mentioned:

However as these software applications mature and lose their uniqueness, they become candidates for the open source movement. In the case of content management, a number of open source contenders are emerging but Bricolage, in particular, stands out in terms of capability.

Bricolage is an actively developed content management system with a browser-based interface. It has most of the features you would expect from a full-featured content management system, including distributed authoring of content, workflow and support for user roles and groups. The product was built to run Salon.com. Visiting this site gives a useful and interesting demonstration of its capabilities.

The interesting thing is that if you follow the link for the author, Martin Langham, you’ll see that he works for a company called Bloor Research, and is working on a Report to be published in December for UK£296 (US$467 / €438) all about content management. The upshot is that it’s great that a research firm says that 1) Open-source CMS is coming into its own; 2) Bricolage is the standout in that field; 3) No other open-source CMS is mentioned; and 4) they’re publishing an Content Management report. This makes me think that Bricolage could fare very well indeed when that report comes out. It would be interesting to see.

The article was also published in The Register.

Originally published on use Perl;

All RDMSes Suck

I use relational databases in my work every day. Bricolage of course runs on PostgreSQL, and I’ve done some work on DBD::Pg. But after using various RDBMSs over the years (Access, MS SQL Server, DB2, MySQL, Oracle, PostgreSQL), I’ve come to one inevitable conclusion: RDBMSs are all just total crap.

Don’t get me wrong, I think that they have their place. I just don’t know what that place is. But no decently designed object system that I’ve worked on (let alone a poorly designed system) has found an elegant way to interact with databases. Sure, DBI makes things easy for Perlers in that it provides a pretty standard, uniform interface for accessing databases of all kinds. But if you’re designing even a moderately sophisticated application, you still run up against the complete incompatibility of object-oriented design and relational storage. They’re just completely orthogonal to one another.

Many have tried to address this problem. CPAN is full of object/relational and relational/object mapping modules. Hell, I’ve given a lot of thought to writing one myself. But this adds an extra layer of complexity to systems that may well already be complex, and is no friend to performance. Bricolage 2.0 will likely have some kind of mapper built in, but there’s one thing I’m sure of: No matter how well designed it may be, it will still suck. Mapping are just an ugly solution, and should be, in my opinion, totally unnecessary.

So why are we all still using RDBMSs? I mean, I know that some of them have object-oriented features (Oracle, PostgreSQL), but they have their weaknesses. In PostgreSQL, for example, if table A has a primary key index, and table B inherits from that table, a query against table B can’t use the primary key index in table A. It has to do a table scan, instead! And how many people are really taking advantage of Oracle’s OO features, anyway? Not many, I would guess.

Why not push for something better? Why not start working on or with systems that are designed to perform and interact well with well-designed object systems? Where are the ANSI OODBMS standards, and who’s using them? What’s next in this space, and will the Oracle marketing department ever let it see the light of day?

As for me, I’ve got on my long list of To Dos to check out Caché at some point. A “post-relational database” is exactly what I’d like to do, and Caché, if InterSystems’ hype is to be believed, sounds very promising. Sure it’s a commercial system, but there’s a Perl interface, and I’d love to see if InterSystems really is revolutionizing databases.

One can only hope.

Originally published on use Perl;

Talking in London

I’ve been meaning to post this for a while. Apologies for the delay.

Next Monday, 14 April 2003, I’ll be doing a brief Bricolage presentation for London.pm. I will then be participating in panel session on “Templating Engines and Processing Content.” The other participants will be Andy Wardly of Template Toolkit fame and Mark Lester, creator of Yahoo!’s internal “Jake” templating system. We’ll retire to the pub to discuss things more for hours after that (hey, why not, it’ll be daytime for me then!). Be sure to sign up in advance if you’re planning on coming. Be prepared to hear me trying to convince Andy to implement a TT burner for Bricolage!

If you can’t make it to London, come to YAPC::NA, instead. I’ll be doing a 90 minute session on Bricolage there. Bring lots of questions!

Originally published on use Perl;

Microsoft Acquires VirtualPC

Reported in InfoWorld.

Too bad about this in some respects – embrace and extend. OTOH, maybe they can make it even faster?

Originally published on use Perl;

Radio Interview Posted

I’ve posted an edited version of my appearance on the “Online Tonight” radio show. I also have an MP3 version, but it’s 23 MB. If someone would like to sample it down to a reasonable size for me, I’ll post it, too.

Enjoy!

Originally published on use Perl;

eWeek Does it Again

In In eWeek’s 2002: The Tech Good, Bad and Ugly year-end round-up, Analyst Jim Rapoza hailed Bricolage as “Most Impressive”:

When an open-source application developed by a few authors and maintained mainly by one guy beats the pants off million-dollar competitors in pretty much every way, I’m impressed. The Bricolage project provides highly capable and extremely customizable Web content management capabilities, suitable for running even the biggest and most complex Web sites.

Woo-hoo!!

Originally published on use Perl;