Task Board

Overview

The Task Board product integration shows the user their assigned tasks. The following vendors are currently supported: RESTful API and Configuration. Users can also create their own tasks, if user created tasks are enabled. Tasks from the Task Board that have a date and/or time are automatically synced to the campusM Calendar.

User Experience

The following section describes information relating to the user experience for the Task Board product integration.

User Activities

The user can view their assigned tasks, mark them as completed, create their own tasks (with reminders), mark tasks as favorite, and filter their task list.

campusM users must be authenticated to use the Task Board product integration.

Screenshots

The following is an example of the Task Board page:

Mobile Experience

Web view example:

A web view of tasks.

Technical Overview

The following section describes technical information for the Task Board product integration.

Configuration Vendor

The Task Board may also be configured directly on the configuration page (by selecting Configuration as the vendor).

RESTful API

RESTful APIs often have API authentication set. You can set this within the configuration page.

There are several options:

  • No Auth
  • Basic
  • Bearer Token
  • API Key
  • OAuth

You also need to configure the user identifier that is used in each of the RESTful API calls. The user identifier specifies which specific user the API call is being made for. This can be set as either a query parameter or a path parameter and pulls from our CMAuth token. For more information on our CMAuth tokens, see Managing Token Based Authentication.

RESTful API uses two requests:

This request gets a single user's tasks. All tasks must be returned with this endpoint.

GET https://{Base URL}/taskBoardGetTasks

Expected Response:

Note the breakdown of mandatory fields.

  • Mandatory
    • taskId
    • title
    • isComplete
    • isFavorite
  • Optional Basic Fields
    • parentTaskId (Note: This is necessary if the task is a subtask of another task)
    • courseName
    • courseId
    • startDate
    • dueDate
  • Additional Optional Fields Examples (these can be whatever fields you want)
    • description
    • category

If an attribute has no value, don ’t include it in the response.

{

"tasks": [

{

"taskId": "1efasdfe",

"parentTaskId": "",

"title": "Problem Set #3",

"courseName": "Linear Algebra",

"courseId": "M323"

"startDate": "2002-02-09T15:30:00Z",

"dueDate": "2022-02-09T17:30:00Z",

"isComplete": false,

"isFavorite": true,

"description": "Do problems: 23 and 28 from section 1.2, 4 and 13 from section 1.3",

"category": "Problem Set",

},

...

]

}

This request updates the task completed or task is a favorite indicator for the given set of tasks.

GET https://{Base URL}/taskBoardUpdate?updateType={type to update - needs to be either "favorite" or "complete"}&userIdentifier={user identifier}&taskIds={comma separated list of task id's}&updatedValues={comma separated list of updated values}

Example: https://{Base URL}/taskBoardUpdate?updateType=favorite&userIdentifier=miri&taskIds=1a,2a&updatedValues=1,1

Expected Response:

Both fields are mandatory.

{

"error": false,

"errorMsg": ""

}

Configuration

Configuration Option Description Mandatory Data Type Default Examples and Notes
Configuration Option Description Mandatory Data Type Default Examples and Notes
Manage Integration
Enable Product Integration Select to enable the product integration on the user's app. No Checkbox Unselected  
Product Integration Description A description of the product integration for internal use. Yes String    
Screen Title The title that appears in the top header of the service. No String Task Board  
Vendor
Vendor Name Defines to which vendor the integration connects. Yes Drop-down list   Configuration, RESTful API

Vendor Configuration

This section contains the details when configuring the tasks directly on the Configuration page.
Task Title The title of the task Yes String    
Description Optional plain-text description for this task No String    
URL The URL associated with the task or subtask. This can be a campusM URL or an external URL. No URL null  
Due Date Choose a due date for this task. This will make the task appear in the campusM Calendar. No Date    
Start Time Start time in 24-hour format (e.g. 10:00). Requires a Due Date. No Date    
End Time End time in 24-hour format (e.g. 14:00). Requires a Due Date. No Date    
Roles Choose the role(s) that this task will be exposed to. Leaving this blank will expose the task to all users. No Dropdown, Multiselect    
Subtasks Click Add Subtask to add a subtasks, with the same fields as a regular task. No      

RESTful API Configuration

This section contains the RESTful API details to define the API structure. You can test the API configuration. See Testing API Product Integration Configuration.

URL to retrieve the information The URL for the Web service. Yes URL    
URL Query Parameters The parameters sent as part of the query. No String    
URL Path Parameters The parameters sent as part of the path. No String    
General Headers Add (key, value) for additionally needed headers. No String    
Authentication Type Authentication type against the web service. The options are the following:
  • No Auth
  • Basic — username and password for Base64 basic authentication.
  • API Key — can be added to a Header or to the URL (Query Param) or both.
  • Bearer token
  • OAuth Using User App Authentication — select an OAuth integration profile (from the Integration Profiles configured in App Settings) and choose where the access token should be added, Header or URL.
  • OAUTH Using Client Credentials — select this if you are using a preliminary token call to get the access token.
Yes Drop-down list    
Tasks Code
The code of the field in the API. Yes String tasks  
Task ID Code The code of the field in the API. Yes String taskId  
Parent Task ID Code The code of the field in the API. Yes String parentTaskId  
Title Code The code of the field in the API. Yes String title  
Course Name Code The code of the field in the API. Yes String courseName  
Course ID Code The code of the field in the API. Yes String courseId  
Start Date Code The code of the field in the API. Yes String startDate  
Start Date Format The format of the date. Yes String yyyy-MM-DD'T'HH:mm:ss.SSS'Z'  
Due Date Code The code of the field in the API. Yes String dueDate  
Due Date Format The format of the date. Yes String yyyy-MM-DD'T'HH:mm:ss.SSS'Z'  
Time Zone Time zone the API dates are given in. No Drop-down list UTC  
Complete Code The code of the field in the API. Yes String isComplete  
Favorite Code The code of the field in the API. Yes String isFavorite  
Update Error Code The code of the field in the API. Yes String error  
Update Error Message Code The code of the field in the API. Yes String errorMsg  
Additional Field - Code The code of the field in the API. No String    
Additional Field - Label The label for the attribute. No String    
Additional Field - Display Field The option to display or hide this field. No Boolean true  

Additional Field – Field is a Link

The option to specify the field as link.

No

Boolean

false

 

Additional Field – Link Text

The text to show for the link.

No

String

 

 
General
Time zone Time zone the dates areformatted to. No Drop-down list UTC  
Open Link Instead of Task Details Section Option to enable link outs when selecting tasks instead of directing to the task details page. No Boolean false  
API Attribute to Use for Link The code of the field in the API. No String link  
Look and Feel
Taskboard Main Color The main color for the Taskboard UI No Hexacode, picker #1A73E8 (campusM Blue)  
Taskboard Secondary Color The secondary color for the Taskboard UI No Hexacode, color picker #13847f (Positive Regular)  
User Created Tasks
Enable User Created Tasks Option to allow users to create their own tasks. No Boolean true  
Open URLs in External Browser When checked, URLs for user-created tasks open in an external browser. Otherwise, it will open in the built-in campusM browser. No Checkbox false  
Notification Settings
Notification Title The title for the notification. No String Reminder for: {reminder title} The information in the placeholder brackets {} is automatically populated when the user creates the task.
Notification Body The body of the notification. No String This is your reminder for {reminder title}. This reminder was set from {product integration screen title}. The information in the placeholder brackets {} is automatically populated when the user creates the task.
Reminder Field Label Text that displays for the Reminder field. No String Remind me  
Clear Date Button Label Text that displays for the Clear Date button. No String Clear  
Notification Labels
At Start Time Label   No String At start time  
5 Minutes Before Label   No String 5 minutes before  
10 Minutes Before Label   No String 10 minutes before  
15 Minutes Before Label   No String 15 minutes before  
30 Minutes Before Label   No String 30 minutes before  
1 Hour Before Label   No String 1 hour before  
2 Hours Before Label   No String 2 hours before  
1 Day Before Label   No String 1 day before  
1 Week Before Label   No String 1 week before  
Text/Labels
Task Label The label for a singular task. No String Task  
Subtask Label The label for a singular subtask. No String Subtask  
Subtasks Label The label for multiple subtasks. No String Subtasks  
No Due Date for Task Label The label for the group of tasks that do not have due dates. No String No Due Date  
Create Parent Task Form Title
The title displayed at the top of the user created task form.
 
No String Create a Task  
Create Subtask Form Title The title displayed at the top of the user created task form. No String Create a Subtask  
Incomplete Label The label for the Incomplete view option. No String Incomplete  
Favorites Label The label for the Favorites view option. No String Favorites  
Create Parent Task Form Title The title displayed at the top of the user created task form. No String Create a Task  
Create Subtask Form Title The title displayed at the top of the user created task form. No String Create a Subtask  
Add Subtask Button Text The text for the Add button when adding a subtask to a user created task. No String Add  
Save Button Text The text for the Save button when saving a user created task. No String Save  
Title Field Placeholder The Title placeholder for the form field. No String Add a title  
Due Date Form Entry Label The label for the form field. No String Add date  
Select Date Button Label Text that displays for the Select Date button. No String Select  
Clear Date Button Label The button label that appears when clearing a date. No String Clear date  
Description Field Placeholder The description placeholder for the form field. No String Add a description  
Add URL Label Placeholder for the URL field when no URL has been added. No String Add URL  
Go to URL Label Label shown when a task has a URL, tapping it opens the URL. No String Go to URL  
Edit URL Label Header/alt text for editing a user-created task's URL. No String Edit URL  
No URL Label Label shown on a user-created task that has no URL. No String No URL  
Add Subtask Form Entry Label The label for the form field. No String Add a subtask  
Title for the Settings Section Title for the Settings section. No String Settings  
Title for Task Deletion Confirmation Title for task deletion confirmation. No String Delete  
Message for Task Deletion Confirmation Message for task deletion confirmation. No String Are you sure you would like to delete this item?  
Cancel Deletion Button Text Cancel Deletion button text. No String No  
Confirm Deletion Button Text Confirm Deletion button text. No String Yes  
Meeting URL Label Label for the "Show in Taskboard" link in calendar events stemming from the Task Board feed No String Show in Taskboard  
No Tasks Message The message to display when the view the user has selected has no tasks available. No String Add a new task by pressing the button below.  
No Task Title Title of the "Empty" state screen No String No tasks here...  
Loading Tasks Message
The message to display when the user’s tasks are loading.
No
String
It seems you have no tasks.
 
Service Failure Message Message to display when there is an error retrieving the data. No String Unable to reach the service at this time. Please try again later.  
Overdue Section Label Title of the Overdue section on the main Taskboard page. No String Overdue  
Due Today Section Label Title of the Due Today section on the main Taskboard page. No String Due Today  
Upcoming Section Label Title of the Upcoming section on the main Taskboard page. No String Upcoming  
Archive Section Label Title of the Archive section on the main Taskboard page. No String Archive  
Created by University Label The "Created by University" tag shown on task cards. No String Created by University  
Up Next label The "Up Next" chip shown on tasks with subtasks. No String Up Next  
Open Tasks Filter label The "Open Tasks" title in the Filters page. No String Open Tasks  
Only Favorites Filter Label The text on the Favorites filter in the Filters page. No String Only show favorites  
Only University-Created Filter Label The text on the University-Created filter in the Filters page. No String Only show created by university  
Only User-Created Filter Label The text on the User-Created filter in the Filters page. No String Only show tasks made by me  
Reset Filters Label The "Reset filters" button on the Filters page. No String Reset Filters  
Apply Button Label The "Apply" button on the filters page. No String Apply  
Filters Screen Title Title for the filters screen. No String Filters  
Add Task Label Label for add-task actionms and related accessibility text. No String Add a task  
Date label Label shown for the date row in the task details form. No String Date  
Start Time Label The Start time placeholder in the New Task and New Substask screens. No String Start time  
End Time Label The End time placeholder in the New Task and Newsubtask screens. No String End time  
Time Picker Title (End Time) Modal title shown when choosing an end time (after start time) in two-step date/time flows. No String End time  
Time Picker Cancel Button Label Button text used to cancel and close the time picker modal without applying a time selection. No String Cancel  
Days Left Label The label used for the chip when viewing a substack indicating "X DAYS LEFT". No String days left  
Due Today Chip Label Label for countdown chip when task is due today. No String DUE TODAY  
Overdue Chip Label Label for countdown when task is overdue. No String OVERDUE  
Subtask Date Validation Label Used for validation when subtask is scheduled for after the parent task. No String Note: this date is after your main task.  
SubtaskTime Validation Label Used for validation when subtask is scheduled for after the parent task. No String Note: this time is after your main task.  

Import/ Export Configuration

You can configure product integration and then export it to another campusM environment, for example, from sandbox to production or from preview to production.

Export Create a JSON file with all product integration configurations. No      
Import Use this option to load configuration from JSON of an exported product integration. No