Die Entwicklungsumgebung in der Praxis: Eclipse-Workshop
In den beiden vorangegangenen Artikeln zum Thema Eclipse wurden die Entwicklungsplattform und eine Auswahl von Projekten für die Entwicklung PHP-basierter Anwendungen vorgestellt. Dieser abschließende Artikel steht unter dem Motto „Eclipse im täglichen Einsatz“ und konzentriert sich, anders als ursprünglich geplant, vollständig auf die praxisorientierte Vorstellung von Vorgehensweisen
für den Im- und Export.
T3N 02/2006 |
Eclipse: Eine universelle Entwicklungsumgebung |
T3N 03/2006 |
PHP-Entwicklung mit Eclipse |
In dieser Ausgabe |
Eclipse-Workshop |
Der Workshop setzt die Nutzung des „Callisto-Release“ von Eclipse voraus. Es umfasst die meistgenutzten Subprojekte als einfach zu installierendes Paket. Die Workshopinhalte im Überblick:
- Import des TYPO3-Kerns aus dem SVN
- Import von Quellcode aus dem Dateisystem
- Verknüpfung von Projekten
- Projekt per SVN bereitstellen
- Deployment von T3 Extension
Vorbereitungen zum Workshop
Subclipse stellt, wie das bereits in Eclipse enthaltene CVS-Feature, Funktionen zur Entwicklung in Teams bereit [1]. Das mitunter in Eclipse noch fehlende Subversion-Feature kann mit Hilfe des Update-Managers installiert werden. Dazu wird der Menüpunkt „Help -> Software Updates -> Find and install… -> Search for new Features“ geöffnet und bestätigt. Anschließend wird Hinzufügen einer „New Remote Site“ gewählt und als Titel „Subclipse“ angegeben. Die einzugebende URL befindet sich im Anhang [2]. Nach Bestätigung der Eingaben müssen im folgenden Dialog das Subclipse-Feature ausgewählt und die Lizenzbedingung bestätigt werden. Das Feature wird importiert, danach ist ein Neustart der Entwicklungsumgebung notwendig.
Import des TYPO3-Kerns aus dem SVN
Jetzt kann der Quellcode des TYPO3-Projekts von sourceforge.net importiert werden. Zur Arbeit mit Subversion-Repositories stellt das Subclipse-Feature die
Perspektive „SVN Repository Exploring“ bereit, die über das Menü „Window
-> Open Perspektive“ oder über die Kurzwahl rechts oben im Fenster
erreichbar ist. Die neue Perspektive öffnet sich und mit einem
Rechtsklick auf das entsprechende Fenster wird ein SVN-Repository
hinzugefügt. Die wiederum im Anhang befindliche URL zum TYPO3-RCS [3] wird im Dialogfenster eingegeben und bestätigt. Da Eclipse das von Sourceforge.net verwendete SSL-Wurzelzertifikat leider noch nicht bekannt ist, muss der nun folgende Dialog akzeptiert werden. Sicherer wäre natürlich eine Überprüfung der angezeigten Daten, um die Authentizität des Repository sicherzustellen.
Der anonyme Zugriff auf das Repository ist nun hergestellt. Dieser erlaubt den Empfang des Quellcodes zur Nutzung als eigene Arbeitskopie, jedoch nicht den schreibenden Zugriff auf das Archiv. Der Unterzweig „TYPO3core“ beinhaltet die Verzeichnisse „branches“, „tags“ und „trunk“. Nach dem Öffnen von „tags“ erscheint ein Verzeichnis „TYPO3_4-0-4“, das den Quellcode des zur Drucklegung aktuellen TYPO3-Releases enthält. Mit einem Rechtsklick auf den Eintrag öffnet sich der Menüpunkt „Checkout“. Als Variante des Checkouts sollte der Weg über den „New Project Wizard“ gewählt werden, da er die Auswahl des Projekttyps und weiterer Einstellungen erlaubt. Während des Checkouts öffnen sich die Auswahlbereiche für ein neues Projekt. Im Bereich PHP wird das „PHP Projekt“ ausgewählt und als neuer Projektname „TYPO3core“ eingegeben. Die nächste Eingabemaske wird ohne Änderungen beendet und der Import beginnt mit der Bestätigung des Wechsels zur PHP-Perspektive.
Quellcode aus dem Dateisystem
Nach dem Import von Daten mittels Zugriff auf ein Repository soll nun der Import von Daten aus dem lokalen Dateisystem durchgeführt werden. Zur Vorbereitung wird ein selbst erstellter Extensionrahmen oder eine bereits fertige Extension als Verzeichnis in das lokale Dateisystem kopiert. Im vorliegenden Beispiel wurde die bekannte News-Extension von Rupert Germann eingesetzt.
Der Import erfolgt in ein Projekt, das über „File -> New -> PHP Project“ neu angelegt wird. Als Projekttyp kommt wieder ein PHP-Projekt zum Einsatz, das den Namen „tt_beispiel“ erhält. Die übrigen Voreinstellungen werden, wie vorgeschlagen, akzeptiert. Der Import der Daten erfolgt über den Menüpunkt „File -> Import“. Dieser öffnet einen Wizard, in dem im Bereich „General“ der Eintrag „Filesystem“ ausgewählt wird.
Der Filesystem-Importer öffnet nun ein Fenster, in dem zunächst im Eintrag „From directory“ der Pfad zum Verzeichnis der Extension anzugeben ist. Wählen Sie alle Unterverzeichnisse und Einzeldateien der Extension aus (ohne das Extensionverzeichnis selbst) und beenden Sie den Dialog. Nach dem Import steht der Quelltext der Extension im ausgewählten Projekt zur Verfügung. Dieser Importweg eignet sich besonders gut, um dem Projekt einzelne Dateien nachträglich hinzuzufügen.
Nach dem Importieren von Daten und der Organisation in Projekten benötigen zusammengehörende Projekte noch Kenntnisse voneinander, um hilfreichen Funktionen wie der automatischen Code-Vervollständigung die notwendigen Informationen bereitzustellen. Eclipse besitzt die Fähigkeit, solche Projekte in Beziehung zueinander zu stellen. Im vorliegenden Beispiel soll das per Dateisystem importierte Projekt „tt_beispiel“ in Beziehung zum Projekt „TYPO3core“ gestellt werden. Während der Entwicklung von „tt_beispiel“ kennen die PHP-Tools dadurch – soweit möglich – die vom TYPO3-Kern bereitgestellten APIs.
Die Verknüpfung stellt sich durch einen Rechtsklick auf das Projekt „tt_beispiel“ und Auswahl der Properties her. Dort wird der Eintrag „PHP Include Path“ ausgewählt und auf den Tab „Projects“ gewechselt. Über den Dialog „Hinzufügen“ erscheinen die auswählbaren Projekte des aktuellen Workspace. TYPO3core wird ausgewählt, nach Beendigung des Dialogs aktualisiert Eclipse die Abhängigkeiten und damit seinen Kenntnisstand über die zur Verfügung stehenden APIs von TYPO3. Das ist einfach nachprüfbar, indem mit dem PHP-Editor Änderungen am Quellcode der Extension durchgeführt und bei Nutzung einer API von TYPO3 die Autovervollständigung über „CTRL-Space“ eingeleitet wird.
Projekt per SVN bereitstellen
Für die angestrebte aktive Teilnahme an der Webentwicklung ist, neben der Fähigkeit zu programmieren, ein grundsätzliches Verständnis für die Organisation von Quelltexten und der sichere Umgang mit den Werkzeugen hilfreich. Viele der von TYPO3 bereitgestellten Extensions werden über das Sourceforge-Projekt „typo3xdev“ in einem Subversion-Repository [4] verwaltet.
Im nächsten Schritt wird gezeigt, wie „tt_beispiel“ in ein – zunächst lokales – Repository aufgenommen wird. Die Kurzbeschreibung für das Setup eines lokalen SVN-Archivs gibt es unter [5]. Das Repository wird – wie im ersten Abschnitt dieses Artikels – zur Liste der bekannten Archive hinzugefügt. Da es sich um ein lokales, im Dateisytem befindliches Archiv handelt, lautet die URL „file://Pfad/zum/Archiv“.
Wechseln Sie zum Import des Quellcodes zurück zum Projekt „tt_beispiel“ und wählen über das Kontextmenü den Eintrag „Team -> Share Project“. Der Typ des Repository ist SVN und es wird ein lokales Archiv ausgewählt. In gängigen OSS-Projekten, die Subversion zur Entwicklung nutzen, findet die aktive Entwicklung im Verzeichnis „trunk“ statt. Deshalb geben Sie diesen Namen im Eintrag „Use specified folder name“ ein und beenden den Dialog. Nach Eingabe eines Kommentars zum initialen Import fügt Eclipse alle ausgewählten Dateien und Verzeichnisse dem Archiv hinzu. Das Ergebnis des Imports kann – wie im ersten Abschnitt des Artikels beschrieben – eingesehen werden. Weitere Informationen zur Arbeit mit SVN-Archiven gibt es unter dem Link Nummer fünf.
Deployment von TYPO3-Extensions
Das Deployment, also die Auslieferung eines Projekts, ist ein wichtiger Schritt bei der Entwicklung. Ihn in den gewohnten Workflow innerhalb der Entwicklungsumgebung einzubauen, bedeutet für den Entwickler eine Steigerung des Komforts. Denn kein Entwickler möchte ständig zwischen verschiedenen Tools wechseln müssen. Während die Zusammenarbeit zwischen Eclipse und den großen Java-Applikationsservern schon gut funktioniert, gibt es für die Entwicklung von PHP und im Speziellen TYPO3 noch keine solchen Hilfen.
Hier sollen drei mögliche Wege vorgestellt werden. Das Eclipse-Projekt lieferte bereits recht früh Funktionen für WebDAV und FTP mit, das als eine Form der Auslieferung genutzt werden kann. Dazu sind allerdings Konfigurationsarbeiten am Web- oder FTP-Server durchzuführen und Rechteeinstellungen zu beachten. Eine weitere Lösung besteht in der Nutzung von ESFTP, einem Feature für Eclipse, das über einen SSH-Zugang die Verbindung zum Webroot durchführt. Auch hier sind die Rechteeinstellungen sorgfältig durchzuführen. Die Bezugsquelle von ESFTP findet sich auf [6].
Fazit
Die kleine Eclipse-Artikelserie hat Grundbegriffe und Einsatzbereiche von Eclipse vorgestellt. Vielleicht regt der stetig wachsende Zuspruch für Eclipse und die große Zahl an Projekten, Firmen und Einsatzbereichen dazu an, selbst aktiv zu werden.
Bitte beachte unsere Community-Richtlinien
Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.
Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.
Dein t3n-Team