Java-basierte API zum Erstellen und Aktivieren von Paketen
- Themen:
- Java-basierte API-Pakete
Erstellt für:
- Experte
- Entwickler
In
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
-
Paket: com.adobe.fmdita.api.crxactivate
-
Klassendetails:
public class CRXActivator
Die
CRXActivator
-Klasse enthält eine Methode zum Erstellen von CRX-Paketen und zum Replizieren derselben auf der Veröffentlichungsinstanz.
Erstellen und Aktivieren von Paketen
Die activate
Methode erstellt ein CRX-Paket auf der Autoreninstanz und repliziert es bei Bedarf 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.
outputstream
geschrieben.Beispiel mit zwei Parametern
Syntax:
public static void activate
(
String json,
OutputStream outputstream,
Session session
)
throws GuidesApiException
Beispiel mit optionalem dritten Parameter
public static void activate
(
String json,
OutputStream outputstream,
String activationTarget,
Session session
)
throws GuidesApiException
Parameter:
json
-
activate
: Ist vom Typ Boolescher Wert (true
/false
). Bestimmt, ob das in der Autoreninstanz erstellte CRX-Paket auf der Veröffentlichungsinstanz repliziert wird.-
rules
: Ist vom Typ JSON-Array. Ein Array von JSON-Regeln, die sequenziell verarbeitet werden, um das CRX-Paket zu erstellen.-
rootPath
: Ist vom Typ Zeichenfolge. Der Basispfad, auf dem die Knoten-/Eigenschaftsabfragen ausgeführt werden. Wenn keine Knoten-/Eigenschaftsabfragen vorhanden sind, werden der Stammpfad und alle unter dem Stammpfad vorhandenen Knoten 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, wobei jedes JSON-Objekt aus einer XPath-Abfrage besteht, die auf dem Stammpfad ausgeführt werden soll, und dem Namen einer Eigenschaft, die in jedem JCR-Knoten nach der Ausführung der Abfrage vorhanden ist. 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
outputstream
geschrieben. Dies ist für das Debugging nützlich.session
activationTarget
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 bei Cloud Service fehl.
: Wenn der Parameter für die On-Premise-Software einen ungültigen Wert enthält, wird der Fehler protokolliert und die Veröffentlichung erfolgt mit dem Standardwert
publish
.Ausnahme:
Löst java.io.IOException
und java.io.IllegalArgumentException
aus
Wenn Sie activationTarget
den optionalen Parameter nicht definieren, wird er über den standardmäßigen Veröffentlichungsagenten für Cloud Service- und On-Premise-Software aktiviert.
Beispiel:
Das folgende Beispiel zeigt, wie Sie eine JSON-Abfrage erstellen:
{
"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 dem Pfad /content/dam/nested sind im Paket enthalten.
- Alle Knoten unter /content/output/sites/hierarchy_ditamap sind im Paket enthalten.
- Die Pfade in der
fileReference
Eigenschaft der Knoten unter /content/output/sites/hierarchy_ditamap sind im Paket enthalten.