Posts

Review - eZ Publish 4: Enterprise Web Sites Step-by-Step

Image
It's been a while since there's been a eZ Publish release from Packt Publishing but the long awaited eZ Publish 4: Enterprise Web Sites Step-by-Step has finally hit the shelves.  Written by Francesco Fullone and Francesco Trucchia it spans 292 pages and details building a site using eZ Publish 4 from server preparation, eZ Publish installation, implementation and deployment. A imaginary magazine site is used to illustrate examples throughout the book.  A number of topics are covered that will help those new to eZ Publish get up and running. The book is based on eZ publish 4.0.1 and while the current version of eZ publish is 4.2.0 the content is still relevant and there are several notes that refer to features and changes in newer versions. Packt has provided Chapter 6 - Creating a Design as a free sample download (PDF) . A chapter overview is available on the book site as well as a full table of contents . This is a review of the PDF version of the book provided...

eZ Publish Admin to get some loving

Image
The current eZ Publish admin interface first appeared almost 5 years ago in version 3.5 ( released Dec 2004 ). At the time it was a massive improvement from the previous version. Since it's release there have been many advances in web technologies, javascript libraries and browser support. When the eZ publish roadmap was updated in July this year it indicated that version eZ Publish 4.3 (due 30 March 2010) will include a redesign of the admin interface. From the roadmap: eZ Publish Admin interface Redesign of the current User Interface including : More Ajax based usability features Revamped look and feel Improved management of Object States Dashboard A good discussion of the admin interface occurred in the forums originating in Jan 2009 and was reinvigorated after the roadmap announcement. The thread is a rather long one and winds it's way around a number of topics (JavaScript libraries, projects/contributions site, admin interface) but is well worth reading. The issue of...

Adding negative filters to eZ Find

I've been doing some work with eZ Find recently and have come across an issue that has also troubled others . While eZ Find includes some powerful filtering options there's no support for negative filters. This can easily remedied by adding "NOT" as an allowed Boolean Operator and adding specific handling of NOT to the final query construction to ezfind/classes/ezfezpsolrquerybuilder.php . This small change allows NOT to be used in the same manor as the existing AND and OR operators. An enhancement request has been lodged that includes the following patch. diff --git a/classes/ezfezpsolrquerybuilder.php b/classes/ezfezpsolrquerybuilder.php index 3c997dc..f30813c 100755 --- a/classes/ezfezpsolrquerybuilder.php +++ b/classes/ezfezpsolrquerybuilder.php @@ -852,7 +852,10 @@ class ezfeZPSolrQueryBuilder } } - return implode( " $booleanOperator ", $filterQueryList ); + if ( $booleanOperator == 'NOT' ) + return '...

Nominate eZ Publish for 2009 Packt Open Source CMS Awards

Image
Image via Wikipedia Time is running out to nominate eZ Publish for this years Packt Open Source CMS Awards . Help to get eZ Publish into the final five by clicking on the links below and supplying your name and email! (The links auto select eZ Publish) Nominate eZ Publish for Best Overall Open Source CMS Nominate eZ Publish for Best PHP Open Source CMS

eZ Publish 4.2 to include Star Rating module

Prior to this years eZ conference I was approached by eZ systems to allow for my Star Rating module to be included in the eZ Publish distribution. All and all it was a pretty painless process that simply required the signing of the Contributor Licence Agreement (CLA) . The CLA is an interesting legal document as it doesn't specify the particular piece of software that it refers to. I was informed that this is by design as it's intended to be a general agreement where specifics are communicated seperately. eZ Systems have created a new project for eZ Star Rating on the eZ Projects site where a number of improvments have been made, including: Given it the eZ treatment, better comments, cleaned up code formatting Removed references for full 4.x compatability Changed from xajax to ezjscore + yui3 for ajax calls Merged rating code from ezcore / ezyui Code cleanup (cs & phpdoc and code name conventions) Added fetch operators Added postgresql support Added internationalisati...

eZ Publish 4.2 User module to get workflow triggers

The upcoming eZ Publish 4.2 ( due September 29th ) will add a bunch of workflow triggers to the user module . Workflows will be able to be attached to the following views: Activation Change Password Forgot Password Preferences Set Preferences This allows for custom workflow events to be run before and after each of these operations, resulting in a massive increase in the flexibility when interacting with users. Some potential uses that come to mind: Emailing users upon activation Creating user specific content upon activation Emailing users when they change their password An effect of these changes is that code for these actions is isolated into a class allowing calls to be easily made from elsewhere. Prior to these changes to activate a user outside of the user/activate view you would have replicate code contained in the view. This will also make it easier to test. I would have loved to see triggers added for login and logout but I suspect that would be a more involved exercise...

PHPList extension upgraded for eZ Publish 4.x

Image
Thanks to sponsorship by DB Informatics the PHPList subscription synchronise extension has been upgraded to work with PHP5 and eZ Publish 4.x This extension allows for the addition of a Subscribe to list attribute to be added to the User content class. Users are able to subscribe or unsubscribe from PHPList mailing list by editing their profile.

New reCAPTCHA release for eZ Publish

Image
Thanks to Łukasz Serwatka for pointing out some issues with JavaScript in IE7 . I've applied the patch and released new versions for both eZ 3.x & eZ 4.x both on the contributions section of the main ez.no site and at projects.ez.no . It's pretty old news now but the reCAPTCHA extension won the "Contribution of the year" at this years eZ Awards ! A little embarrassing to tell the truth, given that the extension simply exposes the reCAPTCHA system which does all the hard work. If you use the extension please drop a comment on the blog and link to your site. It's great to win awards but even better to see the extension in action.

eZtip: Character Encoding in Templates

Image
Recently I was working on a multilingual site and had to add some static text in a number of languages. I added the supplied text and then viewed the resulting page. Having previously lost many hours of my life to dealing with character encoding issues I momentarily regretted I'd gotten out of bed when confronted with mess that was before me. Quickly regaining my composure I realised that eZ Publish must be doing the transformation and with a bit of digging I discovered that by default templates are seen by the system as being in iso-8859-1 and are converted into utf-8 for display. In my case eZ Publish was doing what it was told and converting the already utf-8 characters in utf-8. There are 2 options for telling eZ publish the character encoding of a template. Firstly you can configure eZ publish that all templates are utf-8 by editing template.ini.append.php in overrides for the entire site or your specific siteaccess to limit the effect. [CharsetSettings] # The charset to us...

Read about French eZ Developer day with Google Readers inline Translations

Image
There is a wonderful French eZ publish community and many of the members blog. In the past keeping up to date with these has been a quite painful and involved passing the link through an online translator. Yesterday I read an announcement that Google have added automated translations to their online RSS reader product, Google Reader . Now reading these blogs is as simple as adding the feed and selecting "Translate into my language" from the feed settings options. I discovered this great new feature at the same time that I read Damien Pobels post pointing out summaries of the eZ Developer day recently held in Paris: eZ developer day in Paris (November 7, 2008) by Gauthier Garnier Ezpublish Developer Day in Paris (November 7, 2008) by Nicolas Frey Gauthiers post mentions that there is an International eZ Publish Developer day to be held in Barcelona on January 29, 2009. Can't find anything on the eZ site though.

eZtip: Errors can be misleading...what happens when the DB is dead

Image
I recently received an email from an eZ community member stating after an abnormal system reboot that their working eZ Publish install was reduced to responding with "Error / kernel (1) Access denied" My suspicion was that there was an issue with the database. More than likely it had not successfully started when the system was brought up again. I tested this theory by stopping the database in my local development environment and accessing the associated eZ Publish site. Manually editing the settings/siteaccess/eng/site.ini/append.php to turn on debugging confirms the problem and gives an insight into what is happening: Warning: PHP mysqli_connect() [<a href='function.mysqli-connect' >function.mysqli-connect</a>]: (HY000/2002): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /var/www/ezpublish-4.0.0-ezwebmin/lib/ezdb/classes/ezmysqlidb.php on line 132 Error: eZMySQLiDB Connection error: Couldn't c...

eZtip: Get the current siteaccess from template

I'm currently working on a multilingual site and had to use the name of the siteaccess in the template code. Easy I thought...well it took quite a while to find. From http://ez.no/doc/ez_publish/technical_manual/4_0/templates/the_pagelayout/variables_in_pagelayout Variable Type Description $access_type array The name of the siteaccess (as "name") and the ID number (as "type") of the access method that was used (1=URL, 2=Host, 3=Port). Adding {$access_type|attribute(show,2)} to the pagelayout.tpl template will give the following: name string 'ezwebin_site' type integer 2 The siteaccess used to serve the current page is accessible via $access_type.name

French version of "10 Tips for New eZ Publish Developers"

Some days I absolutely love the internet and the possibilities it enables. Today I got a real buzz when I leaned that Clochix has created a French version of my previous post, " 10 Tips for New eZ Publish Developers ". It doesn't appear to be a straight translation and contains additional thoughts on most of the points. What Clochix does point out is that many of the tips could apply to most applications, and he's 100% correct on this. Many of them are common sense. Trouble is that time and time again I've see projects (and not just eZ projects ) that don't "follow the rules". Sometimes it's good not to assume that people know and to state the basics!

10 Tips for New eZ Publish Developers

Image
We've all been there, starting out with a new product and not knowing where to begin. Below are my top 10 tips for new eZ publish developers. Read the install documents and make sure your system meets the requirements before beginning. eZ Publish has some hefty needs in terms of memory limits and timeouts that may not be set at recommended levels in some PHP setups. Not having these values set to acceptable levels will impact on a successful install. Don't modify the core distribution . Just don't, no matter how tempting it is. There is no need to modify any files that come as part of the eZ Publish distribution. This will save you losing any changes when you upgrade. Understand the basics . eZ Publish doesn't store content in straight database tables like other Content Management Systems. Read the documentation and understand the content model . eZ Publish is all about content objects arranged in a tree , not data stored in tables. Debugging holds the answers . ...

Web Directions South 08 - Day 1

Image
I'm been meaning to attend a Web Directions Conference since they started but it always clashed with other commitments. This year I made the trip to Sydney for Web Directions South 08 and it was well worth it. Web Directions always provides a great program of both international and local speakers as well as a fantastic bunch of attendees. As with most conferences there were a number of parallel sessions and often the choice of which to attend is difficult. On the first day I attended mostly technical sessions, which in retrospect was probably a mistake. This is a run down on the sessions I attended on day one. New media - new business Lynne D Johnson presented the opening keynote which covered how various generations interact with of new technologies and what this means for traditional media providers. The content of the session was perhaps aimed at a less "online" savvy crowd but got interesting when examples and case studies came out. Some interesting ideas wher...

How to you handle Revision Control for eZ Publish Projects?

Image
Revision control systems (RCS) play an essential part of any software development process. One reason for using a RCS is to enable applications to be rolled back and deployed from a known point in time. Due to the nature of eZ publish it's difficult to capture all changes in the RCS and this often leads to the requirement of manual adjustments when changes are deployed. An eZ publish project is made up of a number of elements that are stored either on the file system or in the database. The database not only stores the site's content but also a number of "configuration " items, such as roles & policies, content class & workflow definitions, RSS feed configurations and URL translations (I'm sure there are more). Another scenario where this feature will pose an issue is if you use a node override to utilise a specific template for a particular node. In this case the entry in override.ini relies on a specific node_id to link the template to the node. It...

FriendFeed Room for eZ Publish

Image
I've been playing with FriendFeed for a little while and today setup an eZ Publish room . FriendFeed is a content aggregator that is primarily targeted at "friends", but several projects have been using it at a convergence point for information. In their own words: FriendFeed enables you to keep up-to-date on the web pages, photos, videos and music that your friends and family are sharing. It offers a unique way to discover and discuss information among friends. I've primed the room with RSS feeds from eZ Planet , the eZ.no site , eZ Projects and a twitter search for "ezpublish" like terms. Feel free to join and contribute , or simply add the RSS feed of the room to your reader and follow a bunch of eZ news from the one feed.

OpenID for eZPublish

Image
Earlier this year I was investigating OpenID and decided to attempt to integrate it into eZ Publish . I got most of the way before I realised that the amount of existing code I had to replicate meant that the maintenance of the extension would be a nightmare. After discussions at the eZ Developer Day I decided to upload the source to projects.ez.no and invite anyone interested check it out. If you want to contribute feel free to add yourself to the group. The extension uses the PHP OpenID Library by JanRain . The version of the library used in the extension is 2.1.1. In future I plan at evaluating the use of the eZ Components OpenID Authentication module . Features The extension provides the following features: Login using OpenID Register Using OpenID OpenID URL management Both the OpenID Login and User Registration work in parallel to the existing systems, allowing users to login & register in a regular manor. The templates have been created for the admin & ezwebmin i...

Vote for eZ Publish in Packt Publishing's Best PHP Open Source CMS Award

Image
eZ Publish is a finalist in Packt Publishings' 2008 Open Source CMS Awards . eZ Publish gained a successful nomination in the Best PHP Open Source CMS category . Voting began on September 1st and closes mid October. Visit the Packt site and cast your vote now !

Micro-blogging the eZ Conference

Image
For those who haven't heard of "Micro-blogging" wikipedia defines it as: Micro-blogging is a form of blogging that allows users to write brief text updates (usually less than 200 characters ) and publish them, either to be viewed by anyone or by a restricted group which can be chosen by the user. These messages can be submitted by a variety of means, including text messaging , instant messaging , email , MP3 or the web . Twitter is currently the most popular micro-blogging service but can have reliability issues (these have been addressed recently). I've been using it for a couple of months now . It can be a bit of a time suck especially if you follow frequent tweaters . I've found it a good way to keep track of what friends, the web industry & eZ people are up to, pose questions and actually get answers. One of the things that has always frustrated my about not attending the eZ conference in the past is that it takes about a week for news and coverag...