medlemsmøte i php norge: typo3

27
TYPO3 – åpen kildekode «enterprise» CMS

Upload: knut

Post on 03-Sep-2014

2.356 views

Category:

Technology


0 download

DESCRIPTION

Erik Svendsen gikk igjennom de grunnleggende funksjonene og praktis bruk av Typo3.

TRANSCRIPT

Page 1: Medlemsmøte i PHP Norge: Typo3

TYPO3 – åpen kildekode«enterprise» CMS

Page 2: Medlemsmøte i PHP Norge: Typo3

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

Page 3: Medlemsmøte i PHP Norge: Typo3

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)

Page 4: Medlemsmøte i PHP Norge: Typo3

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

Page 5: Medlemsmøte i PHP Norge: Typo3

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»

Page 6: Medlemsmøte i PHP Norge: Typo3

Litt mer om kjerne, extensions, backend og frontendIkke i dybden

Page 7: Medlemsmøte i PHP Norge: Typo3

Backend - administrasjonsgrensesnitt

Kort om backend

Page 8: Medlemsmøte i PHP Norge: Typo3

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

Page 9: Medlemsmøte i PHP Norge: Typo3

TypoScript

TypoScript består av

Objekter (Oppsett og innholdobjekter)

Objektegenskaper

Datatyper

Funksjoner

Vilkår

Konstanter

Syntaks

myObject = OBJECT

myObject.value = something

Er case sensitiv

Page 10: Medlemsmøte i PHP Norge: Typo3

TypoScript Templates

TSFEFrontend Engine

HTML-Template

DB

Database

Template record(typoscript)

Nettside

Page 11: Medlemsmøte i PHP Norge: Typo3

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.

Page 12: Medlemsmøte i PHP Norge: Typo3

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

Page 13: Medlemsmøte i PHP Norge: Typo3

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/)

Page 14: Medlemsmøte i PHP Norge: Typo3

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.

Page 15: Medlemsmøte i PHP Norge: 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

Page 16: Medlemsmøte i PHP Norge: Typo3

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

Page 17: Medlemsmøte i PHP Norge: Typo3

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

Page 18: Medlemsmøte i PHP Norge: Typo3

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

Page 19: Medlemsmøte i PHP Norge: Typo3

Utvidet funksjonalitet

Extension manager gir tilgang til rask installasjon av tilleggsmoduler, samt oppdatering av samme.

Page 20: Medlemsmøte i PHP Norge: Typo3

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

Page 21: Medlemsmøte i PHP Norge: Typo3

Logg – med mulighet for å hente tilbake

TYPO3 logger all aktivitet i backend.

Loggen gir mulighet til å angre tidligere handlinger (rollback)

Page 22: Medlemsmøte i PHP Norge: Typo3

Eksport og import

Alt fra hele nettsteder til enkeltkataloger ved hjelp av innebygget verktøy.

Avhengigheter kan defineres

Page 23: Medlemsmøte i PHP Norge: Typo3

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

Page 24: Medlemsmøte i PHP Norge: Typo3

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

Page 25: Medlemsmøte i PHP Norge: 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

Page 26: Medlemsmøte i PHP Norge: Typo3

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

Page 27: Medlemsmøte i PHP Norge: Typo3

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.