A ferramenta Jackrabbit FileVault (VLT) é uma ferramenta desenvolvida por A Apache Foundation que mapeia o conteúdo de uma instância do Jackrabbit/AEM para seu sistema de arquivos. A ferramenta VLT tem funções semelhantes ao cliente do sistema de controle de origem (como um cliente SVN (Subversion)), fornecendo operações normais de check-in, check-out e gerenciamento, bem como opções de configuração para representação flexível do conteúdo do projeto.
Execute a ferramenta VLT na linha de comando. Este documento descreve como usar a ferramenta, incluindo como começar e obter ajuda, bem como uma lista de todos os comandos e opções disponíveis.
Consulte a página Visão geral do Filevault e Vault FS da documentação oficial Apache Jackrabbit Filevault para obter uma visão geral completa dos conceitos e da estrutura da ferramenta Filevault.
Para start usando o VLT, é necessário fazer o seguinte:
Para usar a ferramenta VLT, primeiro é necessário instalá-la. Por padrão, ele não é instalado, pois é uma ferramenta adicional. Além disso, é necessário definir a variável de ambiente do sistema.
Baixe o arquivo de arquivamento do FileVault do repositório de artefatos Maven.
A origem da ferramenta VLT está disponível no GitHub.
Adicione <archive-dir>/vault-cli-<version>/bin
ao seu ambiente PATH
para que os arquivos de comando vlt
ou vlt.bat
sejam acessados conforme apropriado. Por exemplo:
<aem-installation-dir>/crx-quickstart/opt/helpers/vault-cli-3.1.16/bin>
Abra um shell de linha de comando e execute vlt --help
. Verifique se a saída é semelhante à tela de ajuda a seguir:
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
Depois de instalá-lo, é necessário atualizar os arquivos de subversão globais ignorados. Edite suas configurações svn e adicione o seguinte:
[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
O VLT trata automaticamente o Fim da Linha (EOF) de acordo com as seguintes regras:
CRLF
LF
LF
Para garantir a correspondência entre as configurações de VLT e SVN, configure a propriedade svn:eol-style
como native
para a extensão dos arquivos armazenados no repositório. Edite suas configurações svn e adicione o seguinte:
[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
Verifique o repositório usando o sistema de controle de origem. Em svn, por exemplo, digite o seguinte (substituindo o URI e o caminho pelo repositório):
svn co https://svn.server.com/repos/myproject
É necessário sincronizar o arquivo padrão com o repositório. Para fazer isso:
Na linha de comando, navegue até content/jcr_root
.
Verifique o repositório digitando o seguinte (substituindo o número da porta por 4502 e suas senhas de administrador):
vlt --credentials admin:admin co --force http://localhost:4502/crx
As credenciais devem ser especificadas apenas uma vez no check-out inicial. Eles serão armazenados em seu diretório inicial dentro de .vault/auth.xml
.
Depois de fazer check-out do repositório e sincronizá-lo, você deve testar para garantir que tudo funcione corretamente. Uma maneira fácil de fazer isso é editar um arquivo .jsp e ver se as alterações são refletidas depois de confirmar as alterações.
Para testar a sincronização:
.../jcr_content/libs/foundation/components/text
.text.jsp
.vlt st
vlt diff text.jsp
vlt ci test.jsp
.Depois de instalar a ferramenta VLT, você pode acessar seu arquivo de Ajuda na linha de comando:
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 obter ajuda sobre um comando específico, digite o comando help seguido do nome do comando. Por exemplo:
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
Veja a seguir algumas tarefas comuns executadas no VLT. Para obter informações detalhadas sobre cada comando, consulte os comandos individuais 🔗.
Se você quiser fazer check-out apenas de uma subárvore do repositório, por exemplo, /apps/geometrixx
, é possível fazer isso digitando o seguinte:
vlt co http://localhost:4502/crx/-/jcr:root/apps/geometrixx geo
Isso cria uma nova raiz de exportação geo
com um diretório META-INF
e jcr_root
e coloca todos os arquivos abaixo de /apps/geometrixx
em geo/jcr_root
.
Se você tiver um filtro de área de trabalho existente e quiser usá-lo para finalização, poderá criar o diretório META-INF/vault
e colocar o filtro lá, ou especificar na linha de comando da seguinte maneira:
$ vlt co --filter filter.xml http://localhost:4502/crx/-/jcr:root geo
Um filtro de exemplo:
<?xml version="1.0" encoding="UTF-8"?>
<workspaceFilter version="1.0">
<filter root="/etc/designs/geometrixx" />
<filter root="/apps/geometrixx"/>
</workspaceFilter>
É possível importar e exportar conteúdo entre um repositório JCR e o sistema de arquivos local sem usar arquivos de controle.
Para importar e exportar conteúdo sem usar o controle .vlt
:
Inicialmente, configure o repositório:
$ 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
Altere a cópia remota e atualize o JCR:
$ cd /projects/geometrixx
$ vlt -v import http://localhost:4502/crx . /
Altere a cópia remota e atualize o servidor de arquivos:
$ 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 emitir comandos no VLT, digite o seguinte na linha de comando:
vlt [options] <command> [arg1 [arg2 [arg3] ..]]
As opções e os comandos são descritos detalhadamente nas seções a seguir.
A seguir está uma lista de opções VLT, que estão disponíveis para todos os comandos. Consulte os comandos individuais para obter informações sobre opções adicionais disponíveis.
Opção | Descrição |
-Xjcrlog <arg> |
Opções JcrLog estendidas |
-Xdavex <arg> |
Opções remotas JCR estendidas |
--credentials <arg> |
As credenciais padrão a serem usadas |
--config <arg> |
A configuração JcrFs a ser usada |
-v (--verbose) |
saída detalhada |
-q (--quiet) |
imprimir o mínimo possível |
--version |
Imprime as informações da versão e sai do VLT |
--log-level <level> |
Indica o nível de log, por exemplo, o nível de log4j. |
-h (--help) <command> |
Imprime a ajuda desse comando em particular |
A tabela a seguir descreve todos os comandos VLT disponíveis. Consulte os comandos individuais para obter informações detalhadas sobre sintaxe, opções disponíveis e exemplos.
Comando | Comando abreviado | Descrição |
export |
Exporta de um repositório JCR (sistema de arquivos padrão) para o sistema de arquivos local sem arquivos de controle. | |
import |
Importa um sistema de arquivos local para um repositório JCR (sistema de arquivos de cofre). | |
checkout |
co |
Verifica um sistema de arquivos Vault. Use-o para um repositório JCR inicial para o sistema de arquivos local. (Observação: Primeiro, faça o check-out do repositório na subversão.) |
analyze |
Analisa pacotes. | |
status |
st |
Imprime o status dos arquivos e diretórios da cópia de trabalho. |
update |
up |
Importa alterações do repositório para a cópia de trabalho. |
info |
Exibe informações sobre um arquivo local. | |
commit |
ci |
Envia alterações da sua cópia de trabalho para o repositório. |
revert |
rev |
Restaura o arquivo de cópia de trabalho para seu estado original e desfaz a maioria das edições locais. |
resolved |
res |
Remove o estado conflitante em arquivos ou diretórios de cópia de trabalho. |
propget |
pg |
Imprime o valor de uma propriedade em arquivos ou diretórios. |
proplist |
pl |
Imprime as propriedades em arquivos ou diretórios. |
propset |
ps |
Define o valor de uma propriedade em arquivos ou diretórios. |
add |
Coloca arquivos e diretórios sob controle de versão. | |
delete |
del ou rm |
Remove arquivos e diretórios do controle de versão. |
diff |
di |
Exibe as diferenças entre dois caminhos. |
console |
Executa um console interativo. | |
rcp |
Copia uma árvore de nó de um repositório remoto para outro. | |
sync |
Permite controlar o serviço de sincronização do cofre. |
Exporta o sistema de arquivos Vault montado em <uri> para o sistema de arquivos local em <local-path>. Um <jcr-path> opcional pode ser especificado para exportar apenas uma subárvore.
export -v|-t <arg>|-p <uri> <jcr-path> <local-path>
-v (--verbose) |
saída detalhada |
-t (--type) <arg> |
especifica o tipo de exportação, seja a plataforma ou o jar. |
-p (--prune-missing) |
especifica se os arquivos locais ausentes devem ser excluídos |
<uri> |
uri ponto de montagem |
<jcrPath> |
Caminho JCR |
<localPath> |
caminho local |
vlt export http://localhost:4502/crx /apps/geometrixx myproject
Importa o sistema de arquivos local (começando em <local-path>
para o sistema de arquivos de cofre em <uri>
. Você pode especificar um <jcr-path>
como raiz de importação. Se --sync
for especificado, os arquivos importados serão automaticamente colocados sob controle de cofre.
import -v|-s <uri> <local-path> <jcr-path>
-v (--verbose) |
saída detalhada |
-s (-- sync) |
coloca os arquivos locais sob controle de cofre |
<uri> |
uri ponto de montagem |
<jcrPath> |
Caminho JCR |
<localPath> |
caminho local |
vlt import http://localhost:4502/crx . /
Realiza uma verificação inicial de um repositório JCR para o sistema de arquivos local, iniciando em <uri> para o sistema de arquivos local em <local-path>. Você também pode adicionar um argumento <jcrPath> para fazer check-out de um subdiretório da árvore remota. É possível especificar filtros do espaço de trabalho que são copiados para o diretório META-INF.
checkout --force|-v|-q|-f <file> <uri> <jcrPath> <localPath>
--force |
força o check-out para substituir arquivos locais se eles já existirem |
-v (--verbose) |
saída detalhada |
-q (--quiet) |
imprime o mínimo possível |
-f (--filter) <file> |
especifica filtros automáticos se nenhum estiver definido |
<uri> |
uri ponto de montagem |
<jcrPath> |
(opcional) caminho remoto |
<localPath> |
(opcional) caminho local |
Usando o JCR Remoting:
vlt --credentials admin:admin co http://localhost:8080/crx/server/crx.default/jcr_root/
Com o espaço de trabalho padrão:
vlt --credentials admin:admin co http://localhost:8080/crx/server/-/jcr_root/
Se o URI estiver incompleto, ele será expandido:
vlt --credentials admin:admin co http://localhost:8080/crx
Analisa pacotes.
analyze -l <format>|-v|-q <localPaths1> [<localPaths2> ...]
-l (--linkFormat) <format> |
formato printf para links de hotfix (nome,id), por exemplo `[CQ520_HF_%s |
-v (--verbose) |
saída detalhada |
-q (--quiet) |
imprime o mínimo possível |
<localPaths> [<localPaths> ...] |
caminho local |
Imprime o status dos arquivos e diretórios da cópia de trabalho.
Se --show-update
for especificado, cada arquivo será verificado em relação à versão remota. A segunda letra especifica então qual ação seria executada por uma operação de atualização.
status -v|-q|-u|-N <file1> [<file2> ...]
-v (--verbose) |
saída detalhada |
-q (--quiet) |
imprime o mínimo possível |
-u (--show-update) |
exibe informações de atualização |
-N (--non-recursive) |
opera em um único diretório |
<file> [<file> ...] |
arquivo ou diretório para exibir o status |
Copia as alterações do repositório para a cópia em funcionamento.
update -v|-q|--force|-N <file1> [<file2> ...]
-v (--verbose) |
saída detalhada |
-q (--quiet) |
imprime o mínimo possível |
--force |
força a substituição de arquivos locais |
-N (--non-recursive) |
opera em um único diretório |
<file> [<file> ...] |
arquivo ou diretório a ser atualizado |
Exibe informações sobre um arquivo local.
info -v|-q|-R <file1> [<file2> ...]
-v (--verbose) |
saída detalhada |
-q (--quiet) |
imprime o mínimo possível |
-R (--recursive) |
opera recursivamente |
<file> [<file> ...] |
arquivo ou diretório para exibir informações |
Envia alterações da sua cópia de trabalho para o repositório.
commit -v|-q|--force|-N <file1> [<file2> ...]
-v (--verbose) |
saída detalhada |
-q (--quiet) |
imprime o mínimo possível |
--force |
força a confirmação mesmo se a cópia remota for modificada |
-N (--non-recursive) |
opera em um único diretório |
<file> [<file> ...] |
arquivo ou diretório a ser confirmado |
Restaura o arquivo de cópia de trabalho para o estado original e desfaz a maioria das edições locais.
revert -q|-R <file1> [<file2> ...]
-q (--quiet) |
imprime o mínimo possível |
-R (--recursive) |
descendente recursivamente |
<file> [<file> ...] |
arquivo ou diretório a ser confirmado |
Remove o estado conflitante nos arquivos ou diretórios de cópia de trabalho.
Esse comando não resolve conflitos semânticos nem remove marcadores de conflito; apenas remove os arquivos de artefato relacionados a conflitos e permite que o PATH seja confirmado novamente.
resolved -q|-R|--force <file1> [<file2> ...]
-q (--quiet) |
imprime o mínimo possível |
-R (--recursive) |
descendente recursivamente |
--force |
resolve, mesmo se houver marcadores de conflito |
<file> [<file> ...] |
arquivo ou diretório a ser resolvido |
Imprime o valor de uma propriedade em arquivos ou diretórios.
propget -q|-R <propname> <file1> [<file2> ...]
-q (--quiet) |
imprime o mínimo possível |
-R (--recursive) |
descendente recursivamente |
<propname> |
o nome da propriedade |
<file> [<file> ...] |
arquivo ou diretório do qual obter a propriedade |
Imprime as propriedades em arquivos ou diretórios.
proplist -q|-R <file1> [<file2> ...]
-q (--quiet) |
imprime o mínimo possível |
-R (--recursive) |
descendente recursivamente |
<file> [<file> ...] |
arquivo ou diretório de onde as propriedades serão listas |
Define o valor de uma propriedade em arquivos ou diretórios.
O VLT reconhece as seguintes propriedades de versão especiais:
vlt:mime-type
O tipo de mimetype do arquivo. Usado para determinar se o arquivo deve ser unido. Um mimetype que começa com 'text/' (ou um mimetype ausente) é tratado como texto. Qualquer outra coisa é tratada como binária.
propset -q|-R <propname> <propval> <file1> [<file2> ...]
-q (--quiet) |
imprime o mínimo possível |
-R (--recursive) |
descendente recursivamente |
<propname> |
o nome da propriedade |
<propval> |
o valor da propriedade |
<file> [<file> ...] |
arquivo ou diretório para definir a propriedade como |
Coloca arquivos e diretórios sob controle de versão, agendando-os para adição ao repositório. Eles serão adicionados na próxima confirmação.
add -v|-q|-N|--force <file1> [<file2> ...]
-v (--verbose) |
saída detalhada |
-q (--quiet) |
imprime o mínimo possível |
-N (--non-recursive) |
opera em um único diretório |
--force |
força a operação a ser executada |
<file> [<file> ...] |
arquivo ou diretório local a ser adicionado |
Remove arquivos e diretórios do controle de versão.
delete -v|-q|--force <file1> [<file2> ...]
-v (--verbose) |
saída detalhada |
-q (--quiet) |
imprime o mínimo possível |
--force |
força a operação a ser executada |
<file> [<file> ...] |
arquivo ou diretório local a ser excluído |
Exibe as diferenças entre dois caminhos.
diff -N <file1> [<file2> ...]
-N (--non-recursive) |
opera em um único diretório |
<file> [<file> ...] |
arquivo ou diretório do qual exibir as diferenças |
Executa um console interativo.
console -F <file>
-F (--console-settings) <file> |
especifica o arquivo de configurações do console. O arquivo padrão é console.properties. |
Copia uma árvore de nó de um repositório remoto para outro. <src>
aponta para o nó de origem e <dst>
especifica o caminho de destino, onde o nó pai deve existir. O Rcp processa os nós fazendo o streaming dos dados.
rcp -q|-r|-b <size>|-t <seconds>|-u|-n|-e <arg1> [<arg2> ...] <src> <dst>
-q (--quiet) |
Imprime o mínimo possível. |
-r (--recursive) |
Descende recursivamente. |
-b (--batchSize) <size> |
Número de nós a serem processados antes de uma gravação intermediária. |
-t (--throttle) <seconds> |
Número de segundos para aguardar após uma gravação intermediária. |
-u (--update) |
Substituir/excluir nós existentes. |
-n (--newer) |
Respeite as propriedades lastModified para atualização. |
-e (--exclude) <arg> [<arg> ...] |
Regexp de caminhos de origem excluídos. |
<src> |
O endereço do repositório da árvore de origem. |
<dst> |
O endereço do repositório do nó de destino. |
vlt rcp http://localhost:4502/crx/-/jcr:root/content https://admin:admin@localhost:4503/crx/-/jcr:root/content_copy
As opções --exclude
precisam ser seguidas por outra opção antes dos argumentos <src>
e <dst>
. Por exemplo:
vlt rcp -e ".*\.txt" -r
Permite controlar o serviço de sincronização do cofre. Sem nenhum argumento, esse comando tenta colocar o diretório de trabalho atual sob controle sincronizado. Se executado em um check-out vlt, ele usará o respectivo filtro e host para configurar a sincronização. Se executado fora de um check-out vlt, ele registra a pasta atual para sincronização somente se o diretório estiver vazio.
sync -v|--force|-u <uri> <command> <localPath>
-v (--verbose) |
saída detalhada. |
--force |
forçar a execução de determinados comandos. |
-u (--uri) <uri> |
especifica o URI do host de sincronização. |
<command> |
comando sync para executar. |
<localPath> |
pasta local a ser sincronizada. |
Os códigos de status usados pelo VLT são:
O serviço de sincronização de cofre é usado para sincronizar o conteúdo do repositório com uma representação local do sistema de arquivos e vice-versa. Isso é feito instalando um serviço OSGi que acompanhará as alterações no repositório e verificará o conteúdo do sistema de arquivos periodicamente. Ele usa o mesmo formato de serialização que o cofre para mapear o conteúdo do repositório para o disco.
O serviço de sincronização de cofres é uma ferramenta de desenvolvimento e é altamente desencorajador usá-lo em um sistema produtivo. Observe também que o serviço só pode sincronizar com o sistema de arquivos local e não pode ser usado para desenvolvimento remoto.
O comando vlt sync install
pode ser usado para instalar automaticamente o pacote de serviços de sincronização de cofre e a configuração.
O pacote é instalado abaixo de /libs/crx/vault/install
e o nó de configuração é criado em /libs/crx/vault/com.day.jcr.sync.impl.VaultSyncServiceImpl
. Inicialmente, o serviço é ativado, mas nenhuma raiz de sincronização é configurada.
O exemplo a seguir instala o serviço de sincronização para a instância CRX acessível pelo uri especificado.
$ vlt --credentials admin:admin sync --uri http://localhost:4502/crx install
O comando status
pode ser usado para exibir informações sobre o serviço de sincronização em execução. "
$ 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.
O comando status
não extrai dados ativos do serviço, mas lê a configuração em /libs/crx/vault/com.day.jcr.sync.impl.VaultSyncServiceImpl
.
O comando register
é usado para adicionar uma pasta para sincronizar com a configuração.
$ vlt sync register
Connecting via JCR remoting to http://localhost:4502/crx/server
Added new sync directory: /tmp/workspace/vltsync/jcr_root
O comando register
não aciona uma sincronização até que você configure a configuração sync-once
.
O comando unregister
é usado para remover uma pasta para sincronizar da configuração.
$ vlt sync unregister
Connecting via JCR remoting to http://localhost:4502/crx/server
Removed sync directory: /tmp/workspace/vltsync/jcr_root
É necessário cancelar o registro de uma pasta de sincronização antes de excluí-la.
Quando o serviço estiver em execução, ele poderá ser configurado com os seguintes parâmetros:
vault.sync.syncroots
: Um ou vários caminhos de sistema de arquivos locais que definem as raízes de sincronização.
vault.sync.fscheckinterval
: Frequência (em segundos) da qual o sistema de arquivos deve ser examinado para detectar possíveis alterações. O padrão é 5 segundos.
vault.sync.enabled
: Sinalizador geral que ativa/desativa o serviço.
O serviço pode ser configurado com o console da Web ou com um nó sling:OsgiConfig
(com o nome com.day.jcr.sync.impl.VaultSyncServiceImpl
) no repositório.
Ao trabalhar com AEM existem vários métodos de gestão das definições de configuração para esses serviços; consulte Configurando o OSGi para obter detalhes completos.
Cada pasta de sincronização armazena a configuração e o status em três arquivos:
.vlt-sync-config.properties
: arquivo de configuração.
.vlt-sync.log
: arquivo de log que contém informações sobre as operações executadas durante a sincronização.
.vlt-sync-filter.xml
: filtros que definem quais partes do repositório são sincronizadas. O formato desse arquivo é descrito pela seção Realização de uma finalização de compra filtrada.
O arquivo .vlt-sync-config.properties
permite configurar as seguintes propriedades:
desativadaAtiva ou desativa a sincronização. Por padrão, esse parâmetro é definido como falso para permitir a sincronização.
sync- onceSe não estiver vazio, a próxima verificação sincronizará a pasta na direção especificada, então o parâmetro será apagado. Dois valores são suportados:
JCR2FS
: exporta todo o conteúdo no repositório JCR e grava no disco local.FS2JCR
: importa todo o conteúdo do disco para o repositório JCR.sync- logDefine o nome do arquivo de log. Por padrão, o valor é .vlt-sync.log
Para configurar um ambiente de desenvolvimento com base em uma pasta de sincronização, faça o seguinte:
Faça check-out do seu repositório com a linha de comando vlt:
$ vlt --credentials admin:admin co --force http://localhost:4502/crx dev
Você pode usar filtros para fazer check-out somente dos caminhos apropriados. Consulte a seção Realização de check-out filtrado para obter mais informações.
Vá para a pasta raiz da sua cópia de trabalho:
$ cd dev/jcr_root/
Instale o serviço de sincronização no repositório:
$ 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
Inicialize o serviço de sincronização:
$ 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 o arquivo oculto .vlt-sync-config.properties
e configure a sincronização para sincronizar o conteúdo do repositório:
sync-once=JCR2FS
Esta etapa baixa o repositório inteiro de acordo com a configuração do filtro.
Verifique o arquivo de log .vlt-sync.log
para ver o progresso:
***
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
***
Sua pasta local agora é sincronizada com o repositório. A sincronização é bidirecional, portanto, a modificação do repositório será aplicada à sua pasta de sincronização local e vice-versa.
O recurso Sincronização VLT só oferece suporte a arquivos e pastas simples, mas detecta arquivos serializados de cofre especiais (.content.xml, dialog.xml etc.) e os ignora silenciosamente. Assim, é possível usar a sincronização de cofre em um check-out vlt padrão.