This extension for Alfresco is obsolete and unsupported. Use it on your own risk.
Extends standard Alfresco users and groups functionality by adding complete organizational chart that is more convenient for business users than flat groups.
Features:
- Orgstructure view in Alfresco Share
- Using orgchart to select users and groups for cm:person associations on forms
- Assiging tasks by role: configure workflow to assign task to "secretary" or "accountant" without hard-coding names in the BPMN file.
- Out-of-office feature: automatically reassign tasks if person is unavailable
Presentation from Alfresco DevCon 2012.
Compatible with Alfresco 5.1 and 5.2.
This component requires:
Recommended way to use Alvex components is to include them as dependencies to your Maven project. Follow this guide to include this component to your project.
To build Alvex follow this guide.
Some key Alvex Org Chart concepts include:
- Unit: departments, sections, offices etc. Employees are grouped into Units. You can create a Global Unit (Company) and Sub-units inside it. The number of nesting levels is not limited.
- Administrator of the Unit is a user who can modify the Unit and all subunits without being an Alfresco Administrator. For example, your human resources manager could be an Administrator.
- Supervisor of the Unit is a manager who can see tasks and workflows of the Unit's members.
- Role is a position of the person in the Org Chart Unit. The same user can have several roles in one or in different Units. Roles are defined globally for the whole company. While configuring an Org Chart Unit administrator should specify which roles can be used in this Unit. So you can define the role "Developer", "Clerk" or "Department Director" and use them for employees in different Units.
Before using Org Chart, you have to configure it. Only system administrator can do this. Find Org Chart page in admin console to create Org Chart, roles and departments. Attach roles to departments to use roles in specific departments and add users to the orgchart.
Select user:
<field id="prefix:user">
<control template="/orgchart-picker.ftl" />
</field>
Select group:
<field id="prefix:user">
<control template="/orgchart-group-picker.ftl" />
</field>
To use extended Alvex Org Chart features, add the following bean to your workflow context file:
<bean id="your_bean_id" parent="alvex-orgchart-delegations-manager">
<property name="matches">
<list>
<value>task-assign-after-change:.*@PROCESS_ID</value>
<value>task-done:.*@PROCESS_ID</value>
<value>process-start@PROCESS_ID</value>
</list>
</property>
</bean>
PROCESS_ID is ID of your workflow.
To design a custom task to be assigned to the user with specific role, fill "Assignee" field for a task in a workflow model with UNIT::ROLE, where UNIT is a name of a unit or relative addressing for a unit, and ROLE is a name of a role. Simple example for task, that will be assigned to a user with role Manager from Department 1 unit:
<userTask id="managerReview"
activiti:assignee="Department One::Manager"
activiti:formKey="alvexwf:managerReview">
Example for a task, that will be assigned to a user with role Manager from the unit one step up from the unit current user belongs to:
<userTask id="managerReview"
activiti:assignee="{-1}::Manager"
activiti:formKey="alvexwf:managerReview">
Example for a task, that will be assigned to a user with role Manager from the unit current user belongs to:
<userTask id="managerReview"
activiti:assignee="{0}::Manager"
activiti:formKey="alvexwf:managerReview">
If there is no Manager set for the current unit, then Org Chart will search up the tree to find Manager inherited from upper level.
Setup out-of-office function to redirect your assigned tasks to your deputies while you are away. If you have several roles in the Org Chart you can select different deputies for different roles.
Open Out Of Office page. Set up your deputies and enable "Out of Office" status. When you will come back you need to disable the status to turn it off.
Out of Office will reassign new tasks to your deputies. You should manually reassign existing tasks that you didn't complete.
Assigning tasks to your deputies for specific roles will work only if the task is assigned to you by the role, not by the username. If the task has been assigned to you by name then default deputy will be used.