Das Spitzen-CMS Joomla ist als Bildungsurlaub an der VHS Braunschweig Thema einer Seminarwoche. Joomla hat sich in den letzten Jahren im Masseneinsatz als CMS bewährt. Zusammen mit Typo3 steht es nach einer Auswertung von knapp 3 Mio CMS-Installationen auf dem Siegertreppchen. Hier die Daten unseres Seminars:
Ort: VHS Braunschweig, Heydenstraße 2, Raum 2.03
Zeiten: Mo., 13.12. bis Fr., 17.12.2010; jeweils 08.30 - 16.00 Uhr
Wir wünschen - wie immer - viel Spaß und Erfolg bei unseren Seminaren. Es folgt der mittlerweile übliche (;-) Wochenbericht ...
Ihr Trainer Joe Brandes
Montag, 13.12.2010, 08.30 - 16.00 Uhr
- Begrüßung / TN-Themen / Cobra-Shop
- Entwicklungsumgebung:
Grund: ich benötige Webserver mit PHP und eine MySQL-Datenbank!
Lösung: XAMPP (von www.apachefriends.org herunterladen)
auf der System-/Startpartition automatisch entpackt: C:\xampp
Stammverzeichnis für Web-Dokumente: C:\xampp\htdocs - Quelle für deutschsprachiges aktuelles Joomla: www.joomlaos.de
aktuell (am 2010-12-13): joomla_1.5.22-Stable-Full_Package_German.zip - Plan für Joomla!: eigenes Verzeichnis für erste Inst.
C:\xampp\htdocs\joomla15
Aufruf auf Client-Seite (Browser) mittels:
http://localhost/joomla15 - Anmerkungen zu Installationsroutine:
möglichst Datenbank bei "mysql" belassen (kein mysqli)
Datenbank vorher mittels phpmyadmin anlegen!
XAMPP-Adresse: http://localhost/phpmyadmin
nach Assistenten unbedingt Unterordner "installation" löschen! - Softwareübersicht: Tools für den BU und die Praxis
Intelligenter und erweiterungsfähiger Browser: Mozilla Firefox (www.mozilla-europe.org)
Erstes Addon: Firebug (siehe addons.mozilla.org)
Packer/Entpacker: 7-Zip (www.7-zip.org)
Editor für PHP/TXT/INC/CONF/INI: PsPad (www.pspad.com/de) - Frontend vs. Backend
Webseite auf der einen - die Administration auf der anderen Seite - Erster Rundgang durch das Backend:
Medien im Ordner images/stories (Beachten: möglichst kein Flash-Uploader)
Konfiguration - siehe hierzu Datei configuration.php im Joomla-Projektordner
speziell: Site offline "An" und "Aus"
Dienstag, 14.12.2010, 08.30 - 16.00 Uhr
- Rekap und TN-Fragen
- Benutzer für FE (Frontend) und BE (Backend)
FE: Registriert, Autor, Editor, Publisher
BE: Manager, Administrator, SuperAdministrator
Übersicht zu den Berechtigungen beim Galileo Openbook "Joomla 1.5" - Übungen zu Benutzern und Berechtigungen
wichtig: für FE und BE unterschiedliche Browser benutzen! - Prinzip der Bereiche (Sections) und Kategorien (Categories)
nützliche hierarchische Gliederung für Beiträge (Articles)
Anm.: Beiträge könnte man aber auch "unkategorisiert" verwalten - Menü
Menülinks deaktivieren, neue Links im Hauptmenü erstellen
Links zur Kategorie "News/Kurzmeldungen" als Blog und Liste
Untermenüs erstellt für Konstruktion
Bereich: X-pert CMS Online Designer
Kategorien: XHTML & CSS, PHP & MySQL, Joomla! - Templates der Basisinstallation umschalten (speziell: Beez)
Analyse der Ausgabe von verschiedenen Templates
Stichworte: Kontrolle über den Code, Barrierefreies Designen
Beispiel: Beez hat keine Tabellen, der "Weiterlesen"-Text kann individuell konfiguriert werden - Komponenten: Standardkomponente Links
neue Kategorie und Links erstellt
Menüpunkt dazu erstellt - Beispiel für Trennung von Inhalt und Design: CssZenGarden
Mittwoch, 25.12.2010, 08.30 - 16.00 Uhr
- Rekap und TN-Fragen
- Erweiterungen (Extensions) - eine Übersicht
Komponenten: eigenständige komplette Lösungen (Bsp.: Bildergalerien, com_***)
Module: über Positionen bereitgestellte Technk (Site: mod_mainmenu, mod_banners; Administrator: mod_jgerman)
Plugins: kleine FE/BE-Lösungen (Bsp.: plg_emailcloak für content)
Templates: Vorlagen für die Darstellung der Joomla-Site (hier werden die Positionen definiert) - Praxis zu Menüs/Modulen:
Neues Menü erstellt und über das entsprechende neue Modul in der Site positioniert (left, right, footer)
die Parameter (Modul, Erweiterte, Andere) betrachtet
hier. Modul-Klassen-Suffix für das Verständnis für unterschiedliche Menü-Styles (siehe Quellcodes der Site mit Firebug) - Joomal-Backup
die Joomla-Site besteht aus zwei Teilen:
Verzeichnis auf Webserver: c:\xampp\htdocs\joomla15 (Verzeichnis kopieren, FTP)
DB-Tabellen: mit PhpMyAdmin die Tabellen der Joomla-DB exportieren (DB-Dump)
Hinweis: Joomla-Site vorher offline schalten! - Erweiterungen - Quellen
extensions.joomla.org, www.joomalos.de, ...
Hinweise: Qualität, Aktualität, 1.5 native, Support, Download-Zahlen, Feedback
Security: hier handelt es sich um 3rd-Party, also keine Aktualisierungen mit neuen Joomla 1.5.x-Updates! - Analyse Joomla-Installation: Ordnerstruktur und wichtige Dateien
components (Komponenten), modules (Module), plugins (Plugins)
language (beinhaltet Sprachordner de-DE, en-GB mit den Übersetzungdateien)
images (Bilderhauptordner, eigenen Bilddokumente und Ordner ab images/stories)
templates (Joomla-Webseiten-Templates, pro Template ein Ordner)
htacess.txt (Vorlagedatei für z.B. SEO - dann aber .htacess)
configuration.php (Konfigurationsdatei Joomla)
index.php (die eigentliche Website! - index2.php zeigt Content/Component) - Sprachdateien (siehe Ordner language/de-DE)
de-DE.com_banners.ini (deutsche Übersetzungen Komponente Banners)
de-DE.mod_poll.ini (deutsche Übersetzung Modul Poll/Umfragen)
de-DE.tpl_beez.ini (deutsche Übersetzung Template Beez)
Beispiel-Code auf Template-Seite: JText::_('Joomla Accessible Template')
In der *.ini-Datei: JOOMLA ACCESSIBLE TEMPLATE=Ihr Text in Deutsch - Analyse Template-Ordner:
index.php - das Template
template_thumbnail.png - Screenshot des Template
templateDetails.xml - Beschreibung des Template
params.ini - Parameter des Templates
favicon.ico - Icon für viele Browser als Minisymbol
Donnerstag ("Template-Thursday"), 16.12.2010, 08.30 - 16.00 Uhr
- Rekap Template-Ordner
./images (Bilder)
./css (CSS-Dateien)
./js (Javaskript) - Template-Tutorial
Schwerpunkt: Klassiker von Barrie North aus dessen "Joomla Guide" für 1.5
in 4 Schritten zu einem effektiven und technisch sauberem Joomla-Template - index.php-Code und -Erläuterungen
defined( '_JEXEC' ) or die( 'Restricted access' );
Erl.: keinen direkten Skriptaufruf erlauben - Standardzeile<jdoc:include type="head" />
Erl.: hier Head-Infos der Joomla-Systemkonfiguration einfügen (Meta und Co)href="/templates//css/template.css ...
Erl.: php-Skripting ersetzt Basispfad und den Template-Namen/Ordner<jdoc:include type="modules" name="top" style="xhtml" />
Erl.: hier Modul "top" posititonieren mit style "xhtml"if($this->countModules('user1 or user2')) {...}
Erl.: wenn entweder in Position "user1" oder "user2" Module sind, dann ... - CSS für das Template
Umsetzung des Styling: tabellenloses Layout
die Definitionen für die Joomla-Klassen (Übersichtsskizze joomlaos.de) - Problemlösung für JCE:
Konfiguration auf eigene CSS-Datei für JCE: ./css/editor_content.css
hier: Grundeinstellungen für body "verbessern"
Freitag, 17.12.2010, 08.30 - 16.00 Uhr
- Rekap Template-Technik und TN-Fragen
- Komplettierung Template: Template "beez"
Angie Radtke, Barrierefreiheit und Tpl-Overriding (Kontrolle über den Code)
./html (Unterordner-Struktur im Template-Ordner) beinhaltet die Überschreibungen für gewünschte Komponenten oder Module
./html/modules.php erlaubt sogar eigene Styles für die Modulintegrationen (siehe hierzu index.php des Template beez)<jdoc:include type="modules" name="top" style="beezDivision" headerLevel="3" />
Hinweis/Erinnerung: Videos zum Thema, bzw. OpenBook(s) - Serverumgebung verbessern:
echte Apache/PHP-Umgebung unter Linux
Debian-Server auf Virtueller Maschine (VirtualBox) - Virtual Hosts: (Serverkonfiguration)
aus http://localhost/joomla wird http://demo.joomla15.local
Server: Apache-Konfigurationsdateien httpd.conf und ./extra/httpd-vhosts.conf konfigurieren und nicht vergessen den Webserver zu restarten
Client: Namensauflösung statisch über die hosts-Datei einrichten
Dateiausschnitte s.u. - Backup nutzen: Rettung/Recovery
siehe auch Serverumzug - Anpassung der configuration.php - Joomla 1.6 RC1 Testinstallation
RC heißt Release Candidate, finale Version steht also noch aus, Version ist nicht für den Einsatz als Produktionsserver gedacht!
Umstieg von 1.5 auf 1.6 (Migration) wird möglich sein - aber Fragen bleiben: sind alle Ihre Extensions 1.6-tauglich, funktioniert Ihr Template, ...? - Aktualisierung der Joomla 1.5 Installationen:
Update-Paktete der deutschen Joomla-Gemeinde (z.B. joomlaos.de) nutzen - Migration von 1.0.x auf 1.5:
Migrator-Komponente besorgen und auf 1.0.x installieren, mit Migrator die 1.0-Installation "sichern/dumpen" - bei der 1.5-Installation statt der Beispieldateien den Dump des Migrators angeben
Hinweis: funktioniert für Joomla-Core - nicht aber automatisch für 3rd-Party - letzte TN-Fragen, Unterlagen, Feedback
Vielen Dank für Ihr freundliches Feedback und die Wünsche zum Fest und für 2011. Auch von dieser Stelle nochmals diese Wünsche auch von meiner Seite zurück an Sie und Ihre Lieben.
Ihr Trainer Joe Brandes
P.S.: die Anregungen zu den weiteren/weiterführenden Seminaren gerne auch nochmal direkt an Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! - Thanx
Codeanhänge:
templateDetails.xml (Step4 aus Barrie North Template Tutorial)
<?xml version="1.0" encoding="utf-8"?> <install version="1.5" type="template"> <name>CSSTemplateTutorialStep4</name> <creationDate>August 2007</creationDate> <author>Barrie North</author> <copyright>Attribution-NonCommercial-ShareAlike 3.0 Unported</copyright> <authorEmail>compassdesigns(at)gmail.com </authorEmail> <authorUrl>www.compassdesigns.net</authorUrl> <version>1.0</version> <description>Fourth example template for Chapter 9 of the Joomla Book</description> <files> <filename>index.php</filename> <filename>templateDetails.xml</filename> <filename>params.ini</filename> <filename>css/template.css</filename> ... <filename>images/teaser.png</filename> </files> <positions> <position>top</position> ... <position>bottom</position> </positions> <params> <param name="template_width" type="radio" default="0" label="Template Width" description="Change width setting of template"> <option value="0">800x600</option> <option value="1">1024x756</option> <option value="2">fluid (min/max with FF and IE7, 80% with IE6)</option> </param> </params> </install>
httpd.conf (Auzüge):
# # This is the main Apache HTTP server configuration file. # ... # ServerRoot "/opt/lampp" # Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses. # #Listen 12.34.56.78:80 Listen 80 # ... # # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # DocumentRoot "/opt/lampp/htdocs" # ... # # The following lines prevent .htaccess and .htpasswd files from being # viewed by Web clients. # <FilesMatch "^\.ht"> Order allow,deny Deny from all </FilesMatch> # ... # Virtual hosts Include etc/extra/httpd-vhosts.confextra/httpd-vhosts.conf(Virtual Hosts Beispiel)
#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
ServerAdmin Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
DocumentRoot /opt/lampp/htdocs
ServerName localhost
ServerAlias www.localhost
</VirtualHost>
# Virtual-Hosts for pcsystembetreuer.de :
# testing for pcs.de
<VirtualHost *:80>
DocumentRoot /opt/lampp/htdocs/testing/testing.pcsystembetreuer.de
ServerName testing.pcsystembetreuer.local
ServerAlias www.testing.pcsystembetreuer.local
</VirtualHost>
# hosting for pcs.de - copy of the production server
<VirtualHost *:80>
DocumentRoot /opt/lampp/htdocs/hosting/hosting.pcsystembetreuer.de
ServerName hosting.pcsystembetreuer.local
ServerAlias www.hosting.pcsystembetreuer.local
</VirtualHost>
c:\windows\system32\drivers\etc\hosts (hosts Beispiel - hier Windows-Pfad c:)
# Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost # TLD .local - e.g. Xampp in VirtualBox # Server local represented thru Debian-System with IP 192.168.3.248 192.168.3.248 hosting.pcsystembetreuer.local www.hosting.pcsystembetreuer.local 192.168.3.248 testing.pcsystembetreuer.local www.testing.pcsystembetreuer.local


