THM iCampus WPW Tutorial - MNI
THM iCampus WPW Tutorial - MNI
THM iCampus WPW Tutorial - MNI
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Tutorial</strong><br />
Web Programming Weeks<br />
WS 2012/2013<br />
Homeniuk, Mariusz<br />
Rost, Wolf<br />
Gießen, 17.02.2013
Inhaltsverzeichnis<br />
1 Einführung 4<br />
1.1 Konventionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />
2 Die Entwicklungsumgebung 5<br />
2.1 Xampp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />
2.1.1 PHP.ini Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />
2.1.2 PEAR Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />
2.2 Git-Bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />
2.3 Gitorious Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />
2.4 Joomla! Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />
2.5 Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />
2.5.1 Plugins installieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />
2.5.2 Eclipse einrichten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />
2.5.3 Joomla! hinzufügen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br />
2.5.4 <strong>THM</strong> Joomla! Coding Standards . . . . . . . . . . . . . . . . . . . . 24<br />
3 Teststruktur 30<br />
3.1 Teststruktur repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />
3.2 Teststruktur workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />
4 PHP Ausgaben 33<br />
5 Git in Eclipse 34<br />
6 <strong>THM</strong>-Wiki 35<br />
7 Troubleshooting 36<br />
Literaturverzeichnis 38<br />
Abbildungsverzeichnis 40<br />
3
1 Einführung<br />
Dieses <strong>Tutorial</strong> hilft bei der Installation und Einrichtung der verwendeten Programme und<br />
Dienste des <strong>iCampus</strong>-Projekts (https://wiki.thm.de/index.php/Kategorie:ICampus_<br />
Projekte). Bei Problemen bitte das Kapitel 7 Troubleshooting beachten.<br />
1.1 Konventionen<br />
Die folgenden Konventionen werden in diesem Dokument verwendet:<br />
4<br />
• Dateipfade und Dateinamen (Serifenlos): php.ini oder C:\Program Files\eclipse\plugins<br />
• Klickreihenfolgen, Tastenkombinationen und Schaltflächen, die betätigt werden sol-<br />
len (Kapitälchen): Window -> Options -> General oder Apply<br />
• Eingaben, ersetzbarer/variabler Text und Elemente, die ausgewählt werden können<br />
(Kursiv): egit oder –All Available Sites–<br />
• Befehle, Quellcode und Konfigurationsparameter (Schreibmaschine): ssh-keygen<br />
oder implicit_flush = On
2 Die Entwicklungsumgebung<br />
2.1 Xampp<br />
Zuerst wird ein Webserver benötigt, damit auf diesem Joomla! laufen kann. Dazu wird<br />
Xampp installiert, welches neben einem Webserver auch noch weitere Pakete wie MySQL,<br />
Perl und PHP enthält. Die Gesamtpakete für unterschiedliche Betriebssysteme sind auf<br />
der Xampp Seite 1 zu finden.<br />
2.1.1 PHP.ini Konfiguration<br />
Damit man später Fehler angezeigt bekommt und den Debugger nutzen kann, werden in<br />
der php.ini (\php) folgende Einträge herausgesucht und diese<br />
wie hier beschrieben geändert:<br />
// Meldet alle PHP Fehler<br />
error_reporting = E_ALL | E_STRICT<br />
// PHP buffert keine Ausgaben und gibt sie sofort aus (wird für den Debugger benötigt)<br />
output_buffering = Off<br />
// Einstellungen für den Debugger<br />
[XDebug]<br />
zend_extension="C:\xampp\php\ext\php_xdebug.dll"<br />
xdebug.remote_enable=true<br />
xdebug.remote_host=localhost<br />
xdebug.remote_port=9000<br />
xdebug.remote_handler=dbgp<br />
xdebug.profiler_enable=1<br />
xdebug.profiler_output_dir="C:\xampp\tmp"<br />
2.1.2 PEAR Konfiguration<br />
Um Fehlerquellen auszuschließen muss die Konfiguration von PEAR angepasst werden.<br />
Die Shell (Eingabeaufforderung) cmd.exe als Administrator öffnen und in den PHP Ord-<br />
ner von XAMPP wechseln. Die Einstellungen, welche auf C:\php\pear zeigen, müssen in<br />
C:\xampp\php\pear geändert werden.<br />
1 http://www.apachefriends.org/de/xampp.html<br />
5
2 Die Entwicklungsumgebung<br />
// Welchseln in das PHP Verzeichnis im Xampp Ordner<br />
cd C:\xampp\php<br />
// Anzeige der PEAR Konfiguration<br />
pear config-show<br />
// Setzen der einzelnen Konfigurationsparameter<br />
pear config-set doc_dir C:\xampp\php\pear\docs<br />
pear config-set cfg_dir C:\xampp\php\pear\cfg<br />
pear config-set data_dir C:\xampp\php\pear\data<br />
pear config-set cache_dir C:\xampp\php\pear\cache<br />
pear config-set download_dir C:\xampp\php\pear\download<br />
pear config-set temp_dir C:\xampp\php\pear\temp<br />
pear config-set test_dir C:\xampp\php\pear\tests<br />
pear config-set www_dir C:\xampp\php\pear\www<br />
pear config-set php_ini C:\xampp\php\php.ini<br />
Als nächstes wird die PEAR Channelliste aktualisiert, damit später aus den aktuellen<br />
Channels die Erweiterungen installiert werden können. Danach setzt man auto discover<br />
auf 1, um neue Channel automatisch zu finden und Abhängigkeiten aufzulösen. Nun noch<br />
PEAR selbst auf den neuesten Stand bringen.<br />
6<br />
// PEAR selbst aktualisieren<br />
pear upgrade pear<br />
// PEAR cache leeren<br />
pear clear-cache<br />
// Channels automatisch finden<br />
pear config-set auto_discover 1<br />
// Channel pear.phpunit.de automatisch finden und hinzufügen (meistens schon vorhan-<br />
den)<br />
pear cannel-discover pear.phpunit.de<br />
// Die Liste der Channels aktualisieren<br />
pear update-channels<br />
// PHP CodeSniffer deinstallieren (falls alte Version vorhanden)<br />
pear uninstall PHP_CodeSniffer<br />
// PHP CodeSniffer installieren<br />
pear install PHP_CodeSniffer
2.2 Git-Bash<br />
2.2 Git-Bash<br />
Die Git-Bash 2 herunterladen und als Administrator starten. Wichtige Einstellungen bei<br />
der Installation sind in Abbildung 2.1 und Abbildung 2.2 illustriert.<br />
Abbildung 2.1: Gitorious setup path environment<br />
Abbildung 2.2: Gitorious setup line ending conversions<br />
Um beim commiten den richtigen Namen und die richtige EMail-Adresse angezeigt zu<br />
bekommen, müssen diese nun gesetzt werden. Dazu startet man die Git-Bash und gibt<br />
folgendes ein (mit Anführungszeichen):<br />
2 http://git-scm.com/downloads<br />
7
2 Die Entwicklungsumgebung<br />
git config --global user.name “Vorname Nachname”<br />
git config --global user.email “vorname.nachname@mni.thm.de”<br />
In der eben geöffneten Git-Bash kann dann auch gleich noch der SSH-Schlüssel mit<br />
folgender Eingabe erzeugt werden:<br />
ssh-keygen<br />
Der SSH-Schlüssel wird benötigt damit man von Gitorious, Repositories klonen kann.<br />
Nun solange Enter drücken bis wieder eine normale Eingabe möglich ist.<br />
2.3 Gitorious Konfiguration<br />
Der eben erstellte SSH-Key muss nun auf der Gitorious Seite 3 eingetragen werden. Dazu<br />
meldet man sich auf der Gitorious Seite an 4 und drückt auf Manage SSH keys.<br />
8<br />
Abbildung 2.3: Gitorious manage SSH keys<br />
Nun wird ein neuer SSH Schlüssel eingefügt, indem man auf Add SSH key klickt.<br />
3 https://scm.thm.de/<br />
4 Anmeldung mit Netzkennung und Passwort
Abbildung 2.4: Gitorious preferences add SSH key<br />
2.4 Joomla! Installation<br />
Auf seinem Computer sucht man seinen öffentlichen Schlüssel. Dieser liegt im HOME-<br />
Verzeichnis -> .ssh in der Datei id rsa.pub. Die Datei mit einem Texteditor öffnen und<br />
den Inhalt in das Textfeld auf der Gitoriousseite kopieren. Dann auf Save drücken und<br />
schon können Projekte für die man Berechtigung hat aus Gitorious ausgecheckt werden.<br />
2.4 Joomla! Installation<br />
Abbildung 2.5: Gitorious preferences public SSH key<br />
Als ersten Schritt lädt man sich Joomla! 5 herunter 6 . Dann wird der Inhalt der ZIP-Datei in<br />
einen extra Ordner (z.B. joomla) im htdocs-Ordner (\htdocs\joomla)<br />
kopiert. Um zu überprüfen, ob der Webserver und MySQL läuft, geht man in seinen<br />
Xampp-Ordner und startet die Xampp Konsole (\xampp-control.exe).<br />
5 Literatur: [GbR13, osm13, TMSS12]<br />
6 http://www.joomla.org/<br />
9
2 Die Entwicklungsumgebung<br />
Bei Apache und MySQL muss “Running” stehen. Wenn dort nicht “Running” steht, startet<br />
man den Service über den Button Start.<br />
Abbildung 2.6: Xampp Status<br />
Danach öffnet man den Browser und ruft die Joomla!-Installationsroutine 7 auf. Im Brow-<br />
ser ist nun das gleiche wie in Abbildung 2.7 zusehen.<br />
Abbildung 2.7: Joomla Installation (Language)<br />
Als Erstes wählt man eine Installationssprache aus und klickt auf Weiter. Im darauf-<br />
folgendem Fenster sollte alles grün sein außer bei “Fehler anzeigen”.<br />
7 Lokale Joomla! Adresse: localhost/joomla<br />
10
Abbildung 2.8: Joomla Installation (Pre-Installation Check)<br />
2.4 Joomla! Installation<br />
Wird alles Abbildung 2.8 angezeigt kann auf Weiter geklickt werden. Die nun an-<br />
gezeigte Lizenz wird akzeptiert, indem man auf Weiter klickt. Zum Konfigurieren der<br />
Datenbank gibt man bei Benutzername root ein. Ist Xampp installiert, gibt es diesen<br />
Benutzer standardmäßig ohne Passwort. 8 Als Datenbankname tippt man joomla ein.<br />
8 In einem Produktivsystem sollte man einen anderen Nutzer nehmen, da der root-Benutzer Zugriff auf<br />
alle Datenbanken hat. Außerdem sollte man ein sicheres Passwort setzen.<br />
11
2 Die Entwicklungsumgebung<br />
Abbildung 2.9: Joomla Installation (Database configuration)<br />
Nachdem alle Eingaben gemacht wurden auf Weiter klicken. Bei den FTP Konfigu-<br />
rationen wird nichts eingetragen. Da man nur lokal arbeitet einfach auf Weiter klicken.<br />
Auf der nächsten Seite trägt man unter den Grundeinstellungen den Namen der Websei-<br />
te ein und legt noch die Email Adresse und Passwort des admin fest. Optional können<br />
Beispieldaten mit einem Klick auf Beispieldaten installieren installiert werden.<br />
12
Abbildung 2.10: Joomla Installation (Main Configuration)<br />
2.5 Eclipse<br />
Sind alle Felder ausgefüllt auf Weiter klicken. Zum Abschluss wird das Installations-<br />
verzeichnis mit einem Klick auf Installationsverzeichnis löschen gelöscht. Schon<br />
ist Joomla! installiert und mit einem Klick auf Website kann das Frontend 9 oder mit<br />
Administrator das Backend 10 geöffnet werden.<br />
2.5 Eclipse<br />
Um nun endlich mit der Entwicklung anfangen zu können, benötigt man zuerst einmal eine<br />
IDE. In diesem Abschnitt wird diese Eclipse sein. Also Eclipse Classic 11 herunterladen<br />
und in ein Verzeichnis entpacken 12 . Den workspace von Eclipse setzt man auf \workspace.<br />
9 Joomla! Frontend: localhost/joomla<br />
10 Joomla! Backend: localhost/joomla/administrator<br />
11 http://www.eclipse.org/downloads/<br />
12 z.B. C:\Program Files\eclipse<br />
13
2 Die Entwicklungsumgebung<br />
2.5.1 Plugins installieren<br />
Abbildung 2.11: Eclipse set workspace<br />
Um die Git Integration in Eclipse herzustellen wird das Plugin EGit installiert. Dazu klickt<br />
man in Eclipse auf Install New Software.<br />
Abbildung 2.12: Install new software<br />
Im darauf erscheinenden Fenster bei Work with: –All Available Sites– auswählen 13 und<br />
im Suchfeld egit eingeben und Eclipse EGit installieren.<br />
13 Alternativ kann man auch direkt http://download.eclipse.org/egit/updates eingeben. Dann wird nicht<br />
14<br />
in allen verfügbaren Seiten gesucht sondern nur unter der angegebenen.
Abbildung 2.13: Eclipse EGit<br />
2.5 Eclipse<br />
Als nächstes installiert man das PHP Development Tools Plugin, ähnlich wie das Git<br />
Plugin, nur dass man PHP Development Tools in das Suchfeld eingibt 14 .<br />
14 Alternativ: http://download.eclipse.org/tools/pdt/updates/<br />
15
2 Die Entwicklungsumgebung<br />
Abbildung 2.14: PHP Development Tools<br />
Danach wird PHP Tool Integration installiert. Dafür klickt man auf Add..., tippt bei<br />
Name PTI Update Site und bei Location http://www.phpsrc.org/eclipse/pti/ ein. Dann<br />
auf OK und bei Work with: PTI Update Site auswählen und in das Suchfeld noch PHP<br />
Tool Integration eingeben.<br />
2.5.2 Eclipse einrichten<br />
Um Eclipse einzurichten geht man zunächst auf Window -> Preferences. Dort wählt<br />
man General -> Workspace und setzt Text file encoding auf UTF-8 und New text<br />
file line delimiter auf Unix.<br />
16
Abbildung 2.15: Eclipse preferences (text file und new line delimiter)<br />
2.5 Eclipse<br />
Als nächstes PHP -> Executables auswählen und dort den Pfad (\php) zur php.exe und php.ini einfügen.<br />
Abbildung 2.16: Eclipse preferences (PHP Executable)<br />
Um debuggen zu können stellt man nun den Debugger in Eclipse unter PHP -> Debug<br />
17
2 Die Entwicklungsumgebung<br />
wie in Abbildung 2.17 dargestellt ein.<br />
Abbildung 2.17: Eclipse preferences (PHP Debug)<br />
Die Änderungen mit Apply bestätigen und auf Configure... klicken. Dort den Port<br />
von xDebug auf 9000 stellen und OK drücken.<br />
18
Abbildung 2.18: Eclipse preferences (xDebug Port)<br />
2.5 Eclipse<br />
Unter PHP -> Debug -> Workbench Options muss man noch die Einstellungen<br />
wie in Abbildung 2.19 gezeigt vornehmen.<br />
Abbildung 2.19: Eclipse preferences (Debug Workbench Options)<br />
19
2 Die Entwicklungsumgebung<br />
Unter PHP Tools -> Library -> PEAR auf New... klicken, um die PEAR Library<br />
aus dem Xampp Ordner hinzuzufügen. Als Name xampppear und in Path den Pfad zu<br />
PEAR in Xampp angeben 15 wie in Abbildung 2.20 dargestellt.<br />
Abbildung 2.20: Add PEAR Library<br />
Als nächstes geht man auf PHP Tools -> PHPUnit und setzt dort die PHP Executa-<br />
ble auf PHP, die PEAR Library auf und ein Häkchen bei print PHP output<br />
to console.<br />
15 z.B. C:\xampp\php\pear<br />
20
Abbildung 2.21: Eclipse preferences (PHP Unit)<br />
2.5 Eclipse<br />
Unter Team -> Git kontrolliert man, ob der Default repository folder auf den git Ord-<br />
ner im Homeverzeichnis zeigt. Falls der Ordner zu diesem Zeitpunkt noch nicht existieren<br />
sollte, erstellt man den Ordner und passt gegebenenfalls den Pfad an.<br />
Abbildung 2.22: Eclipse preferences (Default repository folder)<br />
Zuletzt wird noch unter Team -> Git -> Configuration überprüft, ob Eclipse die in<br />
Abschnitt 2.2 gesetzten globalen Einstellungen richtig übernommen hat. Email und Name<br />
sollten dabei automatisch aus der .gitconfig ausgelesen werden.<br />
21
2 Die Entwicklungsumgebung<br />
2.5.3 Joomla! hinzufügen<br />
Abbildung 2.23: Eclipse preferences (Git Configuration)<br />
Im Abschnitt 2.4 wurde Joomla! installiert. Nun muss man Joomla! als Projekt hinzufügen,<br />
um in Eclipse damit arbeiten zu können. Dazu ein neues PHP Projekt mit File -> New<br />
-> PHP Project erstellen, als Projektname joomla eintippen und auf Finish drücken.<br />
Damit man nun die Joomla! Daten aus dem htdocs Ordner in das PHP Projekt bekommt,<br />
wählt man das gerade erstellte PHP Projekt mit der Maus an, öffnet mit Rechtsklick ein<br />
Kontextmenü und wählt dort Import aus. Im darauffolgendem Fenster File System<br />
anklicken und anschließend auf Next >. Nun muss man bei From directory: den Joomla<br />
Ordner in seinem htdocs Ordner auswählen und diesen in der Auswahlliste anhaken. Als<br />
nächstes noch auf Advanced klicken und einen Haken bei Create links in workspace<br />
setzen 16 .<br />
16 Damit sind die Projektdateien von Eclipse dann nicht im htdocs-Ordner.<br />
22
Abbildung 2.24: Add Joomla! to Eclipse<br />
2.5 Eclipse<br />
Wenn das gemacht wurde auf Finish drücken. Im PHP Explorer sieht das PHP Projekt<br />
dann wie in Abbildung 2.25 aus.<br />
23
2 Die Entwicklungsumgebung<br />
Abbildung 2.25: Joomla Project in Eclipse<br />
2.5.4 <strong>THM</strong> Joomla! Coding Standards<br />
Zuletzt richtet man den CodeSniffer so ein, dass er die <strong>THM</strong> Joomla! Coding Standards<br />
verwendet. Dazu wird das entsprechende Repository in Gitorious geklont wie folgt be-<br />
schrieben:<br />
24<br />
1. Ein neues Git Projekt importieren File -> Import.
Abbildung 2.26: Eclipse Code Sniffer<br />
2. Dort wählt man Project from Git aus.<br />
Abbildung 2.27: Exlipse Code Sniffer (Project from Git)<br />
2.5 Eclipse<br />
25
2 Die Entwicklungsumgebung<br />
26<br />
3. Nun noch Uri auswählen und auf der nächsten Seite die URL<br />
gitorious@scm.thm.de:icampus/icampus coding standards.git einfügen und das Pro-<br />
tokoll auf ssh stellen. Bei User: muss gitorious eingetragen sein.<br />
Abbildung 2.28: Eclipse Code Sniffer (URL)<br />
4. Im nächsten Fenster ist der Master schon ausgewählt und man drückt Next.<br />
5. In diesem Fenster muss nichts geändert werden und man drückt Next.<br />
6. Damit das Projekt importiert werden kann, muss man Import as general project<br />
auswählen und Next.
Abbildung 2.29: Eclipse Code Sniffer (Import as general project)<br />
7. Zuletzt auf Finish und fertig.<br />
Abbildung 2.30: Eclipse Code Sniffer (Project cloned)<br />
2.5 Eclipse<br />
Damit die Coding Standards nun bequem ausgewählt werden können, erstellt man sich<br />
zwei symbolische Verknüpfungen in dem CodeSniffer Standards Ordner im PEAR Ord-<br />
ner 17 . Dazu öffnet man die Kommandozeile und geht in den Standards Ordner vom Co-<br />
deSniffer.<br />
17 z.B. C:\xampp\php\pear\PHP\CodeSniffer\Standards<br />
27
2 Die Entwicklungsumgebung<br />
cd C:\xampp\php\pear\PHP\CodeSniffer\Standards\<br />
mklink /D Joomla C:\Users\\git\<br />
icampus_coding_standards\Joomla<br />
mklink /D <strong>THM</strong>Joomla C:\Users\\git\<br />
icampus_coding_standards\<strong>THM</strong>Joomla<br />
Mit dem ersten Befehl wechselt man in den Standards Ordner vom CodeSniffer. Und<br />
mit mklink erstellt man eine symbolische Verknüpfung in diesem Ordner, welche auf den<br />
Joomla bzw. <strong>THM</strong>Joomla Ordner im icampus coding standards repository zeigt.<br />
Abbildung 2.31: Eclipse CodeSniffer Standards folder<br />
Nachdem die symbolischen Verknüpfungen erstellt wurden, wird in Eclipse unter Win-<br />
dow -> Preferences angeklickt. Dort wählt man PHP Tools -> PHP Code Sniffer<br />
an und stellt PHP Executable auf PHP, PEAR Library auf xampppear und setzt ein Häk-<br />
chen bei print PHP output to console.<br />
Nun muss noch <strong>THM</strong>Joomla in der CodeSniffer Standards Liste angewählt werden. Den<br />
Joomla Standard muss man nicht aus der Liste auswählen, weil dieser vom <strong>THM</strong>Joomla<br />
Standard inkludiert wird. Bei Tab width 4 und bei File Extensions php, css eintragen.<br />
Das ganze dann mit OK bestätigen und schon ist der Code Sniffer eingerichtet.<br />
28
Abbildung 2.32: Eclipse Code Sniffer preferences<br />
2.5 Eclipse<br />
29
3 Teststruktur<br />
3.1 Teststruktur repository<br />
Die Projektstruktur (siehe Abbildung 3.1) unterteilt sich in die Bereiche ausführender<br />
Joomla-Code (1.) und Tests (2.).<br />
In dem ausführenden Joomla! Code-Bereich ist die Struktur, wie für Erweiterungen von<br />
Joomla! vorgegeben, einzuhalten.<br />
Siehe für:<br />
Komponenten: http://docs.joomla.org/Component<br />
Module: http://docs.joomla.org/Module<br />
Plugins: http://docs.joomla.org/Plugin<br />
Libraries: http://docs.joomla.org/Library<br />
Im Testbereich ist die Struktur wie folgt einzuhalten. Oberflächentests werden im Ord-<br />
ner gui-tests und Modultests im Ordner unit-tests abgelegt. Hat die Erweiterung einen<br />
Frontend- (site) und Backendbereich (admin) muss es in dem Testordner auch einen si-<br />
te und admin Ordner geben, in dem die Tests für den entsprechenden Bereich hinterlegt<br />
werden. Ist die Erweiterung nicht Bereichsspezifisch wandern die Tests direkt in den Test-<br />
ordner gui-tests bzw. unit-tests. Zwingend notwendig bei der Testerstellung ist die Datei<br />
testsuite.php, in der alle einzelnen Testklassen zusammengefasst werden.<br />
30
3.2 Teststruktur workspace<br />
Abbildung 3.1: Projektstruktur (repository)<br />
3.2 Teststruktur workspace<br />
Für die lokale Testausführung ist im Joomla! Hauptverzeichnis der Ordner tests zu er-<br />
stellen. Pro Erweiterung wird ein Ordner mit dem Namen der Erweiterung erstellt, dessen<br />
Inhalt sich mit der Struktur, wie sie im Gitorious zu finden ist, spiegelt. Als Beispiel ist in<br />
Abbildung 3.2 die Erweiterung com thm groups zu sehen wie sie im workspace hinterlegt<br />
wird. Zu beachten sind die Dateien framework include.php und JoomlaSeleniumTest.php.<br />
Diese werden einmalig im tests Ordner abgelegt.<br />
31
3 Teststruktur<br />
32<br />
Abbildung 3.2: Projektstruktur (workspace)
4 PHP Ausgaben<br />
Es gibt PHP Funktionen, die zur Debugausgabe genutzt werden können. Diese haben den<br />
Vorteilm dass auch der Typ der Variablen und Variablen mit dem Wert null ausgegeben<br />
werden.<br />
void var_dump ( mixed $expression );<br />
Abbildung 4.1: var dump Ausgabe (links ohne XDebug, rechts mit XDebug)<br />
Hat man XDebug nicht installiert kann man eine formatierte Ausgabe auch mit der<br />
folgenden Funktion ausgeben.<br />
mixed print_r ( mixed $expression [, bool $return = false ] )<br />
Damit die Ausgabe formatiert ist, muss man noch folgendes schreiben:<br />
echo "".print_r( $expression, true )."";<br />
Abbildung 4.2: print r Ausgabe (formatiert)<br />
33
5 Git in Eclipse<br />
34
6 <strong>THM</strong>-Wiki<br />
Das <strong>THM</strong>-Wiki ist unter https://wiki.thm.de/index.php/<strong>THM</strong>-Wiki zu finden.<br />
Für die Dokumentation wird für jede Erweiterung ein eigener Artikel erstellt. Um einen<br />
neuen Artikel zu erstellen muss man eingeloggt sein und ruft dann den folgenden Link auf<br />
https://wiki.thm.de/index.php/. Eine Komponente mit<br />
dem Namen “MeineKomponente” hat dann den Link https://wiki.thm.de/index.<br />
php/Komponente_<strong>THM</strong>-MeineKomponente. Vorlagen gibt es unter folgenden Links:<br />
• Komponente https://wiki.thm.de/index.php/Komponente_<strong>THM</strong>-Wiki-Template<br />
• Modul https://wiki.thm.de/index.php/Modul_<strong>THM</strong>-Wiki-Template<br />
• Plugin https://wiki.thm.de/index.php/Plugin_<strong>THM</strong>-Wiki-Template<br />
• Library https://wiki.thm.de/index.php/Library_<strong>THM</strong>-Wiki-Template<br />
Die Vorlagen kopieren, in den eigenen Artikel einfügen und um eigene Ergänzungen erwei-<br />
tern.<br />
35
7 Troubleshooting<br />
Problem: Beim Auschecken eines GIT repositories meldet Eclipse, dass der Ordner schon<br />
existiert.<br />
Abbildung 7.1: Troubeshooting (folder already exists)<br />
Erklärung: Eclipse versucht das Eclipse Projekt in dem gleichen Ordner anzulegen, in dem<br />
auch schon das GIT repository ausgecheckt wurde und meldet dann, dass es den Ordner<br />
mit dem gleichen Namen schon gibt. Das passiert, da der default repository Ordner nicht<br />
existiert.<br />
Lösung: Den default repository Ordner anlegen. Der Pfad kann in Eclipse unter Window<br />
-> Preferences -> Team -> Git nachgeschaut werden.<br />
36
Problem: Bei der Joomla! Installation wird gemeldet, dass die configuration.php schreib-<br />
geschützt ist.<br />
Abbildung 7.2: Troubleshooting (configuration.php ist schreibgeschützt)<br />
Erklärung: Die Datei configuration.php-dist ist schreibgeschützt.<br />
Lösung: Die Datei configuration.php-dist beschreibbar machen. Die Datei ist unter folgen-<br />
dem Pfad zu finden. /installation/<br />
37
7 Troubleshooting<br />
38<br />
Problem: Eclipse (Juno) ist langsam beim Wechseln zwischen geöffneten Dateien und beim<br />
Öffnen neuer Dateien.<br />
Erklärung: ?<br />
Lösung: Eclipse schließen und die Datei unter folgendem Pfad umbenennen. /.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi in work-<br />
bench.xmi.old umbenennen. Danach Eclipse neu starten.
Literaturverzeichnis<br />
[GbR13] Joomla! Nafu GbR. http://www.joomla-wiki.de. Internet, February 2013.<br />
http://www.joomla-wiki.de.<br />
[osm13] open source matters. http://docs.joomla.org/. Internet, February 2013.<br />
http://docs.joomla.org/.<br />
[TMSS12] Axel Tüting, Christiane Maier-Stadtherr, and René Serradeil. Joomla!-<br />
Extensions entwickeln: Eigene Komponenten, Module und Plugins programmie-<br />
ren. Number ISBN-10: 3645601341 ISBN-13: 978-3645601344. Franzis Verlag<br />
GmbH, 85540 Haar bei München, 2012.<br />
39
Abbildungsverzeichnis<br />
40<br />
2.1 Gitorious setup path environment . . . . . . . . . . . . . . . . . . . . . . . . 7<br />
2.2 Gitorious setup line ending conversions . . . . . . . . . . . . . . . . . . . . . 7<br />
2.3 Gitorious manage SSH keys . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />
2.4 Gitorious preferences add SSH key . . . . . . . . . . . . . . . . . . . . . . . 9<br />
2.5 Gitorious preferences public SSH key . . . . . . . . . . . . . . . . . . . . . . 9<br />
2.6 Xampp Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />
2.7 Joomla Installation (Language) . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />
2.8 Joomla Installation (Pre-Installation Check) . . . . . . . . . . . . . . . . . . 11<br />
2.9 Joomla Installation (Database configuration) . . . . . . . . . . . . . . . . . 12<br />
2.10 Joomla Installation (Main Configuration) . . . . . . . . . . . . . . . . . . . 13<br />
2.11 Eclipse set workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />
2.12 Install new software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />
2.13 Eclipse EGit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15<br />
2.14 PHP Development Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />
2.15 Eclipse preferences (text file und new line delimiter) . . . . . . . . . . . . . 17<br />
2.16 Eclipse preferences (PHP Executable) . . . . . . . . . . . . . . . . . . . . . 17<br />
2.17 Eclipse preferences (PHP Debug) . . . . . . . . . . . . . . . . . . . . . . . . 18<br />
2.18 Eclipse preferences (xDebug Port) . . . . . . . . . . . . . . . . . . . . . . . 19<br />
2.19 Eclipse preferences (Debug Workbench Options) . . . . . . . . . . . . . . . 19<br />
2.20 Add PEAR Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />
2.21 Eclipse preferences (PHP Unit) . . . . . . . . . . . . . . . . . . . . . . . . . 21<br />
2.22 Eclipse preferences (Default repository folder) . . . . . . . . . . . . . . . . . 21<br />
2.23 Eclipse preferences (Git Configuration) . . . . . . . . . . . . . . . . . . . . . 22<br />
2.24 Add Joomla! to Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />
2.25 Joomla Project in Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />
2.26 Eclipse Code Sniffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br />
2.27 Exlipse Code Sniffer (Project from Git) . . . . . . . . . . . . . . . . . . . . 25<br />
2.28 Eclipse Code Sniffer (URL) . . . . . . . . . . . . . . . . . . . . . . . . . . . 26<br />
2.29 Eclipse Code Sniffer (Import as general project) . . . . . . . . . . . . . . . . 27<br />
2.30 Eclipse Code Sniffer (Project cloned) . . . . . . . . . . . . . . . . . . . . . . 27<br />
2.31 Eclipse CodeSniffer Standards folder . . . . . . . . . . . . . . . . . . . . . . 28<br />
2.32 Eclipse Code Sniffer preferences . . . . . . . . . . . . . . . . . . . . . . . . . 29
Abbildungsverzeichnis<br />
3.1 Projektstruktur (repository) . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />
3.2 Projektstruktur (workspace) . . . . . . . . . . . . . . . . . . . . . . . . . . . 32<br />
4.1 var dump Ausgabe (links ohne XDebug, rechts mit XDebug) . . . . . . . . 33<br />
4.2 print r Ausgabe (formatiert) . . . . . . . . . . . . . . . . . . . . . . . . . . . 33<br />
7.1 Troubeshooting (folder already exists) . . . . . . . . . . . . . . . . . . . . . 36<br />
7.2 Troubleshooting (configuration.php ist schreibgeschützt) . . . . . . . . . . . 37<br />
41