Extensions aus einem Subversion Repository installieren

Der aktuelle Entwicklungsstand vieler Extensions wird in einem Subversion-Repository vorgehalten. Wie man diesen in seine TYPO3 Installation integriert, möchte ich hier zeigen.

Einleitung

Es gibt 2 Wege, den aktuellen Entwicklungsstand per Subversion in die eigene Installation zu bekommen:

  1. Sie loggen sich auf dem Server ein und führen einen manuellen Checkout durch
  2. oder Sie benutzen die Extension "np_subversion"

Beide Wege sollen an dieser Stelle erläutert werden.

Nehmen wir für diesen Tipp an, wir wollten die Extension "caretaker" aus dem Repository herunterladen und in eine Typo3 Installation integrieren. Für Typo3 v4 Extensions gilt folgende SVN URL:

https://svn.typo3.org/TYPO3v4/Extensions/[EXTENSION-KEY]/trunk

Natürlich kann dies auch variieren und sollte im Einzelfall überprüft werden.

Manueller Checkout

Da dieser Weg jedem Webmaster bekannt sein sollte, wird er hier erwähnt. Einen integrierteren Weg bietet "np_subversion".

Auf einem Linux System:

Damit Subversion funktioniert, müssen Sie das Grundprogramm auf Ihrem System installieren. Ein Aufruf von "svn" sollte klären, ob dies der Fall ist.

#Da Extensions in 90% aller Fälle im Verzeichnis "typo3conf/ext" lagern, wechseln wir ausgehend vom DocRoot in das Verzeichnis:
cd typo3conf/ext/
#nun können wir hier die Extension auschecken. Das Verzeichnis sollte die Bezeichnung des Extensionkeys haben:
svn co https://svn.typo3.org/TYPO3v4/Extensions/caretaker/trunk caretaker

Nun kann die Extension wie gewohnt über den Extension-Manager installiert werden!

Auf einem Windows System

Benutzen Sie auf einem Windows System favorisiert das Programm TortoiseSVN.

Nach der Installation öffnen Sie einfach im Zielverzeichnis das Kontextmenü (im Groöteil der Fälle tuts ein Rechtsklick) und wählen "SVN Checkout". (Sollte dieser Punkt nich vorhanden sein, befinden Sie sich mit großer Wahrscheinlichkeit in einem Verzeichnis, welches selbst aus einem Repository ausgecheckt wurde. In diesem Fall können Sie das Problem über SVN-Externals lösen.

Über die Extension np_subversion

Installieren Sie auf dem gewohnten Wege die Extension "np_subversion". Erledigt werden kann dies in den meisten Fällen, in dem Sie die Importfunktion des Extensionmanagers verwenden. Ob Sie erfolgreich waren, teilt sich dadurch mit, dass Sie ein neues Backendmodul für die Dateiverwaltung haben. Gegebenenfalls müssen Sie das Backend einmal neu laden (Im Browser die Taste F5 drücken).

Einrichten der Extension

Bevor die Funktionalität verwendet werden kann, müssen Sie die Extension konfigurieren. Dazu wechseln Sie in den Extension Manager und wählen die Extension "np_subversion" mit einem Klick auf den Namen. In der Konfigurationsmasker müssen Sie nun den Pfad zum Subversion-Kommando eingeben. Auf den meisten Systemen reicht "svn" vollkommen aus. Die restlichen Optionen sind für diese Anleitung nicht von Belang, sind aber eigentlich selbsterklärend.

Einrichten des Repositorys

Bevor Sie Dateien aus einem Repository "auschecken" können, müssen Sie ersteinmal eine Konfiguration für das SVN-Repository anlegen. Dies muss für jedes Repository gemacht werden.

Um eine Repository-Konfiguration anzulegen wählen Sie im Seitenbaum die Weltkugel, also die Wurzel und legen dort einen neuen Datensatz an. Erledigen Sie dies über "Neuen Datensatz erstellen" und wählen Sie als Typ Subversion Integration -> svn repository. Dort müssen Sie nun einen Anzeigenamen (Typo3-Intern, title) vergeben. Dieser kann beliebig lauten. Sie müssen nun noch die URL des Repositories eingeben. In unserem Beispiel der Extension "caretaker" ist die URL https://svn.typo3.org/ . Wichtig ist hier der nachfolgende Slash. Dieser muss zwingend angegeben werden! Username und Password können in unserem Beispiel nicht angegeben werden, da lesender Zugriff auf das Repository ohne Benutzernamen/Passwörter möglich ist.

Einrichten einer Zieldefinition

Zusätzlich zu dem Datensatz, welcher das Repository anschliesst, benötigen wir noch eine Zieldefinition (target definition). Diese bildet Pfade innerhalb des (angelegten) Repositories auf einen Pfad innerhalb ihrer Typo3-Installation ab.

Um eine Zieldefinition anzulegen wählen Sie im Seitenbaum die Weltkugel, also die Wurzel und legen dort einen neuen Datensatz an. Erledigen Sie dies über "Neuen Datensatz erstellen" und wählen Sie als Typ Subversion Integration -> target definition.

Unter target definition title geben Sie einen Titel an. Bei unserem Beispiel macht es durchaus Sinn, den Namen der auszucheckenden Extension anzugeben. Unter subversion repository wählen Sie aus dem Dropdown Menü den Eintrag mit dem Titel des vorher angelegten Repository's aus.

Als checkout URL geben wir die URL innerhalb des Repositories an. Bei unserer Extension caretaker kennen wir diesen bereits. Kennen wir Ihn nicht, so kann man die URL (svn.typo3.org) auch im Browser besuchen unddas entsprechende Verzeichnis suchen. Im Normalfall sollte man hier darauf achten, dass man das Verzeichnis trunk auscheckt. In diesem wird der aktuelle Arbeitsstand gespeichert. Im Fall von caretaker lässt sich bei einem Besuch von https://svn.typo3.org/TYPO3v4/Extensions/caretaker/trunk/ erkennen, dass hier noch weiter verschachtelt wird, und wählen deshalb das Verzeichnis https://svn.typo3.org/TYPO3v4/Extensions/caretaker/trunk/caretaker/trunk/ . Abstrahiert man hier die URL des Repository's, so erhält man TYPO3v4/Extensions/caretaker/trunk/caretaker/trunk/ als checkout URL. 

"working copy" oder "export target"?

Sie müssen nun wählen zwischen dem auschecken einer Arbeitskopie, oder dem reinen Export der Daten. Grundsätzlich lässt sich sagen: wenn Sie an der Extension Entwicklung betreiben wollen, oder zu einem späteren Zeitpunkt eine aktuellere Kopie auschecken wollen, dann sollten sie die working copy (=Arbeitskopie) wählen. Hierbei werden auch Versionsinformationen angelegt.

Benötigen Sie lediglich den aktuellen Entwicklungsstand, so reicht es Ihnen vielleicht, das Ziel zu exportieren (export target).

Da caretaker ein Projekt unter Entwicklung ist, wählen wir hier working copy.

folder oder extension

Ginge es Ihnen um Ressourcendateien, würden Sie hier folder auswählen. Als Exportziel könnten Sie dann ein Vezeichnis innerhalb des fileadmin wählen.

Wir wählen hier extension. Dies ermöglicht es uns, direkt Dateien in die Extension-Verzeichnisse zu laden, was sonst aus Sicherheitsgründen nicht möglich ist.

extension key

Geben Sie in diesem Feld den ExtensionKey an. In unserem Beispiel ist dies caretaker. Dies ist im übrigen der Name des Verzeichnisses, in welches der Inhalt des Repositories ausgecheckt wird.

extension type

Zu guter letzt wählen Sie hier noch den Typ der Extension aus. Wenn Sie eine andere Einstellung als local benötigen, wissen Sie dies vermutlich selbst bereits.

Speichern Sie nun den Datensatz.

Auschecken der Extension

Um nun die Extension tatsächlich aus dem Repository auszuchecken, wählen Sie das np_subversion - eigene Backend-Modul Dateiliste. Nun können Sie über die Schaltflächen neben den Titeln der Extensions in der mittleren Spalte die Extension auschecken.

In der Rechten Hälfte des Browsers sehen Sie nun die veränderten/empfangenen Dateien betrachten.

Installation der Extension

Nun, da Sie die Dateien bereits aus dem Repository ausgecheckt haben, können Sie die Extension wie gewohnt über den Extension Manager installieren.

Kommentare:

blog comments powered by Disqus