Show Menu
ARGOMENTI×

Gestione delle attività in una gerarchia organizzativa utilizzando la vista Manager

Nell'area di lavoro Moduli AEM, 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 Moduli AEM. Le azioni supportate per le attività dei rapporti diretti sono:
Inoltra un'attività dal rapporto diretto a qualsiasi utente.
Rivendicare un'attività di un rapporto diretto.
Richiedi e apri attestazione un'attività di un rapporto diretto e lo apri automaticamente nell'elenco A-do del manager.
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, Access Control). 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.
  1. Creare un DSC. Per ulteriori informazioni, consultate l'argomento "Sviluppo di componenti per AEM Forms" nella guida Programmazione con AEM Forms .
  2. In DSC, definire un nuovo SPI per la gestione gerarchica per definire i rapporti diretti e la gerarchia all’interno degli utenti di 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) {
    
        }  
    }
    
    
  3. 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>
    
    
  4. Implementare DSC tramite Workbench. Riavviate ProcessManagementTeamTasksService il servizio.
  5. 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à