SlideShare ist ein Scribd-Unternehmen logo
1 von 60
Workshop»Best Practice« mit Contao Thomas Weitzel   think-contao.de Peter Müller   pmueller.de 道 2. Juni2011 15 bis 17 Uhr
Kurzvorstellung Peter Müller Thomas Weitzel pmueller.de think-contao.de
Tao 道 Der Weg. Der Sinn. Das Prinzip.
Contao 道 Der Schöpfer. Content erzeugen.
Kommt drauf an... Kommt drauf an... Wie macht man das am Besten? Kommt drauf an... Best Practice Kommt drauf an...
Worst Case Worst Case:  So sollte man es definitiv nicht tun Der metaphorische „Griff ins Klo“  Wir beginnen im Folgenden oft mit einem „WC“ Und zeigen dann, wie man sauber aus der Sache rauskommt.
Das Projekt "Website" im Überblick  Installation 1 Layout Funktionen Inhalte 2 3 4 Wartung 5
Inhaltsübersicht
Webspace testen mit Contao Systemcheck 1 2
Webspace und Dateiberechtigungen Linux ist ein Mehrbenutzersystem Dateiberechtigungen haben drei Klassen:   Besitzer | Gruppe | Alle  Es gibt drei mögliche Zugriffsrechte  Lesen: 4 Punkte Schreiben: 2 Punkte Ausführen: 1 Punkt Beispiele  644: Besitzer darf lesen und schreiben | Gruppe und Alle nur lesen  755: Besitzer darf alles | Gruppe und Alle nur lesen und ausführen 777: Alle dürfen alles. Einfach zu merken.
Contao und Dateiberechtigungen Contao benötigt Schreibrechte für seine eigene Dateien  Problem: FTP-Benutzer ist Besitzer der Dateien (z. B. w0091763) Der Webserver hat einen anderen Benutzernamen   Häufig wwwrun oder nobody Contao wird vom PHP-Interpreter ausgeführt PHP als Apache-Modul: schnell, aber meist kein Schreibrecht PHP als (Fast)-CGI: Schreibrecht, aber etwas langsamer   SMH: Contao meldet sich zum Schreiben als FTP-Benutzer  an
WC: "Alles auf 777 – dann funzt das" Die 777 ist ein sehr schönes Langstreckenflugzeug Alle Passagiere und die Besatzung ... haben viel Beinfreiheit befinden sich in einer sicheren Umgebung Auf dem Webspace ist die 777 ein Sicherheitsloch  Alle Benutzer und die Skripte können... alle Dateien ändern und löschen  alle Ordner mit "Kuckuckseier" bestücken
Versuchen Sie keinesfalls, das Problem durch eine Änderung der Dateiberechtigungen zu lösen!  Contao System Check
Best Practice – Installation  Der ideale Webspace PHP als Apache-Modul Ohne SMH  Webspaceumkonfigurieren PHP als FastCGI Webhoster fragen  Contaoumkonfigurieren Safe Mode Hack aktivieren in localconfig.php
Inhaltsübersicht
Layout Layout bestimmt das Erscheinungsbild der Site Struktur der Seiten  Kopfbereich Navigationsbereiche  Inhaltsbereiche  Fussbereich Farbschema  grafische Elemente (Logo und Deko)  Typographie
Der Contao Röntgenblick Layout analysieren
Layout analysieren WC: "Einfach mal loslegen..."  Best Practice: "Think first, act then" Den Contao-Röntgenblick entwickeln Umsetzbarkeit eines extern gelieferten Layouts prüfen Grobe Aufteilung des Layouts in Bereiche #header  #main #footer  Finetuning: Bereiche weiter unterteilen
Kopfzeile (#header) Hauptspalte (#main) Fusszeile (#footer)
Kopfzeile (#header) Inhaltselement Text (#main) Inhaltselement Galerie (#main) Inhaltselement Text .g6 (#main) Inhaltselement Bild.g3 (#main) Inhaltselement Nachrichtenliste.g3 (#main) Inhaltselement  Tabelle.g6  (#main) Inhaltselement Text .g4 (#footer) Inhaltselement Text .g4 (#footer) Inhaltselement Text .g4 (#footer) Inhaltselement HTML Code .g12 (#footer)
Mit Wurzel und Startpunkt Seitenstruktur
Seitenstruktur ,[object Object],Startpunkt  Sprachen-Fallback 1 2
Ohne Startpunkt einer Website Mit Startpunkt einer Webseite
Ändern? Nur wenn es wirklich sein muss.  Templates
"Template" hat sich im allgemeinen Contao-Sprachgebrauch für alles etabliert, was irgendwie mit Vorlage zu tun hat.  Das offizielle Contao-HandbuchSeite 287 Template – Definition
Template – Definition  Contao - Handbuch Beispiel AnderesWort Frontend - Template music_academy.sql Website - Template Layouts fe_page.tpl Seitentemplate Views mod_newslist.tpl Modultemplate Partials layout_short.tpl Subtemplate
Das Frontend-Template  Frontend-Template = Website  Seitenstruktur  Theme Seitenlayouts  Frontend-Module Stylesheets  Layout-Dateien in /tl_files Templates in /templates Inhalte  Mitglieder und Benutzer  Erweiterungen  WC: Jedes Mal mit einer leeren Leinwand anfangen  Best Practice: Theme oder Frontend-Template als Basis einsetzen
Das Seitentemplate  WC: Jedes Mal ein eigenes Seitentemplate erstellen  Best Practice  Contao CSS-Framework fe_page.tpl einsetzen ggfs. zusätzliche Layoutbereiche  ggfs. Seitentemplate anpassen Anderes CSS-Framework   fe_page.tpl an HTML-Struktur anpassen  Ein Seitentemplate pro Layout
Templates ändern (Worst Case) Templates im Systemordner Im Editor öffnen und ändern.  Speichern.  Funktioniert. Scheinbar.  Nachteile Umständlich  Gefährlich  Nicht update-sicher
Template ändern (Best Practice)  2 1
Template ändern – Best Practice  Templates update-sicher anpassen  Backend-Modul Templates  Neues Template erstellt Kopie im Ordner /templates Änderungen im Template kommentieren!  Name des Templates ggfs. ändern  Nach Contao-Update: Kopie mit Original vergleichen Ändern? Nur wenn es wirklich sein muss.
Inhaltsübersicht
Funktionen Funktionen: Interaktive Bestandteile der Site  Automatisch generierte Navigationen  Kontakt- und Bestellformulare  Such- und Kommentarfunktionen  Passwortgeschützte Bereiche  Forum, Umfrage, Shop  u. v. m.  Funktionen benötigen Programmierung  Bordmittel oder Erweiterung  Ausgabe per Frontend-Modul
Best Practice – Funktionen   Gewünschte Funktionen auflisten  Prioritäten für Funktionen vergeben A = ohne geht nicht B = wäre schön, kann aber auch ohne losgehen C = irgendwann, irgendwie, irgendwo   Möglichkeiten zur Umsetzung analysieren  Mit Bordmitteln von Contao?  Bestehende Erweiterung geeignet?  Erweiterung programmieren (lassen)?  Frontend-Module Aussagekräftige Namen vergeben Hauptnavigation und Metanavigation
Also known as "Extensions" Best Practice: Erweiterungen
Best Practice – Erweiterungen  Less is More Pflegeaufwand Funktionen mit Priorität A  nur bewährte Erweiterungen Entwicklung gewährleistet?  Erweiterungen  beeinflussen sich gegenseitig kann man inaktiv stellen Probleme?  Überlegen Im Forum suchen  Im Forum fragen
Beispiel: Funktion "Breadcrumb" 1. Versuch: Modul "Navigationspfad" "Startseite" nicht am Anfang  DIV mit ein paar Links darin – nicht sonderlich semantisch 2. Versuch: Erweiterung [wf_extendedBreadcrumb] Perfekt: Mit "Startseite" und als UL nach Update Probleme mit Umlauten Im Forum gesucht und gefragt => Problem gelöst  Und was ist nach dem nächsten Update?
Beispiel: Funktion "Breadcrumb" Mein Kompromiss für den Alltag Verzicht auf die ungeordnete Liste im HTML "Startseite" durch Änderung im Template mod_breadcrumb.tpl
Funktion: Die editierbare Fußzeile
Normale Fußzeile: HTML im Modul  Der normale Weg  Modul "Eigenes HTML" erstellen  HTML pur reinschreiben
Editierbare Fußzeile: Versteckter Artikel Im Artikelbaum versteckten Artikel erstellen  Versteckten Artikel per Insert-Tag im Modul einbinden
Inhaltsübersicht
Inhalt. Content.  Inhalt ist der Grund, warum Besucher kommen  Vier Arten von Content  Text  Bilder  Audio  Video  Ein Content-Management-System  sollte die Verwaltung von Inhalt vereinfachen  ermöglicht die Pflege von Inhalt ohne technische Kenntnisse
Inhaltselemente benutzen Inhalte erstellen
Inhalte erstellen – Beispiel
Inhalte erstellen (Worst Case) Alles in ein Element schlecht zu pflegen fehleranfällig Formatierung schwierig Tabellen Bilder  aber oft Gewohnheit
Inhalte erstellen (Best Practice) Divide et impera Inhaltselementebenutzen Element für 1. Überschrift EinteilungnachInhalt Formatierung einfacher Tabellen / Bilder  per Fernsteuerung
Dateiverwaltung mit System System – Dateiverwaltung
Best Practice: Dateiverwaltung  Konsistente Schreibweise von Namen Kleinbuchstaben  keine Umlaute und Sonderzeichen  keine Leerstellen  stattdessen Unter- oder Bindestriche Aussagekräftige Dateinamen produktname.jpg ist besser als DSC_00234.jpg
Best Practice: Ordnerstruktur  Ordnerstruktur abhängig vom Einzelfall  Anforderungen bezüglich Inhalte  Anforderungen bezüglich Benutzer
Inhaltsübersicht
Everybody wants to build and nobody wants to do maintenance.  Kurt Vonnegut Nach dem Launch
Wartung – Backup MySQL-Datenbank mit allen Daten  SQL-Export mit phpMyAdmin  Erweiterung [BackupDB] Dateien und Ordner auf dem Webspace per FTP  Besonders wichtig sind  im Ordner system/config/  localconfig.php  dcaconfig.php langconfig.php  initconfig.php  der Ordner tl_files  der Ordner templates  Tools vom Webhoster?
Wartung – Update  Das Live Update  Dienstleistung von iNetRobots Eine Live Update ID: ca. 9,90 Euro für eine Domain und ein Jahr Mehrere Domains günstiger: z. B. 10 Domains = plus 16 Euro  Erweiterung [easyupdate] Manuelles Update per FTP  Contao-ZIP entpacken  Contao-ZIP vorbereiten  Konfig-Dateien löschen  /templates/ und /tl_files/ löschen  Contao-ZIP hochladen Install-Tool starten
Wartung – Statistiken (1)  Erweiterung [visitors]  Besucherzähler Zugriffszähler
Wartung – Statistiken (2)  Piwik - Open source web analytics  Installation auf dem eigenen Webspace  Download von piwik.org  Integration in Contao mit Erweiterung [PiwikTrackingTag]
Wartung – Statistiken (3)  Google Analytics Integration in Contao einfach  Kostenlos: Daten liegen auf Googles Server  Kostenpflichtig: Der Kaffee beim Besuch des Datenschutzbeauftragen
Vielen Dank für Ihre Aufmerksamkeit. 道 ck2011.think-contao.de

Weitere ähnliche Inhalte

Andere mochten auch

Top Consultants in Delhi
Top Consultants in DelhiTop Consultants in Delhi
Top Consultants in DelhiHarsh Singh
 
Mapa conceptual Esther
Mapa conceptual EstherMapa conceptual Esther
Mapa conceptual Estherestherfrancia
 
Sortida Eivissa 5è EP La Salle Manacor
Sortida Eivissa 5è EP La Salle ManacorSortida Eivissa 5è EP La Salle Manacor
Sortida Eivissa 5è EP La Salle ManacorAlumnes5
 
Razones para el uso de las redes sociales
Razones para el uso de las redes socialesRazones para el uso de las redes sociales
Razones para el uso de las redes socialeskellyfnicole
 
Costa rica pais libre de peste porcina clasica
Costa rica pais libre de peste porcina clasicaCosta rica pais libre de peste porcina clasica
Costa rica pais libre de peste porcina clasicadaamendi
 
Irrigacion del miembro pelviano del caprino
Irrigacion del miembro pelviano del caprinoIrrigacion del miembro pelviano del caprino
Irrigacion del miembro pelviano del caprinoDavid Poleo
 
Una bebida milagrosa
Una bebida milagrosaUna bebida milagrosa
Una bebida milagrosaVictor Charro
 
20151105_Infoday RS1_Juan Catret
20151105_Infoday RS1_Juan Catret20151105_Infoday RS1_Juan Catret
20151105_Infoday RS1_Juan CatretRedit
 
Tarifa de Precio Ferroli 2016
Tarifa de Precio Ferroli 2016Tarifa de Precio Ferroli 2016
Tarifa de Precio Ferroli 2016Ecoclima Group
 
Trabajo de Eva, Laura, Manuela y Carlota
Trabajo de Eva, Laura, Manuela y CarlotaTrabajo de Eva, Laura, Manuela y Carlota
Trabajo de Eva, Laura, Manuela y CarlotaBego Cortés
 
Aspectos tecnicos en la producción de cocaina
Aspectos tecnicos en la producción de cocainaAspectos tecnicos en la producción de cocaina
Aspectos tecnicos en la producción de cocainadavid Mathews Arevalo
 
Présentation de Paymentwall
Présentation de PaymentwallPrésentation de Paymentwall
Présentation de PaymentwallPaymentwall
 
Direccion empresarial tema 1
Direccion empresarial tema 1Direccion empresarial tema 1
Direccion empresarial tema 1yurigaby
 
Aniversario botella al mar para el dios de las palabras
Aniversario botella al mar  para el dios de las palabrasAniversario botella al mar  para el dios de las palabras
Aniversario botella al mar para el dios de las palabrasMilena Olarte
 

Andere mochten auch (20)

Thinking Effectively & Critically
Thinking Effectively & CriticallyThinking Effectively & Critically
Thinking Effectively & Critically
 
Top Consultants in Delhi
Top Consultants in DelhiTop Consultants in Delhi
Top Consultants in Delhi
 
Mapa conceptual Esther
Mapa conceptual EstherMapa conceptual Esther
Mapa conceptual Esther
 
Sortida Eivissa 5è EP La Salle Manacor
Sortida Eivissa 5è EP La Salle ManacorSortida Eivissa 5è EP La Salle Manacor
Sortida Eivissa 5è EP La Salle Manacor
 
Razones para el uso de las redes sociales
Razones para el uso de las redes socialesRazones para el uso de las redes sociales
Razones para el uso de las redes sociales
 
Costa rica pais libre de peste porcina clasica
Costa rica pais libre de peste porcina clasicaCosta rica pais libre de peste porcina clasica
Costa rica pais libre de peste porcina clasica
 
Irrigacion del miembro pelviano del caprino
Irrigacion del miembro pelviano del caprinoIrrigacion del miembro pelviano del caprino
Irrigacion del miembro pelviano del caprino
 
Una bebida milagrosa
Una bebida milagrosaUna bebida milagrosa
Una bebida milagrosa
 
20151105_Infoday RS1_Juan Catret
20151105_Infoday RS1_Juan Catret20151105_Infoday RS1_Juan Catret
20151105_Infoday RS1_Juan Catret
 
Tarifa de Precio Ferroli 2016
Tarifa de Precio Ferroli 2016Tarifa de Precio Ferroli 2016
Tarifa de Precio Ferroli 2016
 
Trabajo de Eva, Laura, Manuela y Carlota
Trabajo de Eva, Laura, Manuela y CarlotaTrabajo de Eva, Laura, Manuela y Carlota
Trabajo de Eva, Laura, Manuela y Carlota
 
Aspectos tecnicos en la producción de cocaina
Aspectos tecnicos en la producción de cocainaAspectos tecnicos en la producción de cocaina
Aspectos tecnicos en la producción de cocaina
 
Texto foro ii
Texto foro iiTexto foro ii
Texto foro ii
 
VKontakte marketing
VKontakte marketingVKontakte marketing
VKontakte marketing
 
Présentation de Paymentwall
Présentation de PaymentwallPrésentation de Paymentwall
Présentation de Paymentwall
 
Ayahuasca ralph metzner
Ayahuasca   ralph metznerAyahuasca   ralph metzner
Ayahuasca ralph metzner
 
Psic.Social Instit. - TP final - UNLaM Dr. Burlando
Psic.Social Instit. - TP final - UNLaM Dr. BurlandoPsic.Social Instit. - TP final - UNLaM Dr. Burlando
Psic.Social Instit. - TP final - UNLaM Dr. Burlando
 
Oportunitats de negoci a Irlanda
Oportunitats de negoci a IrlandaOportunitats de negoci a Irlanda
Oportunitats de negoci a Irlanda
 
Direccion empresarial tema 1
Direccion empresarial tema 1Direccion empresarial tema 1
Direccion empresarial tema 1
 
Aniversario botella al mar para el dios de las palabras
Aniversario botella al mar  para el dios de las palabrasAniversario botella al mar  para el dios de las palabras
Aniversario botella al mar para el dios de las palabras
 

Ähnlich wie "Best Practices" in Contao

20120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v0220120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v02Chris Palatinus
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & ToolsUlrich Krause
 
SharePoint Gotcha - 10 Besonderheiten, die man als SharePoint Anwender kennen...
SharePoint Gotcha - 10 Besonderheiten, die man als SharePoint Anwender kennen...SharePoint Gotcha - 10 Besonderheiten, die man als SharePoint Anwender kennen...
SharePoint Gotcha - 10 Besonderheiten, die man als SharePoint Anwender kennen...busitec GmbH
 
Content Construction Kit's für Joomla
Content Construction Kit's für JoomlaContent Construction Kit's für Joomla
Content Construction Kit's für JoomlaDavid Jardin
 
Nutzen und Anwendungspotentiale von Enterprise Wikis
Nutzen und Anwendungspotentiale von Enterprise WikisNutzen und Anwendungspotentiale von Enterprise Wikis
Nutzen und Anwendungspotentiale von Enterprise Wikispunkt. netServices
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions
 
Entwickeln mit Wordpress
Entwickeln mit WordpressEntwickeln mit Wordpress
Entwickeln mit WordpressBlogwerk AG
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 PerformanceUlrich Krause
 
Systemvorstellung: dante cms im Überblick
Systemvorstellung: dante cms im ÜberblickSystemvorstellung: dante cms im Überblick
Systemvorstellung: dante cms im Überblicka3 systems GmbH
 
SEO on TYPO3 homepage
SEO on TYPO3 homepageSEO on TYPO3 homepage
SEO on TYPO3 homepageAlex Kellner
 
Dnug dresden blend 5. 5. 2010
Dnug dresden blend 5. 5. 2010Dnug dresden blend 5. 5. 2010
Dnug dresden blend 5. 5. 2010SharepointUGDD
 
DNUG Dresden Blend
DNUG Dresden BlendDNUG Dresden Blend
DNUG Dresden BlendMartin Hey
 
TYPO3 4.5 LTS - Was ist neu?
TYPO3 4.5 LTS - Was ist neu?TYPO3 4.5 LTS - Was ist neu?
TYPO3 4.5 LTS - Was ist neu?CS2 AG
 
TYPO3 CMS 7.5 - Die Neuerungen - pluswerk
TYPO3 CMS 7.5 - Die Neuerungen - pluswerkTYPO3 CMS 7.5 - Die Neuerungen - pluswerk
TYPO3 CMS 7.5 - Die Neuerungen - pluswerkdie.agilen GmbH
 
Abläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisierenAbläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisierenChristian Münch
 

Ähnlich wie "Best Practices" in Contao (20)

TCCE-Vorbereitung T3CRR23
TCCE-Vorbereitung T3CRR23TCCE-Vorbereitung T3CRR23
TCCE-Vorbereitung T3CRR23
 
Ec2009 Templates
Ec2009 TemplatesEc2009 Templates
Ec2009 Templates
 
20120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v0220120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v02
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & Tools
 
SharePoint Gotcha - 10 Besonderheiten, die man als SharePoint Anwender kennen...
SharePoint Gotcha - 10 Besonderheiten, die man als SharePoint Anwender kennen...SharePoint Gotcha - 10 Besonderheiten, die man als SharePoint Anwender kennen...
SharePoint Gotcha - 10 Besonderheiten, die man als SharePoint Anwender kennen...
 
Content Construction Kit's für Joomla
Content Construction Kit's für JoomlaContent Construction Kit's für Joomla
Content Construction Kit's für Joomla
 
Nutzen und Anwendungspotentiale von Enterprise Wikis
Nutzen und Anwendungspotentiale von Enterprise WikisNutzen und Anwendungspotentiale von Enterprise Wikis
Nutzen und Anwendungspotentiale von Enterprise Wikis
 
Web Entwicklung mit PHP - Teil 3 Beta
Web Entwicklung mit PHP - Teil 3 BetaWeb Entwicklung mit PHP - Teil 3 Beta
Web Entwicklung mit PHP - Teil 3 Beta
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09
 
Entwickeln mit Wordpress
Entwickeln mit WordpressEntwickeln mit Wordpress
Entwickeln mit Wordpress
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 Performance
 
Joomla
JoomlaJoomla
Joomla
 
Systemvorstellung: dante cms im Überblick
Systemvorstellung: dante cms im ÜberblickSystemvorstellung: dante cms im Überblick
Systemvorstellung: dante cms im Überblick
 
SEO on TYPO3 homepage
SEO on TYPO3 homepageSEO on TYPO3 homepage
SEO on TYPO3 homepage
 
GUIs mit Expression Blend
GUIs mit Expression BlendGUIs mit Expression Blend
GUIs mit Expression Blend
 
Dnug dresden blend 5. 5. 2010
Dnug dresden blend 5. 5. 2010Dnug dresden blend 5. 5. 2010
Dnug dresden blend 5. 5. 2010
 
DNUG Dresden Blend
DNUG Dresden BlendDNUG Dresden Blend
DNUG Dresden Blend
 
TYPO3 4.5 LTS - Was ist neu?
TYPO3 4.5 LTS - Was ist neu?TYPO3 4.5 LTS - Was ist neu?
TYPO3 4.5 LTS - Was ist neu?
 
TYPO3 CMS 7.5 - Die Neuerungen - pluswerk
TYPO3 CMS 7.5 - Die Neuerungen - pluswerkTYPO3 CMS 7.5 - Die Neuerungen - pluswerk
TYPO3 CMS 7.5 - Die Neuerungen - pluswerk
 
Abläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisierenAbläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisieren
 

"Best Practices" in Contao

  • 1. Workshop»Best Practice« mit Contao Thomas Weitzel think-contao.de Peter Müller pmueller.de 道 2. Juni2011 15 bis 17 Uhr
  • 2. Kurzvorstellung Peter Müller Thomas Weitzel pmueller.de think-contao.de
  • 3. Tao 道 Der Weg. Der Sinn. Das Prinzip.
  • 4. Contao 道 Der Schöpfer. Content erzeugen.
  • 5. Kommt drauf an... Kommt drauf an... Wie macht man das am Besten? Kommt drauf an... Best Practice Kommt drauf an...
  • 6. Worst Case Worst Case: So sollte man es definitiv nicht tun Der metaphorische „Griff ins Klo“ Wir beginnen im Folgenden oft mit einem „WC“ Und zeigen dann, wie man sauber aus der Sache rauskommt.
  • 7. Das Projekt "Website" im Überblick Installation 1 Layout Funktionen Inhalte 2 3 4 Wartung 5
  • 9. Webspace testen mit Contao Systemcheck 1 2
  • 10. Webspace und Dateiberechtigungen Linux ist ein Mehrbenutzersystem Dateiberechtigungen haben drei Klassen: Besitzer | Gruppe | Alle Es gibt drei mögliche Zugriffsrechte Lesen: 4 Punkte Schreiben: 2 Punkte Ausführen: 1 Punkt Beispiele 644: Besitzer darf lesen und schreiben | Gruppe und Alle nur lesen 755: Besitzer darf alles | Gruppe und Alle nur lesen und ausführen 777: Alle dürfen alles. Einfach zu merken.
  • 11. Contao und Dateiberechtigungen Contao benötigt Schreibrechte für seine eigene Dateien Problem: FTP-Benutzer ist Besitzer der Dateien (z. B. w0091763) Der Webserver hat einen anderen Benutzernamen Häufig wwwrun oder nobody Contao wird vom PHP-Interpreter ausgeführt PHP als Apache-Modul: schnell, aber meist kein Schreibrecht PHP als (Fast)-CGI: Schreibrecht, aber etwas langsamer SMH: Contao meldet sich zum Schreiben als FTP-Benutzer an
  • 12. WC: "Alles auf 777 – dann funzt das" Die 777 ist ein sehr schönes Langstreckenflugzeug Alle Passagiere und die Besatzung ... haben viel Beinfreiheit befinden sich in einer sicheren Umgebung Auf dem Webspace ist die 777 ein Sicherheitsloch Alle Benutzer und die Skripte können... alle Dateien ändern und löschen alle Ordner mit "Kuckuckseier" bestücken
  • 13. Versuchen Sie keinesfalls, das Problem durch eine Änderung der Dateiberechtigungen zu lösen! Contao System Check
  • 14. Best Practice – Installation Der ideale Webspace PHP als Apache-Modul Ohne SMH Webspaceumkonfigurieren PHP als FastCGI Webhoster fragen Contaoumkonfigurieren Safe Mode Hack aktivieren in localconfig.php
  • 16. Layout Layout bestimmt das Erscheinungsbild der Site Struktur der Seiten Kopfbereich Navigationsbereiche Inhaltsbereiche Fussbereich Farbschema grafische Elemente (Logo und Deko) Typographie
  • 17. Der Contao Röntgenblick Layout analysieren
  • 18. Layout analysieren WC: "Einfach mal loslegen..." Best Practice: "Think first, act then" Den Contao-Röntgenblick entwickeln Umsetzbarkeit eines extern gelieferten Layouts prüfen Grobe Aufteilung des Layouts in Bereiche #header #main #footer Finetuning: Bereiche weiter unterteilen
  • 19.
  • 20.
  • 21. Kopfzeile (#header) Hauptspalte (#main) Fusszeile (#footer)
  • 22. Kopfzeile (#header) Inhaltselement Text (#main) Inhaltselement Galerie (#main) Inhaltselement Text .g6 (#main) Inhaltselement Bild.g3 (#main) Inhaltselement Nachrichtenliste.g3 (#main) Inhaltselement Tabelle.g6 (#main) Inhaltselement Text .g4 (#footer) Inhaltselement Text .g4 (#footer) Inhaltselement Text .g4 (#footer) Inhaltselement HTML Code .g12 (#footer)
  • 23. Mit Wurzel und Startpunkt Seitenstruktur
  • 24.
  • 25. Ohne Startpunkt einer Website Mit Startpunkt einer Webseite
  • 26. Ändern? Nur wenn es wirklich sein muss. Templates
  • 27. "Template" hat sich im allgemeinen Contao-Sprachgebrauch für alles etabliert, was irgendwie mit Vorlage zu tun hat. Das offizielle Contao-HandbuchSeite 287 Template – Definition
  • 28. Template – Definition Contao - Handbuch Beispiel AnderesWort Frontend - Template music_academy.sql Website - Template Layouts fe_page.tpl Seitentemplate Views mod_newslist.tpl Modultemplate Partials layout_short.tpl Subtemplate
  • 29. Das Frontend-Template Frontend-Template = Website Seitenstruktur Theme Seitenlayouts Frontend-Module Stylesheets Layout-Dateien in /tl_files Templates in /templates Inhalte Mitglieder und Benutzer Erweiterungen WC: Jedes Mal mit einer leeren Leinwand anfangen Best Practice: Theme oder Frontend-Template als Basis einsetzen
  • 30. Das Seitentemplate WC: Jedes Mal ein eigenes Seitentemplate erstellen Best Practice Contao CSS-Framework fe_page.tpl einsetzen ggfs. zusätzliche Layoutbereiche ggfs. Seitentemplate anpassen Anderes CSS-Framework fe_page.tpl an HTML-Struktur anpassen Ein Seitentemplate pro Layout
  • 31. Templates ändern (Worst Case) Templates im Systemordner Im Editor öffnen und ändern. Speichern. Funktioniert. Scheinbar. Nachteile Umständlich Gefährlich Nicht update-sicher
  • 32. Template ändern (Best Practice) 2 1
  • 33. Template ändern – Best Practice Templates update-sicher anpassen Backend-Modul Templates Neues Template erstellt Kopie im Ordner /templates Änderungen im Template kommentieren! Name des Templates ggfs. ändern Nach Contao-Update: Kopie mit Original vergleichen Ändern? Nur wenn es wirklich sein muss.
  • 35. Funktionen Funktionen: Interaktive Bestandteile der Site Automatisch generierte Navigationen Kontakt- und Bestellformulare Such- und Kommentarfunktionen Passwortgeschützte Bereiche Forum, Umfrage, Shop u. v. m. Funktionen benötigen Programmierung Bordmittel oder Erweiterung Ausgabe per Frontend-Modul
  • 36. Best Practice – Funktionen Gewünschte Funktionen auflisten Prioritäten für Funktionen vergeben A = ohne geht nicht B = wäre schön, kann aber auch ohne losgehen C = irgendwann, irgendwie, irgendwo Möglichkeiten zur Umsetzung analysieren Mit Bordmitteln von Contao? Bestehende Erweiterung geeignet? Erweiterung programmieren (lassen)? Frontend-Module Aussagekräftige Namen vergeben Hauptnavigation und Metanavigation
  • 37. Also known as "Extensions" Best Practice: Erweiterungen
  • 38. Best Practice – Erweiterungen Less is More Pflegeaufwand Funktionen mit Priorität A nur bewährte Erweiterungen Entwicklung gewährleistet? Erweiterungen beeinflussen sich gegenseitig kann man inaktiv stellen Probleme? Überlegen Im Forum suchen Im Forum fragen
  • 39. Beispiel: Funktion "Breadcrumb" 1. Versuch: Modul "Navigationspfad" "Startseite" nicht am Anfang DIV mit ein paar Links darin – nicht sonderlich semantisch 2. Versuch: Erweiterung [wf_extendedBreadcrumb] Perfekt: Mit "Startseite" und als UL nach Update Probleme mit Umlauten Im Forum gesucht und gefragt => Problem gelöst Und was ist nach dem nächsten Update?
  • 40. Beispiel: Funktion "Breadcrumb" Mein Kompromiss für den Alltag Verzicht auf die ungeordnete Liste im HTML "Startseite" durch Änderung im Template mod_breadcrumb.tpl
  • 42. Normale Fußzeile: HTML im Modul Der normale Weg Modul "Eigenes HTML" erstellen HTML pur reinschreiben
  • 43. Editierbare Fußzeile: Versteckter Artikel Im Artikelbaum versteckten Artikel erstellen Versteckten Artikel per Insert-Tag im Modul einbinden
  • 45. Inhalt. Content. Inhalt ist der Grund, warum Besucher kommen Vier Arten von Content Text Bilder Audio Video Ein Content-Management-System sollte die Verwaltung von Inhalt vereinfachen ermöglicht die Pflege von Inhalt ohne technische Kenntnisse
  • 48. Inhalte erstellen (Worst Case) Alles in ein Element schlecht zu pflegen fehleranfällig Formatierung schwierig Tabellen Bilder aber oft Gewohnheit
  • 49. Inhalte erstellen (Best Practice) Divide et impera Inhaltselementebenutzen Element für 1. Überschrift EinteilungnachInhalt Formatierung einfacher Tabellen / Bilder per Fernsteuerung
  • 50. Dateiverwaltung mit System System – Dateiverwaltung
  • 51. Best Practice: Dateiverwaltung Konsistente Schreibweise von Namen Kleinbuchstaben keine Umlaute und Sonderzeichen keine Leerstellen stattdessen Unter- oder Bindestriche Aussagekräftige Dateinamen produktname.jpg ist besser als DSC_00234.jpg
  • 52. Best Practice: Ordnerstruktur Ordnerstruktur abhängig vom Einzelfall Anforderungen bezüglich Inhalte Anforderungen bezüglich Benutzer
  • 54. Everybody wants to build and nobody wants to do maintenance. Kurt Vonnegut Nach dem Launch
  • 55. Wartung – Backup MySQL-Datenbank mit allen Daten SQL-Export mit phpMyAdmin Erweiterung [BackupDB] Dateien und Ordner auf dem Webspace per FTP Besonders wichtig sind im Ordner system/config/ localconfig.php dcaconfig.php langconfig.php initconfig.php der Ordner tl_files der Ordner templates Tools vom Webhoster?
  • 56. Wartung – Update Das Live Update Dienstleistung von iNetRobots Eine Live Update ID: ca. 9,90 Euro für eine Domain und ein Jahr Mehrere Domains günstiger: z. B. 10 Domains = plus 16 Euro Erweiterung [easyupdate] Manuelles Update per FTP Contao-ZIP entpacken Contao-ZIP vorbereiten Konfig-Dateien löschen /templates/ und /tl_files/ löschen Contao-ZIP hochladen Install-Tool starten
  • 57. Wartung – Statistiken (1) Erweiterung [visitors] Besucherzähler Zugriffszähler
  • 58. Wartung – Statistiken (2) Piwik - Open source web analytics Installation auf dem eigenen Webspace Download von piwik.org Integration in Contao mit Erweiterung [PiwikTrackingTag]
  • 59. Wartung – Statistiken (3) Google Analytics Integration in Contao einfach Kostenlos: Daten liegen auf Googles Server Kostenpflichtig: Der Kaffee beim Besuch des Datenschutzbeauftragen
  • 60. Vielen Dank für Ihre Aufmerksamkeit. 道 ck2011.think-contao.de