No more cotton!

According to the suberb Benno’s Map Tools that I randomly discovered tonight, I ran 4.62 km the other day on my little route down to the Glaxo building and back. Surprisingly, that figure’s amazingly similar to the 4.5-ish km I came up with previously using a bit of cotton, an A-Z and a great deal of patience.

run1_small_thumb.png

I’ve no idea who this Benno bloke is, but you’ve saved me a hell of a lot of time next time I measure out a running route! Who needs a crappy pair of trainers and an iPod to tell you how far you’ve run when you have Google Maps and a clever bit of hacking?

Powered by Alfresco

I’ve made more progress on the web content templating in Alfresco this week. I’ve really gotta think of a better name for it than that, but I’m dubious about dubbing it web content management as it’s missing quite a lot from the set of WCM functionality that’s coming to Alfresco later this year.

Anyway, the templates now support full previewing of content from within the application, just by applying a special web page template to a space. Here’s some screenshots of this in action:

web_content_site_space_small.png

This is the top level web content space, so the various sub-spaces simply mirror the UNIX directory structure of our current production site. So, each page is represented by a space and the individual files within each space are then used to build up the content of the page. If you really wanna know the details:

  • page.properties contains various metadata about the page, like its name (used in the navigation elements), title and meta tag information
  • site.properties is a special file that exists only in the top level of the site and – logically enough – contains information about the site itself, like it’s URL and the default templates to be used
  • Here front_content.html contains the main content of the page, which is everything except the page header, navigation and footer elements. In other pages the files main_content.html and right_content.html are used together to form a two-column layout

From here, you can select View Details from the More Actions menu to bring up the details screen.

web_content_site_space_details_small.png

The best thing about this preview is that you can click around within the page and load up other pages straight from Alfresco. This takes all hyperlinks, images and other such stuff that it finds in the page content and points them back into Alfresco, via the template or download servlets – true WYSIWYG previewing!

There’s a few things still to do before the system’s fully production-ready.

  • Integrating the news template that displays the x-most-recent items on our press releases page
  • Building a template that parses an iCal file on the server and displays a list containing our forthcoming events
  • Making a template that performs a Lucene search on the web content and displays a list of matching pages

Other things that would be useful:

  • Have an alternative ‘Print this page’ template available
  • Make the revision history of each page available via a web page or an RSS feed
  • Support logging in to the site, and having restricted content magically become available!

Soon enough, we’ll be 100% powered by Alfresco 🙂

WCM: A stop-gap solution

One of the most eagerly anticipated features soon to be part of Alfresco it would seem, is our web content management capabilities. This functionality isn’t just something that our customers are asking for, it’s something that we desperately need internally too.

Our two sites at www.alfresco.com and dev.alfresco.com currently run on an Apache/PHP server, which despite being nice open source software is a pain to keep up-to-date. Who wants to install a complete development environment and trudge their way through sections of PHP code just so they can add a news item to the site?

Well now we don’t have to. By combining the power of Alfresco’s forthcoming 1.3 release with the flexibility of the Freemarker templating engine we have a robust platform for WCM that we can use to store our web content securely, yet in a manner that drastically cuts down the time to make changes. Automatic versioning, access via CIFS, FTP, WebDAV and the web client – we’ve got it all.

It’s taken about a week’s worth of hacking to get an initial version of this up and running, most of that time having been spent building up Freemarker templates, but with some additional work to code a PHP proxy that recieves requests for freiendly URLs and feeds this request through to Alfresco, which generates the complete markup. Now try doing that with your average proprietary CMS. No? I thought not :-).

Press Red

In the last 24 hours my poor little blog has received around 200 spam comments. I guess that means the just-installed-new-blog-software honeymoon period is finally over…

Thankfully, because WordPress sucks infintely less than Movable Type, all those comments are in moderation but it’s still a pain for me to scroll down the list to make sure nobody I know has landed in there by mistake before I trash them all. The Akismet plugin looked like it might stop the deluge, but apparently I need an API key in order to use it and the registration email that WordPress allegedly sent me never arrived. Bah.

On the plus side, this week’s TV has been top-notch, with way too much Big Brother coverage than can possibly be healthy for a person to watch having been absorbed (currently I know that Shahbaz is in the diary room talking to Big Brother about whether or not he’s going to leave – or at least he was 18 minutes ago, which is the current lag in the “live” coverage), not to mention the fantasticness that is Eurovision tomorrow night!

I’ll tackle the comment spam another time…

Calendaring with Alfresco

I spent some time today experimenting with Mozilla’s Sunbird calendaring app, trying to build up a comprehensive list of all the events going on within Alfresco. There’s a lot of stuff going on here at the moment but we don’t yet have a single place on our site where you can get a comprehensive summary of all these cool events.

So the solution? Publish an iCal file to the web site that people can subscribe to using their client of choice that will keep them informed about what’s going on.

Sunbird makes it dead easy to create the iCal file and add events to it, but publishing this to the site via FTP is messy and limits the subset of people who can contribute to the calendar to those people with FTP details for the site. Not so good.

So I stored the calendar file in Alfresco instead. Now anyone with write access on that file can contribute, and Sunbird can even update the calendar directly using the fabulous WevDAV support built into Alfresco.

You can download the calendar or if you’re a fellow-Alfrescan with an account on customers.alfresco.com then you can subscribe to it in Sunbird or the calendaring extensions for Firefox and Thunderbird. iCal might well work with it too, but I don’t have a Mac to test this on.

All in all, a pretty good example of what you can achieve in a couple of hours using open source software and open standards like iCal and WebDAV :-).