Termen "webapplikationer" bruges om "programmer" på et websted som udfører en bestemt opgave der inkluderer realtidsprocessering af data. Fx er gæstebøger, søgemaskiner, diskussionfora, en udregningsformular for forsikringspriser, en medlemsregistreringsformular eller en online søgbar adressebog alle webapplikationer.
Mange af den slags applikationer er idag enkeltstående applikationer med eget administrationssystem osv. Content Management systemer er også kendt for at have sådanne faciliteter, men normalt i et framework der integrerer en sådan funktionalitet.
TYPO3 er sådan et system - en webapplikations-platform - som er storartet til hjælp ikke kun med at anvende og administrerere men også til at udvikle sådanne applikationer! Med Extension Manager'en er installation og distribution så let som et museklik og med Kickstarter'en kan du komme i gang med dine egne applikationer på to minutter. Hvis du er mere interesseret i disse områder skulle du se "Episode"-videoerne som kan hentes fra video-siden på typo3.org. Dertil findes der et antal dokumenter om at udvikle extensions, fx. den Oliver Hofmann har lavet. Bemærk at dette er på et højere niveau og da du endnu er begynder skal du hverken forvente at forstå det eller at udvikle noget før du har fået lidt mere erfaring med TYPO3!
Content management ud fra "Sidetræs"-paradigmet?
Når du kategoriserer Content Management systemer vil du finde nogle som har "Applikations Framework"-indgangsvinklen til emnet og andre som har "Sidetræs"-indgangsvinklen. TYPO3 tilhører den sidstenævnte del.
Dette kompromitterer dog på ingen måde TYPO3's status som et Management Application Framework . Sidetræs-tilgangen forbedrer snarere evnen til at tjene nøjagtigt dette formål ved at tilbyde sidetræets logiske inddeling som opbevaringspladser for sådanne applikationer. Med andre ord: du kan både have en gæstebog, et nyhedssystem, brugeradministrationsformularer og forsikringspris-udregninger i et og samme system uden at tingene bliver rodet rundt fordi hver applikation normalt opererer indenfor rammerne af en enkelt side! Alle elementer til applikationen opbevares her, alle transaktioner udføres af samme plugin på den samme side. Det giver mening og orden!
Så sidetræs-rygraden bliver systemets styrke selv når hundreder af webapplikationer i framework'et behøver en organiseret struktur!
Udvidelse af TYPO3 med tredjeparts applikationer?
Lad os se på hvordan vi kan udvide TYPO3 med en webapplikation som ikke er leveret sammen med systemet. Til det formål vil vi tilslutte til TER (TYPO3 Extension Repository) fra EM (Extension Manager'en) og importere, installere og aktivere et nyhedsbrevstilmeldingsstyrings-system.
Den normale fremgangsmåde vil være at gå til typo3.org først og søge efter den applikation du har brug for. Når du har fundet den installerer du den.
I vores søgning efter en nyhedsbrevstilmeldings-motor fandt vi et system som ser ud til at dække behovet. Bemærk hvordan udvikleren har været så venlig at lave dokumentation tilgængelig! (#1). Det er også meget vigtigt at du forstår at dokumentationen til TYPO3 er organiseret med hver extension. Med andre ord, hvor kan du finde al information vedrørende "Newsletter Subscription Module"? På typo3.org sammen med extension'en! Derfor skal du for det meste identificere hvilken extension du behøver hjælp til før du leder efter dokumentation - som du vil kunne finde sammen med extension'en på typo3.org!
Import
I EM tilslutter du til TER og finder extensionen med nøglen "da_newsletter_subscription":
Tilslutningen tager et kort øjeblik og så kommer denne liste frem:
Efter et øjeblik er extension'en importeret og du vil se denne meddelelse hvis importen forløb uden problemer:
I listen over "Available extensions" kan du nu finde "Newsletter Subscription Module" under "Frontend Plugins":
Installer den, accepter at "Make updates" (som automatisk opretter databasetabellerne og -felterne!!)...
I listen med "Loaded Extensions" kan du nu se at den nye extension er blevet tilføjet:
Nå, hvordan skal vi så bruge den?
Jo, heldigvis har udvikleren jo faktisk lavet en manual! På typo3.org kan du altså se indholdsfortegnelsen og der er der en detaljeret vejledning i at lave både tilmeldingsformularen, kategorierne og hvordan man får listen af abonnenter ud af systemet igen!
Det har jeg selvfølgelig ikke tænkt mig at gentage! Der var jo en grund til at manualen til den extension blev skrevet i første omgang.
Kort fortalt har jeg lavet en ny side, et indholdselement, to kategorier og en alder-selektor:
Der skal gøres en lille smule mere end det (ændringer i skabelonen) men det kan du se på videoen hvor processen vises live. Og så er det selvfølgelig dokumenteret i Konfiguration-kapitlet i manualen på typo3.org.
Formularen kommer til at se ud som dette:
Den endelige pointe er at udtrækket af abonnentlisten leveres ganske enkelt af et backend-modul som kom ind sammen med plugin'et i extension'en:
Som du kan er backend-modulet blevet aktiveret, siden der holder webapplikationen er aktiveret og listen bliver vist. Det fortæller os også en anden interessant ting - vi kan tilføje nyhedsbrevstilmeldinger ikke blot til en side men til et vilkårligt antal sider på webstedet og stadig have fuldstændig orden og kontrol over situationen. Alt sammen takket være sidetræs-framework'et!
Se manualen for Newsletter Subscription Modulet for at finde mere information om avancerede udtræk af abonnenter.
Kan vi ændre sproget for tilmeldingsformularen?
Mange plugins er blevet oversat til andre sprog end engelsk. Det er dog et krav at engelsk er det primære sprog for plugins.
Hvis der er en oversættelse tilgængelig kan den normalt aktiveres ved at redigere "Setup"-feltet i skabelonen for dit websted og indsætte denne kodelinie:
page.config.language = dk
Det vil aktivere dansk (dk) sprog og formularen vil nu se ud som følger:
Du kan læse mere om skabeloner i Skabelon-kapitlet i denne gennemgang. Nu og her vil jeg lade dette eksempel være som det er uden yderligere forklaring da det er en hel videnskab i sig selv! Det kommer du til at lære mere om senere. For at se hvilke ting der skulle gøres, se videoen!