Cómo usar la herramienta VLT

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.

Conceptos y Arquitectura

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.

Introducción a VLT

Para realizar inicios con VLT, debe hacer lo siguiente:

  1. Instale VLT, actualice las variables de entorno y actualice los archivos de subversión globales ignorados.
  2. Configure el repositorio de AEM (si aún no lo ha hecho).
  3. Consulte el repositorio de AEM.
  4. Sincronizar con el repositorio.
  5. Compruebe si la sincronización funcionó.

Instalación de la herramienta VLT

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.

  1. Descargue el archivo de archivo FileVault del repositorio de artefactos de Maven.

    NOTA

    El origen de la herramienta VLT está disponible en GitHub.

  2. Extraiga el archivo.

  3. 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>

  4. 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

Configuración del carácter de fin de línea

VLT gestiona automáticamente el fin de línea (EOF) según las siguientes reglas:

  • líneas de archivos desprotegidos en Windows end con un CRLF
  • líneas de archivos extraídos en Linux/Unix finalizan con un LF
  • líneas de archivos comprometidos con el fin del repositorio con un 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

Extracción del repositorio

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

Sincronización con el repositorio

Debe sincronizar filevault con el repositorio. Para ello:

  1. En la línea de comandos, desplácese hasta content/jcr_root.

  2. 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
    
    NOTA

    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.

Prueba de si la sincronización funcionó

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:

  1. Ir a .../jcr_content/libs/foundation/components/text.
  2. Edite algo en text.jsp.
  3. Consulte los archivos modificados escribiendo vlt st
  4. Consulte los cambios escribiendo vlt diff text.jsp
  5. Transferir los cambios: vlt ci test.jsp.
  6. Vuelva a cargar una página que contenga un componente de texto y compruebe si los cambios están ahí.

Obtención de ayuda con la herramienta VLT

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

Tareas comunes realizadas en VLT

Las siguientes son algunas tareas comunes realizadas en VLT. Para obtener información detallada sobre cada comando, consulte los comandos individuales.

Extracción de un subárbol

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.

Realización de un cierre de compra filtrado

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>

Uso de Importar/Exportar en lugar de .vlt Control

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:

  1. 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
    
  2. Cambie la copia remota y actualice el JCR:

    $ cd /projects/geometrixx
    $ vlt -v import http://localhost:4502/crx . /
    
  3. 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
    

Uso de VLT

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.

Opciones globales de VLT

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

Comandos VLT

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.

Exportar

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.

Sintaxis

export -v|-t <arg>|-p <uri> <jcr-path> <local-path>

Opciones

-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

Ejemplos

vlt export http://localhost:4502/crx /apps/geometrixx myproject

Importar

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.

Sintaxis

import -v|-s <uri> <local-path> <jcr-path>

Opciones

-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

Ejemplos

vlt import http://localhost:4502/crx . /

Cierre de compra (co)

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.

Sintaxis

checkout --force|-v|-q|-f <file> <uri> <jcrPath> <localPath>  

Opciones

--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

Ejemplos

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

Analizar

Analiza los paquetes.

Sintaxis

analyze -l <format>|-v|-q <localPaths1> [<localPaths2> ...]

Opciones

-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

Estado

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.

Sintaxis

status -v|-q|-u|-N <file1> [<file2> ...]

Opciones

-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

Actualizar

Copia los cambios del repositorio en la copia de trabajo.

Sintaxis

update -v|-q|--force|-N <file1> [<file2> ...]

Opciones

-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

Información

Muestra información sobre un archivo local.

Sintaxis

info -v|-q|-R <file1> [<file2> ...]

Opciones

-v (--verbose) salida detallada
-q (--quiet) imprime lo menos posible
-R (--recursive) opera recursivo
<file> [<file> ...] archivo o directorio para mostrar información

Transferir

Envía los cambios de la copia de trabajo al repositorio.

Sintaxis

commit -v|-q|--force|-N <file1> [<file2> ...]

Opciones

-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

Revertir

Restaura el archivo de copia de trabajo al estado original y deshace la mayoría de las ediciones locales.

Sintaxis

revert -q|-R <file1> [<file2> ...]

Opciones

-q (--quiet) imprime lo menos posible
-R (--recursive) desciende recursivamente
<file> [<file> ...] archivo o directorio para transferir

Resuelto

Elimina el estado en conflicto en los directorios o archivos de copia de trabajo.

NOTA

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.

Sintaxis

resolved -q|-R|--force <file1> [<file2> ...]  

Opciones

-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

Prop

Imprime el valor de una propiedad en archivos o directorios.

Sintaxis

propget -q|-R <propname> <file1> [<file2> ...]

Opciones

-q (--quiet) imprime lo menos posible
-R (--recursive) desciende recursivamente
<propname> el nombre de la propiedad
<file> [<file> ...] para obtener la propiedad de

Proveedor

Imprime las propiedades en archivos o directorios.

Sintaxis

proplist -q|-R <file1> [<file2> ...]

Opciones

-q (--quiet) imprime lo menos posible
-R (--recursive) desciende recursivamente
<file> [<file> ...] archivo o directorio para la lista de las propiedades

Protector

Define el valor de una propiedad en archivos o directorios.

NOTA

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.

Sintaxis

propset -q|-R <propname> <propval> <file1> [<file2> ...]

Opciones

-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

Añada

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.

Sintaxis

add -v|-q|-N|--force <file1> [<file2> ...]

Opciones

-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

Eliminar

Quita archivos y directorios del control de versiones.

Sintaxis

delete -v|-q|--force <file1> [<file2> ...]

Opciones

-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

Dif.

Muestra las diferencias entre dos rutas.

Sintaxis

diff -N <file1> [<file2> ...]

Opciones

-N (--non-recursive) funciona en un único directorio
<file> [<file> ...] para mostrar las diferencias entre

Consola

Ejecuta una consola interactiva.

Sintaxis

console -F <file>

Opciones

-F (--console-settings) <file> especifica el archivo de configuración de la consola. El archivo predeterminado es console.properties.

Rcp

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.

Sintaxis

rcp -q|-r|-b <size>|-t <seconds>|-u|-n|-e <arg1> [<arg2> ...] <src> <dst>

Opciones

-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.

Ejemplos

vlt rcp http://localhost:4502/crx/-/jcr:root/content  https://admin:admin@localhost:4503/crx/-/jcr:root/content_copy  
NOTA

Las opciones --exclude deben ir seguidas de otra opción antes de los argumentos <src> y <dst>. Por ejemplo:

vlt rcp -e ".*\.txt" -r

Sincronización

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.

Sintaxis

sync -v|--force|-u <uri> <command> <localPath>

Opciones

-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.

Códigos de estado

Los códigos de estado utilizados por VLT son:

  • ' ' sin modificaciones
  • 'A' Añadido
  • 'C' en conflicto
  • 'D' eliminado
  • 'I' ignorado
  • Modificado 'M'
  • Se reemplazó 'R'
  • '?' el elemento no está bajo control de versiones
  • '!' falta el elemento (eliminado por un comando que no es svn) o está incompleto
  • Elemento con versión '~' obstruido por algún elemento de otro tipo

Configuración de la sincronización de FileVault

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.

NOTA

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.

Instalación del servicio mediante vlt

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

Visualización del estado del servicio

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.
NOTA

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.

Añadiendo una carpeta de sincronización

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
NOTA

El comando register no déclencheur una sincronización hasta que se configura la configuración sync-once.

Eliminando una carpeta de sincronización

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
NOTA

Debe anular el registro de una carpeta de sincronización antes de eliminar la propia carpeta.

Configuración de la sincronización

Configuración de servicio

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.

NOTA

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.

Configuración de la carpeta de sincronizació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

Uso de la sincronización VLT para desarrollo

Para configurar un entorno de desarrollo basado en una carpeta de sincronización, siga estos pasos:

  1. Cierre el repositorio con la línea de comandos vlt:

    $ vlt --credentials admin:admin co --force http://localhost:4502/crx dev
    
    NOTA

    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.

  2. Vaya a la carpeta raíz de la copia de trabajo:

    $ cd dev/jcr_root/
    
  3. 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
    
  4. 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.
    
  5. Edite el archivo oculto .vlt-sync-config.properties y configure la sincronización para sincronizar el contenido del repositorio:

    sync-once=JCR2FS
    
    NOTA

    Este paso descarga todo el repositorio según la configuración del filtro.

  6. 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.

NOTA

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.

En esta página