eZ Publish

januari 2nd, 2010

”’eZ Publish”’ is een Content Management Systeem computerprogramma van ”eZ Systems”. Het is geschreven in PHP, en is volledig objectgeoriënteerd.
Het doel van ”’eZ Publish”’ moet het eenvoudig opzetten, onderhouden en bewerken van een website zijn, omdat de volledige applicatie voor zowel de content-schrijvers als de website-ontwikkelaars volledig gedocumenteerd is.

Versies

Er zijn verschillende versies van eZ Publish:
* Een gratis versie voor niet-commercieel gebruik.
* Een commerciële versie voor gebruik op commerciële websites of andere commerciële doeleinden.

De versie van ”’eZ Publish”’ op moment van schrijven is 3.8.0.

Applicatie architectuur


Omdat eZ Publish geschreven is in object-oriented PHP is het van belang de rol van iedere class binnen de applicatie te bepalen.

Omdat eZ Publish een vrij grote applicatie is, is hij opgedeeld in modules, een kernel en diverse libraries.

De kernel


Dit is de laag die de modules en de libraries aanstuurt, en op de juiste manier.
Deze kernel wordt als eerste aangeroepen zodra er een bezoeker een pagina bezoekt op de site. Nadat de kernel begrijpt wat deze gebruiker wil ”–aan de hand van POST/GET variabelen-” roept deze de juiste modules aan.

De modules


Een module is een onderdeel van de site. Voorbeelden van modules zijn content, webshop, gebruikersprofielen, zoekmachine, trainingsagenda enz.

Om door de kernel geïnterpreteerd te kunnen worden, heeft de aanroep van een pagina een bepaalde syntaxis. De specificatie van de aanroep wordt meegegeven in de url. De variabelen worden gescheiden met slashes. Een voorbeeld url:

”’index.php/role/list”’

In deze voorbeeld url wordt de module ‘role’ aangeroepen, en de functie ‘list’.

De modules bevinden zich in de map ./kernel/<modulenaam>.
In deze map staan de bestanden die deze module te maken hebben.

Deze bestanden zijn vrij qua naamgeving. Er bevindt zich echter een vast bestand in deze map. Dit bestand heet ‘module.php’ en bevat informatie m.b.t. de kernel.

Alle verdere scripts m.b.t. deze module staan ook in deze map.

De libraries


Een library kun je zien als een driver.
Zo is er een database library (ezdb) een pdf-export library (ezpdf) enz. enz.
Een library heeft een type; Input of output.
Deze libraries worden door de kernel gebruikt om de modules aan te sturen.

Er kan door middel van configuratie (die bestanden staan in de map ‘./settings’) bepaald worden welke libraries er voor welk doeleinde worden geladen.

Libraries bevinden zich in de map ‘./libraries’

Zelf modules schrijven


Zoals eerder vermeld is de code van eZ Publish uitvoerig gedocumenteerd, en er is API documentatie aanwezig. In deze documentatie staat omschreven hoe een module opgebouwd is (zoals hierboven beschreven) hoe deze geïmplementeerd wordt (welke functies/variabelen/werking moet hebben).
Ook worden de gebruikte design-patterns uitvoerig uitgelegd.
Externe links
eZ Publish website

Bron: http://nl.wikipedia.org/wiki/EZ_Publish

Licentie: http://creativecommons.org/licenses/by-sa/3.0/

Comments are closed.