Show Menu
THEMEN×

Generieren mehrerer interaktiver Kommunikation mit der Batch-API

Sie können die Stapel-API verwenden, um mehrere interaktive Mitteilungen aus einer Vorlage zu erstellen. Die Vorlage ist eine interaktive Kommunikation ohne Daten. Die Stapel-API kombiniert Daten mit einer Vorlage, um eine interaktive Kommunikation zu erzeugen. Die API ist bei der Massenproduktion interaktiver Kommunikation nützlich. Zum Beispiel Telefonrechnungen, Kreditkartenauszüge für mehrere Kunden.
Die Stapel-API akzeptiert Datensätze (Daten) im JSON-Format und aus einem Formulardatenmodell. Die Anzahl der erzeugten interaktiven Kommunikation entspricht den Datensätzen, die in der JSON-Eingabedatei im konfigurierten Formulardatenmodell angegeben sind. Sie können die API verwenden, um sowohl die Druck- als auch die Webausgabe zu erstellen. Mit der Option "DRUCKEN"wird ein PDF-Dokument und mit der Option "WEB"Daten im JSON-Format für jeden einzelnen Datensatz generiert.

Verwenden der Stapel-API

Sie können die Stapel-API in Verbindung mit überwachten Ordnern oder als Standalone-Rest-API verwenden. Sie konfigurieren eine Vorlage, einen Ausgabetyp (HTML, PRINT oder Beides), ein Gebietsschema, einen Vorfülldienst und einen Namen für die generierte interaktive Kommunikation, um die Stapel-API zu verwenden.
Sie kombinieren einen Datensatz mit einer interaktiven Kommunikationsvorlage, um eine interaktive Kommunikation zu erzeugen. Stapel-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 einzigen 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 Stapel-API mit überwachten Ordnern

Damit die API problemlos verwendet werden kann, stellt AEM Forms einen Dienst für überwachte Ordner bereit, der für die sofortige Verwendung der Stapel-API konfiguriert ist. Sie können über die AEM Forms-Benutzeroberfläche auf den Dienst zugreifen, um mehrere interaktive Kommunikation zu generieren. Sie können auch benutzerdefinierte Dienste 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, um eine interaktive Kommunikation zu erstellen
  • 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, um eine interaktive Kommunikation zu erstellen

Sie kombinieren einen Datensatz mit einer interaktiven Kommunikationsvorlage, 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 einzigen 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 Stapel-API:
    1. Melden Sie sich bei der Autoreninstanz von AEM Forms an.
    2. Navigate to Tools > Forms > Configure Watched Folder . Tippen Sie auf Neu .
    3. Geben Sie den Namen und den physischen Pfad des Ordners an. Beispiel: c:\batchprocessing .
    4. Wählen Sie im Feld " Prozessdatei mit "die Option " Dienst "aus.
    5. Wählen Sie den Dienst com.adobe.fd.ccm.multichannel.batch.impl.service.InteractiveCommunicationBatchServiceImpl im Feld Dienstname .
    6. Geben Sie ein Muster für die Ausgabedatei an . Das Muster "%F/"gibt beispielsweise an, dass der Watched Folder-Dienst Eingabedateien in einem Unterordner des Ordners "Überwachter Ordner\input"finden kann.
  2. Erweiterte Parameter konfigurieren:
    1. Öffnen Sie die Registerkarte " Erweitert "und fügen Sie die folgenden benutzerdefinierten Eigenschaften hinzu:
      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 Felds "id"zum Namen für die entsprechende interaktive Kommunikation. Der Standardwert ist eine zufällige UUID .
      usePrefillService
      Boolesch
      Legen Sie den Wert auf False fest. Sie können den Parameter usePrefillService verwenden, um die interaktive Kommunikation mit Daten, die aus dem Vorfülldienst abgerufen wurden, für die entsprechende interaktive Kommunikation vorab zu füllen. Wenn usePrefillService auf true festgelegt ist, werden JSON-Eingabedaten (für jeden Datensatz) als FDM-Argumente behandelt. Der Standardwert lautet false.
      batchType
      Zeichenfolge
      Legen Sie als Wert DRINT, WEB oder WEB_AND_PRINT fest. Der Standardwert ist WEB_AND_PRINT.
      locale
      Zeichenfolge
      Geben Sie das Gebietsschema der Ausgabe für interaktive Kommunikation an. Der vordefinierte Dienst verwendet nicht die Sprachoption, Sie können jedoch einen benutzerdefinierten Dienst erstellen, um lokalisierte interaktive Kommunikation zu generieren. Der Standardwert ist en_US
    2. Tippen Sie auf Erstellen Der überwachte Ordner wird erstellt.
  3. Verwenden Sie den überwachten Ordner, um eine 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 verarbeitende Datei Beginn wird, werden die Eingabedatei und der Unterordner mit der Datei in den Staging-Ordner verschoben.
    4. Öffnen Sie den Ordner "output"zur Ansicht der Ausgabe:
      • Wenn Sie in der Konfiguration des überwachten Ordners die Option PRINT angeben, wird die PDF-Ausgabe für die interaktive Kommunikation generiert.
      • Wenn Sie die WEB-Option in der Konfiguration des überwachten Ordners angeben, wird eine JSON-Datei pro Datensatz generiert. Sie können die JSON-Datei zum Vorausfüllen einer Webvorlage verwenden.
      • Wenn Sie sowohl PRINT- als auch WEB-Optionen angeben, werden sowohl PDF-Dokumente als auch eine JSON-Datei pro Datensatz generiert.

Verwenden Sie in einer externen Datenquelle gespeicherte Eingabedaten, die über das Formulardatenmodell aufgerufen werden, um eine interaktive Kommunikation zu erstellen.

Sie kombinieren in einer externen Datenquelle gespeicherte Daten (Datensätze) mit einer interaktiven Kommunikationsvorlage, um eine interaktive Kommunikation zu erstellen. Wenn Sie eine interaktive Kommunikation erstellen, stellen Sie über ein Formulardatenmodell (FDM) eine Verbindung zu einer externen Datenquelle her, um auf die Daten zuzugreifen. Sie können den Stapelverarbeitungsdienst für überwachte Ordner so konfigurieren, dass Daten mit demselben Formulardatenmodell aus einer externen Datenquelle abgerufen werden. So erstellen Sie eine interaktive Kommunikation aus Datensätzen, die in einer externen Datenquelle gespeichert wurden:
  1. Formulardatenmodell der Vorlage konfigurieren:
    1. Öffnen Sie das mit der interaktiven Kommunikationsvorlage verknüpfte Formulardatenmodell.
    2. Wählen Sie das MODELL-OBJEKT DER OBERSTEN EBENE aus und tippen Sie auf Eigenschaften bearbeiten.
    3. Wählen Sie im Feld Dienst lesen unter Eigenschaften bearbeiten Ihren Abruf oder Dienst abrufen aus.
    4. Tippen Sie auf das Stiftsymbol für das read-Dienst-Argument, 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.
    5. Speichern Sie Eigenschaften und Formulardatenmodell.
  2. Wert für Anforderungsattribut konfigurieren:
    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, um Daten aus dem Formulardatenmodell abzurufen. Im folgenden JSON wird FDM beispielsweise aufgefordert, Daten von Datensätzen mit der ID 27126 oder 27127 zu senden:
          [
              {
                  "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-Dienstes:
    1. Melden Sie sich bei der Autoreninstanz von AEM Forms an.
    2. Navigate to Tools > Forms > Configure Watched Folder . Tippen Sie auf Neu .
    3. Geben Sie den Namen und den physischen Pfad des Ordners an. Beispiel: c:\batchprocessing .
    4. Wählen Sie im Feld " Prozessdatei mit "die Option " Dienst "aus.
    5. Wählen Sie den Dienst com.adobe.fd.ccm.multichannel.batch.impl.service.InteractiveCommunicationBatchServiceImpl im Feld Dienstname .
    6. Geben Sie ein Muster für die Ausgabedatei an . Das Muster "%F/"gibt beispielsweise an, dass der Watched Folder-Dienst Eingabedateien in einem Unterordner des Ordners "Überwachter Ordner\input"finden kann.
  4. Erweiterte Parameter konfigurieren:
    1. Öffnen Sie die Registerkarte " Erweitert "und fügen Sie die folgenden benutzerdefinierten Eigenschaften hinzu:
      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 Felds "id"zum Namen für die entsprechende interaktive Kommunikation. Der Standardwert ist eine zufällige UUID .
      usePrefillService
      Boolesch
      Legen Sie den Wert auf True fest. Der Standardwert lautet false. Wenn der Wert auf "true"gesetzt ist, liest die Stapel-API Daten aus dem konfigurierten Formulardatenmodell und füllt sie in die interaktive Kommunikation. Wenn usePrefillService auf true festgelegt ist, werden JSON-Eingabedaten (für jeden Datensatz) als FDM-Argumente behandelt.
      batchType
      Zeichenfolge
      Legen Sie als Wert DRINT, WEB oder WEB_AND_PRINT fest. Der Standardwert ist WEB_AND_PRINT.
      locale
      Zeichenfolge
      Geben Sie das Gebietsschema der Ausgabe für interaktive Kommunikation an. Der vordefinierte Dienst verwendet nicht die Sprachoption, Sie können jedoch einen benutzerdefinierten Dienst erstellen, um lokalisierte interaktive Kommunikation zu generieren. Der Standardwert ist en_US.
    2. Tippen Sie auf Erstellen Der überwachte Ordner wird erstellt.
  5. Verwenden Sie den überwachten Ordner, um eine 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 in dem neu erstellten Ordner.
    3. Warten Sie, bis der überwachte Ordner die Datei verarbeitet hat. Wenn die verarbeitende Datei Beginn wird, werden die Eingabedatei und der Unterordner mit der Datei in den Staging-Ordner verschoben.
    4. Öffnen Sie den Ordner "output"zur Ansicht der Ausgabe:
      • Wenn Sie in der Konfiguration des überwachten Ordners die Option PRINT angeben, wird die PDF-Ausgabe für die interaktive Kommunikation generiert.
      • Wenn Sie die WEB-Option in der Konfiguration des überwachten Ordners angeben, wird eine JSON-Datei pro Datensatz generiert. Sie können die JSON-Datei zum Vorausfüllen einer Webvorlage verwenden.
      • Wenn Sie sowohl PRINT- als auch WEB-Optionen angeben, werden sowohl PDF-Dokumente als auch eine JSON-Datei pro Datensatz generiert.

Aufrufen der Stapel-API mithilfe von REST-Anforderungen

Sie können die Stapel-API über REST-Anforderungen (Repräsentational State Transfer) aufrufen. Es ermöglicht Ihnen, anderen Benutzern einen REST-Endpunkt zum Zugriff auf die API bereitzustellen und eigene 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.
Bevor Sie das Java-Servlet bereitstellen, stellen Sie sicher, dass Sie über eine interaktive Kommunikation verfügen und die entsprechenden Datendateien bereit sind. Führen Sie die folgenden Schritte aus, um das Java-Servlet zu erstellen und bereitzustellen:
  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, klicken Sie hier .
  2. Hinzufügen AEM Forms Client SDK Version 6.0.12 oder höher und neueste AEM Uber Jar in Abhängigkeiten Liste der POm-Datei Ihres AEM-Projekts. Beispiel:
        <dependency>
            <groupId>com.adobe.aemfd</groupId>
            <artifactId>aemfd-client-sdk</artifactId>
            <version>6.0.122</version>
        </dependency>
        <dependency>
           <groupId>com.adobe.aem</groupId>
           <artifactId>uber-jar</artifactId>
           <version>6.5.0</version>
           <classifier>apis</classifier>
           <scope>provided</scope>
        </dependency>
    
    
  3. Öffnen Sie das Java-Projekt, erstellen Sie eine .java-Datei, z. B. CCMBatchServlet.java. Fügen Sie der Datei „“ den folgenden Code hinzu:
            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.OutputStream;
            import java.io.PrintWriter;
            import java.util.List;
            import java.util.logging.FileHandler;
            import java.util.logging.Logger;
            import java.util.logging.SimpleFormatter;
    
            import javax.servlet.Servlet;
            import javax.servlet.ServletContext;
    
            import com.adobe.aemfd.watchfolder.service.api.ContentProcessor;
    
            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.aemfd.docmanager.Document;
            import com.adobe.aemfd.docmanager.passivation.DocumentPassivationHandler;
            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 com.adobe.icc.render.obj.Content;
    
            import javax.annotation.PostConstruct;
            import javax.inject.Inject;
            import javax.inject.Named;
    
            import org.apache.sling.api.resource.Resource;
            import org.apache.sling.models.annotations.Default;
            import org.apache.sling.models.annotations.Model;
            import org.apache.sling.settings.SlingSettingsService;
            import org.apache.sling.api.resource.ResourceUtil;
    
    
            import org.slf4j.*;
            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";
                }
    
    
            }
    
    
  4. 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 DRUCKoption angeben, wird die PDF-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 Webvorlage verwenden.
    • Wenn Sie sowohl PRINT- als auch WEB-Optionen angeben, werden sowohl PDF-Dokumente als auch eine JSON-Datei pro Datensatz generiert.
  5. Rufen Sie die Stapel-API auf, um die interaktive Kommunikation zu generieren. Die Batch-API 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 Webvorlage verwenden. Wenn Sie den obigen Code verwenden, wird die API unter bereitgestellt http://localhost:4502/bin/batchServlet . Der Code gibt einen Stream von PDF- und JSON-Dateien aus und gibt ihn zurück.

Vorausfüllen einer Webvorlage

Wenn Sie batchType so einstellen, dass der Web-Kanal wiedergegeben wird, generiert die API für jeden Datensatz eine JSON-Datei. Mit der folgenden Syntax können Sie die JSON-Datei mit dem entsprechenden Web-Kanal zusammenführen, um 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 befindet C:\batch\mergedJsonPath.json 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
Neben dem Speichern der Daten im Dateisystem speichern Sie JSON-Dateien im CRX-Repository, Dateisystem, Webserver oder können über den OSGI-Vorfülldienst auf Daten zugreifen. Syntax zum Zusammenführen von Daten mit verschiedenen Protokollen:
  • 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
  • Prefill-Dienstprotokoll 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-Dienstes. Lesen Sie Erstellen und Ausführen eines Vorbefüllungs-Dienstes.
    BEZEICHNER bezieht sich auf alle Metadaten, die vom OSGI-Vorbefüllungs-Dienst erforderlich sind, um die Daten zum Vorbefüllen aufzurufen. Ein Bezeichner für den angemeldeten Benutzer ist ein Beispiel für die Metadaten, die verwendet werden könnten.
  • HTTP-Protokoll http://host:port/<path-to-ic>/jcr:content?channel=web&mode=preview&guideMergedJsonPath=http://localhost:8000/somesamplexmlfile.xml
Standardmäßig ist nur das CRX-Protokoll aktiviert. Informationen zum Aktivieren anderer unterstützter Protokolle finden Sie unter Konfigurieren des Vorfülldienstes mit Configuration Manager .