'area di lavoro di AEM Forms, i manager possono ora accedere alle attività assegnate a chiunque all'interno della propria gerarchia, sia direttamente che indirettamente, ed eseguire varie azioni su di esse. Le attività sono disponibili nella scheda Operazioni nell'area di lavoro di AEM Forms. Le azioni supportate per le attività dei rapporti diretti sono:
Inoltra: consente di inoltrare un'attività dal rapporto diretto a qualsiasi utente.
ClaimClaim un'attività di un report diretto.
Reclami e OpenClaim un'attività di un rapporto diretto e lo apra automaticamente nell'elenco A-do del manager.
Rifiuta: rifiuta un'attività inoltrata a un rapporto diretto da un altro utente. Questa opzione è disponibile per le attività inoltrate da altri utenti a un rapporto diretto.
AEM Forms limita l'accesso di un utente solo alle attività per le quali l'utente dispone del controllo di accesso (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.
Creare un DSC. Per ulteriori informazioni, consultate l'argomento "Sviluppo di componenti per AEM Forms" nella guida Programmazione con AEM Forms.
Nel DSC, definite un nuovo SPI per la gestione gerarchica per definire rapporti diretti e la gerarchia all'interno degli utenti AEM Forms . Segue un esempio di snippet 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) {
}
}
Create un file component.xml. Assicurarsi che spec-id sia uguale a quanto mostrato nello snippet di codice riportato di seguito. Segue un frammento di codice di esempio che è possibile riadattare.
<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>
Implementare DSC tramite Workbench. Riavviate il servizio ProcessManagementTeamTasksService
.
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 alle attività dei rapporti diretti e azione sulle attività