Friday, November 24, 2006

Experiences using clustering with eZ publish 3.8

ez Publish version 3.8 introduced a specialised clustering functionality that allowed for the storage of all content related caches, images and binary files in the database. All other files are stored on the local file systems.

This is a great improvement over previous versions of eZ Publish that did not include any specific clustering support.

In a recent install we utilised the clustering functionality and found a number of issues that are not highlighted in any of the documentation.

In our setup there are 2 web servers. Both systems serve the site while one was designated the "master" and used for administration.

Our design uses the toolbar functionality to allow editors to add and update content that appears in a right hand column.

Synchronisation of toolbar.ini files from the mater server to the slave is performed using rsync.

After a while inconsistencies in the display of toolbar content was noticed. In tracking this down it was discovered that the toolbar parameters are written to the compiled templates:

$vars[$currentNamespace]['display_node'] = '3600';
$vars[$currentNamespace]['tool_id'] = 'Tool_homerow1_home_promo_1';
$vars[$currentNamespace]['offset'] = 1;
$vars[$currentNamespace]['first'] = true;
$vars[$currentNamespace]['last'] = false;
$vars[$currentNamespace]['placement'] = 'first';
if ( !isset( $dKeys ) )
{
$resH =& $tpl->resourceHandler( "design" );
$dKeys =& $resH->keys();
}


The toolbar.ini files were check and verified to be in sync. Examination of the compiled pagelayout templates on both servers reviled that only the master had the updated toolbar information.

When toolbars are updated via the admin the compiled templates for pagelayout.tpl are cleared. Due to the fact that admin is accessed via one system and the compiled templates are stored on the local file system only the compiled templates on the master are cleared and recompiled with the new toolbar data.

To solve this problem we've started rsyncing the compiled templates from the master to the slaves. I'm not convinced that this is the ideal solution and am interested in any ideas of how this issue could be addressed.

This issue highlighted the fact that when clearing the cache via the admin, for files stored on the file system, only the master system will be cleared. This may result in systems losing synchronisation.

There are a number of functions that can be performed via the admin interface that will result in synchronisation issues. At the very least these need to be highlighted in the documentation.

The clustering functionality introduced in eZ publish 3.8 is a large step forward in options in previous versions. However until there is a solution for cleanly dealing with dynamic files that are stored on the filesystem the solution is not complete.

For more info on clustering in eZ publish 3.8 see:
http://ez.no/community/articles/clustering_in_ez_publish_3_8/
http://ez.no/doc/ez_publish/technical_manual/3_8/features/clustering

Tuesday, November 07, 2006

Microformats

One of the buzzes in the web world at the moment is microformats (all part of this web 2.0 thingi). Basically microformats take the whole semantic web to the next level. Where valid markup uses correct tags to indicate headers, lists and tables, mircoformats use a combination of tags and class names to represent specific structured data.

The first 2 structures that this has been applied to are vcard & icalendar - the microformat equivalents are hcard and hcalendar. Formats also exist for reviews, resumes, relationships etc.

Microformats are a way of taking information that already exists and adding structure to allow the information to be parsed.

So whats the point? Imagine google indexing the site not just for plain text for for specific event information, being able to click on contact information or an event and adding it in your address book or calendar, clicking on an address and seeing it's location (and getting directions) from google maps?

The great thing is that it's not a lot of work to put things into this format. This is actually encapsulated in the official definition of microformats:

Designed for humans first and machines second, microformats are a set of simple, open data formats built upon existing and widely adopted standards.

I was able to convert the address in footer of the designIT site to a vcard with some simple re-formating.

<div class="vcard">
<span class="fn org">designIT</span>
<div class="adr">
<span class="type">work</span>
<span class="extended-address">10.01</span> <span class="street-address">365 Little Collins Street</span>
<span class="locality">Melbourne</span>, <span class="region">Victoria</span>
<span class="country-name">Australia</span> <span class="postal-code">3000</span>
</div>
P <span class="tel">
<span class="type">work</span>
<span class="value">+61 3 9913 0044</span>
</span>
<a class="email" href="mailto:info@designit.com.au">info@designit.com.au</a>
</div>

The eZ publish Training & Certification in Sydney, Australia 4 - 6 December 2006 post was formatted using the hcalendar format and utilises embedded hcard information for the location.

Here is some more reading:

Wednesday, October 25, 2006

eZ publish Training & Certification in Sydney, Australia 4 - 6 December 2006

eZ publish Training & Certification, Sydney Australia


What:
eZ systems (the makers of eZ publish) are coming to Australia to present an official 3 day training course with developer certification!

When:
Monday 4 Dec 2006 to Wednesday 6 Dec 2006

Where:
FPC Magazines (home of Vouge Sydney)
180 Bourke Road Alexandria, NSW Australia 2015

Tags:

Friday, June 23, 2006

Updated eZ Publish PHPList extension

I've released a new version of the eZ Publish/PHPList integration module with the following changes:
  • fixed issue where phplist user would be deleted if a version was deleted (reported by Brendan)
  • added script to import eZ users into phplist
See: http://ez.no/community/contribs/datatypes/phplist_module

Thursday, June 01, 2006

Benchmarking PHP accelerators

Using an accelerator with eZ publish is highly recommended. This article compares two open-source accelerators: APC and eAccelerator (a Turck-MMCache fork). The commercial Zend Platform gets a mention but is not included in the comparism.

Wednesday, May 31, 2006

Seeking Web Designer with strong CSS skills

designIT is a boutique web development firm specializing in content management systems. We are looking for a keen designer with strong CSS skills to design and style sites for a wide range of clients. In return for the following requirements we provide a positive environment where you will be supported, get to have you say and be able to grow with the business.

You will:
  • be expected to present your site designs to clients and work with them to arrive at a design that works for the user, and the client's business goals.
  • be able to produce CSS/ HTML/xHTML templates from your Photoshop mockups.
  • be able to produce code that works on a variety of browsers such as IE, Safari & Firefox.
  • have experience in coding with web standards & are aware of accessibility & useability issues when creating sites.
  • have a minimum of 3 years experience, working on a variety of projects with strong communication skills and with a strong eye for detail and good design.
  • Ideally you will also have experience working with content management systems.
  • Flash, JavaScript & php knowledge would be a bonus ­ but we want someone who is primarily skilled in Photoshop/CSS/HTML
You should be able to demonstrate having worked on a variety of projects, highlighting your skills and how you contributed to their success.

This position is based in Melbourne, Australia and available from 19th June 2006.
Salary is $40,000 to $50,000 (AUD) commensurate with experience.

Please provide a covering letter outlining your skills & experience in relation to the above requirements to martin@designit.com.au
Tags:

Firebug 0.4 released

A new version of the Firebug Firefox extension (for debugging JavaScript, CSS, HTML and Ajax) has been released.

Release notes are at http://www.joehewitt.com/software/firebug/releases/0.4notes.php

If only there was something comparable for IE!

Saturday, May 20, 2006

Rebuilding Vogue.com.au using eZ Publish (Sitepoint Article)

Sitepoint have published an interesting article on the rebuilding of vouge.com.au using eZ publish. While the article does not focus on the implementation details it is a good overview of the redesign process and benefits of managing a site with a CMS and separating content and presentation using XHTML+CSS.
Tags:

Friday, May 05, 2006

eZ publish EXIF stripping followup

It's been 2 weeks since the stripping of EXIF data was put into place on the willow site. Last friday a redesign up uploaded and as part of this update I added the EXIF stripping to all the images on the site.

The following table shows how these changes have effected the size of downloads:

Week / Action
Bytes Transfered Sessions Bytes / Session
Week 1 - no image changes 2.50 GB 6,969.00 376.45 KB
Week 2 - striping EXIF data from thumbnails 1.81 GB 7,459.00 254.95 KB
Week 3 - striping EXIF data from all site images (minor design changes) 992.98 MB 8,459.00 120.20 KB

As the number of sessions has increased over the period I've used the Bytes/ Session to calculate that stripping the EXIF data from all images has resulted in a saving of approximately 30% (this figure is likely to be effected by the new lighter site design).

These changes have resulted in the site loading much quicker, especially the collection pages that contain a lot of thumbnails.

Those looking for others reason to strip EXIF data should read about this "incident", that resulted in this advisory.

Monday, April 24, 2006

eZ publish xajax extension upgraded to 0.2.4

A new version of the xajax library has been released. I've just upgraded the extension on the public SVN server.

I'm sure that Kirstof will update the contribution shortly. Kirstof has updated the contribution!

Friday, April 21, 2006

Reduce thumbnail size in eZ publish by stripping EXIF data

Have been working on a refresh of the willow site and could not work out why the majority of thumbnail images were 20K yet others were 2K. I stumbled on the issue when a bug with the handling on EXIF data presented itself.

When ImageMagick scales images it will copy any EXIF data unless told not to. The images on the willow site contained approximately 18K of EXIF data and this was being copied into the thumbnail variations.

eZ publish makes it easy to add filters for image variations. Simply add the following line to image.ini.append.php in your siteaccess file:
[ImageMagick]
Filters[]=strip=+profile "*" +comment

[small]
Filters[]=strip=
This will strip EXIF information for "small" image variations and can be added to others by simply adding the Filters[] line to the variations definition.

Newer versions of ImageMagick have a -strip flag that will also remove EXIF data. To use this replace the [ImageMagick] section with:
[ImageMagick]
Filters[]=strip=-strip
This will work on all versions of eZ publish 3 that are using ImageMagick to create image variations.

This has reduced the page size of some of the willow collection pages from 856 kb to 168 kb !

Friday, April 07, 2006

AJAX, Javascript, CSS debugging extension for Firefox

If you do any javascript and or AJAX work you need the FireBug firefox extension.
FireBug lets you explore the far corners of the DOM by keyboard or mouse. All of the tools you need to poke, prod, and monitor your JavaScript, CSS, HTML and Ajax are brought together into one seamless experience, including an error console, command line, and a variety of fun inspectors.