Posts

Showing posts with the label ez publish

New eZ Publish Puppet Module

In my last blog post I wrote about an eZ Publish Puppet module that I'd created that could be used to setup and install eZ Publish. Its been awhile since I'd done any work on it (and blogged for that matter!) and in that time both Puppet and Vagrant have matured considerably. I've also had more experience creating Puppet modules and managing systems with Puppet. I've decided to re-write the eZ Publish module from scratch utilising Puppets own modules for apache and mysql. The result is available on GitHub and in the Puppet Module Forge . The overall functionality in the new module is essentially the same as the old one, but elements have been decoupled.  This allows for the various components that make up an eZ Publish "stack" to be combined to match the desired architecture. e.g. a standalone system with the database and application on the one system to a clustered systems where different components are on separate syst...

Hassle free eZ Publish setup

This is not another how to setup Ubuntu to run eZ Publish guide...well not really. One of the biggest hurdles when getting started with eZ Publish is successfully installing the CMS. This process often fails because the system on which it is being installed is not configured correctly. If you do not have a helpful systems administrator handy it can be quite difficult to get past the initial steps. There are a number of solutions that allow you to manage the configuration of computer systems. Two of the most popular are Puppet & Chef . These systems allow you to create "recipes" of how systems should be setup. I've put together a eZ Publish module for Puppet that: Configures a system suitable to run eZ Publish  Setup Virtual Hosts configured to run eZ Publish  Sets up a Database  Downloads eZ Publish  Configures a kickstart.ini file It's a bit like a guide to setting up eZ publish on Ubuntu but doesn't require you to manually follow the ...

eZ Publish Admin Prototype extension

Following on from yesterdays post on checking out the eZ Admin Interface prototype I've created an extension that can be easily downloaded, installed and enabled. Download the extension from here Copy to your extension directory and untar: tar xzf admin2prototype.tgz Enable it in your admin siteaccess by editing settings/siteaccess/site_admin/site.ini.append.php and adding: [ExtensionSettings] ActiveAccessExtensions[]=admin2prototype Clear the cache To disable, simply remove the settings from step 3 above and clear the cache. Note: If you enable the extension via the admin interface (Setup -> Extensions) this will effect all site accesses including your front end ones.  Things to check out in the prototype: Lack of Shop and Design tabs - these are disabled by default in eZ Publish 4.3 Hidden right menu. Click on the [+] to expand Content menu (Left Hand side under Content, Users & Media Tabs) can be variably sized. Grab the bottom right hand corner an...

How to install the eZ Admin Interface prototype

Image
The Admin Interface Refresh project has had a concept implemented that can be reviewed live with an eZ Publish install. This is a guide on how to get things working. The new Admin Interface design is a prototype and it's constantly being refined so don't try this on your production servers. Starting from a clean install of eZ Publish 4.2 with the the eZ Flow package (with content) Change into the design directory # cd design Checkout the design # svn co http://pubsvn.ez.no/nextgen/trunk/design/admin2 Edit settings/siteaccess/admin_site/site.ini.append.php and change the SiteDesign to admin2 [DesignSettings] SiteDesign=admin2 Grab new menu.ini - this is required to display the left hand menus under Setup and My account. # cd settings/siteaccess/ admin_site / # wget http://pubsvn.ez.no/nextgen/trunk/settings/menu.ini Clear the cache You should now be able to view the new interface and it should look something like this: To revert back to the original inter...

eZ Publish Community Day to be streamed live!

Image
The eZ Publish winter conference is a free conference being held in Geneva on 21 st and 22 nd of January 2010, with the Community Day being held on the 22 nd . If you are like me and can't make it there is some exciting news! eZ Publish's Community Manager Nicolas Pastorino has setup a Ustream account for the eZ Community and scheduled a event for the community day. That's right the Community Day will be streamed live! Show your support of this wonderful initiative by signing up to Ustream and RSVPing to the event ! (Note that two events for they day one for the morning session and another for the afternoon one.) The Ustream interface allows for a twitter channel as well as inline chat allowing participation throughout the day.  The twitter hastag is #ezwintercf . If you know anyone interested in eZ Publish get them to RSVP as well.  It will be great to have as many people as possible participating ! If you have any experience producing an live event like...

eZ Publish Admin redesign - Some suggestions

I've covered two larger topics in other blog posts ( Admin interface users & Dashboards ) so in this post I'm going to cover a number of smaller suggestions I have for the Admin Interface refresh.  Some of the items have been suggested by others and been added to the specification - I hope I've noted these. Improve underlying HTML Damien has already mentioned linking labels with their related input via the for attribute.  I wasn't aware that there was already an issue for this but I made a start of adding a Accessibility & Usability Improvements project that currently " associates labels with specific form elements, adds "required" class to required input elements to allow attachment of javascript validation ". The project looked at "fixing" the datatype edit templates and the modifications can be viewed in the CHANGELOG . Specific changes I'd like to see in the underlying HTML are: Labels linked to input fields Lab...

eZ Publish Admin redesign - Dashboard = OpenSocial?

Image
In the preface to the current Admin interface specification the last paragraph caught my eye: A overview of user task need a dashboard , where she can follow here own content, approval and other tasks she might do on a regular basis. I recently saw a demo of the latest version of the bug tracking system JIRA 4.0 by Atlassian . It used an OpenSocial dashboard to allow users to customise their homepage to access and interact with information that was important to them.  The system not only displays JIRA widgets but any OpenSocial widgets (and those from other Atlassian products ). You can check out a video of it in action here and more information on how Atlassian is using OpenSocial here . What is OpenSocial? From the official site: OpenSocial defines a common API for social applications across multiple websites. With standard JavaScript and HTML, developers can create apps that access a social network's friends and update feeds. Google personal home page is an example o...

eZ Publish Admin redesign - Think of the Editors!

Image
It's been a while since I first posted about the Admin interface redesign that will be part of the eZ Publish 4.3 (due 30 March 2010).  Since that time there have been some great input ( here , here , & here ) from the eZ Publish community as well as a transparent and inclusive design process from eZ Publish. I'd like to congratulate eZ Systems on their approach with this process and encourage any eZ Publish users to have a look at the specification and the prototype of proposed layout changes and add their voice to the process by commenting on the blog post . In moving forward with any changes I believe that it's important to understand the users of the system and the tasks they are attempting to carry out. This allows for suggestions and potential changes to be "tested" against a rule of "How does this help [ROLE] complete task [TASK] ?" In my experience users of the Admin interface can be split into two broad groups: Content editors , ...

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...

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 . ...