Java-basierte API zum Erstellen und Aktivieren von Paketen id175UB30E05Z

Mit der folgenden Java-basierten API können Sie CRX-Pakete erstellen und aktivieren. Diese API ist in Form eines Bundles verfügbar. Sie müssen dieses Bundle in Ihren Code aufnehmen, um diese APIs verwenden zu können.

Paketdetails:

  • Gruppen-ID: com.adobe.fmdita

  • Artefakt-ID: api

  • Version: 3.3

  • Paket: com.adobe.fmdita.api.crxactivate

  • Klassendetails:

    code language-java
    public class CRXActivator
    

    Die Klasse CRXActivator enthält eine Methode zum Erstellen von CRX-Paketen und zum Replizieren dieser auf der Veröffentlichungsinstanz.

Packages erstellen und aktivieren

Die Methode activate erstellt ein CRX-Paket auf der Autoreninstanz und repliziert es gegebenenfalls auf der Veröffentlichungsinstanz. Es wird davon ausgegangen, dass die AEM Replikationsparameter bereits in der Autoreninstanz eingerichtet wurden. Diese Methode erstellt das CRX-Paket basierend auf einer Liste von Regeln, die als Eingabeparameter in einer JSON-Zeichenfolge bereitgestellt werden.

NOTE
Während des Erstellungs- oder Aktivierungsprozesses aufgetretene Fehler werden in outputstream geschrieben.

Beispiel mit zwei Parametern

Syntax:

public static void activate
(
  String json,
  OutputStream outputstream,
  Session session
)
throws GuidesApiException

Beispiel mit drittem optionalen Parameter

public static void activate
(
  String json,
  OutputStream outputstream,
  String activationTarget,
  Session session
)
throws GuidesApiException

Parameter:
|Name|Typ|Beschreibung|
|—|—|—|
|json|String|JSON-Zeichenfolge, die das zu erstellende CRX-Paket bestimmt. Verwenden Sie das folgende Format, um die JSON-Zeichenfolge zu erstellen:
- activate: Ist vom Typ Boolesch (true/false). Bestimmt, ob das in der Autoreninstanz erstellte CRX-Package auf die Veröffentlichungsinstanz repliziert wird.
- rules: Ist vom Typ JSON-Array. Ein Array von JSON-Regeln, die nacheinander verarbeitet werden, um das CRX-Paket zu erstellen.
- rootPath: Ist vom Typ String. Der Basispfad, auf dem die Knoten-/Eigenschaftenabfragen ausgeführt werden. Wenn keine Knoten-/Eigenschaftenabfragen vorhanden sind, werden der Stammpfad und alle Knoten, die unter dem Stammpfad vorhanden sind, in das CRX-Paket aufgenommen.
- nodeQueries: Ist vom Typ Regex-Array. Ein Array von regulären Ausdrücken, die verwendet werden, um bestimmte Dateien unter dem Stammpfad einzuschließen.
- propertyQueries: Ist vom Typ JSON-Array. Ein Array von JSON-Objekten mit jedem JSON-Objekt, das aus einer XPath-Abfrage besteht, die auf dem Stammpfad ausgeführt werden soll, und dem Namen einer Eigenschaft, die in jedem JCR-Knoten vorhanden ist, nachdem die Abfrage ausgeführt wurde. Der Wert der Eigenschaft in jedem JCR-Knoten sollte ein Pfad oder ein Array von Pfaden sein. Die in dieser Eigenschaft vorhandenen Pfade werden dem CRX-Paket hinzugefügt.|
|outputstream|java.io.OutputStream|Dies wird verwendet, um das Ergebnis verschiedener Phasen zu schreiben, z. B. Abfrageausführung, Dateieinbindung, Erstellung von CRX-Paketen oder Aktivierung. Jeder Fehler, der beim Erstellen oder Aktivieren auftritt, wird in den outputstream geschrieben. Dies ist für das Debugging nützlich.|
|session|String|Eine gültige JCR-Sitzung mit Aktivierungsberechtigung.|
|activationTarget|String|(Optional) preview oder publish für Cloud Service und publish für On-Premise-Software
- Wenn der Parameter einen ungültigen Wert enthält, schlägt die Paketaktivierung fehl.
- Bei On-Premise-Software wird der Fehler protokolliert, wenn der Parameter einen ungültigen Wert enthält, und die Veröffentlichung erfolgt mit dem Standardwert publish. |

Exception:

Gibt java.io.IOException und java.io.IllegalArgumentException aus

Wenn Sie den optionalen Parameter "activationTarget" nicht definieren, wird sowohl für Cloud Service- als auch für On-Premise-Software der standardmäßige Veröffentlichungsagent verwendet.

Beispiel:
Das folgende Beispiel zeigt, wie eine JSON-Abfrage erstellt wird:

{
  "activate": true,
  "rules": [
    {
      "rootPath": "/content/dam/nested",
      "nodeQueries": [
        ".*\\.jpg",
        ".*\\.png",
        ".*\\.gif"
      ]
    },
    {
      "rootPath": "/content/output/sites/hierarchy_ditamap"
    },
    {
      "rootPath": "/content/output/sites/hierarchy_ditamap",
      "propertyQueries": [
        {
          "query": "//*[@fileReference]",
          "property": "fileReference"
        }
      ]
    }
  ]
}

Die JSON-Beispielabfrage besteht aus den folgenden Regeln:

  • Nur die Bilder .png, .jpg und .gif unter /content/dam/nested werden in das Paket aufgenommen.
  • Alle Knoten unter /content/output/sites/hierarchy_ditamap sind im Paket enthalten.
  • Die Pfade, die in der Eigenschaft fileReference von Knoten unter /content/output/sites/hierarchy_ditamap vorhanden sind, sind im Paket enthalten.
recommendation-more-help
11125c99-e1a1-4369-b5d7-fb3098b9b178