|

TYPO3 kan door gebruik van Plugins
(zogenaamde extensies, kleine uitbreidingsprogramma's) aan speciale
situaties aangepast worden. Dit wil zeggen dat door middel van deze
extensies de functionaliteit van TYPO3 verder uitgebreid kan worden.
Op dit moment zijn er meer dan 3000 extensies beschikbaar, waarmee
zeer veel toepassingen mogelijk zijn, zonder dat u hiervoor zelf
hoeft te programmeren. Voorbeelden hiervan zijn een uitgebreid
nieuwssysteem, winkels of discussiefora. Grote voordelen van dit
systeem zijn de meertaligheid van Front- en Backend, als de actieve
gebruikers- en ontwikkelaarscommunity over de gehele wereld.
Gebruik
Schattingen zijn dat TYPO3 meer dan 200.000 keer ingezet is voor
websites. Toonaangevende gebruikers in de Benelux zijn onder meer de
Technische Universiteit Eindhoven, het Verbond van Verzekeraars, het
Ruimtelijk Planbureau, de omroepverenigingen VARA, LLINK en TROS,
Technische Universiteit Delft, de Erasmus Universiteit en
werknemersorganisatie CNV.
De opleidingsperiode voor een website-ontwikkelaar bedraagt enkele
weken, voor een redacteur enkele uren. Zo moet een ontwikkelaar, die
een TYPO3 website maken wil, bijvoorbeeld de configuratietaal
Typoscript beheersen.
In tegenstelling tot commerciële programmatuur is er bij TYPO3 geen
support door de fabrikant/ontwikkelaar, maar verloopt via de
gebruikerscommunity (fora, nieuwslijsten) en een groot aantal
internetbedrijven. Deze bedrijven hebben zich gespecialiseerd door
TYPO3 websites te bouwen of hosting aan te bieden met TYPO3
voorgeïnstalleerd.
Bediening
TYPO3 wordt op een webserver via een webbrowser aangestuurd.
Voor de bediening is geen extra programmatuur voor de redacteur
nodig, behalve dat de webbrowser ondersteund dient te worden. TYPO3
biedt verschillende toepassingsmogelijkheden, die zich grofweg in de
onderdelen ontwerp, Typoscript en inhoud laten onderverdelen. Dit
leidt tot een bepaalde complexiteit, die men als sterkte van het
systeem, maar wellicht ook als zwakte interpreteren kan.
De verwerking gebeurt in het in de webbrowser zichtbare deel van
TYPO3, het backend, waarin inhoud gemaakt en onderhouden kan worden.
Met een Rich-Text-Editor, vergelijkbaar met tekstverwerkers als MS
Word, kunnen teksten eenvoudig bewerkt en vormgegeven worden door
een redacteur. Ook biedt het systeem voor bewerking van inhoud de
mogelijkheid dit direct te doen in de website pagina (de “frontend”,
tevens het zichtbare gedeelte van de website voor bezoekers). Deze
optie dient door de beheerder vrijgegeven en aangeboden te worden
aan een redacteur en biedt een snelle ingang in TYPO3.
Terminologie
Het gebruik van de termen front- en backend wijkt af van de
klassieke terminologie. Volgens deze klassieke terminologie zal
TYPO3 twee frontends hebben voor verschillende
gebruikerscategorieën. Zie Frontend (klassieke definitie) en Backend
(klassieke definitie).
Functionaliteit
Tot de functies behoren onder andere tijdgestuurd publiceren en
verwijderen van inhoud, een rollen en rechtensysteem, zoeken in
statische en dynamische inhoud, automatisch genereren van een
sitemap, printvriendelijke pagina's, gebruikersbeheer,
meertaligheid, zoekmachinevriendelijke URL's, die zich met modules
(zogenaamde extensies), zoals gastenboeken, fora, nieuwsbrief,
statistieken laten uitbreiden. Beelden, tekst, tabellen, animaties
als externe databronnen kunnen in TYPO3 worden beheerd.
Templates (sjablonen) maken de verwerking van inhoud gemakkelijk. In
deze templates worden de pagina-opbouw en vormgeving gedefinieerd,
bijvoorbeeld op welke plaats de menu's en inhoud getoond wordt, de
grootte en kleur van de letters of de positionering van de koppen.
Inhoud kan ingevoerd worden met vrij configureerbare invoervelden,
bijvoorbeeld een Rich-Text-Editor, die een WYSIWYG-interface biedt,
gebaseerd op gangbare tekstverwerkingsprogramma's. Een geïntegreerde
beeldverwerker is voorhanden. De Objectmanager laat toe grafische
elementen te schalen, te draaien, kaders toe te voegen, waarbij
TYPO3 de gewijzigde beelddata met de beeldconverter ImageMagick en
GDLib in een nieuw formaat opslaat.
De ingevoerde inhoud wordt in een database opgeslagen en staat
onafhankelijk tot de beschikking van de toegepaste sjabloon.
Hierdoor kan de visuele presentatie van de website op elk moment
gewijzigd worden door de uitwisseling van de sjablonen, zonder dat
de inhoud verandert dient te worden. Zo kan ook dezelfde inhoud in
verschillende opmaken getoond worden. Een geïntegreerd
cachingsysteem slaat de gegevens van frequente aanvragen op. Via
deze manier wordt de processorbelasting van veel opgevraagde
pagina's verlaagd.
De organisatie en programmering met TYPO3 bestaat uit de volgende
elementen: HTML-sjabloon: Bestand met zogenaamde markers
(bijvoorbeeld ###MARKER###), die door TYPO3 met de juiste inhoud
(navigatie, tekst, beeld) vervangen worden. Als alternatief kunnen
deze markers door de extensie 'Template Autoparser' automatisch
gegenereerd worden. Typoscript template: In deze interne
configuratietaal wordt omschreven waarmee TYPO3 de markers dient te
vervangen. Daarnaast kunnen hiermee de inhoudselementen
geconfigureerd worden.
Als alternatief is het mogelijk om de
weergave van pagina's in zijn geheel via Typoscript te laten
verlopen, zonder gebruik te maken van HTML-sjabloonbestanden met
markers. Dit wordt in het bijzonder geadviseerd voor ervaren
TYPO3-ontwikkelaars bij XHTML-pagina's, waarbij de HTML-elementen
tot enkele div's beperkt zijn. PHP: De achterliggende
programmeertaal voor TYPO3-functionaliteit (Hiermee werken de
veeleisende gebruikers, wanneer zij TYPO3 uitbreiden) TYPO3
constanten Paginaboom
Ontwikkeling
Geestelijk vader en voormalig hoofdontwikkelaar van TYPO3 is de
Deen Kasper Skårhøj. De actuele versie is 4.2, die in april 2008
verscheen. Een belangrijk verschil met voorgaande versies is dat
vanaf versie 4.2 TYPO3 geen PHP4 meer ondersteund. In versie 4 zijn
enkele veelgevraagde eigenschappen toegevoegd, zoals de scheiding
van bewerken en publiceren (Workspaces), de database-abstractielaag
DBAL, een nieuwe tekstverwerker en snelheidsverbeteringen. Met de
database-abstractielaag DBAL is het mogelijk om met andere databases
te werken dan MySQL, zoals PostgreSQL of Oracle. Versie 3.8.1,
uitgebracht op 14 november 2005 bevatte onder andere de
ondersteuning voor GraphicsMagick en maakte de tussenopslag van
pagina's op proxyservers mogelijk. Op 26 september 2004 werd versie
3.7 uitgebracht, die een nieuwe TYPO3-engine bevatte. Versie 3.6 van
TYPO3 kwam uit op 30 april 2004. De belangrijkste vernieuwing van
deze versie was de XHTML-conforme broncode van de standaard
inhoudselementen.
Naast de ontwikkeling van de 4.x-tak, geleid door Michael Stucki,
waarvoor onder andere een verbetering van het gebruiksgemak van het
backend is gepland, is men begonnen aan de ontwikkeling van TYPO3
5.0. Dit project, geïnitieerd en geleid door Robert Lemke, legt zich
toe op een geheel nieuwe architectuur van het systeem.
Ontwikkelen van eigen extensies
TYPO3 wordt intern aangestuurd met verschillende PHP-arrays. Zij
bevatten alle informatie om HTML code uit content te genereren via
Typoscript instellingen. In de regel kan men bijna elke uitgifte en
veel backend instellingen door veranderingen aan de configuratie in
deze arrays aanpassen. Bij de verwerking van PHP-scripts is het
gebruikte geheugen niet onbelangrijk.
Het ontwikkelen van TYPO3-eigen extensies gaat met minimale PHP
kennis redelijk snel. Aan te bevelen is het gebruik de
TYPO3-extensie “Kickstarter”, waarmee eenvoudig de basis voor de
gewenste functionaliteit neergezet kan worden. Naar wens kan men
hiermee zowel frontend als backend uitbreidingen uitkiezen. De
benodigde functionaliteit wordt gewoonlijk in de TYPO3 configuratie
array TCA vastgelegd. De geproduceerde extensie bevat bestanden, met
vooraf vastgelegde namen, die automatisch aangeroepen worden,
bijvoorbeeld localconf.php. De programmeur hoeft alleen nog maar de
nodige PHP functies te schrijven, waarbij veel gebruikte functies,
die al voorhanden zijn, gekopieerd en aangepast hoeven te worden. Na
de installatie van de extensie test TYPO3 automatisch of de extensie
zich aan de TYPO3 standaarden houdt.
De PHP-broncode, die vanaf versie 4.2 alleen door PHP versie 5 wordt
ondersteund, bestaat gewoonlijk uit bestanden, die altijd een class
bevat. De programmering is niet object georiënteerd, maar gebruikt
classes eerder in de betekenis van modules. Elke class bevat aan het
eind een zogenaamde XCLASS. Deze kunnen door de extensie
ontwikkelaar zelf worden gedefinieerd met een bepaald naampatroon en
zouden moeten worden afgeleid uit de originele class. Zij worden dan
altijd gebruikt in plaats van de originele class.
|