Setup a Project Manager
Esta página aún no se encuentra traducida al español.
Time to complete: 120 minutes.
Company Request
Congratulation! After showing the demo of Task Manager and what can it do, Ruanda Company requests for implement the Project and Task Manager, with automatic notifications and a dashboard.
Their requests are the following:
- Task Manager that allows the creation of projects with tasks
- Projects can be
Active
,Canceled
orFinished
- Tasks can be
Open
,inProgress
,Roadblock
,Finished
or inBacklog
- We will setup a single communication per projects (In the "simple Task Manger" tutorial, there is one channel per task).
- Projects can be
- Rules to manage the tasks
- Open tasks must be
closed
or set tobacklog
before 7 days, otherwise the assignee manager is notified.
- Open tasks must be
- Bots
- projects are created from a survey
- tasks are created from a survey
- Dashboards
- projects and `tasks` charts and KPIs
Funtional Requirements
Access Role
- User with the permission
admin-*-write
which allows all above. - User with the permissions
web-admin-write
andweb-admin-read
to set up in the admin. - User with the access role
read admin
.
If you don't have your Cotalker Partner Account. Please contact us at partners@cotalker.com
Steps
Overview of step dependency
Company Edition
- Create two Job Titles in the company:
Manager
andOperator
.
View this tutorial for more information on company edition
Create Access Roles
Create two acesss roles
Access Role | Permissions | Notes |
---|---|---|
Project Creator | taskmanager_access taskmanager_create_project | This will allow to create new projects |
Task Creator | taskmanager_access taskmanager_create_task | This will allow to create new tasks |
View this tutorial for more information on access role creation
Create Databases
Database Display Name | Properties Display Name |
---|---|
Project Assets project_assets | empty |
Project States project_states | 1. Active ps_active 2. Finished ps_finished 3. Canceled ps_canceled |
Generic Assets generic_assets | Generic Task generic_task |
Task States task_states | 1. Backlog ts_backlog 2. Open ts_open 3. In Progress ts_in_progress 4. Roadblock ts_roadblock 5. Closed ts_closed |
Task Priority task_priority | 1. High tp_high 2. Normal tp_normal 3. Low tp_low |
PM Control pm_control | Create Project pm_create_project Create Task pm_create_task |
View this tutorial for more information on database creation
Create Users
For ilustrate the project manager we will create only two users Eva
and John
. Eva
will be John's
manager.
- Manager
name: Eva
surname: Sample
email: __eva@ruanda.com__
Job: manager
Access Roles: Project Creator, Task Creator and default - Operator
name: John
surname: Sample
email: __john@ruanda.com__
Job: operator
Access Roles: Task Creator and default
Boss: Eva
View this tutorial for more information on user creation
Create New Groups
- name Projects & Tasks
code projects
group type Tasks
read permission taskmanager_access - name Project Dashboard
code project_dashboard
group type Link
parent Projects & Tasks
View this tutorial for more information on Create Group
Create State Machine
- name Projects
code projects
type BOUND
asset.type UNIQUE
asset.propertytype Project Assets
state list Project States - name Tasks
code tasks
type UNBOUND-HIERARCHY
asset.type GENERIC
asset.propertytype Generic Assets
asset.proeprty Generic Task
additional field 1 Task Priority
states Tasks States
Setup State Machine States
For state machine Projects
Type Property State Changes new 1. Active 2. Finished
3. Canceledclosed 2. Finished 1. Active closed 3. Canceled 1. Active Initial state 1. Active
For state machine Tasks
Type Property State Changes new 2. Open 3. In Progress
4. Roadblock
5. Closed
1. Backlogin progress 3. In Progress 2. Open in progress 4. Roadblock 2. Open closed 5. Closed 2. Open in progress 1. Backlog 2. Open Initial state 1. Open
Connect State Machines
- At group Projects & Tasks
Set Initial state machine as Projects - For state machine Projects for state 1. Active
Set subtask as Tasks
This is final result of this setup

View this tutorial for more information on Create State Machine
SLA: 7 days to close the task
For state machine Tasks add a SLA
- name Follow up
- code follow_up
- start new
- end closed
- time type: Static
- time : DAYS|7
- reset: on
- repeat: off
Routine:
Code | Type | Settings |
---|---|---|
notify | PBMessage | Content: ["$VALUE#task|name", "TEST"] JoinContentBy leave 1 white space contentType text_plain sentBy $VALUE#task|assignee channelIds: ["$VALUE#task|channel"] |
Initial Stage: notify
View this tutorial for more information on Create SLA
Create Surveys
name Create new Project
code create_new_project
permissions: Project Creator
properties required: PM Control @ Create ProjectType Identifier Settings Plain Text cs_text "Create new Project" Text cs_project_name min 3, max 140 name Create new Task
code create_new_task
permissions: Task Creator
properties required: Project State @ *Type Identifier Settings Plain Text ct_text "Create new Project" Text ct_task_name min 3, max 140
View this tutorial for more information on Create Survey
Create Channel
- name Create Projects
code create_project
group Projects & Tasks
users Eva Sample
properties PM Control @ Create Project
First property overrides channel name off
View this tutorial for more information on Create Channel
Create Bots
Bot that creates projects
- name ProjectBot
- description Creates projects from a survey
- global on
- it's a survey command on
- form Create new Project
- it's a slash command off
- Max iterations 2
Routine:
Code Type Settings create_project PBCreateTask name: $VALUE#data|[find=>identifier=cs_project_name]|process
taskGroup 5e726b9dcc12880037ba7e0f
assignee: ["$VALUE#user"]
output.created send_ok (Cannot be set until next stage is created)send_ok PBMessage content: $JOIN# #The project#($OUTPUT#create_project#task|name)#has been created successfully
contentType text/system
sentBy: $VALUE#user
channelIds ["$VALUE#channel"]Initial Stage: create_project
Bot that creates projects
- name TaskBot
- description Creates Tasks in Project
- global on
- it's a survey command on
- form Create new Task
- it's a slash command off
- Max iterations 2
Routine:
Max iterations: 2
Code Type Settings create_task PBCreateTask name: $VALUE#data|[find=>identifier=ct_task_name]|process
taskGroup 5e726b9dcc12880037ba7e0f
assignee: ["$VALUE#user"]
ParentChannel $VALUE#channel
output.created send_ok (Cannot be set until next stage is created)send_ok PBMessage content: $JOIN# #The task#($OUTPUT#create_task#task|name)#, code number:#($OUTPUT#create_task#task|serial)#has been successfully created.
contentType text/system
sentBy: $VALUE#user
channelIds ["$VALUE#channel"]Initial Stage: create_project
infoThe bot's access roles must be upgraded to allow
ParentChannel
parameter to work. This requires the bot to read the channel and tasks

View this tutorial for more information on Create Bot
Configure Kanban View
First go to the kanban view:
- Click on the main menu on Project & Tasks
- Then click on the task view icon on the top right of the channel list
- Select kanban view from the top bar
Now let's create 2 views
- All Tasks by Status
- Click on the gear icon
- preset: Status (Any name is OK)
- group by, field: Status
- filter by, condition All criteria
- press at filter by "add filter"
- filter by, Field State Machine
- filter by, Condition Equal
- filter by, Value Tasks
- Public filter on
- Open Tasks by Assignee
- Select at Filters, Preset, "New..."
- preset: Assignee (Any name is OK)
- group by, field: Assignee
- filter by, condition All criteria
- press at filter by "add filter"
- filter by, Field State Machine
- filter by, Condition Equal
- filter by, Value Tasks
- press at filter by "add filter"
- filter by, Field Status
- filter by, Condition Equal
- filter by, Value 2. Open, 3. In Progress, 4. Roadblock
- Public filter on
View this tutorial for more information on Setup taskvoew
Configure BI
BI Access requires a PRO account.
- Create the first chart
- Access the BI
- Create a new question
- Set this native query (SQL)
SELECT code, count(code)
FROM tasks_projects
LEFT JOIN properties_task_states on tasks_projects.status = properties_task_states._id
WHERE smstatemachine = '5e73fb31eb0a0b00676e620c'
GROUP BY code- Set as Pie Chart
- img alt="" src={useBaseUrl('img/blog_project_manager_bi_1.png')} />
- Save the question
- Create and add the question to a dashboard
- Create the second question
- Create a new question
- Set this native query (SQL)
SELECT name, code
FROM tasks_projects
LEFT JOIN properties_project_states on tasks_projects.status = properties_project_states._id
WHERE smstatemachine <> '5e73fb31eb0a0b00676e620c' - Set as Table
- Save the question
- Add question to same dashbaord
- Set the dashboard to Public and copy the link
- Go to groups, edit Project Dashboard
- Set URL to the link you copied
- Save
Result
Eva assigns a task to John, and he responds through the chat

Eva views tasks by current state

Eva view tasks by current assignee
