1
votes

Mettre à jour filter.xml du package aem à l'aide de curl

Je veux créer un package aem en utilisant CURL. Je ne peux pas ajouter de filtres au package.

créer un package

curl -u admin: admin -X POST http: // localhost: 4502 / crx / packmgr / service / .json / etc / packages / mes_packages / testpackage? cmd = create -d packageName = testpackage -d groupName = my_packages

ajouter des filtres

curl -u admin: admin -X POST http: // localhost: 4502 / crx / packmgr / update.jsp -F chemin = / etc / packages / mes_packages / testpackage.zip -F packageName = testpackage -F groupName = mes_packages -F {filter = "[{\ 'root \': \ '/ content / wucom / nam / ca / ​​fr / contactus-success \ '}] "} -F' charset = UTF-8 '

package de compilation

curl -u admin: admin -X POST http: // localhost: 4502 / crx / packmgr / service / .json / etc / packages / mes_packages / testpackage.zip? cmd = build

Le package construit n'a pas de filtre.


0 commentaires

3 Réponses :


2
votes

Étant donné que /crx/packmgr/service.jsp ne prend pas en charge la création de filtres, vous pouvez à la place faire ce qui suit:

  1. Créez un fichier META-INF / vault / filter.xml approprié sur le système de fichiers.
  2. Téléchargez le fichier zip du package:

    curl -u admin: admin http: // localhost: 4502 / etc / packages /my_packages/testpackage.zip

  3. Extrayez le fichier filter.xml du zip en utilisant la commande jar:

    jar -xvf testpackage.zip META-INF / vault / filter.xml

  4. Modifiez le fichier META-INF / vault / filter.xml extrait.

  5. Mettez à jour le fichier zip avec le nouveau filter.xml en utilisant la commande jar -uvf:

    jar -uvf testpackage.zip META-INF / vault / filter.xml

Consultez cet article pour obtenir un exemple de code sur la façon de générer un package filter.xml à l'aide de code python: https://helpx.adobe.com/experience-manager/kb/How-to-build-a-package-from-an-XPath-query- sans-installer-aucun-outil-sur-l'instance-AEM-AEM.html


0 commentaires

0
votes

Je poste la commande qui aide à créer un filtre et travaille avec AEM 6.4. La création et la construction d'un package sont des tâches relativement plus simples et celles-ci ont été ignorées pour que l'article reste succinct -

curl -X POST \  http://host:4502/etc/packages/my_packages/content_backup2.zip/jcr:content/vlt:definition/filter/ \
  -H 'Postman-Token: bc168785-94dd-4b99-a302-4b0a70b7225c' \
  -H 'cache-control: no-cache' \
  -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
  -F _charset_=utf-8 \
  -F jcr:primaryType=nt:unstructured \
  -F mode=replace \
  -F root=/content \
  -F :nameHint=f0

Cette commande créera un nœud de filtre sous vlt: definition à l'intérieur du package.

La création de nœuds de sous-filtre est également simple. Cela prendra la sauvegarde du contenu de l'arborescence complète des nœuds de contenu. Vous pouvez remplacer " -F root = / content " par votre exigence-

    curl -X POST \  http://Host:4502/etc/packages/my_packages/content_backup2.zip/jcr:content/vlt:definition/ \
  -H 'Postman-Token: 8ae9290f-af72-44a4-808c-658a7130d5f1' \
  -H 'cache-control: no-cache' \
  -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
  -F _charset_=utf-8 \
  -F jcr:primaryType=nt:unstructured \
  -F :nameHint=filter


0 commentaires

0
votes
<form id="damFilterForm" method="POST" action="/etc/packages/local_packages/packageWithFiltersYo.zip/jcr:content/vlt:definition/filter/f0" enctype="multipart/form-data">
        <input id="damPath" type="hidden" name="root" value="/"/>
        <input id="damPath" type="hidden" name="jcr:primaryType" value="nt:unstructured"/>
        <input type="hidden" name="mode" value="replace"/>
        <input id="helperDamSubmit" type="Submit" value="Submit DAM" style="display:none" />
    </form>
$("#damFilterForm").submit();Please note: The filter can be added like this, just that this gives a renderer that isn't user friendly and there seems now way to get it back to the main referrer JSP. i.e. the redirect URL is the filter node itself. And to get it back to the form is quite a task.

0 commentaires