Met behulp van de interface Correspondentie maken van Correspondentiebeheer kunt u concepten van lopende letterinstanties opslaan en er zijn verzonden letterinstanties.
Het Beheer van de correspondentie verstrekt u APIs die u kunt gebruiken de lijstinterface bouwen om met voorgelegde brievenexemplaren of concepten te werken. De APIs lijst en open voorgelegde en ontwerp brieveninstanties van een agent, zodat de agent kon blijven werkend aan het ontwerp of voorgelegde brieveninstanties.
Het Beheer van de correspondentie stelt APIs bloot om brieveninstanties door de dienst te halen LetterInstanceService.
Methode | Beschrijving |
---|---|
getAllLetterInstances | Hiermee worden letterinstanties opgehaald op basis van de parameter voor invoerquery. Als u alle lettertypen wilt ophalen, geeft u de queryparameter door als null. |
getLetterInstance | Hiermee wordt de opgegeven letter opgehaald op basis van letter-instantie-ID. |
letterInstanceExists | Controleert of een LetterInstance door de opgegeven naam bestaat. |
LetterInstanceService is de dienst OSGI en zijn instantie kan worden teruggewonnen door @Reference in Java te gebruiken
Class of sling.getService(LetterInstanceService. Klasse ) in JSP.
De volgende API vindt de brieveninstanties die op het vraagvoorwerp (zowel Voorgelegd als Ontwerp) worden gebaseerd. Als het queryobject null is, worden alle lettervarianten geretourneerd. Deze API retourneert een lijst met LetterInstanceVO-objecten, die kan worden gebruikt voor het extraheren van aanvullende informatie van een letterinstantie
Syntaxis: List getAllLetterInstances(Query query) throws ICCException;
Parameter | Beschrijving |
query | De queryparameter wordt gebruikt om een instantie Letter te zoeken/filteren. De query ondersteunt alleen attributen/eigenschappen op hoofdniveau van het object. De vraag bestaat uit verklaringen en "attributeName"in het voorwerp van de Verklaring wordt gebruikt zou de naam van het bezit in het de instantievoorwerp van de Brief moeten zijn. |
De volgende code retourneert de lijst met verzonden lettervarianten. Als u alleen concepten wilt ophalen, wijzigt u 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);
De volgende code heeft veelvoudige verklaringen in de zelfde vraag om de resultaten te krijgen gefilterd op verschillende criteria zoals brieveninstantie die (attribuut door wordt voorgelegd) door een gebruiker wordt voorgelegd en het type van letterInstanceType is CONCFT.
@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);
Haal de letter-instantie op die wordt aangegeven door de opgegeven letter-instantie-id. De waarde wordt null geretourneerd als de instantie-id niet overeenkomt.
Syntaxis: public LetterInstanceVO getLetterInstance(String letterInstanceId) throws ICCException;
@Reference
LetterInstanceService letterInstanceService;
String letterInstanceId = "/content/apps/cm/letterInstances/1001/sampleLetterInstance";
LetterInstanceVO letterInstance = letterInstanceService.getLetterInstance(letterInstanceId );
Controleren of een instantie Letter bestaat met de opgegeven naam
Syntaxis: public Boolean letterInstanceExists(String letterInstanceName) throws ICCException;
Parameter | Beschrijving |
---|---|
letterInstanceName | Naam van de instantie letter die u wilt controleren of deze bestaat. |
@Reference
LetterInstanceService letterInstanceService;
String letterInstanceName = "sampleLetterInstance";
Boolean result = letterInstanceService.letterInstanceExists(letterInstanceName );
Instantie letter kan van het type Verzonden of Concept zijn. Wanneer u beide lettertypen opent, worden verschillende gedragingen getoond:
CCR UI steunt de parameter cmLetterInstanceId, die kan worden gebruikt om brief opnieuw te laden.
https://[hostName]:[portNo]/[contextPath]//aem/forms/createcorrespondence.html?random=[randomNo]&cmLetterInstanceId=[letterInstanceId]
U hoeft de CMLetterId of cmLetterName/State/Version niet op te geven wanneer u een correspondentie opnieuw laadt, aangezien de verzonden gegevens al alle details bevatten over de correspondentie die opnieuw wordt geladen. RandomNo wordt gebruikt om browser geheim voorgeheugenkwesties te vermijden, kunt u timestamp als willekeurig aantal gebruiken.
Verzendde PDF kan rechtstreeks worden geopend met de letter-exemplaar-id:
https://[hostName]:[portNo]/[contextPath]/[letterInstanceId]