Project Managers can synchronize tasks in a project plan with Tasks by Planner, so that task owners can simply do their updates via Microsoft Teams, which will flow back through to the task plan in Camms.Project automatically. 


Prerequisites:

  • The e-mail addresses of staff members in Framework > Project Settings > Staff page should match the e-mail addresses used by those staff members in Microsoft Teams.


You can follow the steps mentioned below to configure and set up the synchronization process.


Step 1: Setting up the connection between Camms.Project and Microsoft Teams

  • A new section titled as ‘API Configurations’ has been introduced to the Main Menu in Camms.Project. Underneath this section, there will be a menu item titled as ‘Microsoft Teams Configuration’. 

            Note: This section will only be visible for users with Administrator privileges.

  • Click on the ‘Microsoft Teams Configuration’ menu option shown in the figure above. 

 

  • Once you navigate to the Microsoft Teams Configuration page, you will be able to view the ‘Teams Configuration’ tab where you can configure and test the connection between Camms.Project and Microsoft Teams with the assistance of your Microsoft Teams administrator. 


  • If you require assistance in configuring the fields, you can easily refer to the instruction manual that can be downloaded by clicking on the text highlighted in the figure below .

  • Enter the relevant data in each field as per the instructions mentioned in the document, then click on ‘Save and Test Connection’ button.


  •  The system will now initiate the connection between Camms.Project and Microsoft Teams, and you will be able to view the screen below when the connection establishment is in progress.

  • Once the connection establishment is completed successfully, then you will be able to view the screen below.

  • If the connection establishment fails, then you will be able to review the error that caused the failure, and retry the connection establishment process by clicking on the ‘Save and Test Connection’ button.

 


Step 2: Set the mapping of statuses of tasks between Camms.Project and Microsoft Teams

  • Once the connection between Camms.Project and Microsoft Teams is successfully set up (as described in Step 1 above), you can click on the Task Status Mapping tab if you wish to customize the mapping of task statuses between Camms.Project and Microsoft Teams. 
  • Since Microsoft Teams has only ‘Not Started’, ‘In Progress’ and ‘Completed’ statuses, ‘Task Status Mapping’ tab will allow you to map the task statuses in Camms.Project to those three tasks statuses in Microsoft Teams to ensure a smooth task synchronisation process. 

 


 

  • All standard and custom task statuses are already mapped for you by default. However, you can update the status mapping if required.

 Note: The mappings that were set for ‘Not Started’, ‘In Progress’ and ‘Completed’ task statuses cannot be updated.

  •  Once you have set up the mapping, you can save the updates that you made by clicking on the Save button on the top toolbar.

 

Step 3: Setting up your preferences for the synchronization process

  • Once the first 2 steps are successfully completed, you can now set up your preferences by navigating to the current Task Planning object of each project that you manage. 

 

  • Click on the ‘Sync to Teams’ button available on the top toolbar next to the 'Kanban' button. 

Note: The ‘Sync to Teams’ button will only be visible for users who have ‘Can View’ permission to the object or super role permission (e.g. IPM Administrator, Project Manager).

 

 

  • A pop-up with the fields mentioned below will be displayed when you click on the ‘Sync to Teams’ button;
    1. Synchronize tasks that are : This field will consist of all standard and custom task statuses available in your environment. The tasks that will be synchronized to Microsoft Teams are determined by the statuses which you select here. For example, if you wish to synchronize the tasks that are either ‘Not Started’ or ‘In Progress’ to Microsoft Teams, select the tick boxes next to the ‘Not Started’ and ‘In Progress’ statuses.
    2. Synchronize comments in the task plan : You can select this tick box if you wish to synchronize comments of tasks to Microsoft Teams. The options mentioned below will be displayed when you select this tick box;
  • Append latest comment in Teams to the current comment in Camms.Project— Selecting this option will append the latest comment entered in Teams to the current comment in the Gantt in Camms.Project when syncing from Teams to Camms.Project. The latest comment entered in Camms.Project will be added as a new comment when syncing from Camms.Project to Teams.
  • Replace the current comment in Camms.Project with the latest comment in Teams– Selecting this option will replace the current comment in Camms.Project with the latest comment entered in Teams, when syncing comments from Teams to Camms.Project. The latest comment entered in Camms.Project will be added as a new comment when syncing from Camms.Project to Teams. The comments that already existed in Teams will not be deleted.

If you do not wish to synchronize comments with Microsoft Teams, you can untick the ‘Synchronize comments in the task plan’ tick box.

  

  • Once you set up your preferences, you can move on to the next step by clicking on the Next button in the popup.

 

Step 4: Configuring names for your new plan and team

  • Once you set up your preferences, the next step is to define names for the team and plan that the system will be creating for your task plan once its synchronized with Microsoft Teams. 

 

  • The following 2 fields will be available in a pop-up. 
    1. Plan Name:  You can define a name for your plan. The name defined here will be the name of the plan created in the Tasks by Planner in Microsoft Teams. 
    2. Team Name: You can define a name for your team. The name defined here will be the name of the team created in the Tasks by Planner in Microsoft Teams.


  • Once you have defined a team name and a plan name, you can click on the ‘Sync to Teams’ button in the pop-up to initiate the synchronization process.


  • The following will occur when the synchronization process is initiated;
  1. A new team will be created in Tasks by Planner application within Microsoft Teams, including the staff members in the Board and Team object. The name of the team will be the value entered by the user in Team Name field in step 4 above.
  2. The system will obtain a list of all staff members from the Board and Team object who have tasks assigned to them in the relevant object as per the logics below;
    • The list of staff members will be obtained from the Board and Team object in the current phase if available. 
    • If the Board and Team object does not exist in the current phase but exists in the previous phases, then the list will be obtained from the Board and Team object available in the last available previous phase.
    • If the Board and Team object does not exist in the current phase but exists in previous and subsequent phases, then the list will be obtained from the Board and Team object in the last available previous phase.  
    • If the Board and Team object does not exist in the current phase but exists only in subsequent phases, then the list will be obtained from the Board and Team object available in the object in the future phase which is immediately below the current phase in the workflow.
  3. Populate the list of staff members in the newly created team as per the logics below;
    • The role of “Owner” in Teams should be assigned to the staff member who is the Project Owner(the staff member whose project position is “Project Owner” in the Board and Team object)
    • The role of ‘Owner’ should also be assigned to the staff member who has the service account defined in Project Settings > Teams Configuration area
    • In a scenario where the staff member with the Project Owner position does not have a valid email address, then the sync process should be stopped and an error should be logged to the error log.
    • The role of “Member” should be assigned to all other staff members in the staff list obtained in point no. 2 above.
  4. A new plan will be created in Tasks by Planner. 
  5. The system will take the preferences set by the user into account in the first step of the wizard when obtaining the tasks that are to be added to the plan. 
  • If all Status tick boxes are selected by the user, the system will obtain a list of all standalone tasks and child tasks, and their information from the current Task Planning object irrespective of their statuses.
  • If all tick boxes are not selected by the user, the system will obtain a list of child tasks and standalone tasks that are of the statuses selected by the user and their information from the current Task Planning object.

For example, if the user only selects the ‘Not Started’, ‘In Progress’, and ‘Completed’ tick boxes, then the system will obtain a list of child tasks and standalone tasks that are of ‘Not Started’, ‘In Progress’ and ‘Completed’ statuses and their information from the current Task Planning object.

Note: Parent tasks in the task plan will not be synced to Microsoft Teams.


Once the team and the plan are successfully created, you will be able to view the screen below. If you wish to navigate to the Teams web application, you can click on the ‘Navigate to Teams’ button. The application will be opened in a new browser tab.


Step 5: Setting up the plan which was created by the synchronization in Microsoft Team

  • To view the plan which was created by the synchronization, you can follow the steps mentioned below;
  • Navigate to the Microsoft Teams desktop application or web application and click on the Teams option in the left navigation bar.
  • On the left side of the Teams screen, you will be able to see the team that you created. Click on its name once, and the below screen will be displayed.

  • Click on the Tasks by Planner tab. Then click on the ‘Set up tab’ button (highlighted in the image below) to set up the tab. 
  • Once you click on the ‘Set up tab’ button, a pop-up window will be displayed. Select ‘Use an existing plan from this plan’ option and select the plan that was newly created from the dropdown list. Click on Save button to save your selections.


  • Microsoft Teams will now load the plan that was created via Camms.Project for you to do your updates.

 

Repeat steps 3, 4 and 5 for each project that you wish to sync to Microsoft Teams.


Once the above steps are completed, your task plan is now synced with Microsoft Teams. The updates made to the tasks in the plan within Microsoft Teams will now flow through to Camms.Project, and vice versa.


All task updates that you make in the Gantt will be synced to Microsoft Teams when you click on the Save button or when the auto-save functionality is triggered.

Note: The Gantt will be automatically saved based on the frequency set in the ‘Auto Save frequency (in minutes) in Task Planning object’ setting.

 

The properties of tasks between the two applications will be synced as mentioned in the grid below;

  

Field in Camms.Project

Field in Planner

Task Name

Task Title

Start Date

Start Date

End Date

Due Date

Progress Percent

Percent Complete

Progress

Status

Responsible Officer

Assigned To

Completion Date

Completion Date

Comments

 

Comments


You can do any further updates on the Gantt whilst the synchronization process is in progress, if required. Those updates will be automatically synced to Microsoft Teams when the next auto-save is triggered after the ongoing sync is completed. Those updates can also be synced to Microsoft Teams when the user clicks on the Save button once the ongoing sync is completed.

 

All task updates that you make in Microsoft Teams will be synced back to Camms.Project automatically via a background service which runs every hour. Please contact Camms if you wish to customize the frequency which the service runs.


The ‘Sync to Teams’ icon will indicate if there is an update from Microsoft Teams, so that users will get to know that the task plan is not up to date. 

 


If you wish to sync task updates to Camms.Project on demand, you can click on the ‘Sync to Teams’ button, and then click on the ‘Sync Latest from Teams’ button, which is highlighted in the image below. 

Note: The ‘Sync Latest from Teams’ button will only be enabled if you have ‘Can View’ permission to the Task Planning object or super role permission.



If you accidentally close the ‘Sync to Teams’ pop-up while the synchronization is in progress, the synchronization process will continue to run in the background. You can easily view the status of the process via the indicator text and the ‘Sync to Teams’ icon.



 The ‘Sync to Teams’ icon will indicate if there was a failure in the synchronization process.


If you wish to check on why the synchronization process failed, you can refer to the error log, which can be downloaded by clicking on the ‘Download Error Log’ button.


The errors that can occur when the synchronization is underway and instructions on how to fix those errors are mentioned in the grid below;


Direction of Synchronization

Error Description

Potential reason for error

Method to fix error

Camms.Project to Microsoft Teams

Access denied

The entered user account does not have enough privileges to access the API

Check with the IS team if the account you received is an administrator account or not. If not, obtain an administrator account and use it to test the connection.

Camms.Project to Microsoft Teams

There was an internal server error while processing the request.

An internal server encountered an error while processing the request

Wait a few minutes and try again.

Camms.Project to Microsoft Teams

Gateway timeout

The server, while acting as a proxy, did not receive a timely response from the upstream server it needed to access in attempting to complete the request. May occur together with 503.

Make sure that the signal strength of your internet connection is strong and try again.

Camms.Project to Microsoft Teams

Failed to create plan in Teams

Could occur due to an error occurred in the API

Wait a few minutes and try again.

Camms.Project to Microsoft Teams

Failed to create team in Teams

Could occur due to an error occurred in the API

Wait a few minutes and try again.

Camms.Project to Microsoft Teams

Unable to sync the task plan

Could occur due to an error occurred in the API

Wait a few minutes and try again.

Camms.Project to Microsoft Teams

Unable to sync task <<task name>> due to an unknown issue.

Could occur due to an error occurred in the API

Wait a few minutes and try again.

Camms.Project to Microsoft Teams

<<Staff Name>> does not have a valid email address.  Please check if the email address entered in Camms.Project and Teams matches or not.

The specified staff member’s email address entered in Camms.Project does not match up with the one in Teams

Make sure that all staff members including project owners have valid email addresses, and that those email addresses are used in Teams.

Camms.Project to Microsoft Teams

Unable to sync the task plan to Planner

The connection between the API and the application could be broken.

Ask your administrator to navigate to the Project Settings > Teams Configuration and test the connection

Microsoft Teams to Camms.Project

Unable to sync the task plan updates to Camms.Project

The connection between the API and the application could be broken.

Ask your administrator to navigate to the Project Settings > Teams Configuration and test the connection

Camms.Project to Microsoft Teams

Unable to create task ‘<<task name>>’ in Teams

The specified task cannot be created in Teams due to an unknown issue.

 

Microsoft Teams to Camms.Project

Unable to create task ‘<<task name>>’ in Camms.Project

The specified task cannot be created in Camms.Project due to an unknown issue.

 

Camms.Project to Microsoft Teams

Unable to delete task ‘<<task name>>’ from the plan in Teams

The specified task cannot be deleted from the plan in Teams due to an unknown issue.

 

Microsoft Teams to Camms.Project

Unable to delete task ‘<<task name>>’     from the task plan from Camms.Project

The specified task cannot be deleted from Camms.Project due to an unknown issue.

 

Camms.Project to Microsoft Teams

Unable to update task ‘<<task name>>’ in Teams

The specified task cannot be updated in Teams due to an unknown issue.

 

Microsoft Teams to Camms.Project

Unable to update task ‘<<task name>>’ in Camms.Project

The specified task cannot be updated in Camms.Project due to an unknown issue.

 

Microsoft Teams to Camms.Project

Unable to update <<Field Name of the field that did not update>> field in task ‘<<task name>>’ in Camms.Project

The specified field in the task mentioned in the error description cannot be updated in Camms.Project due to an unknown issue.

 

Camms.Project to Microsoft Teams

Unable to update <<Field Name of the field that did not update>> field in task ‘<<task name>>’ in Teams

The specified field in the task mentioned in the error description cannot be updated in Microsoft Teams due to an unknown issue.

 

Camms.Project to Microsoft Teams AND Microsoft Teams to Camms.Project

Error in syncing the project board and team

Synchronization of the board and team failed due to an unknown issue.

 

Camms.Project to Microsoft Teams

Invalid email addresses entered against all staff members in the Project Board and Team. Please check if the email addresses entered in Camms.Project and Teams match or not.

All project board and team staff members’ email addresses entered in Camms.Project do not match up with the one in Teams

Make sure that all staff members including project owners have valid email addresses, and that those email addresses are used in Teams.

Teams to Camms.Project

Email addresses entered against the below staff member(s) in the Project Board and Team are invalid. Please check if the email addresses entered in Camms.Project and Teams match or not.

<<Staff Name>>

The email addresses entered in Camms.Project against the project board and team staff members mentioned in the error do not match up with the ones in Teams

Make sure that the staff members have valid email addresses, and that those email addresses are used in Teams.

Teams to Camms.Project

Cannot delete ‘<<Name of the staff member that was deleted>>’ staff member from the Board and Team because he or she is the project owner or the primary project sponsor.

The staff member that was deleted is either the project owner or the primary project sponsor of the project.

The system does not allow deletion of the project owner or the primary project sponsor from the board and team.

Camms.Project to Teams 

The plan <<Name of the plan>> does not exist

The plan in Tasks by Planner does not exist. 

Please check if the plan was deleted by another user.

Camms.Project to Teams

The team <<Name of the team>> does not exist

The team does not exist in Tasks by Planner

Please check if the team was deleted by another user.

You can click on the ‘Try Again’ button on the ‘Sync to Teams’ pop-up window to restart the synchronization process in case it fails. 


Once your task plan is synced with Microsoft Teams, you can easily make any of the following updates in your task plan via Tasks by Planner in Microsoft Teams so that the changes made can be synced back to Camms.Project;

  • Creating new tasks via Microsoft Teams
  • Updating properties such as the status, start and end dates etc. of existing tasks
  • Deleting tasks that are not required to the plan via Microsoft Teams


The logics that apply in each of the above scenarios are mentioned in the sections below.


Creating new tasks in the plan via Microsoft Teams

You can easily create new tasks in the plan that was created via the synchronization via Microsoft Teams. The following logics apply when you create a new task in the plan via Microsoft Teams;

  • The project to which the newly created tasks will be determined by the ID of the plan.
  • The newly created tasks will be added to the Task Planning object from which the user accessed the synchronization popup window when the user clicks on the ‘Get latest from Planner’ button from the Task Planning object.
  • The task planning object to which the newly created tasks will be added will be determined based on the logics below when the synchronization process occurs from Teams to Camms.Project automatically;
    • The newly created tasks will be added to the Task Planning object in the current phase of the relevant project.
    • If the Task Planning object does not exist in the current phase but exists in future phases, then those tasks will be added to the object in the future phase which is immediately below the current phase in the workflow. For example, if a project consists of 4 phases and its current phase is the 1st phase, and if the task planning object only exists in the 2nd, 3rd and 4th phases, but not in the 1st phase, the tasks should be added to the object in the 2nd phase.
    • If the Task Planning object does not exist in the current phase but exists in future phases and the past phases of the workflow, then those tasks will be added to the object in the future phase which is immediately below the current phase in the workflow. For example, if a project consists of 4 phases and its current phase is the 2nd  phase, and if the task planning object only exists in the 1st , 3rd and 4th phases, but not in the current phase, the tasks should be added to the object in the 3rd phase.
    • If the Task Planning object does not exist in the current phase or in the immediate next phase, the tasks will be added to the next available object in a future phase. For example, if a project consists of 4 phases and its current phase is the 2nd phase, and if the task planning object only exists in the 1st  and 4th phases, but not in the current phase or in the 3rd phase, then the tasks should be added to the object in the 4th phase.
    • When all previous phases are signed off and the Task Planning object does not exist in the current AND future phases, then the tasks will not be added to any object in Camms.Project.
  • The newly created tasks will always be added at the bottom of the Gantt chart, and they will be shown in current Task Planning object and Project Hub areas. 


  • The following logics apply for each field—
    1. Task Title—
      • The ‘Task Title’ field in Tasks by Planner will be mapped to ‘Task Name’ field in Camms.Project.
    2. Start Date/End Date—
      • ‘Start Date’ and ‘Due Date’ fields in Tasks by Planner will be mapped to ‘Start Date’ and ‘End Date’ fields in Camms.Project respectively.
      • The duration of the tasks in Camms.Project will be calculated by the formulas below;
        • If the duration of a task is NOT calculated including both the start and end dates of that task, then the duration of the task will be calculated;

          Duration = End Date – (Start Date + Weekends and holidays)

          For example, consider a task whose start date is 15/02/2021, and end date is 22/02/2021,

          There were no holidays during that time period. However, there was a weekend on 20th and 21st of February. Therefore,

          Duration of the task will be:  7 – 2 = 5

        • If the duration of a task is calculated including both the start and end dates of that task, then the duration of the task will be calculated;
          Duration = End Date – (Start Date + Weekends and holidays) + 1
          For example, consider a task whose start date is 15/02/2021, and end date is 22/02/2021,
          There were no holidays during that time period. However, there was a weekend on 20th and 21st of February. Therefore,
          Duration of the task will be: 8 – 2 = 6

      • If the user selects a holiday or a day that falls on a weekend as the start date or end date of a particular task, then the system will automatically change the relevant date to the immediate next working day (Working days are defined via Project Settings > Calendar). Consider the examples below
        Example 1: Consider a task whose start date is 01/02/2021, and end date is 04/02/2021,
        Since 4th of February is a public holiday, the end date of the task will shift to 05/02/2021

        Example 2: Consider a task whose start date is 01/02/2021, and end date is 05/02/2021,
        Since 5th of February is a Saturday and falls within the weekend, the end date of the task will shift to 07/02/2021 which is the immediate next working day.
        Note: The date adjustments will happen once the syncing of tasks is completed. These date adjustments will be done in both apps. E.g.; Once the dates in Gantt are adjusted and the sync happens from Gantt to Teams, the dates in Teams will also be updated to match the date in Gantt.
      • If the start date and the due date of the task is the same and if the duration of the task is calculated including both the start and end date of that task, then that task will be a task of 1 day duration when it is synced to Camms.Project.

      •  If the start date and the due date of the task is the same and if the duration of the task is NOT calculated including both start date and the end dates of that task, then that task will be converted to a milestone when it is synced to Camms.Project.

      • If the user does not select a start date when creating the task, then the following logics will be applied;

        •  If the project is currently in progress(i.e.; project start date <current date and the project end date >current date) , then the current date will be set as the start date of the task. 
        • If the project is a future project (i.e.; project start date >=current date and project end date > current date), then the task’s start date will be the Start Date of the project.
        • If the project is a past project(i.e.; project start date < current date and project end date < current date), then the task’s start date will be the Start Date of the project.
      • If the user does not select an end date but selects a start date when creating the task, then the end date of the task will be set as follows;
        • The duration of a task will be obtained from the external setting ‘Initial Duration For a New Task’.

          Then the end date will be calculated by adding the duration to the start date, and if the calculated date falls on a weekend or is a holiday, then the end date will be the next immediate working day.

          For example, if the start date of the task is 01/02/2021, and the value entered in the setting is 5, then the end date of the task will be 08/02/2021.

           

      • If the user does not select a start date or an end date when creating the task, then the start date and end date of the task will be set as follows; The start date of the task will be set as the scenario where the user does nor select a start date when creating the task(mentioned in the points above) and the end date will be calculated similar to the scenario where the user does not select an end date when creating the task(mentioned in the points above).
        Note: The date adjustments mentioned in the above points will be synced back to Teams when the sync from Camms.Project to Teams occur. i.e.; Once the dates in Camms.Project are adjusted as per the logics above and the sync happens from Gantt to Teams, the dates in Teams will also be updated to match the date in Camms.Project.
      • If the external setting titled as ‘Is Project Duration Based On Gantt’ is switched ON, then the project timeframe will be updated based on the task durations when required to do so.
      • If the project’s target is based on durations of tasks, then those values will be calculated and updated as per the existing logics.
      • When the project duration is not based on Gantt, and when the user selects dates (from Teams) which are out of the project timeframe, the dates will be adjusted to fit to project timeframe when the sync happens (the dates in Teams should also be updated accordingly).

        • Example 1: The start and end dates of the project are 01/06/2020 and 30/07/2022. The user creates a new task in Planner by listing the start and end dates as below;
          Start Date: 28/07/ 2020
          End Date: 03/08/2022
          The system will adjust the end date of the task to 30/07/2022 when syncing it to Camms.Project

        • Example 2: The start and end dates of the project are 01/06/2020 and 30/07/2022. The user creates a new task in Planner by listing the start and end dates as below;
          Start Date: 28/05/ 2020
          End Date: 03/06/2020
          The system will adjust the start date of the task to 01/06/2020, and the end date of the task to 05/06/2020 when syncing it to Camms.Project
      • If the percent complete of tasks is based on their duration, then the updates done to the start and end date fields of child tasks will impact the % complete and the performance traffic light of its parent tasks.
    3. Revised Start and End Dates—
      • Revised Start and End Date fields will be activated when the parameter ‘ShowActionRevisedDates‘ is switched ON.
      • If the Revised Start and End Dates fields are NULL, then the task’s start and end dates will be populated to the Revised Start and End Date fields when the sync occurs.
      • The rest of the logics related to the Revised Start and End Date fields will be applied here.
    4. Status—
      • The ‘Status’ field in Planner will be mapped to ‘Status’ field in Camms.Project, and the status values will be synced as per the status mappings created in Project Settings > Teams Configuration > Task Mapping tab.
    5. Responsible Officer—
      • If a newly created task is allocated to a single staff member and if he or she is a member of the current Project Board and Team object,
        • He or she will be the primary responsible officer of that task when synced to Camms.Project.
      • If a newly created task is allocated to a single staff member, and if he or she is not a member of the current Project Board and Team object, 
        • He or she will be added to the current Project Board and Team object as a Task Owner
        • He or she will be assigned as the primary responsible officer of that task when synced to Camms.Project.
      • If a newly created task is allocated to multiple staff members in the team and if all of them are members of the current Project Board and Team object, 
        • They will be assigned to the task according to the alphabetical order. Please see below example, The task “Documenting requirements” was created and initially assigned to Anne Shirley, then it was assigned to Cordelia Blythe. In this scenario, once the synchronization occurs, the primary responsible officer of the task will be Anne, whereas secondary responsible officer will be Cordelia.
        • The primary responsible officer will be the first staff member once the staff members are ordered in alphabetical order. For example;
          If a task is assigned to two staff members ‘Anne Shirley’ and ‘Jacob Flynn’, then the primary responsible officer of that task will be ‘Anne Shirley’.
      • If a newly created task is allocated to multiple staff members in the team and if at least one of them are not members of the current Project Board and Team object but the email address available in the Staff page matches with the email address used in Planner, 
        • The staff members who are not in the current Project Board and Team object will be added to the current Project Board and Team object as Task Owners
        • They will be assigned to the task as per the order they were allocated to the task. 
      •  If the newly created task was assigned to one or more staff member(s) who is not available in the current Project Board and Team object and his or her work email address is not available is not in the Staff page, 

        • He or she should not be added to the object
        • The task will be re-assigned to the project owner(i.e.; to the staff member who has the ‘Project Owner’ project position in the Board and Team object).
        • If one of the responsible officers is already the ‘Project Owner’ then there will be no change to the responsible officer field.
        • The relevant error(s) will be logged in the Error Log, which can be viewed once the sync is completed.
      • If the newly created task was assigned to a staff member who was deleted from the Team in Planner at the time of synchronization(i.e.; if the task is assigned to ‘Former user’),

        • That task should be assigned to the default task owner(i.e.; to the staff member who has the ‘Project Owner’ project position in the Board and Team object).
      • If the newly created task is not allocated to any staff member in the team, 
        • The responsible officer of that task will be the default task owner. i.e.; the project owner.
    6. Resource Allocation pop-up —
      • The default values of the Percentage, Hours Per Day, and Total Effort for the newly created tasks will be calculated as per the logics below;
        • Percentage: The default value for this field will be ‘100’. The users can update it to another value if required.
        • Hours Per Day: The default value for this field will be the value specified in the external setting ‘Set the default working hours of the organisation’.
        • Total Effort: The default value for this field will be calculated via the existing formulas
      • The values entered here should also be displayed against the relevant staff members in the below areas;
        • Resource Utilisation
        • Project Utilisation
        • Allocation Overview
    7.  Comments—

      • If ‘Synchronize comments in the task plan’ tick box was selected by the user, the system will add all comments entered against the newly created task in the Comments field in the Gantt irrespective of the radio button option selected.
      • If ‘Synchronize comments in the task plan’ tick box was not selected by the user, then the comments will not be synced to Camms.Project.
    8. Attachments—

      • The attachments added by the user against a newly created task within Planner will not be synced.


 Updating properties of existing tasks via Microsoft Teams


You can easily update properties of existing tasks in the plan that was created via the synchronization. Task updates will be synced from Tasks by Planner to Camms.Project as per the logics mentioned below;

  1.  Task Name —
    • The ‘Task Title’ field in Tasks by Planner will be mapped to ‘Task Name’ field in Camms.Project.
  2. Start Date/End Date –
    • ‘Start Date’ and ‘Due Date’ fields in Tasks by Planner will be mapped to ‘Start Date’ and ‘End Date’ fields in Camms.Project respectively. 
    • The duration of the tasks in Camms.Project related to all task updates will be calculated by the formulas below;
      • If the progress of tasks is calculated based on their durations, then the percent complete field and the performance traffic light should be updated accordingly.
      • If the user selects a holiday or a day that falls on a weekend as the start date or end date of a particular task, then the system should automatically change the relevant date to the immediate next working day(Working days are defined via Project Settings > Calendar).
      • Consider the examples below;
        Example 1: Consider a task whose start date is 01/02/2021, and end date is 04/02/2021,
        Since 4th of February is a public holiday, the end date of the task should shift to 05/02/2021
        Example 2: Consider a task whose start date is 01/02/2021, and end date is 05/02/2021,
        Since 5th of February is a Saturday and falls within the weekend, the end date of the task should shift to 07/02/2021 which is the immediate next working day.
         
    • If the start date and the due date of the task is the same and if the task duration includes both its start And end dates, then that task will be a task of 1 day duration when it is synced to Camms.Project. 
    • If the start date and the due date of the task is the same and if the task duration does not include both the start and end dates of that task, then that task will be converted to a milestone when it is synced to Camms.Project.
    • If the user does not select a start date when updating the task, then the following logics should be applied;
      •  If the project is currently in progress(i.e.; project start date <current date and the project end date >current date) , then the current date will be set as the start date of the task. 
      • If the project is a future project (i.e.; project start date >=current date and project end date > current date), then the task’s start date will be the Start Date of the project.
      • If the project is a past project(i.e.; project start date < current date and project end date < current date), then the task’s start date will be the Start Date of the project.
    •  If the user does not select an end date but selects a start date when updating the task, then the end date of the task will be set as follows;

      • The duration of a task will be obtained from the external setting ‘Initial Duration For a New Task’.

        Then the end date will be calculated by adding the duration to the start date, and if the calculated date falls on a weekend or is a holiday, then the end date will be the next immediate working day.

        For example, if the start date of the task is 01/02/2021, and the value entered in the setting is 5, then the end date of the task will be 08/02/2021.

    • If the user does not select a start date and an end date when updating the task, then the start date and end date of the task will be set as mentioned in the points above.
    • When the project duration is not based on Gantt, and when the user updates dates of a task so that the task is out of the project timeframe, the dates should be adjusted to fit to project timeframe when the sync happens (the dates in Teams should also be updated accordingly). 
    • If the external setting titled as ‘Is Project Duration Based On Gantt’ is switched ON, then the project timeframe should be updated based on the task durations when required to do so.

    • If the project’s target is based on durations of tasks, then those values should be calculated and updated as per the existing logics.

    • If the updated task is a child task, then the start and end date of the relevant parent task(s) should also be updated. If the task percent complete is calculated based on the task duration, then the updates done to the start and end dates of child tasks will impact the % complete and the performance traffic light of its parent tasks.

    • If there are any constraints or predecessors set to the task which was updated, then those should be updated based on existing logics.

    •  If the external setting ‘Roll up project Status, Percent Complete and Duration from child to parent’ is switched ON, and if there are any updates or changes in the duration of a particular child project, it will be rolled up to its parent project, if the sync process for the parent project has been set up.

  3. Status—

    • The ‘Status’ field in Planner will be mapped to ‘Status’ field in Camms.Project, and the status values will be synced as per the status mappings created in Project Settings > Teams Configuration > Task Mapping tab.

  4. Percent Complete—
    • The value of the Percent Complete field in the task in Camms.Project will be updated based on the updates made to the status of the task from Planner. The updates that could occur are mentioned in the grid below;

      From

      To

      Percent Complete

      Not Started

      In Progress

      50

      Not Started

      Completed

      100

      In Progress

      Completed

      100

      In Progress

      Not Started

      0

      Completed

      Not Started

      0

      Completed

      In Progress

      50

    • If the external setting ‘Roll up project Status, Percent Complete and Duration from child to parent’ is switched ON, the percent complete value of the child project will be rolled up to the parent project, if the sync process for the parent project has been completed.
    • If the task's percent complete value is based on the task duration’, then the updates done to the % complete value of child tasks will impact the % complete and the performance traffic light of its parent tasks. 
  5. Responsible Officer—
    • If the user updates the responsible officer of an existing task to a staff member who is a member of the current Project Board and Team object and if the task has only one responsible officer, 
      • He or she will be the primary responsible officer of that task when synced to Camms.Project.
    • If the user updates the responsible officer of an existing task to a staff member, who is not a member of the current Project Board and Team object and if the task has only one responsible officer,  
      • He or she will be added to the current Project Board and Team object as a Task Owner
      • He or she will be assigned as the primary responsible officer of that task when synced to Camms.Project.
    •  If the user assigns the responsible officer of an existing task to multiple staff members and if all of them are members of the current Project Board and Team object,

      • They will be assigned to the task as per the order they were allocated to the task. Please see below example— The task “Documenting requirements” was created and initially assigned to Anne Shirley, then it was assigned to Cordelia Blythe. In this scenario, once the synchronization occurs, the primary responsible officer of the task will be Anne, whereas secondary responsible officer will be Cordelia.
    • If the task is allocated to multiple staff members in the team and if at least one of them are not members of the current Project Board and Team object but the email address available in the Staff page matches with the email address used in Planner, 
      • The staff members who are not in the current Project Board and Team object will be added to the current Project Board and Team object as Task Owners
      • They will be assigned to the task as per the order they were allocated to the task.
    • If the task was assigned to one or more staff member(s) who is not available in the current Project Board and Team object and his or her work email address is not available is not in the Staff page, 
      • He or she should not be added to the object
      • The task will be re-assigned to the project owner(i.e.; to the staff member who has the ‘Project Owner’ project position in the Board and Team object).
    •  If the task was assigned to a staff member who was deleted from the Team in Planner at the time of synchronization(i.e.; if the task is assigned to ‘Former user’), 

      • That task should be assigned to the default task owner(i.e.; to the staff member who has the ‘Project Owner’ project position in the Board and Team object).
      • If the newly created task is not allocated to any staff member in the team, the responsible officer of that task will be the default task owner. i.e.; the project owner.
    • If a staff member who has tasks assigned to him or her was deleted from the team in Teams, then the tasks that were assigned to him or her should be re-assigned to the default task owner(i.e.; to the staff member who has the ‘Project Owner’ project position in the Board and Team object).          

    •  If a staff member was removed from being a responsible officer of a task, he or she will still be in the project board or team in Camms.Project or Teams respectively.

  6. Completion Date—
    • If the user sets a particular task as ‘Completed’, then the current date will automatically be populated as the Completion Date within Teams. This value should be synced back to Camms.Project  based on the logics below;
      • If the plan which the task is in is of a past project(project end date < current date), then the project’s end date will be set as the completion date of the task.
      • If the plan which the task is in is of a future project(project start date >current date), then the task’s start date will be set as the completion date of the task.
      • If the plan which the task is in is of a currently ongoing project ( project start date <= current date < project end date), then the current date will be set as the completion date of the task.
  7. Comments—

    • If ‘Synchronize comments in the task plan’ tick box was selected by the user, and if the ‘Append the latest comment in Teams to the current comment in Camms.Project’ is selected, the system will append the latest comment in Teams to the current comment in Gantt when syncing comments from Teams to Camms.Project.
    • If ‘Synchronize comments in the task plan’ tick box was selected by the user, and if the ‘Overwrite previous comments in Project with the latest comment in Teams’ option was selected, then the system will replace all previous comments(if any) entered in Camms.Project with the latest comment in Teams when syncing from Teams to Camms.Project.
    •  If ‘Synchronize comments in the task plan’ tick box was not selected by the user, then the comments will not be synced to Camms.Project.


Deleting existing tasks via Microsoft Teams

You can delete existing tasks from your task plan via the Tasks by Planner application in Microsoft Teams. When you make an update to your plan including deleting tasks via Tasks by Planner, then the colour of the ‘Sync to Teams’ icon will update to Orange upon refreshing of the screen to notify the users that there is an update to the Gantt.

If the user does not sync the latest updates to Camms.Project, and If a user does an update on a task that was deleted by another user via Camms.Project, then that task should be created in Planner as a new task along with the updates he or she made. For example, consider the below scenario;

  • The task ‘Document Requirements’ was deleted from Teams by Anne Shirley at 8:32 am. The system will detect this update and an indicator will be displayed mentioning that there are pending updates when Brian accesses the Task Planning object. He updates the status of the ‘Document Requirements’ task without syncing the latest updates from Teams. 
  • In this scenario, the system will create a new task titled as ‘Document Requirements’ in Planner by obtaining all properties of the task from Camms.Project.


The following logics apply when you click on 'Sync Latest from Teams' button to get latest updates from Microsoft Teams after deleting a task;

  • If the task that was deleted is a child task, then the duration and the percent complete of it’s parent task(s) will be updated accordingly if the task percent complete is based on the duration. 
  • If the task that was deleted is a standalone task, then the percent complete of the project will be updated accordingly.
  • If the external setting titled as ‘Is Project Duration Based On Gantt’ is switched ON, then the project timeframe will be updated based on the task durations when required to do so.
  • If the project’s target is based on durations of tasks, then those values will be calculated and updated as per the existing logics.
  • If there are any predecessor tasks or successor tasks for the deleted tasks, that reference will be deleted. 

If a particular task is deleted, it will be removed from the Task dropdown list in the Referenced Tasks pop-up of other projects. If the deleted task was linked to another project via the References Tasks functionality, that linkage will also be removed. This is only applicable if the Referenced Tasks functionality is activated in the client environment.



Statuses of the synchronization process

You can view the status of the latest synchronization process that occurred by viewing the 'Sync to Teams' icon or by accessing the Sync Log pop-up.

Initially, when the synchronization process has not been set up (by initiating the initial synchronization process from Camms.Project to Teams), then the 'Sync to Teams' icon will be set to the default colour similar to the other icons in the toolbar as shown below;


There are 6 statuses that will be displayed once the initial synchronization process is completed, and they are as follows;

  • Sync Update Available: This will be displayed when there is an update available, and to notify users that the task plan is not up to date. You should access the Sync Log pop-up and get the latest updates from Teams in order to make the plan up to date.
  • Up to date: This will be displayed when the Gantt is up to date.
  • Sync completed with errors: This status is shown when the synchronization process was completed, but there were errors. This could be displayed in scenarios such as a task being assigned to a staff member with an invalid email address.  
  • Sync In Progress: This status is shown when the synchronization process is in progress.
  • Sync Completed: This will be displayed when a synchronization process is completed successfully.
     
  • Sync Failed: This will be displayed when a synchronization process fails. You can download the error log and review the errors that might have caused the synchronization to fail.

The Sync Log pop-up can be accessed by clicking on the 'Sync to Teams' button in any project which has the initial synchronization process completed. There are 4 main statuses that will be displayed in the Sync Status field in the Sync Log pop-up. They are as follows;

  • Sync Successful: The synchronization process was successfully completed. This status is shown when the latest synchronization process was completed successfully.
  • Sync Failed: The synchronization process was failed. This status is shown when the latest synchronization process failed. You can download the error log and review the errors that might have caused the synchronization to fail.
  • Sync in Progress: The synchronization is currently in progress. This status is shown when the synchronization process is in progress.
  • Sync completed with errors: The synchronization is completed but there were errors. This status is shown when the synchronization process was completed, but there were errors. This could be displayed in scenarios such as a task being assigned to a staff member with an invalid email address.


Changing sync preferences

You can change the preferences that you made when you initially synced your task plan to Microsoft Teams by following the steps below;

  • Click on the ‘Sync to Teams’ button to access the pop-up window. Then, click on the ‘Change Preferences’ button.

 

  • Make the updates that you wish to do and save them by clicking on the Save button. 


The updates done will be used by the system when syncing the data between Teams and Camms.Project from the time the user clicks on the ‘Save’ button.

For example, if the user previously set the preferences so that the latest comment will be added as a new comment while keeping the existing comments and now wishes to remove all existing comments and add the latest comment in the future, then he or she can navigate to the ‘Update Preferences’ screen, select the ‘Overwrite previous comments in Project with the latest comment in Teams’ option and click on Save. Once the changes are saved, in all future synchronizations, the existing comments will be removed and the latest comment will be added in place of them.