La herramienta Jackrabbit FileVault (VLT) es una herramienta desarrollada por Apache Foundation que asigna el contenido de una instancia Jackrabbit/AEM a su sistema de archivos. La herramienta VLT tiene funciones similares a las del cliente del sistema de control de código fuente (como un cliente de Subversion (SVN)), proporcionando operaciones normales de ingreso, salida y administración, así como opciones de configuración para una representación flexible del contenido del proyecto.
La herramienta VLT se ejecuta desde la línea de comandos. En este documento se describe cómo utilizar la herramienta, incluso cómo empezar y obtener ayuda, así como una lista de todos los comandos y las opciones disponibles.
Consulte la Información general de archivo y Vault FS de la documentación oficial de archivo de Jackrabbit de Apache para obtener una visión general detallada de los conceptos y la estructura de la herramienta Filevault.
Para realizar inicios con VLT, debe hacer lo siguiente:
Para utilizar la herramienta VLT, primero debe instalarla. No está instalado de forma predeterminada, ya que es una herramienta adicional. Además, debe configurar la variable de entorno del sistema.
Descargue el archivo de archivo FileVault del repositorio de artefactos de Maven.
El origen de la herramienta VLT está disponible en GitHub.
Extraiga el archivo.
Añada <archive-dir>/vault-cli-<version>/bin
a su entorno PATH
para que se pueda acceder a los archivos de comando vlt
o vlt.bat
según corresponda. Por ejemplo:
<aem-installation-dir>/crx-quickstart/opt/helpers/vault-cli-3.1.16/bin>
Abra un shell de línea de comandos y ejecute vlt --help
. Asegúrese de que el resultado es similar a la siguiente pantalla de ayuda:
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
Después de instalarlo, debe actualizar los archivos de subversión global ignorados. Edite la configuración de svn y agregue lo siguiente:
[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 gestiona automáticamente el fin de línea (EOF) según las siguientes reglas:
CRLF
LF
LF
Para garantizar que la configuración de VLT y SVN coincida, debe configurar la propiedad svn:eol-style
en native
para la extensión de los archivos almacenados en el repositorio. Edite la configuración de svn y agregue lo siguiente:
[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
Consulte el repositorio utilizando el sistema de control de código fuente. En svn, por ejemplo, escriba lo siguiente (sustituyendo el URI y la ruta por el repositorio):
svn co https://svn.server.com/repos/myproject
Debe sincronizar filevault con el repositorio. Para ello:
En la línea de comandos, desplácese hasta content/jcr_root
.
Consulte el repositorio escribiendo lo siguiente (sustituyendo su número de puerto por 4502 y sus contraseñas de administración):
vlt --credentials admin:admin co --force http://localhost:4502/crx
Las credenciales deben especificarse una sola vez tras el cierre de compra inicial. Luego se almacenarán en su directorio principal dentro de .vault/auth.xml
.
Una vez que haya extraído el repositorio y lo haya sincronizado, debe probar para asegurarse de que todo funciona correctamente. Una manera sencilla de hacerlo es editar un archivo .jsp y ver si los cambios se reflejan después de confirmarlos.
Para probar la sincronización:
.../jcr_content/libs/foundation/components/text
.text.jsp
.vlt st
vlt diff text.jsp
vlt ci test.jsp
.Después de instalar la herramienta VLT, puede acceder a su archivo de ayuda desde la línea de comandos:
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
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Para obtener ayuda sobre un comando concreto, escriba el comando help seguido del nombre del comando. Por ejemplo:
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
Las siguientes son algunas tareas comunes realizadas en VLT. Para obtener información detallada sobre cada comando, consulte los comandos individuales.
Si sólo desea extraer un subárbol del repositorio, por ejemplo, /apps/geometrixx
, puede hacerlo escribiendo lo siguiente:
vlt co http://localhost:4502/crx/-/jcr:root/apps/geometrixx geo
Al hacer esto, se crea una nueva raíz de exportación geo
con un directorio META-INF
y jcr_root
y se colocan todos los archivos por debajo de /apps/geometrixx
en geo/jcr_root
.
Si tiene un filtro de espacio de trabajo existente y desea utilizarlo para el cierre de compra, puede crear primero el directorio META-INF/vault
y colocar el filtro allí, o especificarlo en la línea de comandos de la siguiente manera:
$ vlt co --filter filter.xml http://localhost:4502/crx/-/jcr:root geo
Un filtro de ejemplo:
<?xml version="1.0" encoding="UTF-8"?>
<workspaceFilter version="1.0">
<filter root="/etc/designs/geometrixx" />
<filter root="/apps/geometrixx"/>
</workspaceFilter>
Puede importar y exportar contenido entre un repositorio JCR y el sistema de archivos local sin necesidad de utilizar archivos de control.
Para importar y exportar contenido sin usar el control .vlt
:
Configuración inicial del repositorio:
$ cd /projects
$ svn mkdir https://svn.server.com/repos/myproject
$ svn co https://svn.server.com/repos/myproject
$ vlt export -v http://localhost:4502/crx /apps/geometrixx geometrixx
$ cd geometrixx/
$ svn add META-INF/ jcr_root/
$ svn ci
Cambie la copia remota y actualice el JCR:
$ cd /projects/geometrixx
$ vlt -v import http://localhost:4502/crx . /
Cambie la copia remota y actualice el servidor de archivos:
$ cd /projects/geometrixx
$ vlt export -v http://localhost:4502/crx /apps/geometrixx .
$ svn st
M META-INF/vault/properties.xml
M jcr_root/apps/geometrixx/components/contentpage/.content.xml
$ svn ci
Para ejecutar comandos en VLT, escriba lo siguiente en la línea de comandos:
vlt [options] <command> [arg1 [arg2 [arg3] ..]]
Las opciones y los comandos se describen en detalle en las siguientes secciones.
A continuación se muestra una lista de las opciones de VLT, que están disponibles para todos los comandos. Consulte los comandos individuales para obtener información sobre las opciones adicionales disponibles.
Opción | Descripción |
-Xjcrlog <arg> |
Opciones de JcrLog extendidas |
-Xdavex <arg> |
Opciones de remoto JCR extendidas |
--credentials <arg> |
Las credenciales predeterminadas que se usarán |
--config <arg> |
La configuración de JcrFs que se usará |
-v (--verbose) |
salida detallada |
-q (--quiet) |
imprimir lo menos posible |
--version |
Imprime la información de la versión y sale de VLT |
--log-level <level> |
Indica el nivel de registro, por ejemplo, el nivel de registro log4j. |
-h (--help) <command> |
Imprime la ayuda para ese comando en particular |
En la tabla siguiente se describen todos los comandos VLT disponibles. Consulte los comandos individuales para obtener información detallada sobre la sintaxis, las opciones disponibles y los ejemplos.
Comando | Comando abreviado | Descripción |
export |
Exporta desde un repositorio JCR (sistema de archivos vault) al sistema de archivos local sin archivos de control. | |
import |
Importa un sistema de archivos local a un repositorio JCR (sistema de archivos vault). | |
checkout |
co |
Extrae un sistema de archivos Vault. Utilícelo para un repositorio JCR inicial al sistema de archivos local. (Nota: Primero debe extraer el repositorio en subversion). |
analyze |
Analiza los paquetes. | |
status |
st |
Imprime el estado de los directorios y archivos de copia de trabajo. |
update |
up |
Importa cambios desde el repositorio a la copia de trabajo. |
info |
Muestra información sobre un archivo local. | |
commit |
ci |
Envía los cambios de la copia de trabajo al repositorio. |
revert |
rev |
Restaura el archivo de copia de trabajo a su estado original y deshace la mayoría de las ediciones locales. |
resolved |
res |
Elimina el estado en conflicto en archivos o directorios de copia de trabajo. |
propget |
pg |
Imprime el valor de una propiedad en archivos o directorios. |
proplist |
pl |
Imprime las propiedades en archivos o directorios. |
propset |
ps |
Define el valor de una propiedad en archivos o directorios. |
add |
Coloca los archivos y directorios bajo control de versiones. | |
delete |
del o rm |
Quita archivos y directorios del control de versiones. |
diff |
di |
Muestra las diferencias entre dos rutas. |
console |
Ejecuta una consola interactiva. | |
rcp |
Copia un árbol de nodos de un repositorio remoto a otro. | |
sync |
Permite controlar el servicio de sincronización de bóveda. |
Exporta el sistema de archivos Vault montado en <uri> al sistema de archivos local en <local-path>. Se puede especificar un <jcr-path> opcional para exportar solo un subárbol.
export -v|-t <arg>|-p <uri> <jcr-path> <local-path>
-v (--verbose) |
salida detallada |
-t (--type) <arg> |
especifica el tipo de exportación, ya sea plataforma o jar. |
-p (--prune-missing) |
especifica si se deben eliminar los archivos locales que faltan |
<uri> |
URI de punto de montaje |
<jcrPath> |
Ruta JCR |
<localPath> |
ruta local |
vlt export http://localhost:4502/crx /apps/geometrixx myproject
Importa el sistema de archivos local (comenzando en <local-path>
al sistema de archivos de la bóveda en <uri>
. Puede especificar un <jcr-path>
como raíz de importación. Si se especifica --sync
, los archivos importados se colocan automáticamente bajo control de almacén.
import -v|-s <uri> <local-path> <jcr-path>
-v (--verbose) |
salida detallada |
-s (-- sync) |
coloca los archivos locales bajo control vault |
<uri> |
URI de punto de montaje |
<jcrPath> |
Ruta JCR |
<localPath> |
ruta local |
vlt import http://localhost:4502/crx . /
Realiza una extracción inicial desde un repositorio JCR al sistema de archivos local desde <uri> al sistema de archivos local en <local-path>. También puede agregar un argumento <jcrPath> para extraer un subdirectorio del árbol remoto. Se pueden especificar filtros de espacio de trabajo que se copian en el directorio META-INF.
checkout --force|-v|-q|-f <file> <uri> <jcrPath> <localPath>
--force |
obliga a cerrar la compra a sobrescribir los archivos locales si ya existen |
-v (--verbose) |
salida detallada |
-q (--quiet) |
imprime lo menos posible |
-f (--filter) <file> |
especifica filtros automáticos si no hay ninguno definido |
<uri> |
URI de punto de montaje |
<jcrPath> |
(opcional) ruta remota |
<localPath> |
(opcional) ruta local |
Uso de JCR Remoting:
vlt --credentials admin:admin co http://localhost:8080/crx/server/crx.default/jcr_root/
Con el espacio de trabajo predeterminado:
vlt --credentials admin:admin co http://localhost:8080/crx/server/-/jcr_root/
Si el URI está incompleto, se expandirá:
vlt --credentials admin:admin co http://localhost:8080/crx
Analiza los paquetes.
analyze -l <format>|-v|-q <localPaths1> [<localPaths2> ...]
-l (--linkFormat) <format> |
formato printf para vínculos de revisión (nombre,id), por ejemplo [CQ520_HF_%s|%s] |
-v (--verbose) |
salida detallada |
-q (--quiet) |
imprime lo menos posible |
<localPaths> [<localPaths> ...] |
ruta local |
Imprime el estado de los directorios y archivos de copia de trabajo.
Si se especifica --show-update
, cada archivo se compara con la versión remota. A continuación, la segunda letra especifica qué acción se realizará con una operación de actualización.
status -v|-q|-u|-N <file1> [<file2> ...]
-v (--verbose) |
salida detallada |
-q (--quiet) |
imprime lo menos posible |
-u (--show-update) |
muestra información de actualización |
-N (--non-recursive) |
funciona en un único directorio |
<file> [<file> ...] |
archivo o directorio para mostrar el estado |
Copia los cambios del repositorio en la copia de trabajo.
update -v|-q|--force|-N <file1> [<file2> ...]
-v (--verbose) |
salida detallada |
-q (--quiet) |
imprime lo menos posible |
--force |
fuerza la sobrescritura de archivos locales |
-N (--non-recursive) |
funciona en un único directorio |
<file> [<file> ...] |
archivo o directorio para actualizar |
Muestra información sobre un archivo local.
info -v|-q|-R <file1> [<file2> ...]
-v (--verbose) |
salida detallada |
-q (--quiet) |
imprime lo menos posible |
-R (--recursive) |
opera recursivo |
<file> [<file> ...] |
archivo o directorio para mostrar información |
Envía los cambios de la copia de trabajo al repositorio.
commit -v|-q|--force|-N <file1> [<file2> ...]
-v (--verbose) |
salida detallada |
-q (--quiet) |
imprime lo menos posible |
--force |
fuerza la ejecución incluso si se modifica la copia remota |
-N (--non-recursive) |
funciona en un único directorio |
<file> [<file> ...] |
archivo o directorio para transferir |
Restaura el archivo de copia de trabajo al estado original y deshace la mayoría de las ediciones locales.
revert -q|-R <file1> [<file2> ...]
-q (--quiet) |
imprime lo menos posible |
-R (--recursive) |
desciende recursivamente |
<file> [<file> ...] |
archivo o directorio para transferir |
Elimina el estado en conflicto en los directorios o archivos de copia de trabajo.
Este comando no resuelve los conflictos de forma semántica ni elimina los marcadores de conflicto; simplemente elimina los archivos de artefactos relacionados con el conflicto y permite que PATH se vuelva a confirmar.
resolved -q|-R|--force <file1> [<file2> ...]
-q (--quiet) |
imprime lo menos posible |
-R (--recursive) |
desciende recursivamente |
--force |
resuelve, incluso si hay marcadores de conflicto |
<file> [<file> ...] |
archivo o directorio que resolver |
Imprime el valor de una propiedad en archivos o directorios.
propget -q|-R <propname> <file1> [<file2> ...]
-q (--quiet) |
imprime lo menos posible |
-R (--recursive) |
desciende recursivamente |
<propname> |
el nombre de la propiedad |
<file> [<file> ...] |
para obtener la propiedad de |
Imprime las propiedades en archivos o directorios.
proplist -q|-R <file1> [<file2> ...]
-q (--quiet) |
imprime lo menos posible |
-R (--recursive) |
desciende recursivamente |
<file> [<file> ...] |
archivo o directorio para la lista de las propiedades |
Define el valor de una propiedad en archivos o directorios.
VLT reconoce las siguientes propiedades especiales con versiones:
vlt:mime-type
El tipo MIME del archivo. Se utiliza para determinar si se va a combinar el archivo. Un mimetype que empieza con 'text/' (o un mimetype ausente) se trata como texto. Cualquier otra cosa se trata como binaria.
propset -q|-R <propname> <propval> <file1> [<file2> ...]
-q (--quiet) |
imprime lo menos posible |
-R (--recursive) |
desciende recursivamente |
<propname> |
el nombre de la propiedad |
<propval> |
el valor de la propiedad |
<file> [<file> ...] |
archivo o directorio en el que establecer la propiedad |
Coloca los archivos y directorios bajo control de versiones, programándolos para añadirlos al repositorio. Se agregarán en la próxima confirmación.
add -v|-q|-N|--force <file1> [<file2> ...]
-v (--verbose) |
salida detallada |
-q (--quiet) |
imprime lo menos posible |
-N (--non-recursive) |
funciona en un único directorio |
--force |
fuerza la ejecución de la operación |
<file> [<file> ...] |
archivo local o directorio para agregar |
Quita archivos y directorios del control de versiones.
delete -v|-q|--force <file1> [<file2> ...]
-v (--verbose) |
salida detallada |
-q (--quiet) |
imprime lo menos posible |
--force |
fuerza la ejecución de la operación |
<file> [<file> ...] |
archivo local o directorio que eliminar |
Muestra las diferencias entre dos rutas.
diff -N <file1> [<file2> ...]
-N (--non-recursive) |
funciona en un único directorio |
<file> [<file> ...] |
para mostrar las diferencias entre |
Ejecuta una consola interactiva.
console -F <file>
-F (--console-settings) <file> |
especifica el archivo de configuración de la consola. El archivo predeterminado es console.properties. |
Copia un árbol de nodos de un repositorio remoto a otro. <src>
apunta al nodo de origen y <dst>
especifica la ruta de destino, donde debe existir el nodo principal. Rcp procesa los nodos transmitiendo los datos.
rcp -q|-r|-b <size>|-t <seconds>|-u|-n|-e <arg1> [<arg2> ...] <src> <dst>
-q (--quiet) |
Imprime tan poco como sea posible. |
-r (--recursive) |
Desciende recursivamente. |
-b (--batchSize) <size> |
Número de nodos que se van a procesar antes de un guardado intermedio. |
-t (--throttle) <seconds> |
Cantidad de segundos que esperar después de un almacenamiento intermedio. |
-u (--update) |
Sobrescribir/eliminar nodos existentes. |
-n (--newer) |
Respete las propiedades lastModified para la actualización. |
-e (--exclude) <arg> [<arg> ...] |
Explicación de las rutas de origen excluidas. |
<src> |
La dirección del repositorio del árbol de origen. |
<dst> |
La dirección del repositorio del nodo de destino. |
vlt rcp http://localhost:4502/crx/-/jcr:root/content https://admin:admin@localhost:4503/crx/-/jcr:root/content_copy
Las opciones --exclude
deben ir seguidas de otra opción antes de los argumentos <src>
y <dst>
. Por ejemplo:
vlt rcp -e ".*\.txt" -r
Permite controlar el servicio de sincronización de bóveda. Sin ningún argumento, este comando intenta poner el directorio de trabajo actual bajo control de sincronización. Si se ejecuta dentro de un cierre de compra de vlt, utiliza el filtro y el host respectivos para configurar la sincronización. Si se ejecuta fuera de un cierre de compra de vlt, registrará la carpeta actual para la sincronización solo si el directorio está vacío.
sync -v|--force|-u <uri> <command> <localPath>
-v (--verbose) |
salida detallada. |
--force |
forzar la ejecución de determinados comandos. |
-u (--uri) <uri> |
especifica el URI del host de sincronización. |
<command> |
sincronizar para ejecutar. |
<localPath> |
carpeta local para sincronizar. |
Los códigos de estado utilizados por VLT son:
El servicio de sincronización de vault se utiliza para sincronizar el contenido del repositorio con una representación local del sistema de archivos y viceversa. Esto se logra instalando un servicio OSGi que escuchará los cambios del repositorio y analizará el contenido del sistema de archivos periódicamente. Utiliza el mismo formato de serialización que vault para asignar el contenido del repositorio al disco.
El servicio de sincronización de bóvedas es una herramienta de desarrollo y es muy desaconsejable usarla en un sistema productivo. También tenga en cuenta que el servicio sólo puede sincronizarse con el sistema de archivos local y no puede utilizarse para el desarrollo remoto.
El comando vlt sync install
puede utilizarse para instalar automáticamente el paquete y la configuración del servicio de sincronización con bóveda.
El paquete se instala debajo de /libs/crx/vault/install
y el nodo de configuración se crea en /libs/crx/vault/com.day.jcr.sync.impl.VaultSyncServiceImpl
. Inicialmente, el servicio está habilitado pero no se han configurado raíces de sincronización.
En el ejemplo siguiente se instala el servicio de sincronización en la instancia de CRX a la que puede acceder el URI especificado.
$ vlt --credentials admin:admin sync --uri http://localhost:4502/crx install
El comando status
puede utilizarse para mostrar información sobre el servicio de sincronización en ejecución. "
$ 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.
El comando status
no obtiene ningún dato activo del servicio, sino que lee la configuración en /libs/crx/vault/com.day.jcr.sync.impl.VaultSyncServiceImpl
.
El comando register
se utiliza para agregar una carpeta que sincronizar con la configuración.
$ vlt sync register
Connecting via JCR remoting to http://localhost:4502/crx/server
Added new sync directory: /tmp/workspace/vltsync/jcr_root
El comando register
no desencadena una sincronización hasta que se configura la configuración sync-once
.
El comando unregister
se utiliza para quitar una carpeta que sincronizar desde la configuración.
$ vlt sync unregister
Connecting via JCR remoting to http://localhost:4502/crx/server
Removed sync directory: /tmp/workspace/vltsync/jcr_root
Debe anular el registro de una carpeta de sincronización antes de eliminar la propia carpeta.
Una vez que el servicio se está ejecutando, se puede configurar con los siguientes parámetros:
vault.sync.syncroots
:: Una o varias rutas locales del sistema de archivos que definen las raíces de sincronización.
vault.sync.fscheckinterval
:: Frecuencia (en segundos) de la cual el sistema de archivos debe ser analizado para detectar cambios. El valor predeterminado es 5 segundos.
vault.sync.enabled
:: Indicador general que habilita o deshabilita el servicio.
El servicio se puede configurar con la consola Web o con un nodo sling:OsgiConfig
(con el nombre com.day.jcr.sync.impl.VaultSyncServiceImpl
) en el repositorio.
Al trabajar con AEM existen varios métodos para gestionar los parámetros de configuración de dichos servicios; consulte Configuración de OSGi para obtener más información.
Cada carpeta de sincronización almacena la configuración y el estado en tres archivos:
.vlt-sync-config.properties
:: archivo de configuración.
.vlt-sync.log
:: archivo de registro que contiene información sobre las operaciones realizadas durante la sincronización.
.vlt-sync-filter.xml
:: filtros que definen qué partes del repositorio se sincronizan. El formato de este archivo se describe en la sección Realización de una retirada filtrada.
El archivo .vlt-sync-config.properties
permite configurar las siguientes propiedades:
disabledActiva o desactiva la sincronización. De forma predeterminada, este parámetro se establece en false para permitir la sincronización.
sync- onceSi no está vacío, el siguiente análisis sincronizará la carpeta en la dirección indicada, se borrará el parámetro. Se admiten dos valores:
JCR2FS
:: exporta todo el contenido del repositorio JCR y escribe en el disco local.FS2JCR
:: importa todo el contenido del disco en el repositorio JCR.sync- logDefine el nombre del archivo de registro. De forma predeterminada, el valor es .vlt-sync.log
Para configurar un entorno de desarrollo basado en una carpeta de sincronización, siga estos pasos:
Cierre el repositorio con la línea de comandos vlt:
$ vlt --credentials admin:admin co --force http://localhost:4502/crx dev
Puede utilizar filtros para extraer únicamente las rutas correspondientes. Consulte la sección Realización de un cierre de compra filtrado para obtener más información.
Vaya a la carpeta raíz de la copia de trabajo:
$ cd dev/jcr_root/
Instale el servicio de sincronización en el repositorio:
$ 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
Inicialice el servicio de sincronización:
$ 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.
Edite el archivo oculto .vlt-sync-config.properties
y configure la sincronización para sincronizar el contenido del repositorio:
sync-once=JCR2FS
Este paso descarga todo el repositorio según la configuración del filtro.
Consulte el archivo de registro .vlt-sync.log
para ver el progreso:
***
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
***
La carpeta local ahora se sincroniza con el repositorio. La sincronización es bidireccional, por lo que la modificación del repositorio se aplicará a la carpeta de sincronización local y viceversa.
La función de sincronización de VLT solo admite carpetas y archivos sencillos, pero detecta archivos serializados en bóveda especiales (.content.xml, dialog.xml, etc.) y los ignora en silencio. Por lo tanto, es posible utilizar la sincronización de bóveda en un cierre de compra de vlt predeterminado.