Gerenciamento de tarefas em uma hierarquia organizacional usando a Visualização do Gerente

Na área de trabalho do AEM Forms, os gerentes agora podem acessar as tarefas atribuídas a qualquer pessoa em sua hierarquia - relatórios diretos ou indiretos - e executar várias ações. As tarefas estão disponíveis na guia Fazer na área de trabalho do AEM Forms. As ações suportadas nas tarefas dos relatórios diretos são:

Encaminhar uma tarefa do relatório direto para qualquer usuário.

Reivindicação Reivindica uma tarefa de um relatório direto.

Reivindicar e abrir Reivindicação uma tarefa de um relatório direto e abri-lo automaticamente na lista de Tarefas do gerente.

Rejeitar Rejeitar uma tarefa encaminhada a um relatório direto por outro usuário. Essa opção está disponível para as tarefas encaminhadas por outros usuários a um relatório direto.

A AEM Forms restringe o acesso de um usuário somente às tarefas para as quais o usuário tem controle de acesso (ACL). Essa verificação garante que o usuário possa buscar somente as tarefas nas quais o usuário tenha permissões de acesso. Usando serviços e implementações da Web de terceiros para definir a hierarquia, uma organização pode personalizar a definição de gerentes e relatórios diretos de acordo com suas necessidades.

  1. Crie um DSC. Para obter mais informações, consulte o tópico "Desenvolvimento de componentes para formulários AEM" no guia Programação com AEM Forms .

  2. No DSC, defina um novo SPI para o gerenciamento de hierarquia para definir relatórios diretos e hierarquia dentro dos usuários do AEM Forms. A seguir, há um exemplo de trecho de código 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. Crie um arquivo component.xml. Certifique-se de que spec-id seja o mesmo que mostrado no trecho de código abaixo. Veja a seguir um trecho de código de amostra que pode ser redefinido.

    <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. Implante o DSC por meio do Workbench. Reinicie o ProcessManagementTeamTasksService serviço.

  5. Talvez seja necessário atualizar seu navegador ou fazer logout/login com o usuário novamente.

A tela a seguir ilustra o acesso às tarefas dos relatórios diretos e às ações disponíveis.

cu_manager_visualização

Acessar tarefas de relatórios diretos e agir nas tarefas

Nesta página