Saltar al contendio prinicipal

Setup a Project Manager

Advertencia

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 or Finished
    • Tasks can be Open, inProgress, Roadblock, Finished or in Backlog
    • We will setup a single communication per projects (In the "simple Task Manger" tutorial, there is one channel per task).
  • Rules to manage the tasks
    • Open tasks must be closed or set to backlog before 7 days, otherwise the assignee manager is notified.
  • Bots
    • projects are created from a survey
    • tasks are created from a survey
  • Dashboards
    • projects and `tasks` charts and KPIs
This is an advanced Cotalker configuration. If you have any issues following this tutorial please let us know at docs@cotalker.com

Funtional Requirements

Access Role

  • User with the permission admin-*-write which allows all above.
  • User with the permissions web-admin-write and web-admin-read to set up in the admin.
  • User with the access role read admin.
info

If you don't have your Cotalker Partner Account. Please contact us at partners@cotalker.com

Steps

Overview of step dependency

Company Edition

  1. Create two Job Titles in the company: Manager and Operator.

View this tutorial for more information on company edition

Create Access Roles

Create two acesss roles

Access RolePermissionsNotes
Project Creatortaskmanager_access
taskmanager_create_project
This will allow to create new projects
Task Creatortaskmanager_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 NameProperties Display Name
Project Assets project_assetsempty
Project States project_states1. Active ps_active
2. Finished ps_finished
3. Canceled ps_canceled
Generic Assets generic_assetsGeneric Task generic_task
Task States task_states1. Backlog ts_backlog
2. Open ts_open
3. In Progress ts_in_progress
4. Roadblock ts_roadblock
5. Closed ts_closed
Task Priority task_priority1. High tp_high
2. Normal tp_normal
3. Low tp_low
PM Control pm_controlCreate 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.

  1. Manager
    name: Eva
    surname: Sample
    email: __eva@ruanda.com__
    Job: manager
    Access Roles: Project Creator, Task Creator and default
  2. 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

  1. name Projects & Tasks
    code projects
    group type Tasks
    read permission taskmanager_access
  2. name Project Dashboard
    code project_dashboard
    group type Link
    parent Projects & Tasks

View this tutorial for more information on Create Group

Create State Machine

  1. name Projects
    code projects
    type BOUND
    asset.type UNIQUE
    asset.propertytype Project Assets
    state list Project States
  2. 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

  1. For state machine Projects

    TypePropertyState Changes
    new1. Active2. Finished
    3. Canceled
    closed2. Finished1. Active
    closed3. Canceled1. Active

    Initial state 1. Active

  2. For state machine Tasks

    TypePropertyState Changes
    new2. Open3. In Progress
    4. Roadblock
    5. Closed
    1. Backlog
    in progress3. In Progress2. Open
    in progress4. Roadblock2. Open
    closed5. Closed2. Open
    in progress1. Backlog2. Open

    Initial state 1. Open

Connect State Machines

  1. At group Projects & Tasks
    Set Initial state machine as Projects
  2. 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:

CodeTypeSettings
notifyPBMessageContent: ["$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

  1. name Create new Project
    code create_new_project
    permissions: Project Creator
    properties required: PM Control @ Create Project

    TypeIdentifierSettings
    Plain Textcs_text"Create new Project"
    Textcs_project_namemin 3, max 140
  2. name Create new Task
    code create_new_task
    permissions: Task Creator
    properties required: Project State @ *

    TypeIdentifierSettings
    Plain Textct_text"Create new Project"
    Textct_task_namemin 3, max 140

View this tutorial for more information on Create Survey

Create Channel

  1. 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

  1. 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:

    CodeTypeSettings
    create_projectPBCreateTaskname: $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_okPBMessagecontent: $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

  2. 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

    CodeTypeSettings
    create_taskPBCreateTaskname: $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_okPBMessagecontent: $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

    info

    The 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:

  1. Click on the main menu on Project & Tasks
  2. Then click on the task view icon on the top right of the channel list
  3. Select kanban view from the top bar

Now let's create 2 views

  1. 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
  2. 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

info

BI Access requires a PRO account.

  1. 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
  2. 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
  3. 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