Create a DSC. For more information, see 'Developing Components for LiveCycle' topic in Programming with LiveCycle guide.
In HTML Workspace, managers can now access the tasks assigned to anyone in their hierarchy—direct or indirect reports—and perform various actions on them. The tasks are available in the To-do tab in the Workspace. The actions supported on the tasks of direct reports are:
Forward
Forward a task from direct report to any user.
Claim
Claim a task of a direct report.
Claim & Open
Claim a task of a direct report and automatically open it in the To-do list of the manager.
Reject
Reject a task forwarded to a direct report by some other user. This option is available for the tasks forwarded by other users to a direct report.
Adobe® LiveCycle® restricts a users' access to only those tasks for which the user has access control (ACL). Such a check ensures that a user can fetch only the tasks on which the user has access permissions. Using third-party web-services and implementations to define hierarchy, an organization can customize the definition of manager and direct reports to suit their needs.
-
-
In the DSC, define a new SPI for hierarchy management to define direct reports and hierarchy within the LiveCycle users. Following is a sample Java™ code snippet.
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 a component.xml file. Please ensure that spec-id must be same as shown in code snippet below. Following is a sample code snippet that you can repurpose.
<component xmlns="http://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>
-
Deploy DSC through LiveCycle Workbench. Restart ProcessManagementTeamTasksService service.
-
You may have to refresh your browser or logout/login with the user again.
The following screen illustrates accessing the tasks of direct reports and the available actions.
More like this
- Introduction to Customizing HTML Workspace
- Generic steps for HTML Workspace customization
- Managing tasks in an organizational hierarchy using Manager View
- Integrating Correspondence Management in HTML Workspace
- Single Sign On and timeout handlers
- Displaying the user avatar
- Displaying information in the Task Summary pane
- Changing the organization logo
- Changing the color scheme of the interface
- Changing the font on the interface
- Changing the locale of the user interface
- Customizing error dialogs
- Customizing tabs for a task
- Customizing Task Actions
- Customizing the listing of process instances
- Customizing the task Details page
- Displaying additional data in ToDo list
- Getting Task Variables in Summary URL
- Images for Route Actions
- Creating a new login screen
- Minification of the JavaScript files
- Sorting of Tracking tables and adding more columns
- Updating the link to the documentation
- Hosting two HTML Workspace instances on one server