Gli amministratori devono spesso automatizzare o semplificare le attività più comuni all'interno di qualsiasi sistema. In AEM, ad esempio, la gestione di utenti, l'installazione di pacchetti e la gestione di pacchetti OSGi sono attività che devono essere eseguite normalmente.
A causa della natura RESTful del framework Sling su cui AEM è costruito, la maggior parte delle attività può essere eseguita con una chiamata URL. cURL può essere utilizzato per eseguire tali chiamate URL e può essere uno strumento utile per AEM amministratori.
cURL è uno strumento della riga di comando open-source utilizzato per eseguire manipolazioni URL. Supporta un'ampia gamma di protocolli Internet tra cui HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, DAP, DICT, TELNET, FILE, IMAP, POP3, SMTP e RTSP.
cURL è uno strumento noto e ampiamente utilizzato per ottenere o inviare dati utilizzando la sintassi URL ed è stato originariamente rilasciato nel 1997. Il nome cURL in origine significava "see URL".
A causa della natura RESTful del framework Sling su cui AEM è creato, la maggior parte delle attività può essere ridotta a una chiamata URL, che può essere eseguita con cURL. Le attività di manipolazione dei contenuti, come l’attivazione delle pagine e l’avvio dei flussi di lavoro, nonché le attività operative come la gestione dei pacchetti e la gestione degli utenti possono essere automatizzate tramite cURL. È inoltre possibile creare comandi cURL personalizzati per la maggior parte delle attività in AEM.
Qualsiasi comando AEM eseguito tramite cURL deve essere autorizzato come qualsiasi utente a AEM. Tutti gli ACL e i diritti di accesso vengono rispettati quando si utilizza cURL per eseguire un comando AEM.
cURL è una parte standard di macOS e alcune distanze Linux. Tuttavia è disponibile per la maggior parte di tutti i sistemi operativi. Gli ultimi download sono disponibili all'indirizzo https://curl.haxx.se/download.html.
L'archivio di origine di cURL è disponibile anche su GitHub.
I comandi cURL possono essere creati per la maggior parte delle operazioni in AEM quali attivazione di flussi di lavoro, verifica delle configurazioni OSGi, attivazione di comandi JMX, creazione di agenti di replica e molto altro.
Per trovare il comando esatto necessario per la vostra particolare operazione, è necessario utilizzare gli strumenti di sviluppo nel browser per catturare la chiamata POST al server quando eseguite il comando AEM.
Nei passaggi seguenti viene descritto come eseguire questa operazione utilizzando come esempio la creazione di una nuova pagina nel browser Chrome.
Preparate l’azione da richiamare all’interno di AEM. In questo caso, alla fine della procedura guidata Crea pagina, non è stato ancora fatto clic su Crea.
Avviate gli strumenti di sviluppo e selezionate la scheda Rete. Fare clic sull'opzione Mantieni registro prima di cancellare la console.
Fare clic su Crea nella procedura guidata Crea pagina per creare effettivamente il flusso di lavoro.
Fare clic con il pulsante destro del mouse sull'azione POST risultante e selezionare Copia -> Copia come cURL.
Copiate il comando cURL in un editor di testo e rimuovete tutte le intestazioni dal comando, che inizia con -H
(evidenziato in blu nell'immagine sottostante) e aggiungete il parametro di autenticazione corretto, ad esempio -u <user>:<password>
.
Eseguite il comando cURL dalla riga di comando e visualizzate la risposta.
Elenco di comandi cURL AEM per le comuni attività amministrative e operative.
Gli esempi seguenti presumono che AEM in esecuzione su localhost
sulla porta 4502
e utilizza l'utente admin
con password admin
. I segnaposto dei comandi aggiuntivi sono impostati tra parentesi angolari.
curl -u <user>:<password> http://<host>:<port>/crx/packmgr/service.jsp?cmd=ls
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=create -d packageName=<name> -d groupName=<name>
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=preview
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/console.html/etc/packages/mycontent.zip?cmd=contents
curl -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=build
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=rewrap
curl -u <user>:<password> -X POST -Fname=<New Name> http://localhost:4502/etc/packages/<Group Name>/<Package Name>.zip/jcr:content/vlt:definition
curl -u <user>:<password> -F cmd=upload -F force=true -F package=@test.zip http://localhost:4502/crx/packmgr/service/.json
curl -u <user>:<password> -F cmd=install http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip
curl -u <user>:<password> -F cmd=uninstall http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip
curl -u <user>:<password> -F cmd=delete http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip
curl -u <user>:<password> http://localhost:4502/etc/packages/my_packages/test.zip
curl -u <user>:<password> -FcreateUser= -FauthorizableId=hashim -Frep:password=hashim http://localhost:4502/libs/granite/security/post/authorizables
curl -u <user>:<password> -FcreateGroup=group1 -FauthorizableId=testGroup1 http://localhost:4502/libs/granite/security/post/authorizables
curl -u <user>:<password> -Fprofile/age=25 http://localhost:4502/home/users/h/hashim.rw.html
curl -u <user>:<password> -FcreateUser=testuser -FauthorizableId=hashimkhan -Frep:password=hashimkhan -Fprofile/gender=male http://localhost:4502/libs/granite/security/post/authorizables
curl -u <user>:<password> -FcreateUser=testuser -FauthorizableId=testuser -Frep:password=abc123 -Fmembership=contributor http://localhost:4502/libs/granite/security/post/authorizables
curl -u <user>:<password> -FaddMembers=testuser1 http://localhost:4502/home/groups/t/testGroup.rw.html
curl -u <user>:<password> -FremoveMembers=testuser1 http://localhost:4502/home/groups/t/testGroup.rw.html
curl -u <user>:<password> -Fmembership=contributor -Fmembership=testgroup http://localhost:4502/home/users/t/testuser.rw.html
curl -u <user>:<password> -FdeleteAuthorizable= http://localhost:4502/home/users/t/testuser
curl -u <user>:<password> -FdeleteAuthorizable= http://localhost:4502/home/groups/t/testGroup
Per ulteriori informazioni, vedere Backup e ripristino.
curl -u <user>:<password> -Faction=start http://localhost:4502/system/console/bundles/<bundle-name>
curl -u <user>:<password> -Faction=stop http://localhost:4502/system/console/bundles/<bundle-name>
curl -H "CQ-Action: Activate" -H "CQ-Handle: /content/test-site/" -H "CQ-Path: /content/test-site/" -H "Content-Length: 0" -H "Content-Type: application/octet-stream" http://localhost:4502/dispatcher/invalidate.cache
curl -H "CQ-Action: Deactivate" -H "CQ-Handle: /content/test-site/" -H "CQ-Path: /content/test-site/" -H "Content-Length: 0" -H "Content-Type: application/octet-stream" http://localhost:4502/dispatcher/invalidate.cache
curl -u <user>:<password> "http://localhost:4502/etc/replication/agents.author/publish/jcr:content.queue.json?agent=publish"
http://localhost:4502/etc/replication/agents.author/publish/jcr:content.queue.json?agent=publish
curl -X DELETE http://localhost:4502/etc/replication/agents.author/replication99 -u <user>:<password>
curl -u <user>:<password> -F "jcr:primaryType=cq:Page" -F "jcr:content/jcr:title=new-replication" -F "jcr:content/sling:resourceType=/libs/cq/replication/components/agent" -F "jcr:content/template=/libs/cq/replication/templates/agent" -F "jcr:content/transportUri=http://localhost:4503/bin/receive?sling:authRequestLogin=1" -F "jcr:content/transportUser=admin" -F "jcr:content/transportPassword={DES}8aadb625ced91ac483390ebc10640cdf"http://localhost:4502/etc/replication/agents.author/replication99
curl -u <user>:<password> -F "cmd=pause" -F "name=publish" http://localhost:4502/etc/replication/agents.author/publish/jcr:content.queue.json
curl -u <user>:<password> -F "cmd=clear" -F "name=publish" http://localhost:4502/etc/replication/agents.author/publish/jcr:content.queue.json
Per ulteriori informazioni, vedere Punteggio delle community e Badge.
Per ulteriori informazioni, vedere Punteggio e Badges Essentials.
Per ulteriori informazioni, vedere MSRP - Provider risorse di storage MongoDB.
Per ulteriori informazioni, vedere Abilitazione del CRXDE Lite in AEM.
Per ulteriori informazioni, vedere Raccolta di oggetti inattivi nell'archivio dati.
Per informazioni, vedere Scelta Adobe Analytics e Adobe Target.
Per ulteriori informazioni, vedere Single Sign On.
Elenco dei comandi cURL AEM per la manipolazione del contenuto.
Gli esempi seguenti presumono che AEM in esecuzione su localhost
sulla porta 4502
e utilizza l'utente admin
con password admin
. I segnaposto dei comandi aggiuntivi sono impostati tra parentesi angolari.
curl -u <user>:<password> -X POST -F path="/content/path/to/page" -F cmd="activate" http://localhost:4502/bin/replicate.json
curl -u <user>:<password> -X POST -F path="/content/path/to/page" -F cmd="deactivate" http://localhost:4502/bin/replicate.json
curl -u <user>:<password> -F cmd=activate -F ignoredeactivated=true -F onlymodified=true -F path=/content/geometrixx http://localhost:4502/etc/replication/treeactivation.html
curl -u <user>:<password> -X POST -F cmd="lockPage" -F path="/content/path/to/page" -F "_charset_"="utf-8" http://localhost:4502/bin/wcmcommand
curl -u <user>:<password> -X POST -F cmd="unlockPage" -F path="/content/path/to/page" -F "_charset_"="utf-8" http://localhost:4502/bin/wcmcommand
curl -u <user>:<password> -F cmd=copyPage -F destParentPath=/path/to/destination/parent -F srcPath=/path/to/source/location http://localhost:4502/bin/wcmcommand
Per informazioni dettagliate, vedere Interazione con i flussi di lavoro a livello di programmazione.
curl -u <user>:<password> -F jcr:primaryType=sling:Folder http://localhost:4502/etc/test
curl -u <user>:<password> -F :operation=delete http://localhost:4502/etc/test/test.properties
curl -u <user>:<password> -F":operation=move" -F":applyTo=/sourceurl" -F":dest=/target/parenturl/" https://localhost:4502/content
curl -u <user>:<password> -F":operation=copy" -F":applyTo=/sourceurl" -F":dest=/target/parenturl/" https://localhost:4502/content
curl -u <user>:<password> -F"*=@test.properties" http://localhost:4502/etc/test
curl -u <user>:<password> -F"test2.properties=@test.properties" http://localhost:4502/etc/test
curl -u <user>:<password> -F "*=@test.properties;type=text/plain" http://localhost:4502/etc/test
Per informazioni, consultate Assets HTTP API.