7x eZ Publish CMS The main/key features of eZ Publish

The main/key features of eZ Publish

eZ publish 6 is a CMS and a development framework. With functionality like easy to create and edit content, an advanced workflow system, content versioning, multilanguage possibilities, collaboration, e-commerce functionality, a revolutionary content class system, role based access control, discussion forums and much more you can create all kinds of websites.

Access anywhere

As long as you have a computer with access to the Internet and access to your site through a username and a password you can work with eZ publish from your office or your sofa. That way you can edit your site as quickly as you wish. Work whenever and wherever you prefer.

Admin interface

By using the standard setup in the admin interface you will soon understand and appreciate how the interface is designed and works. You have easy access to content, features, classes and users. Editing and adding content is very easy and logical. No technical experience is needed by day-to-day users.

Caching

Click a button to clear a collection of caches. You can clear selected caches like Content views and template blocks, template overrides and template compiling or INI caches in a click.

Classes

A content class is simply a definition of an arbitrary data structure. eZ publish comes with a set of predefined, ready-to-use content classes such as "folder", "article", "user account", "image", etc. These content classes are carefully designed to fit the most common generic/everyday tasks of a CMS. In addition, it is possible to create custom content classes using the administration interface. The content classes (both custom and built-in) may be easily modified and/or extended at any time.

Collaboration

With the collaboration functionality you can work together with other people or delegate tasks to others. This feature is best illustrated by an example:

An editor wants to make a story on emigration. She assigns the following tasks:

  • Photograph Joe: take pictures
  • Journalist Peter: write story
  • Journalist Sally: get background statistics

Upon completion the editor will receive the complete article and may choose to publish the story or reject with comments. The other person will then get a notice telling her what to do.

The collaboration functionality may also be used for many other processes, such as distributing tasks in a support service, handling of requests from customers, or invitations to meetings/events.

Contributions

eZ publish is developed by eZ systems. However everyone can add contributions to eZ publish. You can add features that you have created and want to share with other users of eZ publish. The large eZ publish community contributes with code, modifications, extensions plus more for eZ publish.

Cross platform

eZ publish is a LAMP software, meaning it is based on Linux, Apache, MySQL/PostgreSQL and PHP. It can of course also run on Windows (Win32) and Mac OS X and most other platforms. The web pages of the administration interface and the example data are designed to work in any browser. No platform specific browser extensions are needed.

Customization

In eZ publish you don't have to make your content fit a certain predefined, one-size-fits-all content model. eZ publish lets you create your own content classes with exactly the attributes you need. This lets you structure your data very well, and makes it easier for you to present the data in various ways when needed.

If, for instance, you were setting up a web shop that sells books, you would make a Book content class with attributes such as title, author, image, publisher, year, and ISBN number. You can set the data type of these attributes, for instance text string, image or 4-digit number. You can specify which attributes can be searched when a user searches for a book. You can also enable an input validator. A validator restricts the format of the input data. It can be as simple as setting the maximum length of an input string, or more complex, such as checking that an ISBN number or an email address is correctly formatted. In this case it means that when you add books to your shop, you cannot register a book with an invalid ISBN number.

All this customization is done in your own web browser, without editing code or text files.

When you add a new book to the shop, what happens is that an instance of the Book content class is created. All such instances, or content objects, are placed in the content tree. The tree can be organized like a file system with directories and documents placed in the folders, or in any arbitrary way you prefer.

Design

To present the objects to the user of the web page, you create templates. You would create one template for each content class, or more if objects of this class should be able to present them self in various ways. eZ publish separates Layout, Code, Content and Language. You can redesign or implement a new design or templates without worrying about the content changing. eZ publish is using cascading stylesheets (css) for design like font, sizes and colours. eZ publish comes with 20 different site skins you can use on your site.

Documentation

The eZ publish documentation covers common topics related to the setup and daily use of the eZ publish content management framework. In addition, it also covers some advanced topics. The documentation is written by employees of eZ systems and by community members. It is available under the GNU Free Documentation License. The documentation is always a work in progress.

e-commerce functionality

Use eZ publish for setting up professional web shops. eZ publish has standard functionality for setting up your own professional webshop. The webshop functionalities includes i.e.: Product management, Order management, Credit card integration interface, Shopping basket, Tax calculation support, Special offer functions, Statistics, Support for selling content and Support for different currencies.

Extension possibilities

With the creation of the community area at http://pubsvn.ez.no/community-development.html it is now possible to actively develop extensions. eZ publish is built in a modular way. Much is created with a plug-in system. This allows you to easily extend the functionality of eZ publish. However, you should try to avoid changing the kernel of eZ publish. This is to make it easier to upgrade to a newer eZ publish version later. New datatypes, workflow events and so on should be created as extensions. This will also make it easier to share your extensions with other eZ publish users.

eZ publish CMF

eZ publish Content Management Framework (CMF) is a dual licenced open source framework. With the CMF you can build customized web solutions, dynamic internet applications or your own open source or commercial CMS.

eZ publish CMS

eZ publish CMS is an Open Source Content Management system based on the flexible and powerful eZ publish Content Management Framework (CMF). With the full power of eZ publish you can use these out of the box solutions as a starting point for your web site. You can choose to do minor changes to get the desired web solution or make customized solutions with the CMS as a starting point. You can choose from the following solutions included in eZ publish: Web shop, Intranet, News site, Gallery, Corporate website, Blog and Forum.

Export /import

eZ publish is a framework and you can create the imports and exports you would need yourself. eZ systems has created an import/export class that you can use to import/export class definitions to and from an XML file.

File handling

In eZ publish you can handle and work with all kinds of files and publish them on your website. Pdfs, images, movies and documents are among the files that can be handled.

Forum and Community

In the forums you can discuss eZ publish with other members of the eZ publish community. If you have questions or suggestions you can post in the forums.

Full version control

After you have written or edited an object you can save this and publish it immediately. But perhaps after you published it you want to change it by adding some more text and a picture. You can work on this new version of the object without worrying about the current published version. All changes to data in eZ publish 3 is version controlled and stored. This way you keep track of all changes in an article, product, users etc and always return to this later.

Image handling

With eZ publish you handle, scale and convert your images for publishing on your eZ publish site. Images can be handled as related objects and can be changed at any time through the admin interface.

Information collection

With the Information Collection class you can create forms.

Installers

eZ publish comes with installers for Windows, Linux and FreeBSD. These installers will install everything you need to run eZ publish and comes with example websites that you can use eZ publish for. NB! The installers are not meant for production use but for testing only. For a production site you should always use one of the distros.

Integrated search engine

The integrated search engine can search and find all your content. You can use full text search and the advanced search engine can also use logical operator such as AND/OR and phrase search.

You have the possibility to limit search based on content type, content attributes, sections and author or time stamps. The search is integrated with access control to return accessible content, which means that you set up the search to only find the content you have permission to see. Your own favourite search engine using the plug-in system may easily replace the integrated search engine.

Kernel

The eZ publish kernel can be described as the system core. It takes care of all the low level functionality like content handling, workflows, version control, access control, etc. Basically, the kernel is a collection of engines, it builds upon and makes use of the libraries.

LDAP

Lightweight Directory Access Protocol, is an Internet protocol that

applications use to look up contact information from a server. eZ publish is integrated with LDAP. User log in process can be handled by LDAP sever and user account information will be fetched from LDAP server.

Libraries

The libraries are the main building blocks of the system. They are general purpose reusable PHP libraries that can be used independently of eZ publish, such as libraries for SOAP, Webdav and PDF. The libraries are in no way dependent on the eZ publish kernel. People looking for general PHP libraries should take a look in the "lib" folder within the root directory of an eZ publish installation. Appendix A contains a complete list and a short description of the currently available libraries.

Menu management

Menus are found on most websites and allows the user to quickly get an overview of the site and navigate trough it. In eZ publish menus are represented with a template function and a menu management system. The template function allows template developers to reuse menus in all of their templates (usually pagelayout.tpl). Some menus are also bundled with eZ publish, the menus are:

  • Vertical left menu with a tree structure
  • Horizontal top menu with one level
  • Horizontal top menu with two levels

Modules

The Modules are interfaces to an engine inside the kernel and has a collection of functionality, like search, notification, e-commerce and collaboration. A module can be thought of as a collection of functionality. It may be described as an interface to an engine inside the kernel. Each module has a collection of functions that take care of various tasks. Appendix B contains a complete list and short descriptions of the currently available eZ publish modules.

Multilanguage support

eZ publish supports having different languages at your site. All text/labels are stored in industry standard XML language files and are easily translated using linguist translation program. All your content may be translated into the language you want. eZ publish has functionality for creating and maintaining several different translations of an article or product etc.

eZ publish also has Unicode support.

Notification system

With the notification system you can keep updated on news, releases, changes etc. You can easily set up the notification on your site. An example can be the notification system at ez.no. The users of the site can decide what they want to be updated on and when.

Online editor

eZ publish 3, does also have a plug in editor for simplified content editing, the online editor (OE). Making headers, bold or italic text, tables, links or adding pictures has never been easier. The online editor is a plug-in that when installed will be a part of your admin interface. The program will be available for all users of your eZ publish administration site. OE is a commercial product with the source code available.

PDF generation and indexing

Generate PDF files from all the content on your site automatically. A customizable template system ensures full flexibility of the generated files. Use the role system to restrict access to generated PDF files. PDF documents can also be indexed in eZ publish.

Performance

The developers of eZ publish are experienced in tuning and deploying enterprise internet solutions running eZ publish to get the a very high performance. eZ publish is designed with performance in mind, both for load and speed

Professional licence

The eZ publish professional licences allow you a full protection of your work made with the eZ publish. With the professional licence you will be free to distribute eZ publish in modified or amended versions without disclosing the source code. You do also get the right to licence, re-brand and sell software or solutions made with eZ publish.

RAD tool

The rapid application development (RAD) tools allow you to easily get started with creating new functionality for eZ publish.

Role based permissions

The access permissions and privileges at your site are specified by roles. A role is a set of access policies that can be assigned to a user or a user group. The role system allows you to specify access by module (content, shop, task, etc.), by function (read, create, edit, remove, etc.), by object owner, by object class, and by site section. This gives the site administrator full freedom to customize who gets access and privileges to every part of the site.

RSS support

You can set up an RSS import for importing an RSS news feed into eZ publish. RSS import is available since eZ publish 3.3.

Scalability

eZ publish can be adjusted to the needs and demands of different customers and users. Some users need much more finesse and modules on their site while others only need some of the modules. It is up to you when it comes to deciding what modules you need to satisfy your readers and users. eZ publish is very scalable and can be used at websites with a few dynamic pages to internet newspapers with several hundred thousand articles, to webshops with several hundred thousand products. eZ publish is built for today and for the future. It can adjust easily to your changes and you can add new modules as soon as they are developed by eZ systems or by yourself

Search engine compatibility

eZ publish is built to be indexed in the best possible way and is compatible with all search engines on the web. All pages on your site will be indexed.

Security

eZ publish systems can only be as secure as the hosting environment it lives on. It is wise to ensure that PHP, MySQL, Apache, PostgreSQL, IIS are as secure as they can be.

There are books and web sites on this subject, so if you run your own server its wise to find out about these issues before you go into production.

Solutions

eZ publish comes with a set of predefined examples that you can use as is or as a starting point for future development. These examples are Web shop, Intranet, News site, Gallery, Corporate website, Blog and Forum.

Speed and optimalization

eZ publish is build to be as flexible as possible both if you run small or large sites. Different sites may have different ways of optimisation depending on size, number of users, storage capacity, server size and Internet connection speed. The different possibilities are well documented. Highly recommended when running eZ publish is the PHP Acceleration. It will really boost the performance of your eZ publish site as it is caching of the compiled PHP script in memory.

Storage used in eZ publish

eZ publish structures and stores content inside a database. This is true for all content except images and raw/binary files. These are stored on the file system (within the "var" directory) to gain speed. Everything that is related to design (template files, CSS files, non content specific images, etc.) is also stored on the file system.

Support

To guarantee our customers the best possible result eZ systems offers a support program. The professional developers are ready to help you with your eZ publish development. The support will cover answers by email and phone. If you need help to configure or develop features, we can help you doing that directly on your server, or as a new feature to a distribution on eZ publish. We will also be able to give advise on how to solve problems with development in eZ publish, if you want to do most of the work yourself.

GIT

Download eZ publish directly from Git via Composer. In the stable branch you will find the latest stable source. Bug fixes will occur here before they are finally released. In the main branch you will find the latest unstable development tree of eZ publish.

Template system and design

To present these objects to the user of the web page, you create templates. You would create one template for each content class, or more if objects of this class should be able to present them self in various ways. Each object "knows" how to call its own template and thus draw itself in the browser. This makes it simple to assemble the various parts into a complete page.

The templates use a mix of HTML/XHTML (or other presentation languages such as WML for WAP devices) mixed with template code. What the template code can do ranges from simple things like printing the title of a content object, to more advanced things like adding a text label to an image or presenting a list with alternating colors on each line.

The distribution

The eZ publish distribution comes with a standard set up and the most common features of a web site are ready to use: Administrative interface, article editing and publishing, discussion forums, e-commerce, and a collaboration and instant messaging system. It also includes a manual and an Software Development Kit (SDK) which has full, cross linked API documentation with UML diagrams, several tutorials, template code documentation and other documents helping you getting the most out of your eZ publish server.

eZ publish is based on a set of PHP libraries that can be reused in other situations, such as XML document creation, parsing and validating, SOAP communication, database connectivity, image manipulation, template engine, and internationalisation. Feel free to use these libraries in your own GPL projects or commercial software with the professional licence.

Toolbars

From eZ publish 3.4, it is possible to configure toolbars using the admin interface. With the toolbars you can add and remove functionality from the top, right and buttom toolbars. This feature makes the site created by eZ publish more dynamic.

Translation & Localization

eZ publish is developed in English, but can easily be translated and adapted to local conditions. Local settings for formatting of currency, date, time and other locale-specific values are present. The Qt Linguist program by TrollTech is used for translation. The Linguist features automatic translation suggestions and a well-designed interface. eZ publish has been translated into several languages by the eZ publish community.

Trash

If you choose to delete some of your content from your site it will be put in the trash can. It may be restored at a later time or removed completely from the system.

URL translator

The URL translator is a very useful feature that let you write more browser friendly and user-friendly urls. You can rewrite system urls like content/view/full/42 to /services. You can also use the URL translator for forwarding an old url to its new location.

User management

You can easily handle all your users and hand them privileges in eZ publish. You can add users to user groups and assign them roles that decide what the current user can and cannot do at the site.

Webdav

eZ WebDAV is a WebDAV server abstraction library. It enables you to quickly develop WebDAV enabled PHP servers/applications. WebDAV is an abbreviation for "Web-based Distributed Authoring and Versioning". It is a set of extensions to the HTTP protocol which allows users to collaboratively edit and manage files on remote web servers using WebDAV enabled clients. For example, you can use recent versions of KDE's Konqueror or Microsoft's Internet Explorer to browse/manage the content of a WebDAV compatible web server (similar to browsing/managing local file systems). DAV is an IETF Proposed Standard (published as RFC 2518). This means that it is an entirely open standard.

Workflow system

Setting up and configuring workflows is handled in the administration interface of eZ publish. You can specify workflows that are run whenever an event happens. This lets you change how things work and extend functionality without changing eZ publish code. For instance, when a shop user buys something, you can create a workflow that asks him whether he wants to have his item wrapped in gift paper. Another use for workflows is editor approval before articles can be published.

Workflows may be used for many other purposes as well: publishing processes (e.g. all articles posted on the front page has to be approved by the editor), notifications (send email to customers with items in the shopping basket, if not checked out within 3 days), move articles to archive after 3 months and managing the steps in the order check-out process.

A workflow is used to set up and control a sequential list of actions and is triggered by function calls. A workflow may be set up to run before or after the function itself and may trigger other workflow-based conditions. The list of workflows that are standard can easily be extended by plug-in systems. Despite the ability to create custom content and workflows, you might run into a situation where you need to extend eZ publish code. The extension system lets you keep your code separated from eZ publish code, making it safe to update your site to newer versions of eZ publish.

XML handling

All content in eZ publish is stored as XML. eZ xml is a DOM XML parser written in PHP. It does not need any external libraries to work. eZ xml enables you to parse and manipulate XML documents. eZ xml supports handling of XML documents as defined in Extensible Markup Language (XML) 1.0. Namespaces are supported as described by W3C in Namespaces in XML. eZ xml supports the XML Schema standard for validating XML documents. It follows the DOM level 2 as far as possible.

Contact Us