03.05.2013 Aufrufe

THM iCampus WPW Tutorial - MNI

THM iCampus WPW Tutorial - MNI

THM iCampus WPW Tutorial - MNI

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!