medlemsmøte i php norge: typo3
DESCRIPTION
Erik Svendsen gikk igjennom de grunnleggende funksjonene og praktis bruk av Typo3.TRANSCRIPT
TYPO3 – åpen kildekode«enterprise» CMS
Historien
Historien til TYPO3 begynner faktisk i 1997.
I perioden 1997(98) til 99 som utvikling av et kommersielt produkt, gjennom selskapet superfish.com (hvor er det i dag)
Sommeren 99. Kasper Skårhøj forlot superfish.com, med rettighetene til TYPO3. Det neste året ble brukt til å utvikle «programmet»
Desember 2000 – mai 2002. Beta-fasen.
Lansert som åpen kildekode
Får et ikke ubetydelig antall brukere (særlig Tyskland)
T3Board 2002
Historien fortsetter
24 mai 2002. Versjon 3.0 lanseres. Første versjon definert som stabil.
November 2002. Versjon 3.5 og «Extension Manager»
Desember 2004. TYPO3 Association
September 2005. TYCON3 (T3CON). Årlig internasjonal konferanse, ca 250 deltager.
Februar 2006. Ny grafisk profil
April 2006. Versjon 4.0 lansert
Versjoner i mellomtiden har vært 3.6.x, 3.7.x og 3.8.x.
Juli 2006. Norsk TYPO3 side lanseres (på samme dag som den danske)
Og i dag?
Versjon 4.1.1 av kjernen
Ca 2 100 tilleggsmoduler
Over 40 språkversjoner
Over 6 000 nettsteder listet på typo3.org (men repository forteller om ca 300 000 installasjoner. NB!, jeg har faktisk hele 14 av disse)
Ellers finnes listinger på typo3.org som ikke er reelle og viktige sider finnes ikke.
Aktiv utviklermiljø på 60 – 100 personer.
Totalt ca 40 000 deltar totalt på nyhetslister med mere
Hvordan TYPO3 er bygd opp
PHP-basert
Fungerer på versjon 5.2.x med noen unntak
Apache/IIS
MySQL
Kan også installeres mot Oracle, MSSQL etc. Noe krevende
Kjernen er i stor grad et rammeverk der funksjonalitet etableres gjennom «extensions»
Litt mer om kjerne, extensions, backend og frontendIkke i dybden
Backend - administrasjonsgrensesnitt
Kort om backend
Frontend – hva gjør at nettsidene vises
TypoScript og templates er nøkkelen – uten vises ikke noe som helst.
Hva er TypoScript
Ikke et programmeringspråk, heller ikke et skriptspråk
I realiteten er de et deklarasjonsspråk med visse skript-/programmerings muligheter.
Og gir muligheten til avansert output uten en linje PHP
Er programmert i PHP
TypoScript
TypoScript består av
Objekter (Oppsett og innholdobjekter)
Objektegenskaper
Datatyper
Funksjoner
Vilkår
Konstanter
Syntaks
myObject = OBJECT
myObject.value = something
Er case sensitiv
TypoScript Templates
TSFEFrontend Engine
HTML-Template
DB
Database
Template record(typoscript)
Nettside
TypoScript, TemplaVoila, Extensions, Workspaces og språkversjoner
Gjennom et praktisk eksempel, og noen tilleggscase vil jeg vise hvilke muligheter som finnes i TYPO3.
I stor grad hva som gjør TYPO3 unikt.
I stor grad er dette å bygge et TYPO3 basert nettsted fra grunnen av.
Et TYPO3 nettsted fra grunnen
Du finner en oppstartsmanual på http://typo3.no/
Installasjon – hopper jeg over (se manual), men husk
Nødvendig konfigurering av PHP/Apache
Installasjon av ImageMagick/GrapicsMagick og annet «snadder»
Last ned og pakk ut TYPO3
De rette rettighetene i kataloger
Gjør installasjonsverktøyet kjørbart – lag filen ENABLE_INSTALL_TOOL i katalogen typo3conf
Kjør installasjonsverktøyet (bare kall opp nettstedet)
Gjør de nødvendige justeringer i installasjonsverktøyet
Et TYPO3 nettsted fra grunnen – del 2
Logg deg på i «Backend»
Endre passord for adminbruker (eventuelt lage ny og slette standardbruker)
Klargjøre «Extension Manager»
Repository
Språk
Laste opp og installere «extensions» - må modifiseres senere
TemplaVoila
News
Loginbox (det finnes en innebygd, men vi vil bruke en mer avansert)
Andre om ønskelig (http://typo3.org/extensions/)
Et TYPO3 nettsted fra grunnen – del 3
Sette opp nettstedets struktur (sider og lagringsmapper)
Tilordne HTML-maler og CSS
Her finnes det tre metoder.
«Koding» i TypoScript – dvs at hele siden settes opp ved hjelp av TypoScript. Ingen HTML-maler er nødvendig
Bruk av «markører» i HTML malen – subparts og marker
Tilordne til HTML malen ved hjelp av TemplaVoila
Jeg bruker den siste metoden (og den vil vises)
I begge de to siste tilfellene lastes nødvendige malfiler, bilder og CSS opp til filområdet i TYPO3.
TemplaVoila – maler med pek og klikk
TemplaVoila
Er mer enn en metode for å lage maler.
Nye innholdselementer – ikke bundet til databasestruktur kan lages
Man kan putte elementer inni elementer
Gjenbruk av innhold
Flexform
Pek og klikk fremgangsmåte
Struktur lagres som XML
Kan fintunes med TypoScript
Praktisk framgangsmåte
TemplaVoila – få det til å virke
Sette «Storage Page»
Tilordne struktur og mal
Legge til «static templates»
Aktivere TemplaVoila som «Page Object» ved hjelp av TypoScript i rotmalen
Kode# Default PAGE object:page = PAGEpage.typeNum = 0page.10 = USERpage.10.userFunc = tx_templavoila_pi1->main_page
TypoScript - «the power of TYPO3»
Med TypoScript legger jeg til...
Logo, topptekst, menyer, bunntekst, søkeboks, logg inn etc.
Objekttyper
COA, COA_INT
HMENU
TEXT, HTML
IMAGE, GIFBUILDER
FILE
RECORDS
Og mange flere
TypoScript - «the power of TYPO3»
Standard konfigurasjon
Språk, doctype, spamprotection, ref til ekstra CSS etc.
Indeksering
Frontend redigering
Javascript
Metatagger
Tilordner og konfigurerer «extensions»
Etablerer vilkår (condition/if) dersom det er nødvendig
Praktiske eksempler
Utvidet funksjonalitet
Extension manager gir tilgang til rask installasjon av tilleggsmoduler, samt oppdatering av samme.
Arbeidsflater, versjoner og arbeidsflyt
Arbeidsflater – workspaces er en kraftfull funksjonalitet for å arbeide med flere versjoner av samme nettsted. Man kan skifte mellom versjoner.
Gir mulighet for arbeidsflyt
Logg – med mulighet for å hente tilbake
TYPO3 logger all aktivitet i backend.
Loggen gir mulighet til å angre tidligere handlinger (rollback)
Eksport og import
Alt fra hele nettsteder til enkeltkataloger ved hjelp av innebygget verktøy.
Avhengigheter kan defineres
Extension kickstarter
Gir mulighet til
Raskt å komme i gang med å lage rammeverket til en ny tilleggsmodul
Enkelt utvide antall felt i eksisterende moduler
Lage ny frontend funksjonalitet for eksisterende moduler
CasesUnder utvikling
http://panshop.linnearad.no/typo3/ Eksempel på utvidet mulighet for brukerkonfigurering
http://smak.linnearad.no/Bruk av vilkår for å skifte headingerMedlemsbasert nettsted
http://torsknet.linnearad.no/ Nyheter, blog, med mere av funksjonalitet
De virkelige solide nettstedene
http://www.3ds.com/ TemplaVoila i full blomst
http://www.yebase.com/ Multikanal publiseringsplattform baser på TYPO3
TYPO3 - pluss/minus
Plusser
Fleksibilitet/kraftige konfigureringsmuligheter
Stort utvalg i tilleggsmoduler og enkelt å lage nye
Stort utviklermiljø
Mange kommersielle aktører
Godt dokumentert og høy sikkerhet
Minuser
Ressurskrevende
Kompleks og tildels ustrukturert PHP-kode (arv fra 2000)
Høy læringsterskel
For vanskelig å finne fram til de gode tilleggsmoduler
Framtida – TYPO3 Versjon 5.0Medfører en mer eller mindre komplett reskriving av kode
Vil bruke phpCR som er en PHP versjon av JSR-170 Content Repository API (under utvikling brukes JackRabbit)
phpCR utvikles av TYPO3 development team, men vil kunne brukes som Content Repository API i etthvert PHP prosjekt
Hensikten med å implementer JSR-170 er å får en uniform måte for tilgang til innhold, og gjøre TYPO3 egnet for alle typer databaser, samt andre måte å lagre innholdet på
Development team er interessert i frivillige som er interessert i å utvikle denne delen – dvs phpCR
TypoScript i versjon 2.0
Også andre betydelige endringer – egen modul for oppgradering
TYPO3 versjon 4.5
Målet for versjon 4.5 er primært å gjøre backend mer brukervennlig og lettere konfigurerbar mot ulike brukergrupper.
For vanlige redigeringsbrukere vil det bety et mer oppgaveorientert brukergrensesnitt.