Sie sehen sich Hilfeinhalte der folgenden Version an:
- 6.4
- 6.2
- Ältere Versionen
Das Jackrabbit FileVault Tool (VLT) ist ein von The Apache Foundation entwickeltes Tool, das den Inhalt einer Jackrabbit/AEM-Instanz Ihrem Dateisystem zuordnet. Das VLT-Tool hat ähnliche Funktionen wie der Quellkontrollsystem-Client (z. B. ein Subversion (SVN)-Client) und bietet normale Eincheck-, Auscheck- und Verwaltungsvorgänge sowie Konfigurationsoptionen für die flexible Darstellung des Projektinhalts.
Sie führen das VLT-Tool von der Befehlszeile aus. In diesem Dokument wird beschrieben, wie Sie das Tool verwenden, einschließlich der ersten Schritte und der Hilfe sowie einer Liste aller Befehle und verfügbaren Optionen.
Hinweis:
Weitere Informationen finden Sie auf der Seite Filevault-Übersicht und Vault FS in der offiziellen Apache Jackrabbit Filevault-Dokumentation.
Um VLT verwenden zu können, müssen Sie folgende Schritte ausführen:
- Installieren Sie VLT, aktualisieren Sie die Umgebungsvariablen und aktualisieren Sie die global ignorierten Subversion-Dateien.
- Richten Sie das AEM-Repository ein (falls Sie dies nicht bereits getan haben).
- Überprüfen Sie das AEM-Repository.
- Synchronisieren Sie mit dem Repository.
- Testen Sie, ob die Synchronisierung funktioniert hat.
Um das VLT-Tool zu verwenden, müssen Sie zunächst das Programm installieren. Es ist nicht standardmäßig installiert und es ist ein weiteres Tool, das im /opt-Ordner Ihrer AEM-Instanz verfügbar ist. Außerdem müssen Sie die Umgebungsvariable Ihres Systems festlegen.
-
Kopieren Sie die FileVault-Archivdatei aus dem Verzeichnis cq-quickstart/opt/filevault Ihrer Installation. Kopieren Sie entweder filevault.tgz oder filevault.zip, je nach Betriebssystem.
Sie können auch die neueste Version von Package Share herunterladen.
-
Öffnen Sie eine Befehlszeilen-Shell und führen Sie „vlt --help“ aus. Stellen Sie sicher, dass das folgende Hilfefenster angezeigt wird:
vlt --help ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Jackrabbit FileVault [version 3.1.16] Copyright 2013 by Apache Software Foundation. See LICENSE.txt for more information. ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Usage: vlt [options] <command> [arg1 [arg2 [arg3] ..]] ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Global options: -Xjcrlog <arg> Extended JcrLog options (omit argument for help) -Xdavex <arg> Extended JCR remoting options (omit argument for help) --credentials <arg> The default credentials to use --update-credentials if present the credentials-to-host list is updated in the ~/.vault/auth.xml --config <arg> The JcrFs config to use -v (--verbose) verbose output -q (--quiet) print as little as possible --version print the version information and exit --log-level <level> the log4j log level -h (--help) <command> print this help
Nachdem Sie es installiert haben, müssen Sie global ignorierte Subversion-Dateien aktualisieren. Bearbeiten Sie Ihre SVN-Einstellungen und fügen Sie Folgendes hinzu:
[miscellany] ### Set global-ignores to a set of whitespace-delimited globs ### which Subversion will ignore in its 'status' output, and ### while importing or adding files and directories. global-ignores = .vlt
VLT handhabt Zeilenende (End Of Line - EOF) gemäß der folgenden Regeln automatisch:
- Zeilen von Dateien, die unter Windows überprüft wurden, enden auf CRLF
- Zeilen von Dateien, die unter Unices überprüft wurden, enden auf LF
- Zeilen von Dateien, die an das Repository übergeben werden, enden auf LF
Um zu gewährleisten, dass VLT- und SVN-Konfiguration übereinstimmen, sollten Sie die Eigenschaft svn:eol-style für die Erweiterung der im Repository gespeicherten Dateien auf nativ festlegen. Bearbeiten Sie Ihre SVN-Einstellungen und fügen Sie Folgendes hinzu:
[auto-props] *.css = svn:eol-style=native *.cnd = svn:eol-style=native *.java = svn:eol-style=native *.js = svn:eol-style=native *.json = svn:eol-style=native *.xjson = svn:eol-style=native *.jsp = svn:eol-style=native *.txt = svn:eol-style=native *.html = svn:eol-style=native *.xml = svn:eol-style=native *.properties = svn:eol-style=native
Überprüfen Sie das Repository mithilfe des Quellcode-Verwaltungssystems. Im SVN geben Sie beispielsweise Folgendes ein (ersetzen Sie den URI und den Pfad mit Ihrem Repository):
svn co http://svn.server.com/repos/myproject
-
Überprüfen Sie das Repository, indem Sie Folgendes eingeben (ersetzen Sie Ihre Portnummer mit 4502 und Ihre admin-Passwörter):
vlt --credentials admin:admin co --force http://localhost:4502/crx
Hinweis:
Die Anmeldedaten müssen nur einmal nach dem ersten Auschecken angegeben werden. Sie werden dann in Ihrem Hauptverzeichnis in .vault/auth.xml gespeichert.
Nachdem Sie das Repository überprüft und synchronisiert haben, sollten Sie testen, ob alles ordnungsgemäß funktioniert. Eine einfache Möglichkeit, dies zu tun, ist eine .jsp-Datei zu bearbeiten und zu sehen, ob Ihre Änderungen nach Übermittelung der Änderungen übernommen wurden.
So testen Sie die Synchronisierung:
- Navigieren Sie zu .../jcr_content/libs/foundation/components/text.
- Bearbeiten Sie etwas in text.jsp.
- Sehen Sie die geänderten Dateien, indem Sie vlt st eingeben
- Zeigen Sie die Änderungen an, indem Sie vlt diff text.jsp eingeben
- Übernehmen Sie die Änderungen: vlt ci test.jsp.
- Laden Sie die Seite neu, die eine Textkomponente enthält, und prüfen Sie, ob Ihre Änderungen noch vorhanden sind.
vlt --help ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Jackrabbit FileVault [version 3.1.16] Copyright 2013 by Apache Software Foundation. See LICENSE.txt for more information. ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Usage: vlt [options] <command> [arg1 [arg2 [arg3] ..]] ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Global options: -Xjcrlog <arg> Extended JcrLog options (omit argument for help) -Xdavex <arg> Extended JCR remoting options (omit argument for help) --credentials <arg> The default credentials to use --update-credentials if present the credentials-to-host list is updated in the ~/.vault/auth.xml --config <arg> The JcrFs config to use -v (--verbose) verbose output -q (--quiet) print as little as possible --version print the version information and exit --log-level <level> the log4j log level -h (--help) <command> print this help Commands: export Export the Vault filesystem import Import a Vault filesystem checkout (co) Checkout a Vault file system status (st) Print the status of working copy files and directories. update (up) Bring changes from the repository into the working copy. info Displays information about a local file. commit (ci) Send changes from your working copy to the repository. revert (rev) Restore pristine working copy file (undo most local edits). resolved (res) Remove 'conflicted' state on working copy files or directories. propget (pg) Print the value of a property on files or directories. proplist (pl) Print the properties on files or directories. propset (ps) Set the value of a property on files or directories. add Put files and directories under version control. delete (del,rm) Remove files and directories from version control. diff (di) Display the differences between two paths. rcp Remote copy of repository content. sync Control vault sync service console Run an interactive console -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Um Hilfe für einen bestimmten Befehl zu erhalten, geben Sie den Hilfe-Befehl ein, gefolgt vom Namen des Befehls ein. Beispiel:
vlt --help export Usage: export -v|-t <arg>|-p <uri> <jcr-path> <local-path> Description: Export the Vault filesystem mounted at <uri> to the local filesystem at <local-path>. An optional <jcr-path> can be specified in order to export just a sub tree. Example: vlt export http://localhost:4502/crx /apps/geometrixx myproject Options: -v (--verbose) verbose output -t (--type) <arg> specifies the export type. either 'platform' or 'jar'. -p (--prune-missing) specifies if missing local files should be deleted. <uri> mountpoint uri <jcr-path> the jcr path <local-path> the local path
Die Folgenden finden Sie einige allgemeine Aufgaben, die in VLT ausgeführt werden. Ausführliche Informationen zu den einzelnen Befehlen finden Sie unter den einzelnen Befehlen.
Wenn Sie nur eine Unterstruktur des Repositorys überprüfen möchten, wie z. B. /apps/geometrixx, können Sie dies tun, indem Sie Folgendes eingeben:
vlt co http://localhost:4502/crx/-/jcr:root/apps/geometrixx geo
Dadurch wird ein neuer Exportstamm geo mit einem META-INF- und jcr_root-Verzeichnis erstellt und alle Dateien werden unter /apps/geometrixx in geo/jcr_root abgelegt.
Wenn Sie über einen vorhandenen Arbeitsbereichsfilter verfügen und diesen zum Auschecken verwenden möchten, können Sie entweder zuerst das Verzeichnis META-INF/vault erstellen und den Filter dort platzieren oder ihn in der Befehlszeile wie folgt angeben:
$ vlt co --filter filter.xml http://localhost:4502/crx/-/jcr:root geo
<?xml version="1.0" encoding="UTF-8"?> <workspaceFilter version="1.0"> <filter root="/etc/designs/geometrixx" /> <filter root="/apps/geometrixx"/> </workspaceFilter>
Sie können Inhalte zwischen einem JCR-Repository und dem lokalen Dateisystem importieren und exportieren, ohne Steuerdateien zu verwenden.
So importieren bzw. exportieren Sie Inhalt ohne die Verwendung der .vlt-Steuerung:
vlt [options] <command> [arg1 [arg2 [arg3] ..]]
Im Folgenden finden Sie eine Liste mit VLT-Optionen, die für alle Befehle verfügbar sind. Informationen zu weiteren verfügbaren Optionen finden Sie in den einzelnen Befehlen.
Option | Beschreibung |
-Xjcrlog <arg> | Erweiterte JcrLog-Optionen |
-Xdavex <arg> | Erweiterte JCR-Remotingoptionen |
--credentials <arg> | Die zu verwendenden Anmeldedaten |
--config <arg> | The JcrFs config to use |
-v (--verbose) | ausführliche Ausgabe |
-q (--quiet) | so wenig wie möglich drucken |
--version | Druckt die Versionsinformation und beendet VLT |
--log-level <level> | Zeigt den Loglevel an, zum Beispiel „log4j“. |
-h (--help) <command> | Druckt Hilfe für diesen bestimmten Befehl |
Die folgende Tabelle beschreibt alle verfügbaren VLT-Befehle. Detaillierte Informationen zu Syntax, verfügbaren Optionen und Beispielen finden Sie in den einzelnen Befehlen.
Befehl | Verkürzter Befehl | Beschreibung |
export | Exportiert von einem JCR-Repository (Vault-Dateisystem) in das lokale Dateisystem ohne Steuerdateien. | |
Import | Importiert ein lokales Dateisystem in ein JCR-Repository (Vault-Dateisystem). | |
checkout | co | Checkt ein Vault-Dateisystem aus Verwenden Sie dies für ein Anfangs-JCR-Repository für das lokale Dateisystem. (Hinweis:Sie müssen zuerst das Repository in der Subversion überprüfen.) |
analyze | Analysiert Pakete. | |
status | st | Druckt den Status der Arbeitskopiedateien und Verzeichnisse. |
update | up | Importiert Änderungen aus dem Repository in die Arbeitskopie. |
info | Zeigt Informationen über eine lokale Datei an. | |
commit | ci | Sendet Änderungen von Ihrer Arbeitskopie an das Repository. |
revert | rev | Stellt die Arbeitskopie-Datei in ihren ursprünglichen Zustand zurück und macht die meisten lokalen Änderungen rückgängig. |
resolved | res | Entfernt Konfliktstatus in Arbeitskopiedateien oder Verzeichnissen. |
propget | pg | Druckt den Wert einer Eigenschaft in Dateien oder Verzeichnissen. |
proplist | pl | Druckt die Eigenschaften in Dateien oder Verzeichnissen. |
propset | ps | Legt den Wert einer Eigenschaft in Dateien oder Verzeichnissen fest. |
add | Setzt Dateien und Verzeichnisse unter Versionskontrolle. | |
löschen | del oder entf | Entfernt Dateien und Verzeichnisse aus der Versionskontrolle. |
diff | di | Zeigt die Unterschiede zwischen zwei Pfaden an. |
console | Führt eine interaktive Konsole aus. | |
rcp | Kopiert einen Knotenbaum von einem Remote-Repository in ein anderes. | |
sync | Ermöglicht die Steuerung des Vault-Synchronisierungsdienstes. |
Exportiert das unter <uri> bereitgestellte Vault-Dateisystem in das lokale Dateisystem unter <local-path>. Ein optionaler <jcr-path> kann angegeben werden, um nur eine Unterstruktur zu exportieren.
export -v|-t <arg>|-p <uri> <jcr-path> <local-path>
-v (--verbose) | ausführliche Ausgabe |
-t (--type) <arg> | gibt den Exporttyp an, entweder platform oder jar. |
-p (--prune-missing) | gibt an, ob fehlende lokale Dateien gelöscht werden sollen |
<uri> | Bereitstellungspunkt-URI |
<jcrPath> | JCR path |
<localPath> | lokaler Pfad |
vlt export http://localhost:4502/crx /apps/geometrixx myproject
Importiert das lokale Dateisystem (beginnend bei <local-path>) in das Vault Dateisystem unter <uri>. Sie können einen <jcr-path> als Importstamm angeben. Wenn --sync angegeben wird, werden die importierten Dateien automatisch unter Vault-Kontrolle gestellt.
import -v|-s <uri> <local-path> <jcr-path>
-v (--verbose) | ausführliche Ausgabe |
-s (-- sync) | stellt die lokalen Dateien unter Vault-Kontrolle |
<uri> | Bereitstellungspunkt-URI |
<jcrPath> | JCR path |
<localPath> | lokaler Pfad |
vlt import http://localhost:4502/crx . /
Führt ein erstes Auschecken von einem JCR-Repository zum lokalen Dateisystem durch, beginnend bei <uri> zum lokalen Dateisystem unter <local-path>. Sie können auch ein <jcrPath>-Argument hinzufügen, um ein Unterverzeichnis der Remote-Struktur zu überprüfen. Arbeitsplatzfilter können angegeben werden, die in das META-INF Verzeichnis kopiert werden.
checkout --force|-v|-q|-f <file> <uri> <jcrPath> <localPath>
--force | erzwingt das Auschecken, um lokale Dateien zu überschreiben, wenn sie bereits existieren |
-v (--verbose) | ausführliche Ausgabe |
-q (--quiet) | druckt so wenig wie möglich |
-f (--filter) <file> | gibt Autofilter an, wenn keine definiert sind |
<uri> | Bereitstellungspunkt-URI |
<jcrPath> | (optional) Remote-Pfad |
<localPath> | (optional) lokaler Pfad |
vlt --credentials admin:admin co http://localhost:8080/crx/server/crx.default/jcr_root/
vlt --credentials admin:admin co http://localhost:8080/crx/server/-/jcr_root/
vlt --credentials admin:admin co http://localhost:8080/crx
analyze -l <format>|-v|-q <localPaths1> [<localPaths2> ...]
-l (--linkFormat) <format> | printf-Format für Hotfix-Links (name,id), zum Beispiel [CQ520_HF_%s|%s] |
-v (--verbose) | ausführliche Ausgabe |
-q (--quiet) | druckt so wenig wie möglich |
<localPaths> [<localPaths> ...] | lokaler Pfad |
Druckt den Status von Arbeitskopiedateien und Verzeichnissen.
Wenn --show-update angegeben ist, wird jede Datei gegen die Remote-Version geprüft. Der zweite Buchstabe gibt dann an, welche Aktion von einer Aktualisierungsoperation ausgeführt würde.
status -v|-q|-u|-N <file1> [<file2> ...]
-v (--verbose) | ausführliche Ausgabe |
-q (--quiet) | druckt so wenig wie möglich |
-u (--show-update) | zeigt Aktualisierungsinformationen an |
-N (--non-recursive) | operiert in einem einzigen Verzeichnis |
<file> [<file> ...] | Datei oder Verzeichnis zum Anzeigen des Status |
update -v|-q|--force|-N <file1> [<file2> ...]
-v (--verbose) | ausführliche Ausgabe |
-q (--quiet) | druckt so wenig wie möglich |
--force | erzwingt das Überschreiben lokaler Dateien |
-N (--non-recursive) | operiert in einem einzigen Verzeichnis |
<file> [<file> ...] | Datei oder Verzeichnis zum Aktualisieren |
info -v|-q|-R <file1> [<file2> ...]
-v (--verbose) | ausführliche Ausgabe |
-q (--quiet) | druckt so wenig wie möglich |
-R (--recursive) | arbeitet rekursiv |
<file> [<file> ...] | Datei oder Verzeichnis zum Anzeigen von Informationen |
commit -v|-q|--force|-N <file1> [<file2> ...]
-v (--verbose) | ausführliche Ausgabe |
-q (--quiet) | druckt so wenig wie möglich |
--force | erzwingt eine Bestätigung, auch wenn die Remote-Kopie modifiziert wurde |
-N (--non-recursive) | operiert auf ein einzelnes Verzeichnis |
<file> [<file> ...] | Datei oder Verzeichnis zum Bestätigen |
Stellt die Arbeitskopiedatei in den Originalzustand zurück und macht die meisten lokalen Änderungen rückgängig.
revert -q|-R <file1> [<file2> ...]
-q (--quiet) | druckt so wenig wie möglich |
-R (--recursive) | steigt rekursiv ab |
<file> [<file> ...] | Datei oder Verzeichnis zum Bestätigen |
Hinweis:
Dieser Befehl löst Konflikte nicht semantisch auf und entfernt Konfliktmarker nicht. Es entfernt lediglich die Artefakte, die mit Konflikten zusammenhängen, und ermöglicht, dass PATH erneut bestätigt wird.
resolved -q|-R|--force <file1> [<file2> ...]
-q (--quiet) | druckt so wenig wie möglich |
-R (--recursive) | steigt rekursiv ab |
--force | löst, auch wenn Konfliktmarker vorhanden sind |
<file> [<file> ...] | Datei oder Verzeichnis zum Lösen |
propget -q|-R <propname> <file1> [<file2> ...]
-q (--quiet) | druckt so wenig wie möglich |
-R (--recursive) | steigt rekursiv ab |
<propname> | der Name der Eigenschaft |
<file> [<file> ...] | Datei oder Verzeichnis, von der die Eigenschaft abgerufen werden soll |
proplist -q|-R <file1> [<file2> ...]
-q (--quiet) | druckt so wenig wie möglich |
-R (--recursive) | steigt rekursiv ab |
<file> [<file> ...] | Datei oder Verzeichnis, deren/dessen Eigenschaften aufgelistet werden |
Hinweis:
VLT erkennt die folgenden speziellen versionierten Eigenschaften:
vlt:mime-type
Der mime-Typ der Datei. Wird verwendet, um festzustellen, ob die Datei zusammengeführt werden soll. Ein mime-Typ, der mit 'text/‘ beginnt (oder ein fehlender mimetype), wird als Text behandelt. Alles andere wird als binär behandelt.
propset -q|-R <propname> <propval> <file1> [<file2> ...]
-q (--quiet) | druckt so wenig wie möglich |
-R (--recursive) | steigt rekursiv ab |
<propname> | der Name der Eigenschaft |
<propval> | der Wert der Eigenschaft |
<file> [<file> ...] | Datei oder Verzeichnis, für die/das die Eigenschaft festgelegt werden soll |
Stellt Dateien und Verzeichnisse unter Versionskontrolle und plant sie für das Hinzufügen zum Repository. Sie werden bei der nächsten Bestätigung hinzugefügt.
add -v|-q|-N|--force <file1> [<file2> ...]
-v (--verbose) | ausführliche Ausgabe |
-q (--quiet) | druckt so wenig wie möglich |
-N (--non-recursive) | operiert auf einem einzelnen Verzeichnis |
--force | erzwingt die Ausführung der Operation |
<file> [<file> ...] | lokale Datei oder Verzeichnis zum Hinzufügen |
delete -v|-q|--force <file1> [<file2> ...]
-v (--verbose) | ausführliche Ausgabe |
-q (--quiet) | druckt so wenig wie möglich |
--force | erzwingt die Ausführung der Operation |
<file> [<file> ...] | lokale Datei oder Verzeichnis zum Löschen |
diff -N <file1> [<file2> ...]
-N (--non-recursive) | operiert in einem einzelnen Verzeichnis |
<file> [<file> ...] | Datei oder Verzeichnis, um die Unterschiede anzuzeigen |
console -F <file>
-F (--console-settings) <file> | gibt die Konsoleneinstellungsdatei an. Die Standarddatei ist console.properties. |
Kopiert einen Knotenbaum von einem Remote-Repository in ein anderes. <src> zeigt auf den Quellknoten und <dst> gibt den Zielpfad an, in dem der übergeordnete Knoten vorhanden sein muss. Rcp verarbeitet die Knoten durch Streaming der Daten.
rcp -q|-r|-b <size>|-t <seconds>|-u|-n|-e <arg1> [<arg2> ...] <src> <dst>
-q (--quiet) | druckt so wenig wie möglich. |
-r (--rekursiv) | steigt rekursiv ab. |
-b (--batchSize) <size> | Anzahl der Knoten die vor einer Zwischenspeicherung verarbeitet werden sollen. |
-t (--throttle) <seconds> | Anzahl der Sekunden, die nach einer Zwischenspeicherung gewartet werden sollen. |
-u (--update) | Vorhandene Knoten überschreiben/löschen. |
-n (--newer) | lastModified-Eigenschaften bei Aktualisierung respektieren. |
-e (--exclude) <arg> [<arg> ...] | Regexp der ausgeschlossenen Quellpfade. |
<src> | Die Repository-Adresse des Quellbaums. |
<dst> | Die Repository-Adresse des Zielknotens. |
vlt rcp http://localhost:4502/crx/-/jcr:root/content http://admin:admin@localhost:4503/crx/-/jcr:root/content_copy
Hinweis:
Die --exclude-Optionen müssen von einer anderen Option vor den <src>- und <dst>-Argumenten befolgt werden.
Zum Beispiel:
vlt rcp -e ".*\.txt" -r
Ermöglicht die Steuerung des Vault-Synchronisierungsdiensts. Dieser Befehl versucht ohne Argumente, das aktuelle Arbeitsverzeichnis unter Sync-Kontrolle zu stellen. Wenn es innerhalb des vlt-Auscheckens ausgeführt wird, verwendet es den entsprechenden Filter und den Host, um die Synchronisierung zu konfigurieren. Wenn es außerhalb des vlt-Auscheckens ausgeführt wird, registriert es den aktuellen Ordner nur zur Synchronisierung, wenn das Verzeichnis leer ist.
sync -v|--force|-u <uri> <command> <localPath>
-v (--verbose) | ausführliche Ausgabe. |
--force | erzwingt die Ausführung bestimmter Befehle. |
-u (--uri) <uri> | gibt den URI des Sync-Hosts an. |
<command> | Sync-Befehl zum Ausführen. |
<localPath> | lokaler Ordner zum Synchronisieren. |
Die Statuscodes, die durch VLT verwendet werden, sind:
- „ “ Keine Änderungen
- „A“ hinzugefügt
- „C“ steht in Konflikt
- „D“ gelöscht
- „I“ ignoriert
- „M“ geändert
- „R“ ersetzt
- „?“ Element steht nicht unter Versionskontrolle
- „!“ Das Element fehlt (wird mit dem Befehl non-svn entfernt) oder ist unvollständig
- „~“ versioniertes Element, das durch ein Element anderer Art behindert wird
Dieser Abschnitt beschreibt die neue Synchronisierungseigenschaft, die seit der Version 2.4.24 im Lieferumfang des FileVault-Tools (vlt) enthalten ist.
Der Vault-Synchronisierungsdienst wird zum Synchronisieren des Repository-Inhalts mit einer lokalen Dateisystemdarstellung und umgekehrt verwendet. Dies wird durch die Installation eines OSGi-Dienstes erreicht, der auf Änderungen des Repositorys wartet und den Inhalt des Dateisystems regelmäßig überprüft. Es verwendet dasselbe Serialisierungsformat wie Vault zum Zuordnen des Repository-Inhalts zur Festplatte.
Hinweis:
Der Vault-Synchronisierungsdienst ist ein Entwicklungstool und es wird dringend davon abgeraten, ihn in einem produktiven System zu verwenden. Beachten Sie außerdem, dass der Service nur mit dem lokalen Dateisystem synchronisiert und nicht für die Remote-Entwicklung verwendet werden kann.
Der Befehl vlt sync install kann verwendet werden, um das Paket und die Konfiguration des Vault-Synchronisierungsdienstes automatisch zu installieren.
Das Bundle wird unter /libs/crx/vault/install installiert und der config-Knoten wird unter /libs/crx/vault/com.day.jcr.sync.impl.VaultSyncServiceImpl erstellt. Zunächst wird der Dienst aktiviert, aber es werden keine Synchronisierungsstämme konfiguriert.
Im folgenden Beispiel wird der Synchronisierungsdienst für die CRX-Instanz installiert, auf die vom angegebenen URI zugegriffen werden kann.
$ vlt --credentials admin:admin sync --uri http://localhost:4502/crx install
Der Befehl status kann verwendet werden, um Informationen über den aktuellen Synchronisierungsdienst anzuzeigen.
$ vlt sync status --uri http://localhost:4502/crx Connecting via JCR remoting to http://localhost:4502/crx/server Listing sync status for http://localhost:4502/crx/server/-/jcr:root - Sync service is enabled. - No sync directories configured.
Hinweis:
Der Befehl status ruft keine Live-Daten vom Dienst ab, sondern liest die Konfiguration unter /libs/crx/vault/com.day.jcr.sync.impl.VaultSyncServiceImpl.
Der Befehl register wird verwendet, um einen Ordner zur Synchronisierung mit der Konfiguration hinzuzufügen.
$ vlt sync register Connecting via JCR remoting to http://localhost:4502/crx/server Added new sync directory: /tmp/workspace/vltsync/jcr_root
Hinweis:
Der Befehl register löst erst dann eine Synchronisierung aus, wenn Sie die Konfiguration sync-once konfiguriert haben.
Der Befehl unregister wird verwendet, um einen zu synchronisierenden Ordner aus der Konfiguration zu entfernen.
$ vlt sync unregister Connecting via JCR remoting to http://localhost:4502/crx/server Removed sync directory: /tmp/workspace/vltsync/jcr_root
Hinweis:
Sie müssen die Registrierung eines Synchronisierungsordners aufheben, bevor Sie den Ordner selbst löschen.
Nachdem der Dienst ausgeführt wird, kann sie mit den folgenden Parametern konfiguriert werden:
- vault.sync.syncroots: Einer oder mehrere lokale Dateisystempfade, die die Synchronisierungsstämme definieren.
- vault.sync.fscheckinterval: Häufigkeit (in Sekunden), mit der das Dateisystem auf Änderungen überprüft werden soll. Standard ist 5 Sekunden.
- vault.sync.enabled: Allgemeine Markierung, die den Dienst aktiviert/deaktiviert.
Hinweis:
Der Dienst kann mit der Web-Konsole oder einem sling:OsgiConfig-Knoten (mit dem Namen com.day.jcr.sync.impl.VaultSyncServiceImpl) im Repository konfiguriert werden.
In AEM können Sie die Konfigurationseinstellungen für solche Dienste auf unterschiedliche Weise vornehmen. Umfassende Informationen finden Sie unter Konfigurieren von OSGi.
Jeder Synchronisierungsordner speichert Konfiguration und Status in drei Dateien:
- .vlt-sync-config.properties: Konfigurationsdatei.
- .vlt-sync.log: Protokolldatei, die Informationen über die Vorgänge enthält, die beim Synchronisieren durchgeführt werden.
- .vlt-sync-filter.xml: Filter, die definieren, welche Teile des Containers synchronisiert werden. Das Format dieser Datei wird im Abschnitt Durchführen eines gefilterten Auscheckens beschrieben.
disabled
Schaltet die Synchronisierung ein oder aus. Standardmäßig ist dieser Parameter auf false gesetzt, um die Synchronisierung zu ermöglichen.
sync-once
Wenn nicht leer, synchronisiert der folgende Scan den Ordner in der angegebenen Richtung und dann wird der Parameter gelöscht. Zwei Werte werden unterstützt:
- JCR2FS: exportiert alle Inhalte im JCR-Repository und schreibt auf die lokale Festplatte.
- FS2JCR: Importiert den gesamten Inhalt von der Festplatte in das JCR-Repository.
Um eine Entwicklungsumgebung auf Basis eines Synchronisierungsordners einzurichten, gehen Sie wie folgt vor:
-
$ vlt --credentials admin:admin co --force http://localhost:4502/crx dev
Hinweis:
Sie können Filter verwenden, um nur die entsprechenden Pfade auszuchecken. Informationen finden Sie im Abschnitt Durchführen eines gefilterten Auscheckens.
-
$ vlt sync install Connecting via JCR remoting to http://localhost:4502/crx/server Preparing to install vault-sync-2.4.24.jar... Updated bundle: vault-sync-2.4.24.jar Created new config at /libs/crx/vault/config/com.day.jcr.sync.impl.VaultSyncServiceImpl
-
$ vlt sync Connecting via JCR remoting to http://localhost:4502/crx/server Starting initialization of sync service in existing vlt checkout /Users/colligno/Applications/cq5/vltsync/sandbox/dev/jcr_root for http://localhost:4502/crx/server/-/jcr:root Added new sync directory: /Users/trushton/Applications/aem/vltsync/sandbox/dev/jcr_root The directory /Users/trushton/Applications/aem/vltsync/sandbox/dev/jcr_root is now enabled for syncing. You might perform a 'sync-once' by setting the appropriate flag in the /Users/trushton/Applications/aem/vltsync/sandbox/dev/jcr_root/.vlt-sync-config.properties file.
-
*** 30.04.2017 14:39:10 A file:///Users/trushton/Applications/aem/vltsync/sandbox/dev/jcr_root/apps/geometrixx-outdoors/src/core/src/main/java/info/geometrixx/outdoors/ 30.04.2017 14:39:10 A file:///Users/trushton/Applications/aem/vltsync/sandbox/dev/jcr_root/apps/geometrixx-outdoors/src/core/src/main/java/info/geometrixx/outdoors/core/ 30.04.2017 14:39:10 A file:///Users/trushton/Applications/aem/vltsync/sandbox/dev/jcr_root/apps/geometrixx-outdoors/src/core/src/main/java/info/geometrixx/outdoors/core/product/ 30.04.2017 14:39:10 A file:///Users/trushton/Applications/aem/vltsync/sandbox/dev/jcr_root/apps/geometrixx-outdoors/src/core/src/main/java/info/geometrixx/outdoors/core/product/GeoProduct.java ***
Ihr lokaler Ordner ist jetzt mit dem Repository synchronisiert. Die Synchronisierung erfolgt bidirektional, sodass Änderungen aus dem Repository auf Ihren lokalen Synchronisierungsordner und umgekehrt angewendet werden.
Hinweis:
Die VLT -Synchronisierungsfunktion unterstützt nur einfache Dateien und Ordner, erkennt jedoch spezielle serialisierte Vault-Dateien (.content.xml, dialog.xml usw.) und ignoriert sie im Hintergrund. So ist es möglich, die Vault-Synchronisierung bei einem Standard-vlt-Auschecken zu verwenden.