ibexa

Path

ez publish / technical manual / 4.x / concepts and basics / the internal structure of e...


Caution: This documentation is for eZ Publish legacy, from version 3.x to 5.x.

The internal structure of eZ Publish

This part of the 4.x documentation is for eZ Publish 4.0, only reference section is common for all eZ Publish 4.x versions as well as eZ Publish 5.x "LegacyStack", please select the version you are using for the most up to date documentation!

This section describes the internal structure of eZ Publish by presenting an brief overview of the different software-layers of the system. eZ Publish is a complex, object oriented application written in the PHP language. The system consists of three major parts:

  • Libraries
  • Kernel
  • Modules

The following illustration shows how the different parts of the system are connected.

Libs, kernel and modules.

Libraries, kernel and modules.

The libraries

The libraries are the main building blocks of the system. These are reuseable general purpose PHP classes. The libraries are in no way dependent on the eZ Publish kernel. However, some of them are strongly interconnected and thus inseparable. People looking for general PHP libraries should take a look in the "lib" folder within the root directory of an eZ Publish installation. The reference chapter contains a complete list and a short description of the currently available libraries.

The kernel

The eZ Publish kernel can be described as the system core. It takes care of all the low level functionality like content handling, content versioning, access control, workflows, etc. The kernel consists of various engines that build upon and make use of the general purpose libraries.

The modules

An eZ Publish module offers an HTTP interface which can be used for web based interaction with the system. While some modules offer an interface to kernel functionality, others are more or less independent of the kernel. eZ Publish comes with a collection of modules that cover the needs of typical everyday tasks. For example, the content module provides an interface that makes it possible to use a web browser to manage content. The reference chapter contains a complete list and a short description of all the currently available modules. A module can be broken down into the following components:

  • Views
  • Fetch functions

A view provides an actual web interface. For example, the "search" view of the "content" module provides a web interface to the built-in search engine. Every eZ Publish module provides at least one view. A fetch function makes it possible to extract data through a module from within a template. For example, the "current_user" fetch function of the "user" module makes it possible to access information related to the user who is currently logged in. Some modules provide fetch functions, some don't.

Balazs Halasy (12/01/2005 10:21 am)

Ricardo Correia (17/04/2013 10:20 am)

Balazs Halasy, Geir Arne Waaler, Ricardo Correia


Comments

  • PDF Doc

    There is an offline version??
    • Re: PDF Doc

      FOR THE OVE OF SWEET JESUS!! PDF documentation please!!
      Earn your ticket to heaven by giving us users that little fav XD
      • PDF docs

        the offline documentation is now available (both in PDF and zipped HTML format), please find more information and links on this page: http://ez.no/doc