Så här använder du VLT-verktyget how-to-use-the-vlt-tool

Jackrabbit FileVault-verktyget (VLT) är ett verktyg som utvecklats av Apache Foundation som mappar innehållet i en Jackrabbit/AEM-instans till filsystemet. VLT-verktyget har liknande funktioner som en VLT-klient (till exempel en Subversion-klient), med normala in-, utchecknings- och hanteringsåtgärder samt konfigurationsalternativ för flexibel representation av projektinnehållet.

Du kör VLT-verktyget från kommandoraden. I det här dokumentet beskrivs hur du använder verktyget, inklusive hur du kommer igång och får hjälp, samt en lista med alla kommandon och tillgängliga alternativ.

Koncept och arkitektur concepts-and-architecture

Se Översikt över felsökning och Vault FS sida från officiell sida Dokumentation till Apache Jackrabbit Filevault om du vill ha en detaljerad översikt över koncept och struktur i verktyget Filevault.

Komma igång med VLT getting-started-with-vlt

Om du vill börja använda VLT måste du göra följande:

  1. Installera VLT, uppdatera miljövariabler och uppdatera globala ignorerade underversionsfiler.
  2. Konfigurera AEM (om du inte redan har gjort det).
  3. Ta en titt på AEM.
  4. Synkronisera med databasen.
  5. Testa om synkroniseringen fungerade.

Installera VLT-verktyget installing-the-vlt-tool

Om du vill använda VLT-verktyget måste du först installera det. Det installeras inte som standard eftersom det är ett extra verktyg. Dessutom måste du ange systemmiljövariabeln.

  1. Hämta arkivfilen för FileVault från Maven artifact-arkiv.

    note note
    NOTE
    VLT-verktygets källa är finns på GitHub.

    1. Hämta arkivet.

  2. Lägg till <archive-dir>/vault-cli-<version>/bin i din miljö PATH så att kommandofilerna vlt eller vlt.bat används på lämpligt sätt. Till exempel:

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

  3. Öppna ett kommandoradsskal och kör vlt --help. Kontrollera att utdata liknar följande hjälpskärm:

    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
    

När du har installerat den måste du uppdatera globala ignorerade underversionsfiler. Redigera SVN-inställningarna och lägg till följande:

[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

Konfigurera tecknet för radslut configuring-the-end-of-line-character

VLT hanterar automatiskt End Of Line (EOF) enligt följande regler:

  • rader med filer utcheckade i Windows slutar med en CRLF
  • rader med filer utcheckade på Linux/Unix slutar med en LF
  • rader med filer som har implementerats i databasen avslutas med en LF

För att säkerställa att konfigurationen för VLT och SVN matchar bör du konfigurera svn:eol-style egenskap till native för filtillägget som lagras i databasen. Redigera SVN-inställningarna och lägg till följande:

[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

Checka ut databasen checking-out-the-repository

Checka ut databasen med hjälp av källkontrollssystemet. I svn skriver du till exempel följande (ersätter URI och sökväg med din databas):

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

Synkronisera med databasen synchronizing-with-the-repository

Du måste synkronisera filnivå med databasen. Så här gör du:

  1. Gå till kommandoraden content/jcr_root.

  2. Checka ut databasen genom att skriva följande (ditt portnummer ersätts för 4502 och dina administratörslösenord):

    code language-shell
    vlt --credentials admin:admin co --force http://localhost:4502/crx
    
    note note
    NOTE
    Inloggningsuppgifterna behöver bara anges en gång efter din första utcheckning. De lagras sedan i din hemkatalog i .vault/auth.xml.

Testar om synkroniseringen fungerade testing-whether-the-synchronization-worked

När du har checkat ut databasen och synkroniserat den bör du testa att se till att allt fungerar som det ska. Ett enkelt sätt är att redigera .jsp och se om ändringarna återspeglas när ändringarna har verkställts.

Så här testar du synkroniseringen:

  1. Navigera till .../jcr_content/libs/foundation/components/text.
  2. Redigera något i text.jsp.
  3. Se de ändrade filerna genom att skriva vlt st
  4. Se ändringarna genom att skriva vlt diff text.jsp
  5. Genomför ändringarna: vlt ci test.jsp.
  6. Läs in en sida som innehåller en textkomponent igen och se om ändringarna finns där.

Få hjälp med VLT-verktyget getting-help-with-the-vlt-tool

När du har installerat VLT-verktyget kommer du åt dess hjälpfil från kommandoraden:

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

Om du vill ha hjälp med ett visst kommando skriver du hjälpkommandot följt av namnet på kommandot. Till exempel:

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

Vanliga uppgifter utförda i VLT common-tasks-performed-in-vlt

Nedan följer några vanliga uppgifter som utförs i VLT. Detaljerad information om varje kommando finns i kommandon.

Checka ut ett underträd checking-out-a-subtree

Om du t.ex. bara vill checka ut ett underträd i databasen /apps/geometrixxkan du göra det genom att skriva följande:

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

Då skapas en ny exportrot geo med META-INF och jcr_root och placerar alla filer under /apps/geometrixx in geo/jcr_root.

Utföra en filtrerad utcheckning performing-a-filtered-checkout

Om du har ett befintligt arbetsytefilter och vill använda det för utcheckning, kan du antingen skapa META-INF/vault och placera filtret där, eller ange det på kommandoraden enligt följande:

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

Ett exempelfilter:

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

Använda Importera/exportera i stället för VLT-kontroll using-import-export-instead-of-vlt-control

Du kan importera och exportera innehåll mellan en JCR-databas och det lokala filsystemet utan att använda kontrollfiler.

Importera och exportera innehåll utan att använda .vlt kontroll:

  1. Inledningsvis konfigurera databasen:

    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. Ändra fjärrkopian och uppdatera JCR:

    code language-shell
    $ cd /projects/geometrixx
    $ vlt -v import http://localhost:4502/crx . /
    
  3. Ändra fjärrkopian och uppdatera filservern:

    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
    

Använda VLT using-vlt

Om du vill skicka kommandon i VLT skriver du följande på kommandoraden:

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

Alternativ och kommandon beskrivs i detalj i följande avsnitt.

Globala VLT-alternativ vlt-global-options

Nedan följer en lista över VLT-alternativ som är tillgängliga för alla kommandon. Mer information om ytterligare tillgängliga alternativ finns i de enskilda kommandona.

Alternativ
Beskrivning
-Xjcrlog <arg>
Utökade JCRLog-alternativ
-Xdavex <arg>
Utökade alternativ för JCR-fjärrkommunikation
--credentials <arg>
Standardautentiseringsuppgifterna som ska användas
--config <arg>
JcrFs-konfigurationen som ska användas
-v (--verbose)
utförlig utskrift
-q (--quiet)
skriv ut så lite som möjligt
--version
Skriver ut versionsinformation och avslutar VLT
--log-level <level>
Anger loggnivån, till exempel loggnivån log4j.
-h (--help) <command>
Skriver ut hjälp för det aktuella kommandot

VLT-kommandon vlt-commands

I följande tabell beskrivs alla tillgängliga VLT-kommandon. I de enskilda kommandona finns detaljerad information om syntax, tillgängliga alternativ och exempel.

Kommando
Förkortat kommando
Beskrivning
export
Exporterar från en JCR-databas (valv) till det lokala filsystemet utan kontrollfiler.
import
Importerar ett lokalt filsystem till en JCR-databas (valvfilsystem).
checkout
co
Checkar ut ett valvfilsystem. Använd detta för en inledande JCR-databas till det lokala filsystemet. (Obs! Checka först ut databasen i subversion.)
analyze
Analyserar paket.
status
st
Skriver ut status för arbetskopia av filer och kataloger.
update
up
Importerar ändringar från databasen till arbetskopian.
info
Visar information om en lokal fil.
commit
ci
Skickar ändringar från din arbetskopia till databasen.
revert
rev
Återställer arbetskopiefilen till det ursprungliga läget och ångrar de flesta lokala redigeringar.
resolved
res
Tar bort konfliktstatus för arbetsfiler eller kataloger.
propget
pg
Skriver ut värdet för en egenskap på filer eller kataloger.
proplist
pl
Skriver ut egenskaperna för filer eller kataloger.
propset
ps
Anger värdet för en egenskap i filer eller kataloger.
add
Placerar filer och kataloger under versionskontroll.
delete
del eller rm
Tar bort filer och kataloger från versionskontrollen.
diff
di
Visar skillnaderna mellan två banor.
console
Kör en interaktiv konsol.
rcp
Kopierar ett nodträd från en fjärrdatabas till en annan.
sync
Låter dig styra tjänsten för valvsynkronisering.

Exportera export

Exporterar Vaultfilsystemet som är monterat på <uri> till det lokala filsystemet på <local-path>. Ett valfritt <jcr-path> kan anges för att exportera endast ett underträd.

Syntax syntax

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

Alternativ options

-v (--verbose)
utförlig utskrift
-t (--type) <arg>
anger exporttypen, antingen plattform eller jar.
-p (--prune-missing)
anger om saknade lokala filer ska tas bort
<uri>
montpoint uri
<jcrPath>
JCR-sökväg
<localPath>
lokal sökväg

Exempel examples

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

Importera import

Importerar det lokala filsystemet (med början <local-path> till valvfilsystemet på <uri>. Du kan ange en <jcr-path> som importrot. If --sync anges placeras de importerade filerna automatiskt under vaultkontroll.

Syntax syntax-1

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

Alternativ options-1

-v (--verbose)
utförlig utskrift
-s (-- sync)
placerar de lokala filerna under vaultkontrollen
<uri>
montpoint uri
<jcrPath>
JCR-sökväg
<localPath>
lokal sökväg

Exempel examples-1

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

Utcheckning (co) checkout-co

Utför en första utcheckning från en JCR-databas till det lokala filsystemet från <uri> till det lokala filsystemet på <local-path>. Du kan också lägga till en <jcrpath> -argument för att checka ut en underkatalog till fjärrträdet. Du kan ange filter för arbetsytan som kopieras till META-INF-katalogen.

Syntax syntax-2

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

Alternativ options-2

--force
tvingar utcheckning att skriva över lokala filer om de redan finns
-v (--verbose)
utförlig utskrift
-q (--quiet)
så lite som möjligt
-f (--filter) <file>
anger automatiska filter om inga har definierats
<uri>
montpoint uri
<jcrPath>
fjärrsökväg (valfritt)
<localPath>
(valfritt) lokal sökväg

Exempel examples-2

Använda JCR Remoting:

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

Med standardarbetsytan:

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

Om URI:n är ofullständig utökas den:

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

Analysera analyze

Analyserar paket.

Syntax syntax-3

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

Alternativ options-3

-l (--linkFormat) <format>
utskriftsformat för snabbkorrigeringslänkar (namn,id), till exempel `[CQ520_HF_%s
-v (--verbose)
utförlig utskrift
-q (--quiet)
så lite som möjligt
<localPaths> [<localPaths> ...]
lokal sökväg

Status status

Skriver ut status för arbetskopia av filer och kataloger.

If --show-update anges kontrolleras varje fil mot fjärrversionen. Den andra bokstaven anger sedan vilken åtgärd som ska utföras av en uppdateringsåtgärd.

Syntax syntax-4

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

Alternativ options-4

-v (--verbose)
utförlig utskrift
-q (--quiet)
så lite som möjligt
-u (--show-update)
visar uppdateringsinformation
-N (--non-recursive)
arbetar i en enda katalog
<file> [<file> ...]
fil eller katalog som ska visa status

Uppdatera update

Kopierar ändringar från databasen till arbetskopian.

Syntax syntax-5

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

Alternativ options-5

-v (--verbose)
utförlig utskrift
-q (--quiet)
så lite som möjligt
--force
tvingar överskrivning av lokala filer
-N (--non-recursive)
arbetar i en enda katalog
<file> [<file> ...]
fil eller katalog som ska uppdateras

Info info

Visar information om en lokal fil.

Syntax syntax-6

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

Alternativ options-6

-v (--verbose)
utförlig utskrift
-q (--quiet)
så lite som möjligt
-R (--recursive)
används rekursivt
<file> [<file> ...]
fil eller katalog för att visa information

Verkställ commit

Skickar ändringar från din arbetskopia till databasen.

Syntax syntax-7

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

Alternativ options-7

-v (--verbose)
utförlig utskrift
-q (--quiet)
så lite som möjligt
--force
Tvingar att implementera även om fjärrkopian ändras
-N (--non-recursive)
arbetar i en enda katalog
<file> [<file> ...]
fil eller katalog som ska implementeras

Återställ revert

Återställer arbetskopiefilen till ursprungligt läge och ångrar de flesta lokala redigeringarna.

Syntax syntax-8

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

Alternativ options-8

-q (--quiet)
så lite som möjligt
-R (--recursive)
nedtonar rekursivt
<file> [<file> ...]
fil eller katalog som ska implementeras

Löst resolved

Tar bort motstridig läge för arbetskopiera filer eller kataloger.

NOTE
Det här kommandot löser inte konflikter semantiskt och tar inte bort konfliktmarkörer. Det tar bara bort konfliktrelaterade artefaktfiler och tillåter att PATH verkställs igen.

Syntax syntax-9

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

Alternativ options-9

-q (--quiet)
så lite som möjligt
-R (--recursive)
nedtonar rekursivt
--force
löses, även om det finns konfliktmarkörer
<file> [<file> ...]
fil eller katalog som ska tolkas

Propget propget

Skriver ut värdet för en egenskap på filer eller kataloger.

Syntax syntax-10

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

Alternativ options-10

-q (--quiet)
så lite som möjligt
-R (--recursive)
nedtonar rekursivt
<propname>
egenskapsnamnet
<file> [<file> ...]
fil eller katalog som egenskapen ska hämtas från

Proplist proplist

Skriver ut egenskaperna för filer eller kataloger.

Syntax syntax-11

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

Alternativ options-11

-q (--quiet)
så lite som möjligt
-R (--recursive)
nedtonar rekursivt
<file> [<file> ...]
fil eller katalog som egenskaperna ska listas från

Propset propset

Anger värdet för en egenskap i filer eller kataloger.

NOTE
VLT känner igen följande egenskaper med specialversioner:
vlt:mime-type
Filens mime-typ. Används för att avgöra om filen ska sammanfogas. En mime-text som börjar med "text/" (eller en mime-typ som saknas) behandlas som text. Allt annat behandlas som binärt.

Syntax syntax-12

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

Alternativ options-12

-q (--quiet)
så lite som möjligt
-R (--recursive)
nedtonar rekursivt
<propname>
egenskapsnamnet
<propval>
egenskapsvärdet
<file> [<file> ...]
fil eller katalog som egenskapen ska anges till

Lägg till add

Placerar filer och kataloger under versionskontroll och schemalägger dem så att de kan läggas till i databasen. De kommer att läggas till vid nästa implementering.

Syntax syntax-13

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

Alternativ options-13

-v (--verbose)
utförlig utskrift
-q (--quiet)
så lite som möjligt
-N (--non-recursive)
arbetar i en enda katalog
--force
tvingar operationen att köras
<file> [<file> ...]
lokal fil eller katalog som ska läggas till

Ta bort delete

Tar bort filer och kataloger från versionskontrollen.

Syntax syntax-14

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

Alternativ options-14

-v (--verbose)
utförlig utskrift
-q (--quiet)
så lite som möjligt
--force
tvingar operationen att köras
<file> [<file> ...]
lokal fil eller katalog som ska tas bort

Diff diff

Visar skillnaderna mellan två banor.

Syntax syntax-15

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

Alternativ options-15

-N (--non-recursive)
arbetar i en enda katalog
<file> [<file> ...]
fil eller katalog som skillnaderna ska visas från

Konsol console

Kör en interaktiv konsol.

Syntax syntax-16

console -F <file>

Alternativ options-16

-F (--console-settings) <file>
anger konsolinställningsfilen. Standardfilen är console.properties.

Rcp rcp

Kopierar ett nodträd från en fjärrdatabas till en annan. <src> pekar på källnoden och <dst> anger målsökvägen där den överordnade noden måste finnas. Rcp bearbetar noderna genom att direktuppspela data.

Syntax syntax-17

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

Alternativ options-17

-q (--quiet)
Skriver ut så lite som möjligt.
-r (--recursive)
Nedbrytning rekursivt.
-b (--batchSize) <size>
Antal noder som ska bearbetas innan en mellanliggande spara sparas.
-t (--throttle) <seconds>
Antal sekunder som ska förflyta efter en mellanliggande sparning.
-u (--update)
Skriv över/ta bort befintliga noder.
-n (--newer)
Respektera egenskaperna lastModified för uppdatering.
-e (--exclude) <arg> [<arg> ...]
Regexp för uteslutna källsökvägar.
<src>
Källträdets databasadress.
<dst>
Målnodens databasadress.

Exempel examples-3

vlt rcp http://localhost:4502/crx/-/jcr:root/content  https://admin:admin@localhost:4503/crx/-/jcr:root/content_copy
NOTE
The --exclude måste följas av ett annat alternativ innan <src> och <dst> argument. Till exempel:
vlt rcp -e ".*\.txt" -r

Synkronisera sync

Låter dig styra tjänsten för valvsynkronisering. Utan argument försöker det här kommandot synkronisera den aktuella arbetskatalogen. Om den körs inom en giltig utcheckning används respektive filter och värd för att konfigurera synkroniseringen. Om den körs utanför en giltig utcheckning registreras den aktuella mappen endast för synkronisering om katalogen är tom.

Syntax syntax-18

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

Alternativ options-18

-v (--verbose)
utförlig utskrift.
--force
tvinga vissa kommandon att köras.
-u (--uri) <uri>
Anger URI:n för synkroniseringsvärden.
<command>
synkroniseringskommando som ska köras.
<localPath>
lokal mapp att synkronisera.

Statuskoder status-codes

Statuskoderna som används av VLT är:

  • ' inga ändringar
  • A har lagts till
  • C i konflikt
  • D har tagits bort
  • I ignorerades
  • M har ändrats
  • R har ersatts
  • ? objektet är inte under versionskontroll
  • '!' objektet saknas (tas bort av ett icke-svn-kommando) eller är ofullständigt
  • Versionsobjektet '~' hindrades av något objekt av en annan typ

Konfigurera FileVault-synkronisering setting-up-filevault-sync

Tjänsten vault sync används för att synkronisera databasinnehåll med en lokal filsystemrepresentation och omvänt. Detta uppnås genom att installera en OSGi-tjänst som avlyssnar databasändringar och regelbundet söker igenom filsystemets innehåll. Det använder samma serialiseringsformat som vault för att mappa databasinnehållet till disken.

NOTE
Tjänsten för vaultsynkronisering är ett utvecklingsverktyg och bör inte användas i ett produktivt system. Tjänsten kan bara synkroniseras med det lokala filsystemet och kan inte användas för fjärrutveckling.

Installera tjänsten med VLT installing-the-service-using-vlt

The vlt sync install kan användas för att installera tjänstpaketet för vaultsynkronisering och konfigurationen automatiskt.

Paketet installeras nedan /libs/crx/vault/install och config-noden skapas på /libs/crx/vault/com.day.jcr.sync.impl.VaultSyncServiceImpl. Tjänsten är till att börja med aktiverad, men inga synkroniseringsrötter har konfigurerats.

I följande exempel installeras synkroniseringstjänsten på CRX-instansen som är tillgänglig för den angivna uri.

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

Visa tjänstens status displaying-the-service-status

The status -kommandot kan användas för att visa information om den synkroniseringstjänst som körs. "

$ 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
The status -kommandot hämtar inga livedata från tjänsten, utan läser i stället konfigurationen på /libs/crx/vault/com.day.jcr.sync.impl.VaultSyncServiceImpl.

Lägga till en synkroniseringsmapp adding-a-sync-folder

The register -kommandot används för att lägga till en mapp som ska synkroniseras med konfigurationen.

$ vlt sync register
Connecting via JCR remoting to http://localhost:4502/crx/server
Added new sync directory: /tmp/workspace/vltsync/jcr_root
NOTE
The register kommandot startar inte någon synkronisering förrän du konfigurerar sync-once konfiguration.

Ta bort en synkroniseringsmapp removing-a-sync-folder

The unregister -kommandot används för att ta bort en mapp som ska synkroniseras från konfigurationen.

$  vlt sync unregister
Connecting via JCR remoting to http://localhost:4502/crx/server
Removed sync directory: /tmp/workspace/vltsync/jcr_root
NOTE
Du måste avregistrera en synkroniseringsmapp innan du tar bort själva mappen.

Konfigurerar synkronisering configuring-synchronization

Tjänstkonfiguration service-configuration

När tjänsten körs kan den konfigureras med följande parametrar:

  • vault.sync.syncroots: En eller flera sökvägar till det lokala filsystemet som definierar synkroniseringsrötterna.

  • vault.sync.fscheckinterval: Täthet (i sekunder) som filsystemet ska genomsökas efter ändringar. Standardvärdet är 5 sekunder.

  • vault.sync.enabled: Allmän flagga som aktiverar/inaktiverar tjänsten.

NOTE
Tjänsten kan konfigureras med webbkonsolen eller en sling:OsgiConfig nod (med namnet com.day.jcr.sync.impl.VaultSyncServiceImpl) i databasen.
När du arbetar med AEM finns det flera metoder för att hantera konfigurationsinställningarna för sådana tjänster. Se Konfigurerar OSGi för fullständig information.

Synkronisera mappkonfiguration sync-folder-configuration

I varje synkroniseringsmapp lagras konfiguration och status i tre filer:

  • .vlt-sync-config.properties: konfigurationsfil.

  • .vlt-sync.log: loggfil som innehåller information om de åtgärder som utfördes under synkroniseringen.

  • .vlt-sync-filter.xml: -filter som definierar vilka delar av databasen som ska synkroniseras. Filens format beskrivs i Utföra en filtrerad utcheckning -avsnitt.

The .vlt-sync-config.properties kan du konfigurera följande egenskaper:

inaktiverad Aktiverar eller inaktiverar synkroniseringen. Som standard är den här parametern inställd på false för att tillåta synkronisering.

sync-once Om nästa sökning inte är tom synkroniseras mappen i den angivna riktningen, kommer parametern att tas bort. Två värden stöds:

  • JCR2FS: exporterar allt innehåll i JCR-databasen och skriver till den lokala hårddisken.
  • FS2JCR: importerar allt innehåll från disken till JCR-databasen.

sync-log Definierar loggfilens namn. Som standard är värdet .vlt-sync.log

Använda VLT-synkronisering för utveckling using-vlt-sync-for-development

Så här konfigurerar du en utvecklingsmiljö baserad på en synkroniseringsmapp:

  1. Checka ut databasen med VLT-kommandoraden:

    code language-shell
    $ vlt --credentials admin:admin co --force http://localhost:4502/crx dev
    
    note note
    NOTE
    Du kan bara använda filter för att checka ut lämpliga sökvägar. Se Utföra en filtrerad utcheckning för mer information.
  2. Gå till rotmappen för arbetskopian:

    code language-shell
    $ cd dev/jcr_root/
    
  3. Installera synkroniseringstjänsten i din databas:

    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. Initiera synkroniseringstjänsten:

    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. Redigera .vlt-sync-config.properties dold fil och konfigurera synkronisering för att synkronisera innehållet i din databas:

    code language-xml
    sync-once=JCR2FS
    
    note note
    NOTE
    I det här steget hämtas hela databasen enligt din filterkonfiguration.
  6. Kontrollera loggfilen .vlt-sync.log för att se förloppet:

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

Din lokala mapp är nu synkroniserad med databasen. Synkroniseringen är dubbelriktad, så ändringar från databasen tillämpas på din lokala synkroniseringsmapp och omvänt.

NOTE
Funktionen för VLT-synkronisering stöder endast enkla filer och mappar men identifierar särskilda serialiserade vault-filer (.content.xml, dialog.xml och så vidare) och ignorerar dem. Det är därför möjligt att använda valvsynkronisering i en standardvärdeutcheckning.
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2