CT-Ops

ToDo Projects

How to coordinate host-based project work in CT-Ops without shared spreadsheets.

ToDo Projects is a CT-Ops tooling page for planned operational work that touches multiple servers. Use it instead of a shared spreadsheet when a change, remediation, vulnerability fix, or audit action needs per-host assignment and a single live source of truth.

Open it from Tools -> ToDo Projects. Users can also pin it from the Tools catalogue so it appears directly in their sidebar.

Project model

A ToDo project contains project-level ownership and task-level host work.

ObjectWhat it stores
ProjectTitle, description, owner, status, planned and actual start/finish dates, percentage complete, task totals, creator, and update timestamps.
TaskTitle, description, host reference, assigned engineer, status, planned start, actual start, planned end, and actual end.
CommentTask discussion from CT-Ops users. Comments stay with the task and are visible in the task detail modal.

The project owner defaults to the user creating the project. The creator can assign ownership to another active CT-Ops user during creation or later from the project editor.

Creating a project

Select New project to open the project creation dialog.

Field or controlDefaultValidationWhat it does
Project titleEmptyRequired; maximum 180 charactersNames the work package.
DescriptionEmptyMaximum 6,000 charactersExplains the reason for the work, scope, links, risk notes, or rollout plan.
OwnerCurrent userMust be an active user in the current instanceReceives notifications when other users update tasks or leave comments.
First task titleEmptyRequired; maximum 180 charactersCreates the first host-level task. More tasks can be added after the project is created.
First task descriptionEmptyMaximum 4,000 charactersDescribes what must be done for that server or host entry.
Host name or IPEmptyRequired; maximum 255 charactersSingle host entry field. Typing a monitored host name, display label, or known IP links the task to that enrolled host. If there is no match, CT-Ops still stores the typed hostname or IP as the task target.
EngineerUnassignedOptional active user in the current instanceAssigns the task to a user.
Planned startEmptyOptional date and timePlanned start timestamp for the task.
Planned endEmptyOptional date and timePlanned end timestamp for the task.
Create projectActive when required fields are validServer validates project, users, hosts, and task limitsCreates the project and opens it for review.

A project must contain at least one task and can contain up to 250 tasks.

Project list

The ToDo Projects page lists the most recently updated projects.

Control or columnMeaning
SearchFilters projects by project title, description, owner, task title, host label, and assigned engineer.
ProjectProject title. Select it to open the project window.
OwnerCurrent project owner.
StatusRolled-up project status calculated from the task statuses.
CompletePercentage complete across actionable tasks. Cancelled tasks are excluded from the percentage denominator.
TasksCompleted task count over total task count.
UpdatedLast update timestamp formatted with the instance dashboard date setting.
Last task updateRelative age and exact timestamp for the most recent task update in the project.

When there are no projects, CT-Ops shows an empty state prompting users to create the first project.

Project window

Selecting a project opens the project window. The window shows project summary metrics, the project description, and the task table. Select a task row to open that task’s detail modal with comments and comment entry.

AreaWhat it shows
HeaderProject title, owner, percentage complete, Request updates, and Edit project button.
Summary cardsRolled-up status, total task count, completed task count, and last updated timestamp.
Task status dialCount of tasks in each status using the same colours as the task status badges. The centre of the dial shows the completed-task percentage.
DescriptionProject description when one exists.
Add taskOpens the task creation dialog for the project.
Task progress barCompleted-task percentage across actionable tasks, shown above the task table.
Task tableEvery task in the project across all hosts, including comment count and last-update age for each task.

Task rows are selectable. Selecting a row opens the task detail modal. The action pencil in the task table still opens the edit-task form directly.

The project window, edit-project dialog, and edit-task dialog do not close when the user clicks outside the modal. Use the close button or a visible cancel button to leave those dialogs.

Editing project details

Select Edit project from the project window.

FieldValidationWhat it does
TitleRequired; maximum 180 charactersRenames the project.
DescriptionMaximum 6,000 charactersUpdates the project scope or operational notes.
OwnerMust be an active user in the current instanceTransfers ownership and future task/comment notifications.
StatusRequired status valueSets the project status. Task changes can still roll the status forward from task state.
Planned startOptional date/timeStores the project-level planned start timestamp.
Actual startOptional date/timeStores the project-level actual start timestamp.
Planned finishOptional date/timeStores the project-level planned finish timestamp.
Actual finishOptional date/timeStores the project-level actual finish timestamp.

Adding and editing tasks

The Add task dialog and task edit dialog use the same fields.

FieldValidationWhat it does
Task titleRequired; maximum 180 charactersNames the host-specific task.
DescriptionMaximum 4,000 charactersDescribes the action for that server.
Host name or IPRequired; maximum 255 charactersSingle host entry field. It suggests monitored host labels, hostnames, and IP addresses. Exact matches link the task to the monitored host; unmatched values are saved as typed.
EngineerOptional current-instance userAssigns responsibility for the task.
StatusRequired status valueTracks task lifecycle.
Planned startOptional date/timePlanned start timestamp.
Actual startOptional date/timeActual start timestamp.
Planned endOptional date/timePlanned end timestamp.
Actual endOptional date/timeActual completion timestamp.

Status and progress

Task statuses are:

StatusUse it when
Not StartedThe task exists but no schedule or active work has begun.
PlannedThe task is scheduled or ready for a known window.
In ProgressWork is underway.
BlockedWork cannot proceed without another action, decision, dependency, or access change.
CompletedThe task is finished.
CancelledThe task is no longer required.

Project status is rolled up from task statuses. Completed projects require all actionable tasks to be completed; cancelled tasks do not count against the completion percentage. A single blocked task makes the project status Blocked until it is moved on.

Comments and owner notifications

Any signed-in user with instance access can leave comments on project tasks. Select a task row in the project window to open the task detail modal, review the task’s comments, and add a new comment. The same modal includes Edit task for changing the task without returning to the table action button. When a task is updated or a comment is added by someone other than the project owner, CT-Ops creates an in-app notification for the owner and sends an email through the configured SMTP relay when email delivery is enabled.

Email delivery uses the same SMTP relay configured under Notification Delivery Settings. If SMTP is not configured, the task or comment still saves and the notification attempt degrades safely.

Requesting task updates

Project owners can select Request updates from the project window. CT-Ops finds active users assigned to incomplete, non-cancelled tasks in that project and sends each user one email through the configured SMTP relay.

The email includes a direct link to /todos?project=<project-id>. Opening the link loads the ToDo Projects page and opens the matching project window so the assignee can review the task list, update their task, or add a comment.

Users without assigned incomplete tasks are not emailed. The request action is available only to the project owner and is logged in the audit trail.

Host Activity integration

Tasks linked to a monitored host appear under Hosts -> host -> Activity -> ToDo. The host view shows only tasks linked to that specific host, but selecting the project name or open button launches the full project window with every task across all hosts.

The host link can be created automatically from the single host entry field. If the typed hostname, display label, or IP address matches a monitored host in the current instance, CT-Ops stores the monitored host reference. If it does not match, the task remains available from the ToDo Projects page with the typed host label and can be edited later.