Come utilizzare lo strumento VLT how-to-use-the-vlt-tool

Lo strumento Jackrabbit FileVault (VLT) è uno strumento sviluppato da Apache Foundation che mappa il contenuto di un'istanza Jackrabbit/AEM nel file system. Lo strumento VLT dispone di funzioni simili a quelle del client del sistema di controllo del codice sorgente (ad esempio il client SVN), che fornisce le normali operazioni di check-in, check-out e gestione e le opzioni di configurazione per una rappresentazione flessibile del contenuto del progetto.

Lo strumento VLT viene eseguito dalla riga di comando. In questo documento viene descritto come utilizzare lo strumento, incluso come iniziare e ottenere assistenza, e un elenco di tutti i comandi e delle opzioni disponibili.

Concetti e architettura concepts-and-architecture

Per una panoramica completa dei concetti e della struttura dello strumento Filevault, vedere la pagina Panoramica di Filevault e Vault FS nella documentazione ufficiale di Apache Jackrabbit Filevault.

Guida introduttiva a VLT getting-started-with-vlt

Per iniziare a utilizzare VLT, è necessario effettuare le seguenti operazioni:

  1. Installa VLT, aggiorna le variabili di ambiente e aggiorna i file di sovversione globali ignorati.
  2. Configurare l’archivio AEM (se non lo si è già fatto).
  3. Consulta l’archivio dell’AEM.
  4. Sincronizza con l’archivio.
  5. Verifica del funzionamento della sincronizzazione.

Installazione dello strumento VLT installing-the-vlt-tool

Per utilizzare lo strumento VLT, è innanzitutto necessario installarlo. Non viene installato per impostazione predefinita in quanto è uno strumento aggiuntivo. Inoltre, è necessario impostare la variabile di ambiente del sistema.

  1. Scarica il file di archivio FileVault dall'archivio di artefatti Maven.

    note note
    NOTE
    L'origine dello strumento VLT è disponibile su GitHub.

    1. Estrai l’archivio.

  2. Aggiungere <archive-dir>/vault-cli-<version>/bin all'ambiente PATH in modo che sia possibile accedere ai file di comando vlt o vlt.bat come appropriato. Ad esempio:

    <aem-installation-dir>/crx-quickstart/opt/helpers/vault-cli-3.1.16/bin>

  3. Aprire una shell della riga di comando ed eseguire vlt --help. Assicurati che l’output sia simile alla seguente schermata della guida:

    code language-shell
    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
    

Dopo averlo installato, è necessario aggiornare i file di sovversione ignorati globali. Modifica le impostazioni svn e aggiungi quanto segue:

[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

Configurazione del carattere di fine riga configuring-the-end-of-line-character

VLT gestisce automaticamente la fine della linea (EOF) in base alle seguenti regole:

  • righe di file estratti alla fine di Windows con CRLF
  • righe di file estratti sull'estremità Linux/Unix con LF
  • righe di file di cui è stato eseguito il commit nel repository che terminano con LF

Per garantire che la configurazione VLT e SVN corrisponda, è necessario impostare la proprietà svn:eol-style su native per l'estensione dei file archiviati nell'archivio. Modifica le impostazioni svn e aggiungi quanto segue:

[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

Estrazione dell'archivio checking-out-the-repository

Estrarre l'archivio utilizzando il sistema di controllo del codice sorgente. In svn, ad esempio, digita quanto segue (sostituendo l’URI e il percorso con l’archivio):

svn co https://svn.server.com/repos/myproject

Sincronizzazione con l’archivio synchronizing-with-the-repository

È necessario sincronizzare filevault con l'archivio. Per effettuare questo collegamento:

  1. Nella riga di comando passare a content/jcr_root.

  2. Estrarre l'archivio digitando quanto segue (sostituendo il numero di porta con 4502 e le password dell'amministratore):

    code language-shell
    vlt --credentials admin:admin co --force http://localhost:4502/crx
    
    note note
    NOTE
    Le credenziali devono essere specificate una sola volta al momento del check-out iniziale. Verranno quindi archiviati nella home directory in .vault/auth.xml.

Verifica del funzionamento della sincronizzazione testing-whether-the-synchronization-worked

Dopo aver estratto il repository e averlo sincronizzato, è necessario eseguire un test per verificare che tutto funzioni correttamente. Un modo semplice per eseguire questa operazione è modificare un file .jsp e verificare se le modifiche vengono applicate dopo il commit delle modifiche.

Per verificare la sincronizzazione:

  1. Accedi a .../jcr_content/libs/foundation/components/text.
  2. Modifica elemento in text.jsp.
  3. Visualizzare i file modificati digitando vlt st
  4. Visualizza le modifiche digitando vlt diff text.jsp
  5. Eseguire il commit delle modifiche: vlt ci test.jsp.
  6. Ricarica una pagina contenente un componente testo e verifica se le modifiche sono presenti.

Come trovare assistenza con lo strumento VLT getting-help-with-the-vlt-tool

Dopo aver installato lo strumento VLT, è possibile accedere al relativo file della Guida dalla riga di 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
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Per informazioni della Guida su un comando specifico, digitare il comando help seguito dal nome del comando. Ad esempio:

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

Attività comuni eseguite in VLT common-tasks-performed-in-vlt

Di seguito sono riportate alcune attività comuni eseguite in VLT. Per informazioni dettagliate su ciascun comando, vedere i singoli comandi.

Estrazione di una sottostruttura checking-out-a-subtree

Se si desidera estrarre solo una sottostruttura del repository, ad esempio /apps/geometrixx, è possibile digitare quanto segue:

vlt co http://localhost:4502/crx/-/jcr:root/apps/geometrixx geo

In questo modo viene creata una nuova radice di esportazione geo con una directory META-INF e jcr_root e tutti i file al di sotto di /apps/geometrixx vengono inseriti in geo/jcr_root.

Esecuzione di un Check-Out filtrato performing-a-filtered-checkout

Se si dispone di un filtro dell'area di lavoro esistente e si desidera utilizzarlo per l'estrazione, è possibile creare innanzitutto la directory META-INF/vault e posizionare il filtro in tale directory oppure specificarlo nella riga di comando come indicato di seguito:

$ vlt co --filter filter.xml http://localhost:4502/crx/-/jcr:root geo

Esempio di filtro:

<?xml version="1.0" encoding="UTF-8"?>
<workspaceFilter version="1.0">
    <filter root="/etc/designs/geometrixx" />
    <filter root="/apps/geometrixx"/>
</workspaceFilter>

Utilizzo di Import/Export al posto del controllo .vlt using-import-export-instead-of-vlt-control

Puoi importare ed esportare contenuti tra un archivio JCR e il file system locale senza utilizzare i control file.

Per importare ed esportare contenuto senza utilizzare il controllo .vlt:

  1. Impostazione iniziale dell'archivio:

    code language-shell
    $ 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. Modifica la copia remota e aggiorna JCR:

    code language-shell
    $ cd /projects/geometrixx
    $ vlt -v import http://localhost:4502/crx . /
    
  3. Modificare la copia remota e aggiornare il file server:

    code language-shell
    $ 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
    

Utilizzo di VLT using-vlt

Per eseguire comandi in VLT, digitare quanto segue nella riga di comando:

vlt [options] <command> [arg1 [arg2 [arg3] ..]]

Le opzioni e i comandi sono descritti in dettaglio nelle sezioni seguenti.

Opzioni globali VLT vlt-global-options

Di seguito è riportato un elenco di opzioni VLT disponibili per tutti i comandi. Per ulteriori informazioni sulle opzioni disponibili, vedere i singoli comandi.

Opzione
Descrizione
-Xjcrlog <arg>
Opzioni JcrLog estese
-Xdavex <arg>
Opzioni remote JCR estese
--credentials <arg>
Credenziali predefinite da utilizzare
--config <arg>
Configurazione JcrFs da utilizzare
-v (--verbose)
output dettagliato
-q (--quiet)
stampa il meno possibile
--version
Stampa le informazioni sulla versione ed esce da VLT
--log-level <level>
Indica il livello di registro, ad esempio il livello di registro log4j.
-h (--help) <command>
Stampa la Guida per quel particolare comando

Comandi VLT vlt-commands

Nella tabella seguente vengono descritti tutti i comandi VLT disponibili. Per informazioni dettagliate sulla sintassi, sulle opzioni disponibili e sugli esempi, vedere i singoli comandi.

Comando
Comando abbreviato
Descrizione
export
Esporta da un archivio JCR (vault file system) al file system locale senza control file.
import
Importa un file system locale in un archivio JCR (file system di Vault).
checkout
co
Estrae un file system Vault. Utilizzalo per un archivio JCR iniziale nel file system locale. (Nota: prima estrarre il repository in subversion).
analyze
Analizza i pacchetti.
status
st
Stampa lo stato dei file e delle directory in copia di lavoro.
update
up
Importa le modifiche dal repository nella copia di lavoro.
info
Visualizza informazioni su un file locale.
commit
ci
Invia le modifiche dalla copia di lavoro all'archivio.
revert
rev
Ripristina lo stato originale del file della copia di lavoro e annulla la maggior parte delle modifiche locali.
resolved
res
Rimuove lo stato in conflitto nei file o nelle directory di copia in corso.
propget
pg
Stampa il valore di una proprietà su file o directory.
proplist
pl
Stampa le proprietà su file o directory.
propset
ps
Imposta il valore di una proprietà su file o directory.
add
Inserisce i file e le directory sotto il controllo della versione.
delete
del oppure rm
Rimuove file e directory dal controllo delle versioni.
diff
di
Visualizza le differenze tra due percorsi.
console
Esegue una console interattiva.
rcp
Copia una struttura di nodi da un repository remoto a un altro.
sync
Consente di controllare il servizio di sincronizzazione di Vault.

Esporta export

Esporta il file system Vault installato in <uri> nel file system locale in <local-path>. È possibile specificare un <jcr-path> facoltativo per esportare solo una sottostruttura.

Sintassi syntax

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

Opzioni options

-v (--verbose)
output dettagliato
-t (--type) <arg>
specifica il tipo di esportazione, piattaforma o jar.
-p (--prune-missing)
specifica se eliminare i file locali mancanti
<uri>
uri punto di montaggio
<jcrPath>
Percorso JCR
<localPath>
percorso locale

Esempi examples

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

Importa import

Importa il file system locale (a partire da <local-path>) nel file system di Vault in <uri>. È possibile specificare <jcr-path> come radice di importazione. Se si specifica --sync, i file importati verranno automaticamente posti sotto controllo di Vault.

Sintassi syntax-1

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

Opzioni options-1

-v (--verbose)
output dettagliato
-s (-- sync)
mette i file locali sotto il controllo del vault
<uri>
uri punto di montaggio
<jcrPath>
Percorso JCR
<localPath>
percorso locale

Esempi examples-1

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

Pagamento (co) checkout-co

Esegue un check-out iniziale da un archivio JCR al file system locale a partire da <uri> fino al file system locale in <local-path>. È inoltre possibile aggiungere un argomento <jcrPath> per estrarre una sottodirectory della struttura remota. È possibile specificare filtri Workspace da copiare nella directory META-INF.

Sintassi syntax-2

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

Opzioni options-2

--force
forza l'estrazione per sovrascrivere i file locali se esistono già
-v (--verbose)
output dettagliato
-q (--quiet)
stampa il meno possibile
-f (--filter) <file>
specifica i filtri automatici se non ne è stato definito alcuno
<uri>
uri punto di montaggio
<jcrPath>
(facoltativo) percorso remoto
<localPath>
(facoltativo) percorso locale

Esempi examples-2

Utilizzo di JCR Remoting:

vlt --credentials admin:admin co http://localhost:8080/crx/server/crx.default/jcr_root/

Con l'area di lavoro predefinita:

vlt --credentials admin:admin co http://localhost:8080/crx/server/-/jcr_root/

Se l’URI è incompleto, verrà espanso:

vlt --credentials admin:admin co http://localhost:8080/crx

Analizza analyze

Analizza i pacchetti.

Sintassi syntax-3

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

Opzioni options-3

-l (--linkFormat) <format>
formato printf per i collegamenti hotfix (nome,id), ad esempio `[CQ520_HF_%s
-v (--verbose)
output dettagliato
-q (--quiet)
stampa il meno possibile
<localPaths> [<localPaths> ...]
percorso locale

Stato status

Stampa lo stato dei file e delle directory in copia di lavoro.

Se si specifica --show-update, ogni file viene controllato in base alla versione remota. La seconda lettera specifica quindi quale azione verrà eseguita da un'operazione di aggiornamento.

Sintassi syntax-4

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

Opzioni options-4

-v (--verbose)
output dettagliato
-q (--quiet)
stampa il meno possibile
-u (--show-update)
visualizza le informazioni di aggiornamento
-N (--non-recursive)
funziona su un'unica directory
<file> [<file> ...]
file o directory per visualizzare lo stato

Aggiornare update

Copia le modifiche dal repository nella copia di lavoro.

Sintassi syntax-5

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

Opzioni options-5

-v (--verbose)
output dettagliato
-q (--quiet)
stampa il meno possibile
--force
forza la sovrascrittura dei file locali
-N (--non-recursive)
funziona su un'unica directory
<file> [<file> ...]
file o directory da aggiornare

Info info

Visualizza informazioni su un file locale.

Sintassi syntax-6

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

Opzioni options-6

-v (--verbose)
output dettagliato
-q (--quiet)
stampa il meno possibile
-R (--recursive)
opera in modo ricorsivo
<file> [<file> ...]
file o directory per visualizzare le informazioni

Conferma commit

Invia le modifiche dalla copia di lavoro all'archivio.

Sintassi syntax-7

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

Opzioni options-7

-v (--verbose)
output dettagliato
-q (--quiet)
stampa il meno possibile
--force
forza il commit anche se la copia remota viene modificata
-N (--non-recursive)
funziona su un'unica directory
<file> [<file> ...]
file o directory di cui eseguire il commit

Ripristina revert

Ripristina lo stato originale del file della copia di lavoro e annulla la maggior parte delle modifiche locali.

Sintassi syntax-8

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

Opzioni options-8

-q (--quiet)
stampa il meno possibile
-R (--recursive)
discendente in modo ricorsivo
<file> [<file> ...]
file o directory di cui eseguire il commit

Risolto resolved

Rimuove lo stato in conflitto nei file o nelle directory di copia di lavoro.

NOTE
Questo comando non risolve semanticamente i conflitti o rimuove i marcatori di conflitto, ma rimuove semplicemente i file di artefatti correlati ai conflitti e consente di eseguire nuovamente il commit di PATH.

Sintassi syntax-9

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

Opzioni options-9

-q (--quiet)
stampa il meno possibile
-R (--recursive)
discendente in modo ricorsivo
--force
risolve, anche in presenza di indicatori di conflitto
<file> [<file> ...]
file o directory da risolvere

Propget propget

Stampa il valore di una proprietà su file o directory.

Sintassi syntax-10

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

Opzioni options-10

-q (--quiet)
stampa il meno possibile
-R (--recursive)
discendente in modo ricorsivo
<propname>
il nome della proprietà
<file> [<file> ...]
file o directory da cui ottenere la proprietà

Proplist proplist

Stampa le proprietà su file o directory.

Sintassi syntax-11

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

Opzioni options-11

-q (--quiet)
stampa il meno possibile
-R (--recursive)
discendente in modo ricorsivo
<file> [<file> ...]
file o directory da cui elencare le proprietà

Propset propset

Imposta il valore di una proprietà su file o directory.

NOTE
VLT riconosce le seguenti proprietà speciali con versione:
vlt:mime-type
Il tipo MIME del file. Utilizzato per determinare se unire il file. Un tipo MIME che inizia con 'text/' (o un tipo MIME assente) viene considerato come testo. Qualsiasi altra cosa viene trattata come binaria.

Sintassi syntax-12

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

Opzioni options-12

-q (--quiet)
stampa il meno possibile
-R (--recursive)
discendente in modo ricorsivo
<propname>
il nome della proprietà
<propval>
il valore della proprietà
<file> [<file> ...]
file o directory su cui impostare la proprietà

Aggiungi add

Inserisce i file e le directory sotto il controllo della versione, pianificandoli per l'aggiunta all'archivio. Verranno aggiunti al prossimo commit.

Sintassi syntax-13

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

Opzioni options-13

-v (--verbose)
output dettagliato
-q (--quiet)
stampa il meno possibile
-N (--non-recursive)
funziona su un'unica directory
--force
forza l'esecuzione dell'operazione
<file> [<file> ...]
file o directory locale da aggiungere

Elimina delete

Rimuove file e directory dal controllo delle versioni.

Sintassi syntax-14

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

Opzioni options-14

-v (--verbose)
output dettagliato
-q (--quiet)
stampa il meno possibile
--force
forza l'esecuzione dell'operazione
<file> [<file> ...]
file o directory locale da eliminare

Diff. diff

Visualizza le differenze tra due percorsi.

Sintassi syntax-15

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

Opzioni options-15

-N (--non-recursive)
funziona su un'unica directory
<file> [<file> ...]
per visualizzare le differenze tra

Console console

Esegue una console interattiva.

Sintassi syntax-16

console -F <file>

Opzioni options-16

-F (--console-settings) <file>
specifica il file delle impostazioni della console. Il file predefinito è console.properties.

Rcp rcp

Copia una struttura di nodi da un repository remoto a un altro. <src> punta al nodo di origine e <dst> specifica il percorso di destinazione, in cui deve esistere il nodo padre. Rcp elabora i nodi trasmettendo i dati in streaming.

Sintassi syntax-17

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

Opzioni options-17

-q (--quiet)
Stampa il meno possibile.
-r (--recursive)
Discende in modo ricorsivo.
-b (--batchSize) <size>
Numero di nodi da elaborare prima di un salvataggio intermedio.
-t (--throttle) <seconds>
Numero di secondi di attesa dopo un salvataggio intermedio.
-u (--update)
Sovrascrivi/elimina nodi esistenti.
-n (--newer)
Rispetta le proprietà lastModified per l'aggiornamento.
-e (--exclude) <arg> [<arg> ...]
Regexp dei percorsi sorgente esclusi.
<src>
Indirizzo dell'archivio della struttura di origine.
<dst>
Indirizzo dell’archivio del nodo di destinazione.

Esempi examples-3

vlt rcp http://localhost:4502/crx/-/jcr:root/content  https://admin:admin@localhost:4503/crx/-/jcr:root/content_copy
NOTE
Le opzioni --exclude devono essere seguite da un'altra opzione prima degli argomenti <src> e <dst>. Ad esempio:
vlt rcp -e ".*\.txt" -r

Sincronizza sync

Consente di controllare il servizio di sincronizzazione di Vault. Senza argomenti, questo comando tenta di porre la directory di lavoro corrente sotto il controllo di sincronizzazione. Se viene eseguito all'interno di un'estrazione VLT, utilizza il rispettivo filtro e host per configurare la sincronizzazione. Se viene eseguita all'esterno di un'estrazione VLT, la cartella corrente viene registrata per la sincronizzazione solo se la directory è vuota.

Sintassi syntax-18

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

Opzioni options-18

-v (--verbose)
output dettagliato.
--force
forzare l'esecuzione di determinati comandi.
-u (--uri) <uri>
specifica l'URI dell'host di sincronizzazione.
<command>
comando di sincronizzazione da eseguire.
<localPath>
cartella locale da sincronizzare.

Codici di stato status-codes

I codici di stato utilizzati da VLT sono:

  • ' ' nessuna modifica
  • 'A' aggiunto
  • 'C' In Conflitto
  • 'D' eliminato
  • 'I' ignorato
  • 'M' modificato
  • 'R' Sostituito
  • '?' l'elemento non è incluso nel controllo della versione
  • '!' elemento mancante (rimosso da un comando non svn) o incompleto
  • Elemento con versione '~' ostruito da un elemento di tipo diverso

Impostazione della sincronizzazione di FileVault setting-up-filevault-sync

Il servizio di sincronizzazione Vault viene utilizzato per sincronizzare il contenuto dell’archivio con una rappresentazione del file system locale e viceversa. Ciò si ottiene installando un servizio OSGi che ascolta le modifiche dell’archivio e analizza periodicamente il contenuto del file system. Utilizza lo stesso formato di serializzazione dell’insieme di credenziali per la mappatura del contenuto dell’archivio su disco.

NOTE
Il servizio di sincronizzazione di Vault è uno strumento di sviluppo ed è sconsigliato utilizzarlo su un sistema produttivo. Inoltre, il servizio può essere sincronizzato solo con il file system locale e non può essere utilizzato per lo sviluppo remoto.

Installazione del servizio tramite vlt installing-the-service-using-vlt

Il comando vlt sync install può essere utilizzato per installare automaticamente il bundle e la configurazione del servizio di sincronizzazione Vault.

Il bundle è installato sotto /libs/crx/vault/install e il nodo di configurazione è stato creato in /libs/crx/vault/com.day.jcr.sync.impl.VaultSyncServiceImpl. Inizialmente il servizio è abilitato, ma non sono configurate directory principali di sincronizzazione.

Nell'esempio seguente il servizio di sincronizzazione viene installato nell'istanza di CRX accessibile dall'URI specificato.

$ vlt --credentials admin:admin sync --uri http://localhost:4502/crx install

Visualizzazione dello stato del servizio displaying-the-service-status

Il comando status può essere utilizzato per visualizzare informazioni sul servizio di sincronizzazione in esecuzione. "

$ 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.
NOTE
Il comando status non recupera dati live dal servizio, ma legge la configurazione in /libs/crx/vault/com.day.jcr.sync.impl.VaultSyncServiceImpl.

Aggiunta di una cartella di sincronizzazione adding-a-sync-folder

Il comando register viene utilizzato per aggiungere una cartella da sincronizzare alla configurazione.

$ vlt sync register
Connecting via JCR remoting to http://localhost:4502/crx/server
Added new sync directory: /tmp/workspace/vltsync/jcr_root
NOTE
Il comando register non attiva una sincronizzazione finché non si configura la configurazione sync-once.

Rimozione di una cartella di sincronizzazione removing-a-sync-folder

Il comando unregister viene utilizzato per rimuovere una cartella da sincronizzare dalla configurazione.

$  vlt sync unregister
Connecting via JCR remoting to http://localhost:4502/crx/server
Removed sync directory: /tmp/workspace/vltsync/jcr_root
NOTE
È necessario annullare la registrazione di una cartella di sincronizzazione prima di eliminarla.

Configurazione della sincronizzazione configuring-synchronization

Configurazione del servizio service-configuration

Una volta in esecuzione, il servizio può essere configurato con i seguenti parametri:

  • vault.sync.syncroots: uno o più percorsi del file system locale che definiscono le directory principali di sincronizzazione.

  • vault.sync.fscheckinterval: frequenza (in secondi) di cui il file system deve essere analizzato per rilevare eventuali modifiche. Il valore predefinito è 5 secondi.

  • vault.sync.enabled: flag generale che abilita/disabilita il servizio.

NOTE
Il servizio può essere configurato con la console Web o un nodo sling:OsgiConfig (con il nome com.day.jcr.sync.impl.VaultSyncServiceImpl) nell'archivio.
Quando si lavora con AEM, esistono diversi metodi per gestire le impostazioni di configurazione per tali servizi; per informazioni dettagliate, vedere Configurazione di OSGi.

Sincronizza configurazione cartelle sync-folder-configuration

Ogni cartella di sincronizzazione memorizza la configurazione e lo stato in tre file:

  • .vlt-sync-config.properties: file di configurazione.

  • .vlt-sync.log: file di log contenente informazioni sulle operazioni eseguite durante la sincronizzazione.

  • .vlt-sync-filter.xml: filtri che definiscono quali parti dell'archivio vengono sincronizzate. Il formato di questo file è descritto dalla sezione Esecuzione di un'estrazione filtrata.

Il file .vlt-sync-config.properties consente di configurare le seguenti proprietà:

disabled Attiva o disattiva la sincronizzazione. Per impostazione predefinita, questo parametro è impostato su false per consentire la sincronizzazione.

sync-once Se non vuoto, la prossima analisi sincronizzerà la cartella nella direzione specificata, il parametro verrà cancellato. Sono supportati due valori:

  • JCR2FS: esporta tutto il contenuto nell'archivio JCR e scrive sul disco locale.
  • FS2JCR: importa tutto il contenuto dal disco nell'archivio JCR.

sync-log Definisce il nome del file di log. Il valore predefinito è .vlt-sync.log

Utilizzo della sincronizzazione VLT per lo sviluppo using-vlt-sync-for-development

Per impostare un ambiente di sviluppo basato su una cartella di sincronizzazione, procedere come segue:

  1. Estrai l’archivio con la riga di comando vlt:

    code language-shell
    $ vlt --credentials admin:admin co --force http://localhost:4502/crx dev
    
    note note
    NOTE
    Puoi utilizzare i filtri per estrarre solo i percorsi appropriati. Per informazioni, vedere la sezione Esecuzione di un'estrazione filtrata.
  2. Passa alla cartella principale della copia di lavoro:

    code language-shell
    $ cd dev/jcr_root/
    
  3. Installare il servizio di sincronizzazione nel repository:

    code language-xml
    $ 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. Inizializza il servizio di sincronizzazione:

    code language-shell
    $ 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. Modifica il file nascosto .vlt-sync-config.properties e configura la sincronizzazione per sincronizzare il contenuto dell'archivio:

    code language-xml
    sync-once=JCR2FS
    
    note note
    NOTE
    Questo passaggio scarica l’intero archivio in base alla configurazione del filtro.
  6. Controllare il file di log .vlt-sync.log per visualizzare l'avanzamento:

    code language-xml
    ***
    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 cartella locale è ora sincronizzata con l’archivio. La sincronizzazione è bidirezionale, pertanto la modifica dall’archivio verrà applicata alla cartella di sincronizzazione locale e viceversa.

NOTE
La funzionalità di sincronizzazione VLT supporta solo file e cartelle semplici, ma rileva i file serializzati con archivio speciale (con estensione content.xml, dialog.xml e così via) e li ignora automaticamente. Pertanto, è possibile utilizzare la sincronizzazione di Vault in un checkout predefinito di Vault.
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2