Projects in the portal

What a customer may see and do with a project: tasks, comments, files, milestones, a Gantt chart and feedback.

Projects as the customer sees them. Projects as the customer sees them.

What a customer may see and do with a project

A project in the portal is a set of tabs, and every one of them is behind a switch. The switches live in two places: the defaults, under Settings → Customer portal → Projects, which every project follows, and each project's own set, on its edit screen, for the projects that need to differ. Nothing is shown to a customer unless a switch says so, and a switch only counts while everything it depends on is on as well — commenting on tasks, for instance, needs reading task comments.

Two gates, not one. A task appears in the portal only when the task itself is ticked Visible to customer and the project shares its tasks. The same goes for files: a file is shared only when it is marked as shared and the project's "See project files" switch is on.

The switches

GroupSwitchWhat it lets a customer do
ProjectSee the overviewThe description, status, start date and deadline.
See the progress barThe percentage on the project and in the project list.
See the project value and billing typeFixed price or hourly, and the figure.
See who is working on itThe staff on the project.
See the total time loggedHours booked against the project (needs the Timesheets module).
See the activity feedA history built only from what they may already see.
See milestonesThe milestone list with progress.
See the Gantt chartThe timeline of milestones and tasks.
TasksSee tasks marked visible to the customerThe task list and each task's page.
Add tasksA customer adds a task, which lands in your first open status.
Edit tasks they added themselvesTitle, details, dates and milestone — only on their own tasks.
See who each task is assigned toAssignees on the list and on the task.
See task checklistsThe checklist, read-only.
See the time logged on each taskHours on the task itself.
Read task commentsEvery comment except the internal ones.
Comment on tasksPost a comment, and delete their own again.
See files attached to task commentsFiles on comments they can read.
Attach files to their task commentsFiles go through the usual upload rules.
FilesSee project files shared with the customerThe Files tab and downloads.
Upload filesWhat they send arrives on the project, already shared.
Comment on filesA short thread under each file.
Delete files they uploaded themselvesTheir own uploads only — never yours or a colleague's.
FeedbackLeave feedbackA rating and a comment, when feedback is switched on.
ProjectsRequest a new projectA workspace-wide switch: there is no project yet to set it on.
Not there, on purpose. There is no "assign tasks" switch: a customer cannot hand work to your staff, and a task has no customer-side owner to hand it to. There is no "discussions" switch either, because the product has no project discussions — the task comments and the comments under each file are where the conversation happens. A customer can never change a task's status; tell them where it stands by moving it yourself.

Setting the defaults

  1. Go to Settings → Customer portal and find the Projects card.
  2. Tick what customers should be able to see and do on a project by default.
  3. Put the tabs in the order you want them, with the arrow buttons, and switch off any tab you never want shown.
  4. Decide whether customers may rate their projects, and whether only finished ones.
  5. Save. Every project that has not been given its own switches follows this straight away.

A tab is drawn only when it is switched on here and the project allows what it shows. A project that shares nothing simply says so; the customer never meets an empty page of tabs. Opening a tab a project does not share — by typing the address, say — answers "not found", so the switch is enforced on the page, not only in the menu.

One project on its own terms

  1. Open the project and choose Edit.
  2. In the Customer portal card, turn on Give this project its own switches.
  3. The switches start from your defaults; change what this project needs and save.
  4. Turning it off again puts the project back on the defaults, whatever they later become.
A project with its own switches is frozen against your defaults: a switch you turn on for the workspace later does not reach it. That is the point of it, but it is worth remembering when a customer says they cannot see something everyone else can.

Tasks from the customer

With Add tasks on, the portal's task list gets an Add a task button. The customer gives a title, details, dates and, if they can see milestones, a milestone. The task is created on the project in your first status that is not a completed one, marked visible to the customer and recorded as theirs — the project page says who added it — and everyone on the project is notified. They can edit their own task afterwards if Edit tasks they added themselves is on; they can never edit yours.

Comments on tasks

Every task now has a comment thread, on the staff page as well as in the portal. Staff can attach files to a comment, and can mark a comment internal: an internal comment, and everything attached to it, stays on the staff side for good and is never sent to the portal, whatever the project's switches say. A comment can be made internal (or shared again) after the event, and its files follow it. A customer's own comment cannot be made internal — they wrote it, and they would still see it.

The comment box tells you, above it, whether the customer can read the thread at all, so nobody writes an explanation for a customer who will never see it.

Files on a project

A project has a Files tab of its own. Upload one or more files, and decide per file whether the customer sees it — the eye button switches that at any time. Files a customer sends arrive here already shared and marked as theirs. Each file has a short comment thread, and a staff comment on a file can be internal in the same way as on a task. Deleting a file removes its comments with it.

In the portal, the Files tab lists what has been shared, lets the customer send files back if Upload files is on, and lets them delete their own uploads if Delete files they uploaded themselves is on. Every upload goes through the allowed types and size limit under Settings → Uploads.

Taking a file back

A customer can also remove a file they attached to a support ticket — until somebody on your side writes after it. Once you have replied, the file is part of an answered conversation and the button is gone. Only their own file, never a colleague's, and the message they wrote stays either way.

The Gantt chart

Projects have a Gantt tab, on the staff side and — where the switch allows — in the portal. Milestones are diamonds on their due date, tasks are bars from start date to due date in their status colour, finished tasks are faded, and today is a red line. It is drawn by the server with no chart library and no script at all, so it prints and works in any browser; a long project scrolls sideways inside its own box. A task with only one date is drawn as that day, and anything with no dates is listed without a bar, which is usually the reminder that it needs one.

In the portal the chart shows only what the customer may see anyway: tasks marked visible (and only with the task switch on), milestones only with the milestone switch on. A Gantt tab with neither is not shown at all.

The activity feed

The portal's Activity tab is a plain history of the project: tasks added and completed, comments, files shared. It is built from the records the customer can already open rather than from the staff activity log, so it can never leak a rate change or a note that was meant for your own team.

Customer feedback

Switch feedback on under Settings → Customer portal → Projects, and optionally keep it back until a project is finished. Each contact can leave one rating out of five with a comment, and can change it until somebody replies. Your reply is shown to them under their rating, and fixes what they wrote.

Staff see feedback on the project's Feedback tab, with the project's average, and every rating together under Projects → Customer feedback — filtered by stars or by "waiting for a reply", with the workspace average and a breakdown per star. Feedback you remove can be left again by the customer, so removal is for the occasional rating left by mistake rather than for tidying away criticism.

Letting customers ask for a project

With Request a new project on, the portal's project list gets a Request a project button. The customer gives a name, a description and a date they need it by; the project is created against their company as Not started, with nobody on it, and your administrators are notified. The project page says who asked for it and when. Take it up in the usual way: add members, agree the figures, set it to In progress.

A requested project follows your portal defaults from the moment it is created, so the customer may see its overview straight away. If that is not what you want, give the project its own switches when you pick it up.

Addresses on this page

For reference and for anyone scripting against the panel. Everything here needs a customer contact signed in to the portal; the addresses that open without signing in are marked.

MethodAddressWhat it does
GETportal/projectsThe contact's projects, when the customer may see projects.
GETportal/projects/requestThe form for asking for a new project, when the business takes requests.
POSTportal/projects/requestSends the request to the business; ten an hour.
GETportal/projects/{project}A project's overview.
GETportal/projects/{project}/{tab}One of the project's tabs (tasks, milestones, files, discussions, activity) that the project lets the customer see.
GETportal/projects/{project}/tasks/createThe form for adding a task, when the project allows it.
POSTportal/projects/{project}/tasksAdds a task to the project.
GETportal/projects/{project}/tasks/{task}A task the customer may see, with its comments.
GETportal/projects/{project}/tasks/{task}/editThe form for changing a task the contact added.
PUTportal/projects/{project}/tasks/{task}Saves a task the contact added.
POSTportal/projects/{project}/tasks/{task}/commentsComments on a task.
DELETEportal/projects/{project}/tasks/{task}/comments/{comment}Removes one of the contact's own comments.
POSTportal/projects/{project}/filesUploads files to the project, when the project allows it.
GETportal/projects/{project}/files/{file}Downloads a file the customer may see.
DELETEportal/projects/{project}/files/{file}Removes a file the contact uploaded.
POSTportal/projects/{project}/files/{file}/commentsComments on a file.
POSTportal/projects/{project}/feedbackRates the project and says how it went, while feedback is open.