AEM 6.4 hat das Ende der erweiterten Unterstützung erreicht und diese Dokumentation wird nicht mehr aktualisiert. Weitere Informationen finden Sie in unserer technische Unterstützung. Unterstützte Versionen suchen here.
Mithilfe der Benutzeroberfläche "Korrespondenz erstellen"von Correspondence Management können Sie Entwürfe von Briefinstanzen unter "Fortschritt"speichern und es gibt gesendete Briefinstanzen.
Correspondence Management stellt Ihnen APIs bereit, mit denen Sie die Listenschnittstelle für die Arbeit mit gesendeten Briefinstanzen oder Entwürfen erstellen können. Die APIs listen und öffnen gesendete und Entwurfsbriefinstanzen eines Agenten, damit der Agent weiterhin am Entwurf oder an der gesendeten Briefinstanz arbeiten kann.
Correspondence Management stellt APIs bereit, um Briefinstanzen mithilfe von LetterInstanceService abzurufen.
Methode | Beschreibung |
---|---|
getAllLetterInstances | Ruft Briefinstanzen anhand des Eingabeabfrageparameters ab. Um alle Briefinstanzen abzurufen, übergeben Sie den Abfrageparameter als null. |
getLetterInstance | Ruft die angegebene Briefinstanz basierend auf der Briefinstanz-ID ab. |
letterInstanceExists | Überprüft anhand des angegebenen Namens, ob eine Briefinstanz vorhanden ist. |
LetterInstanceService ist ein OSGI-Service, dessen Instanz mit Hilfe von @Reference in Java abgerufen werden kann
Klasse oder sling.getService(LetterInstanceService. Class) in JSP.
Die folgende API findet die Briefinstanzen basierend auf dem Abfrageobjekt (Gesendet und Entwurf). Wenn das Abfrageobjekt null ist, werden alle Briefinstanzen zurückgegeben. Diese API gibt eine Liste von LetterInstanceVO-Objekten zurück, die zum Extrahieren zusätzlicher Informationen der Briefinstanz verwendet werden können
Syntax: List getAllLetterInstances(Query query) throws ICCException;
Parameter | Beschreibung |
Abfrage | Der Abfrageparameter wird zum Suchen/Filtern der Briefinstanz verwendet. Hier unterstützt die Abfrage nur Attribute/Eigenschaften des Objekts auf höchster Ebene. Abfrage besteht aus Anweisungen und der im Statement-Objekt verwendete "attributeName"sollte der Name der Eigenschaft im Briefinstanzobjekt sein. |
Der folgende Code gibt die Liste der gesendeten Briefinstanzen zurück. Um nur Entwürfe zu erhalten, ändern Sie LetterInstanceType.COMPLETE.name()
in LetterInstanceType.DRAFT.name().
@Reference
LetterInstanceService letterInstanceService;
Query query = new Query();
List<LetterInstanceVO> submittedLetterInstances = new ArrayList<LetterInstanceVO>();
Statement statementForInstanceType = new Statement();
statementForInstanceType.setAttributeName("letterInstanceType");
statementForInstanceType.setOperator(Operator.EQUALS);
statementForInstanceType.setAttributeValue(LetterInstanceType.COMPLETE.name());
query.addStatement(statementForInstanceType);
submittedLetterInstances = letterInstanceService.getAllLetterInstances(query);
Der folgende Code hat mehrfache Aussagen in der gleichen Abfrage zum Filtern der Ergebnisse, basierend auf unterschiedlichen Kriterien wie von einem Benutzer gesendete Briefinstanz (Attribut gesendet von) und Typ von letterInstanceType ist ENTWURF.
@Reference
LetterInstanceService letterInstanceService;
String submittedBy = "tglodman";
Query query = new Query();
List<LetterInstanceVO> submittedLetterInstances = new ArrayList<LetterInstanceVO>();
Statement statementForInstanceType = new Statement();
statementForInstanceType.setAttributeName("letterInstanceType");
statementForInstanceType.setOperator(Operator.EQUALS);
statementForInstanceType.setAttributeValue(LetterInstanceType.COMPLETE.name());
query.addStatement(statementForInstanceType);
Statement statementForSubmittedBy = new Statement();
statementForSubmittedBy .setAttributeName("submittedby");
statementForSubmittedBy .setOperator(Operator.EQUALS);
statementForSubmittedBy .setAttributeValue(submittedBy);
query.addStatement(statementForSubmittedBy );
submittedLetterInstances = letterInstanceService.getAllLetterInstances(query);
Rufen Sie die Briefinstanz auf, die von der angegebenen Briefinstanz-ID identifiziert wird. Es wird „null“ zurückgegeben, wenn die Instanz-ID nicht übereinstimmt.
Syntax: public LetterInstanceVO getLetterInstance(String letterInstanceId) throws ICCException;
@Reference
LetterInstanceService letterInstanceService;
String letterInstanceId = "/content/apps/cm/letterInstances/1001/sampleLetterInstance";
LetterInstanceVO letterInstance = letterInstanceService.getLetterInstance(letterInstanceId );
Prüfen Sie anhand des angegebenen Namens, ob eine Briefinstanz vorhanden ist
Syntax: public Boolean letterInstanceExists(String letterInstanceName) throws ICCException;
Parameter | Beschreibung |
---|---|
letterInstanceName | Name der Briefinstanz, deren Existenz Sie überprüfen möchten. |
@Reference
LetterInstanceService letterInstanceService;
String letterInstanceName = "sampleLetterInstance";
Boolean result = letterInstanceService.letterInstanceExists(letterInstanceName );
Briefinstanz kann vom Typ „Gesendet“ oder „Entwurf“ sein. Das Öffnen beider Briefinstanztypen zeigt unterschiedliche Verhaltensweisen:
CCR Benutzeroberfläche unterstützt den Parameter cmLetterInstanceId, der zum Neuladen des Briefs verwendet werden kann.
https://[hostName]:[portNo]/[contextPath]//aem/forms/createcorrespondence.html?random=[randomNo]&cmLetterInstanceId=[letterInstanceId]
Sie müssen beim Neuladen einer Korrespondenz weder cmLetterId noch cmLetterName/State/Version angeben, da die gesendeten Daten bereits alle Details zu dieser Korrespondenz enthalten. RandomNo wird verwendet, um Probleme mit dem Browser-Cache zu vermeiden. Sie können Zeitstempel als zufällige Zahl verwenden.
Gesendete PDF kann direkt mit der Briefinstanz-ID geöffnet werden:
https://[hostName]:[portNo]/[contextPath]/[letterInstanceId]