Generieren mehrerer interaktiver Kommunikationen mithilfe der Batch-API use-batch-api-to-generate-multiple-ic

Sie können die Batch-API verwenden, um mehrere interaktive Kommunikationen aus einer Vorlage zu erstellen. Die Vorlage ist eine interaktive Kommunikation ohne Daten. Die Batch-API kombiniert Daten mit einer Vorlage, um eine interaktive Kommunikation zu erzeugen. Die API ist bei der Massenproduktion interaktiver Kommunikationen nützlich. Zum Beispiel Telefonrechnungen, Kreditkartenauszüge für mehrere Kunden.

Die Batch-API akzeptiert Datensätze (Daten) im JSON-Format und aus einem Formulardatenmodell. Die Anzahl der erzeugten interaktiven Kommunikationen entspricht den Datensätzen, die in der JSON-Eingabedatei im konfigurierten Formulardatenmodell angegeben sind. Sie können die API verwenden, um sowohl Druck- als auch Web-Ausgaben zu erstellen. Die PRINT-Option erzeugt ein PDF-Dokument, und die WEB-Option erzeugt Daten im JSON-Format für jeden einzelnen Datensatz.

Verwenden der Batch-API using-the-batch-api

Sie können die Batch-API mit überwachten Ordnern oder als eigenständige Rest-API verwenden. Sie konfigurieren eine Vorlage, einen Ausgabetyp (HTML, PRINT oder beides), ein Gebietsschema, einen Service zur Vorbefüllungs und einen Namen für die generierte interaktive Kommunikation, um die Batch-API zu verwenden.

Sie kombinieren einen Datensatz mit einer Vorlage für interaktive Kommunikation, um eine interaktive Kommunikation zu erzeugen. Batch-APIs können Datensätze (Daten für interaktive Kommunikationsvorlagen) direkt aus einer JSON-Datei oder aus einer externen Datenquelle lesen, auf die über das Formulardatenmodell zugegriffen wird. Sie können jeden Datensatz in einer separaten JSON-Datei speichern oder ein JSON-Array erstellen, um alle Datensätze in einer Datei zu speichern.

Ein einzelner Datensatz in einer JSON-Datei

{
   "employee": {
       "name": "Sara",
       "id": 3,
       "mobileNo": 9871996463,
       "age": 37
   }
}

Mehrere Datensätze in einer JSON-Datei

[{
   "employee": {
       "name": "John",
       "id": 1,
       "mobileNo": 9871996461,
       "age": 39
   }
},{
   "employee": {
       "name": "Jacob",
       "id": 2,
       "mobileNo": 9871996462,
       "age": 38
   }
},{
   "employee": {
       "name": "Sara",
       "id": 3,
       "mobileNo": 9871996463,
       "age": 37
   }
}]

Verwenden der Batch-API mit überwachten Ordnern using-the-batch-api-watched-folders

Um die API einfach zu erleben, stellt AEM Forms standardmäßig einen Dienst für überwachte Ordner bereit, der für die Verwendung der Batch-API konfiguriert ist. Sie können über die Benutzeroberfläche von AEM Forms auf den Dienst zugreifen, um mehrere interaktive Kommunikationen zu generieren. Sie können auch benutzerdefinierte Services entsprechend Ihren Anforderungen erstellen. Sie können die unten aufgeführten Methoden verwenden, um die Batch-API mit dem überwachten Ordner zu verwenden:

  • Geben Sie Eingabedaten (Datensätze) im JSON-Dateiformat an, damit Sie eine interaktive Kommunikation erstellen können.
  • Verwenden Sie Eingabedaten (Datensätze), die in einer externen Datenquelle gespeichert sind und über ein Formulardatenmodell aufgerufen werden, um eine interaktive Kommunikation zu erstellen.

Geben Sie Eingabedatendatensätze im JSON-Dateiformat an, damit Sie eine interaktive Kommunikation erstellen können specify-input-data-in-JSON-file-format

Sie kombinieren einen Datensatz mit einer Vorlage für interaktive Kommunikation, um eine interaktive Kommunikation zu erzeugen. Sie können für jeden Datensatz eine separate JSON-Datei erstellen oder ein JSON-Array erstellen, um alle Datensätze in einer Datei zu speichern:

So erstellen Sie eine interaktive Kommunikation aus Datensätzen, die in einer JSON-Datei gespeichert sind:

  1. Erstellen Sie einen überwachten Ordner und konfigurieren Sie ihn für die Verwendung der Batch-API:

    1. Melden Sie sich bei der AEM Forms-Autoreninstanz an.
    2. Navigieren Sie zu Tools > Formulare > Überwachten Ordner konfigurieren. Wählen Sie Neu aus.
    3. Geben Sie die den Namen und den physischen Pfad des Ordners an. Beispiel: c:\batchprocessing.
    4. Wählen Sie die Option Service im Feld Datei verarbeiten mit.
    5. Wählen Sie den Service com.adobe.fd.ccm.multichannel.batch.impl.service.InteractiveCommunicationBatchServiceImpl im Feld Service-Name.
    6. Geben Sie ein Ausgabedateimuster an. Beispiel: %F/ pattern gibt an, dass der überwachte Ordner Eingabedateien in einem Unterordner des Ordners "Überwachter Ordner\input"finden kann.
  2. So konfigurieren Sie die erweiterten Parameter:

    1. Öffnen Sie die Registerkarte Erweitert und fügen Sie die folgenden benutzerdefinierten Eigenschaften hinzu:

      table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3
      Eigenschaft Typ Beschreibung
      templatePath Zeichenfolge Geben Sie den Pfad der zu verwendenden interaktiven Kommunikationsvorlage an. Beispiel: /content/dam/formsanddocuments/testsample/mediumic. Dies ist eine obligatorische Eigenschaft.
      recordPath Zeichenfolge Der Wert des Felds recordPath hilft beim Festlegen des Namens einer interaktiven Kommunikation. Sie können den Pfad eines Datensatzfelds als Wert des Felds recordPath festlegen. Wenn Sie beispielsweise /employee/Id angeben, wird der Wert des ID-Felds zum Namen für die entsprechende interaktive Kommunikation. Der Standardwert ist eine zufällige UID.
      usePrefillService Boolesch Legen Sie den Wert auf „False“ fest. Sie können den Parameter usePrefillService verwenden, um die interaktive Kommunikation mit Daten vorzufüllen, die aus dem Vorbefüllungs-Service abgerufen wurden, der für die entsprechende interaktive Kommunikation konfiguriert ist. Wenn usePrefillService auf „true“ gesetzt ist, werden JSON-Eingabedaten (für jeden Datensatz) als FDM-Argumente behandelt. Der Standardwert lautet false.
      batchType Zeichenfolge Setzen Sie den Wert auf PRINT, WEB oder WEB_AND_PRINT. Der Standardwert ist WEB_AND_PRINT.
      locale Zeichenfolge Geben Sie das Gebietsschema für die Ausgabe der interaktiven Kommunikation an. Der vordefinierte Service verwendet nicht die Gebietsschema-Option, Sie können jedoch einen benutzerdefinierten Service erstellen, um lokalisierte interaktive Kommunikationen zu generieren. Der Standardwert ist en_US
    2. Wählen Sie Erstellen aus.

  3. Verwenden Sie den erstellten überwachten Ordner, um interaktive Kommunikation zu generieren:

    1. Öffnen Sie den überwachten Ordner. Navigieren Sie zum Eingabeordner.

    2. Erstellen Sie einen Ordner im Eingabeordner und legen Sie die JSON-Datei im neu erstellten Ordner ab.

    3. Warten Sie, bis der überwachte Ordner die Datei verarbeitet hat. Wenn die Verarbeitung beginnt, werden die Eingabedatei und der Unterordner, die die Datei enthalten, in den Staging-Ordner verschoben.

    4. Öffnen Sie den Ausgabeordner, damit Sie die Ausgabe anzeigen können:

      • Wenn Sie in der Konfiguration des überwachten Ordners die PRINT-Option angeben, wird eine PDF-Ausgabe für die interaktive Kommunikation generiert.
      • Wenn Sie in der Konfiguration des überwachten Ordners die WEB-Option angeben, wird eine JSON-Datei pro Datensatz generiert. Sie können die JSON-Datei zum Vorausfüllen einer Web-Vorlage verwenden.
      • Wenn Sie sowohl die PRINT- als auch die WEB-Option angeben, werden sowohl PDF-Dokumente als auch eine JSON-Datei pro Datensatz generiert.

Verwenden Sie Eingabedaten, die in einer externen Datenquelle gespeichert sind und über das Formulardatenmodell aufgerufen werden, um eine interaktive Kommunikation zu erstellen. use-fdm-as-data-source

Sie kombinieren in einer externen Datenquelle gespeicherte Daten (Datensätze) mit einer interaktiven Kommunikationsvorlage, um eine interaktive Kommunikation zu erzeugen. Wenn Sie eine interaktive Kommunikation erstellen, verbinden Sie sie über ein Formulardatenmodell (FDM) mit einer externen Datenquelle, um auf Daten zuzugreifen. Sie können den Batch-Prozess-Service für überwachte Ordner konfigurieren, um Daten mit demselben Formulardatenmodell aus einer externen Datenquelle abzurufen. So Erstellen Sie eine interaktive Kommunikation aus Datensätzen, die in einer externen Datenquelle gespeichert sind:

  1. So konfigurieren Sie das Formulardatenmodell der Vorlage:

    1. Öffnen Sie das Formulardatenmodell, das mit der Vorlage für interaktive Kommunikation verknüpft ist.

    2. Wählen Sie das MODELLOBJEKT AUF DER OBERSTEN EBENE aus und wählen Sie "Eigenschaften bearbeiten".

    3. Wählen Sie Ihren Service zum Abrufen aus dem Feld „Lese-Service“ im Bereich „Eigenschaften bearbeiten“ aus.

    4. Wählen Sie das Stiftsymbol für das Argument des Lesedienstes aus, um das Argument an ein Anforderungsattribut zu binden, und geben Sie den Bindungswert an. Er bindet das Dienstargument an das angegebene Bindungsattribut oder den angegebenen Literalwert, der an den Dienst als Argument übergeben wird, um mit dem angegebenen Wert verknüpfte Details aus der Datenquelle abzurufen.


      In diesem Beispiel nimmt das Argument ID den Wert des Attributs ID des Benutzerprofils an und übergibt ihn als Argument an den Lese-Service. Es liest und gibt Werte der zugehörigen Eigenschaften aus dem employee -Datenmodellobjekt für die angegebene ID zurück. Wenn Sie also 00250 im Feld ID im Formular angeben, liest der Lesedienst Details zum Mitarbeiter mit der Mitarbeiter-ID 00250.

      Konfigurieren des Anfrageattributs

    5. Speichern Sie die Eigenschaften und das Formulardatenmodell.

  2. So konfigurieren Sie den Wert für das Anfrageattribut:

    1. Erstellen Sie eine JSON-Datei in Ihrem Dateisystem und öffnen Sie sie zur Bearbeitung.

    2. Erstellen Sie ein JSON-Array und geben Sie das primäre Attribut an, damit Sie Daten aus dem Formulardatenmodell abrufen können. Beispielsweise fordert die folgende JSON-Datei FDM auf, Daten von Datensätzen mit einer ID von 27126 oder 27127 zu senden:

      code language-json
          [
              {
                  "id": 27126
              },
              {
                  "id": 27127
              }
          ]
      
    3. Speichern und schließen Sie die Datei.

  3. Erstellen Sie einen überwachten Ordner und konfigurieren Sie ihn für die Verwendung des Batch-API-Services:

    1. Melden Sie sich bei der AEM Forms-Autoreninstanz an.
    2. Navigieren Sie zu Tools > Formulare > Überwachten Ordner konfigurieren. Wählen Sie Neu aus.
    3. Geben Sie die den Namen und den physischen Pfad des Ordners an. Beispiel: c:\batchprocessing.
    4. Wählen Sie die Option Service im Feld Datei verarbeiten mit.
    5. Wählen Sie den Service com.adobe.fd.ccm.multichannel.batch.impl.service.InteractiveCommunicationBatchServiceImpl im Feld Service-Name.
    6. Geben Sie ein Ausgabedateimuster an. Beispiel: %F/ pattern gibt an, dass der überwachte Ordner Eingabedateien in einem Unterordner des Ordners "Überwachter Ordner\input"finden kann.
  4. So konfigurieren Sie die erweiterten Parameter:

    1. Öffnen Sie die Registerkarte Erweitert und fügen Sie die folgenden benutzerdefinierten Eigenschaften hinzu:

      table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3
      Eigenschaft Typ Beschreibung
      templatePath Zeichenfolge Geben Sie den Pfad der zu verwendenden interaktiven Kommunikationsvorlage an. Beispiel: /content/dam/formsanddocuments/testsample/mediumic. Dies ist eine obligatorische Eigenschaft.
      recordPath Zeichenfolge Der Wert des Felds recordPath hilft beim Festlegen des Namens einer interaktiven Kommunikation. Sie können den Pfad eines Datensatzfelds als Wert des Felds recordPath festlegen. Wenn Sie beispielsweise /employee/Id angeben, wird der Wert des ID-Felds zum Namen für die entsprechende interaktive Kommunikation. Der Standardwert ist eine zufällige UID.
      usePrefillService Boolesch Legen Sie den Wert auf „True“ fest. Der Standardwert ist false. Wenn der Wert auf „true“ gesetzt ist, liest die Batch-API Daten aus dem konfigurierten Formulardatenmodell und füllt sie in die interaktive Kommunikation. Wenn usePrefillService auf „true“ gesetzt ist, werden JSON-Eingabedaten (für jeden Datensatz) als FDM-Argumente behandelt.
      batchType Zeichenfolge Setzen Sie den Wert auf PRINT, WEB oder WEB_AND_PRINT. Der Standardwert ist WEB_AND_PRINT.
      locale Zeichenfolge Geben Sie das Gebietsschema für die Ausgabe der interaktiven Kommunikation an. Der vordefinierte Service verwendet nicht die Gebietsschema-Option, Sie können jedoch einen benutzerdefinierten Service erstellen, um lokalisierte interaktive Kommunikationen zu generieren. Der Standardwert ist en_US.
    2. Wählen Sie Erstellen aus.

  5. Verwenden Sie den erstellten überwachten Ordner, um interaktive Kommunikation zu generieren:

    1. Öffnen Sie den überwachten Ordner. Navigieren Sie zum Eingabeordner.

    2. Erstellen Sie einen Ordner im Eingabeordner. Platzieren Sie die in Schritt 2 erstellte JSON-Datei im neu erstellten Ordner.

    3. Warten Sie, bis der überwachte Ordner die Datei verarbeitet hat. Wenn die Verarbeitung beginnt, werden die Eingabedatei und der Unterordner, die die Datei enthalten, in den Staging-Ordner verschoben.

    4. Öffnen Sie den Ausgabeordner, damit Sie die Ausgabe anzeigen können:

      • Wenn Sie in der Konfiguration des überwachten Ordners die PRINT-Option angeben, wird eine PDF-Ausgabe für die interaktive Kommunikation generiert.
      • Wenn Sie in der Konfiguration des überwachten Ordners die WEB-Option angeben, wird eine JSON-Datei pro Datensatz generiert. Sie können die JSON-Datei zum Vorausfüllen einer Web-Vorlage verwenden.
      • Wenn Sie sowohl die PRINT- als auch die WEB-Option angeben, werden sowohl PDF-Dokumente als auch eine JSON-Datei pro Datensatz generiert.

Rufen Sie die Batch-API mithilfe von REST-Anfragen auf.

Sie können die Batch-API durch REST-Anfragen (Representational State Transfer) aufrufen. Damit können Sie anderen Benutzenden einen REST-Endpunkt bereitstellen, um auf die API zuzugreifen und Ihre eigenen Methoden zur Verarbeitung, Speicherung und Anpassung der interaktiven Kommunikation zu konfigurieren. Sie können Ihr eigenes benutzerdefiniertes Java™-Servlet entwickeln, um die API auf Ihrer AEM-Instanz bereitzustellen.

Stellen Sie vor der Bereitstellung des Java™-Servlets sicher, dass Sie über eine interaktive Kommunikation und entsprechende Datendateien verfügen. Führen Sie die folgenden Schritte aus, damit Sie das Java™-Servlet erstellen und bereitstellen können:

  1. Melden Sie sich bei Ihrer AEM-Instanz an und erstellen Sie eine interaktive Kommunikation. Um die interaktive Kommunikation zu verwenden, die im folgenden Beispielcode erwähnt wird, hier klicken.

  2. Erstellen Sie ein AEM-Projekt und stellen Sie es mit Apache Maven auf Ihrer AEM-Instanz bereit.

  3. Hinzufügen AEM Forms Client SDK, Version 6.0.12 oder neuer in der Liste der Abhängigkeiten der POM-Datei Ihres AEM Projekts. Beispiel:

    code language-xml
        <dependency>
            <groupId>com.adobe.aemfd</groupId>
            <artifactId>aemfd-client-sdk</artifactId>
            <version>6.0.122</version>
        </dependency>
    
  4. Öffnen Sie das Java™-Projekt und erstellen Sie eine .java-Datei, z. B. CCMBatchServlet.java. Fügen Sie der Datei den folgenden Code hinzu:

    code language-java
            package com.adobe.fd.ccm.multichannel.batch.integration;
    
            import java.io.File;
            import java.io.FileInputStream;
            import java.io.FileOutputStream;
            import java.io.IOException;
            import java.io.InputStream;
            import java.io.PrintWriter;
            import java.util.List;
            import javax.servlet.Servlet;
            import org.apache.commons.io.IOUtils;
            import org.apache.sling.api.SlingHttpServletRequest;
            import org.apache.sling.api.SlingHttpServletResponse;
            import org.apache.sling.api.servlets.SlingAllMethodsServlet;
            import org.json.JSONArray;
            import org.json.JSONObject;
            import org.osgi.service.component.annotations.Component;
            import org.osgi.service.component.annotations.Reference;
    
            import com.adobe.fd.ccm.multichannel.batch.api.builder.BatchConfigBuilder;
            import com.adobe.fd.ccm.multichannel.batch.api.factory.BatchComponentBuilderFactory;
            import com.adobe.fd.ccm.multichannel.batch.api.model.BatchConfig;
            import com.adobe.fd.ccm.multichannel.batch.api.model.BatchInput;
            import com.adobe.fd.ccm.multichannel.batch.api.model.BatchResult;
            import com.adobe.fd.ccm.multichannel.batch.api.model.BatchType;
            import com.adobe.fd.ccm.multichannel.batch.api.model.RecordResult;
            import com.adobe.fd.ccm.multichannel.batch.api.model.RenditionResult;
            import com.adobe.fd.ccm.multichannel.batch.api.service.BatchGeneratorService;
            import com.adobe.fd.ccm.multichannel.batch.util.BatchConstants;
            import java.util.Date;
    
    
            @Component(service=Servlet.class,
            property={
                    "sling.servlet.methods=GET",
                    "sling.servlet.paths="+ "/bin/batchServlet"
            })
            public class CCMBatchServlet extends SlingAllMethodsServlet {
    
                @Reference
                private BatchGeneratorService batchGeneratorService;
                @Reference
                private BatchComponentBuilderFactory batchBuilderFactory;
                public void doGet(SlingHttpServletRequest req, SlingHttpServletResponse resp) {
                    try {
                        executeBatch(req,resp);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
                private void executeBatch(SlingHttpServletRequest req, SlingHttpServletResponse resp) throws Exception {
                    int count = 0;
                    JSONArray inputJSONArray = new JSONArray();
                    String filePath = req.getParameter("filePath");
                    InputStream is = new FileInputStream(filePath);
                    String data = IOUtils.toString(is);
                    try {
                        // If input file is json object, then create json object and add in json array, if not then try for json array
                        JSONObject inputJSON = new JSONObject(data);
                        inputJSONArray.put(inputJSON);
                    } catch (Exception e) {
                        try {
                            // If input file is json array, then iterate and add all objects into inputJsonArray otherwise throw exception
                            JSONArray inputArray = new JSONArray(data);
                            for(int i=0;i<inputArray.length();i++) {
                                inputJSONArray.put(inputArray.getJSONObject(i));
                            }
                        } catch (Exception ex) {
                            throw new Exception("Invalid JSON Data. File name : " + filePath, ex);
                        }
                    }
                    BatchInput batchInput = batchBuilderFactory.getBatchInputBuilder().setData(inputJSONArray).setTemplatePath("/content/dam/formsanddocuments/[path of the interactive communcation]").build();
                    BatchConfig batchConfig = batchBuilderFactory.getBatchConfigBuilder().setBatchType(BatchType.WEB_AND_PRINT).build();
                    BatchResult batchResult = batchGeneratorService.generateBatch(batchInput, batchConfig);
                    List<RecordResult> recordList = batchResult.getRecordResults();
                    JSONObject result = new JSONObject();
                    for (RecordResult recordResult : recordList) {
                        String recordId = recordResult.getRecordID();
                        for (RenditionResult renditionResult : recordResult.getRenditionResults()) {
                            if (renditionResult.isRecordPassed()) {
                                InputStream output = renditionResult.getDocumentStream().getInputStream();
                                result.put(recordId +"_"+renditionResult.getContentType(), output);
    
                                Date date= new Date();
                                long time = date.getTime();
    
                                // Print output
                                if(getFileExtension(renditionResult.getContentType()).equalsIgnoreCase(".json")) {
                                    File file = new File(time + getFileExtension(renditionResult.getContentType()));
                                    copyInputStreamToFile(output, file);
                                } else
                                {
                                    File file = new File(time + getFileExtension(renditionResult.getContentType()));
                                    copyInputStreamToFile(output, file);
                                }
                            }
                        }
                    }
                    PrintWriter writer = resp.getWriter();
                    JSONObject resultObj = new JSONObject();
                    resultObj.put("result", result);
                    writer.write(resultObj.toString());
                }
    
    
                private static void copyInputStreamToFile(InputStream inputStream, File file)
                        throws IOException {
    
                        try (FileOutputStream outputStream = new FileOutputStream(file)) {
    
                            int read;
                            byte[] bytes = new byte[1024];
    
                            while ((read = inputStream.read(bytes)) != -1) {
                                outputStream.write(bytes, 0, read);
                            }
    
                        }
    
                    }
    
    
                private String getFileExtension(String contentType) {
                    if (contentType.endsWith(BatchConstants.JSON)) {
                        return ".json";
                    } else return ".pdf";
                }
    
    
            }
    
  5. Ersetzen Sie im obigen Code den Vorlagenpfad (setTemplatePath) durch den Pfad Ihrer Vorlage und legen Sie den Wert der setBatchType-API fest:

    • Wenn Sie die PRINT-Option PDF angeben, wird die Ausgabe für die interaktive Kommunikation generiert.
    • Wenn Sie die WEB-Option angeben, wird eine JSON-Datei pro Datensatz generiert. Sie können die JSON-Datei zum Vorausfüllen einer Web-Vorlage verwenden.
    • Wenn Sie sowohl die PRINT- als auch die WEB-Option angeben, werden sowohl PDF-Dokumente als auch eine JSON-Datei pro Datensatz generiert.
  6. Verwenden Sie Maven, um den aktualisierten Code für Ihre AEM-Instanz bereitzustellen.

  7. Rufen Sie die Batch-API auf, um die interaktive Kommunikation zu generieren. Die Batch-API druckt und gibt einen Stream von PDF- und JSON-Dateien abhängig von der Anzahl der Datensätze zurück. Sie können die JSON-Datei zum Vorausfüllen einer Web-Vorlage verwenden. Wenn Sie den oben genannten Code verwenden, wird die API unter http://localhost:4502/bin/batchServlet bereitgestellt. Der Code druckt und gibt einen Stream von PDF- und JSON-Dateien zurück.

Vorausfüllen einer Web-Vorlage web-template

Wenn Sie den batchType so einstellen, dass der Web-Kanal gerendert wird, generiert die API eine JSON-Datei für jeden Datensatz. Sie können die folgende Syntax verwenden, um die JSON-Datei mit dem entsprechenden Web-Kanal zusammenzuführen und eine interaktive Kommunikation zu generieren:

Syntax
http://host:port/<template-path>/jcr:content?channel=web&mode=preview&guideMergedJsonPath=<guide-merged-json-path>

Beispiel
Wenn sich Ihre JSON-Datei unter C:\batch\mergedJsonPath.json befindet und Sie die folgende interaktive Kommunikationsvorlage verwenden: http://host:port/content/dam/formsanddocuments/testsample/mediumic/jcr:content?channel=web

Anschließend zeigt die folgende URL auf dem Veröffentlichungsknoten den Web-Kanal der interaktiven Kommunikation an
http://host:port/<path-to-ic>/jcr:content?channel=web&mode=preview&guideMergedJsonPath=file:///C:/batch/mergedJsonData.json

Sie speichern nicht nur die Daten im Dateisystem, sondern auch JSON-Dateien im CRX-Repository, Dateisystem oder Webserver oder können über den OSGi-Vorbefüllungs-Service auf Daten zugreifen. Syntax zum Zusammenführen von Daten mithilfe verschiedener Protokolle:

  • CRX-Protokoll
    http://host:port/<path-to-ic>/jcr:content?channel=web&mode=preview&guideMergedJsonPath=crx:///tmp/fd/af/mergedJsonData.json

  • Dateiprotokoll
    http://host:port/<path-to-ic>/jcr:content?channel=web&mode=preview&guideMergedJsonPath=file:///C:/Users/af/mergedJsonData.json

  • Vorbefüllungs-Service-Protokoll
    http://host:port/<path-to-ic>/jcr:content?channel=web&mode=preview&guideMergedJsonPath=service://[SERVICE_NAME]/[IDENTIFIER]

    SERVICE_NAME verweist auf den Namen des OSGI-Vorbefüllungs-Service. Lesen Sie Erstellen und Ausführen eines Vorbefüllungs-Service.

    IDENTIFIER bezieht sich auf alle Metadaten, die vom OSGI-Vorbefüllungs-Service erforderlich sind, um die Daten zum Vorbefüllen aufzurufen. Eine Kennung für die angemeldete Benutzerin bzw. den angemeldeten Benutzer ist ein Beispiel für Metadaten, die verwendet werden können.

  • HTTP-Protokoll
    http://host:port/<path-to-ic>/jcr:content?channel=web&mode=preview&guideMergedJsonPath=http://localhost:8000/somesamplexmlfile.xml

NOTE
Standardmäßig ist nur das CRX-Protokoll aktiviert. Informationen zum Aktivieren anderer unterstützter Protokolle finden Sie unter Konfigurieren des Vorbefüllungs-Services mit Configuration Manager.
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2