Nell’area di lavoro di AEM Forms, i responsabili possono ora accedere alle attività assegnate a qualsiasi persona nella propria gerarchia, ovvero ai rapporti diretti o indiretti, ed eseguire varie azioni su di esse. Le attività sono disponibili nella scheda Da eseguire nell’area di lavoro di AEM Forms. Le azioni supportate sulle attività dei rapporti diretti sono:
Avanti Inoltrare un'attività dal rapporto diretto a qualsiasi utente.
Richiesta Rivendicare un’attività di un rapporto diretto.
Richiesta e apertura Richiedere l'attività di un rapporto diretto e aprirlo automaticamente nell'elenco To-do del manager.
Rifiuta Rifiuta un'attività inoltrata a un report diretto da un altro utente. Questa opzione è disponibile per le attività inoltrate da altri utenti a un rapporto diretto.
AEM Forms limita l'accesso degli utenti solo alle attività per le quali l'utente ha il controllo degli accessi (ACL). Tale controllo assicura che un utente possa recuperare solo le attività per le quali l’utente dispone delle autorizzazioni di accesso. Utilizzando servizi web e implementazioni di terze parti per definire la gerarchia, un'organizzazione può personalizzare la definizione di manager e i rapporti diretti in base alle proprie esigenze.
Crea un DSC. Per ulteriori informazioni, consulta l’argomento "Sviluppo di componenti per AEM Forms" in Programmazione con AEM Forms guida.
Nel DSC, definisci un nuovo SPI per la gestione della gerarchia per definire rapporti diretti e la gerarchia all’interno degli utenti AEM Forms. Di seguito è riportato un esempio di frammento di codice Java™.
public class MyHierarchyMgmtService
{
/*
Input : Principal Oid for a livecycle user
Output : Returns true when the user is either the service invoker OR his direct/indirect report.
*/
boolean isInHierarchy(String principalOid) {
}
/*
Input : Principal Oid for a livecycle user
Output : List of principal Oids for direct reports of the livecycle user
A user may get direct reports only for himself OR his direct/indirect reports.
So the API is functionally equivalent to -
isInHierarchy(principalOid) ? <return direct reports> : <return empty list>
*/
List<String> getDirectReports(String principalOid) {
}
/*
Returns whether a livecycle user has direct reports or not.
It's functionally equivalent to -
getDirectReports(principalOid).size()>0
*/
boolean isManager(String principalOid) {
}
}
Crea un file component.xml. Assicurati che spec-id sia lo stesso mostrato nello snippet di codice sottostante. Di seguito è riportato un frammento di codice di esempio che è possibile riutilizzare.
<component xmlns="https://adobe.com/idp/dsc/component/document">
<component-id>com.adobe.sample.SampleDSC</component-id>
<version>1.1</version>
<supports-export>false</supports-export>
<descriptor-class>com.adobe.idp.dsc.component.impl.DefaultPOJODescriptorImpl</descriptor-class>
<services>
<service name="MyHierarchyMgmtService" title="My hierarchy management service" orchestrateable="false">
<auto-deploy service-id="MyHierarchyMgmtService" category-id="Sample DSC" major-version="1" minor-version="0" />
<description>Service for resolving hierarchy management.</description>
<specifications>
<specification spec-id="com.adobe.idp.taskmanager.dsc.enterprise.HierarchyManagementProvider"/>
</specifications>
<specification-version>1.0</specification-version>
<implementation-class>com.adobe.sample.hierarchymanagement.MyHierarchyMgmtService</implementation-class>
<request-processing-strategy>single_instance</request-processing-strategy>
<supported-connectors>default</supported-connectors>
<operation-config>
<operation-name>*</operation-name>
<transaction-type>Container</transaction-type>
<transaction-propagation>supports</transaction-propagation>
<!--transaction-timeout>3000</transaction-timeout-->
</operation-config>
<operations>
<operation anonymous-access="true" name="isInHierarchy" method="isInHierarchy">
<input-parameter name="principalOid" type="java.lang.String" />
<output-parameter name="result" type="java.lang.Boolean"/>
</operation>
<operation anonymous-access="true" name="getDirectReports" method="getDirectReports">
<input-parameter name="principalOid" type="java.lang.String" />
<output-parameter name="result" type="java.util.List"/>
</operation>
<operation anonymous-access="true" name="isManager" method="isManager">
<input-parameter name="principalOid" type="java.lang.String" />
<output-parameter name="result" type="java.lang.Boolean"/>
</operation>
</operations>
</service>
</services>
</component>
Distribuire DSC tramite Workbench. Riavvia ProcessManagementTeamTasksService
servizio.
Potrebbe essere necessario aggiornare il browser o disconnettersi/accedere nuovamente con l'utente.
La schermata seguente illustra l’accesso alle attività dei rapporti diretti e alle azioni disponibili.
Accesso ai compiti dei rapporti diretti e azione sui compiti