Project Management
Introduction
The Official Project Management addon for WHMCS is a tool designed to help you organise jobs & tasks, allowing you to tie Support Tickets & Invoices with To-Do Items to create Projects. The aim is to connect everything together via a single interface, avoiding unecessary & time consuming duplication to third party systems, and allowing staff to privately communicate and track internal discussions, share files, and track (as well as optionally bill) for time spent on individual tasks.
To find out more, please visit http://www.whmcs.com/addons/project-management/
Contents
Installation & Setup
The Project Management Add-on is supplied with WHMCS by default.
To activate the add-on, simply navigate to Setup > Addon Modules and hit the Activate button.
Following activation of the module, assign yourself permissions to access it and then you can navigate to the add-on by going to Addons > Project Management.
Settings
- Access Control - These checkboxes allow you to define which role groups you want to allow to access and use the project management system
- Master Admin Users - This series of checkboxes is where you define who you want to be able to access and configure the Project Management Addon settings within the module itself - this includes settings such as project statuses and access permissions
Upgrading
To apply a manual update to the Project Management Addon, download the update from our website, unzip the files and upload them to the root WHMCS directory - the files are provided within the appropriate sub-directories to ensure correct upload.
Upon your first visit to the Project Management Addon within your WHMCS admin area the new update will be detected and any required database updates will be automatically applied.
Getting Started
To access the Project Management addon, simply navigate to Addons > Project Management
You will then be presented with the Project Management Overview. This page lists all projects by default, in ascending order of due date, so those due first will appear at the top, listing the title, staff member the project is assigned to, status, creation & due dates, number of days left or overdue, and the last updated date for the project.
From this page you can also review the most recent 10 activity log entries displayed to the right of the page, and search for projects which we'll look at in more detail later on.
Everything within the Project Management system starts out with a project. Tasks, Tickets, Invoices, Attachments & Messages, all must belong to a project. So let's get started with creating a project...
Creating Your First Project
- Click the Create New Project button (found at the top left of every Project Management Page)
- A dialog window will then slide into view, where you will find fields for entering the title of the project, the creation date, due date, staff assignee (if any) and associated ticket number (again optional)
- Once you are done, click Create
- You will now be taken to the Project overview screen, and congratulations, you just created your first project!
You can also create a project directly from within a support ticket, using the "Create New Project" button that will appear at the top of the ticket if no projects are currently assigned to it.
The Project Management Screen
This is the main page where you'll spend most of your time - the project management screen - the page that let's you view everything relating to your project. There's no tabs or pages here, everything is on a single page, at your finger tips, right where you need it.
So at the very top we have the project title, and days left until the due date. When it's Green there are 1 or more days to go until it's due, but the days left turn Red when there's only 1 day left, or it is overdue.
Next we have the "Info Bar". This contains all the project details - the creation date, staff member it's assigned to, associated client, due date, total time worked and status.
Below that are the project tabs, giving you access to Tasks, Messages, Time Tracking, Tickets, Billing/Invoices, Files and the Project Log.
The Project Log provides a full history of each and every action carried out on that project, the date/time it was done, and the admin user who performed it.
Editing Projects
To edit projects, providing you have the required permissions, you'll see an Edit button located towards the top right of the screen. Upon clicking that, the previous display values will be transformed into input fields allowing you to update and make changes, and the edit button will be replaced with Save and Cancel buttons that you can use to save your changes, or abort. If saving, a success message will appear briefly to confirm success.
The Associated Client field features an intelligent search feature, so you can search for a client to assign to by entering any part of their name, company or email address, and simply select the desired result from the list of matches that get displayed.
Changing Status
To change the status of a project, simply change the dropdown value located to the right of the info bar at any time. Selection changes for this are automatically saved, so there's no save or submit required. A success message will appear briefly to confirm success.
Project Tasks
Tasks can be created using the "New Task" input field. Simply enter the task and press Enter key, or click the Add button to create it. Upon pressing enter, the task will be added and the input field reset to empty to allow you to quickly and easily add multiple tasks in one go. Once a task is completed it can be marked complete by ticking the checkbox next to the task name.
Tracking Time
To track the time spent on tasks, staff members simply click the "Track Time" button next to a task when they start working on it. This creates a time log entry with their username, and the start time. The row showing their name and start time will show an End Timer link until the timed entry is completed, which they just need to click when they stop working on the task.
The total time is calculated on a per task basis, and for the project as a whole (total project time is displayed on the Info Bar).
Editing Tasks
If you have permissions, you can also edit tasks, which allows you to edit both the task title, and any time logged entries recorded for it, allowing to edit both the staff member and the start or end times for the task.
Associated Tickets
Assocating tickets to a project is simply a case of entering the Ticket Number into the input field and clicking Add. WHMCS will verify that the ticket number is valid, and that it isn't already assigned to the project, and if so will associate it to it.
A single ticket can be assigned to multiple projects, and a single project can have multiple tickets assigned to it.
Note: If a project is not yet associated to a client, then if a ticket belonging to a registered client is assigned, that client will automatically be associated with the project as well.
Associated Invoices
Invoices associated with projects allow you to view their status from within the project itself.
Invoices do not have to be assigned manually, they are automatically detected in one of 3 ways:
- By containing a line item which includes the phrase "Ticket #xxxxxx" followed by any ticket number associated with the invoice as above
- By containing a line item which includes the phrase "Project #XXX" followed by the Project ID number being viewed
- Or by having been generated directly from the Project view itself, using either the Quick Invoice or Bill for Task Time Entries feature
Therefore to de-associate an invoice from a project the line item description would need to have the ticket or project reference it contains removed.
Staff Messageboard
The staff messageboard is a way for staff members to communicate between each other in a centralised system that all staff can access and see. Each message posted includes a date/time stamp, and can if needed include file attachments also. It works in much the same way as the ticket system, except this is for private staff communication only and is not visible to clients.
Attachments
The attachments section allows you to upload files to the project without posting a message.
All attachments, both uploaded here and as attachments in messages posted on the staff messageboard, are stored under the attachments directory, in a folder structure of /projects/xxx/ where xxx is the Project ID number, so projects can be easily accessed by FTP if needed, and cleaned up.
Searching For & Locating Projects
Accessible on the main navigation bar from every page within the Project Management Addon is the filter shortcuts. These allow you to filter the projects list in the following ways:
- Incomplete - View all incomplete projects
- My Incomplete - View the incomplete projects that are just assigned to you
- View All - View all projects, including completed ones
- Assigned To Me - View all projects assigned to you, including completed ones
- Due Within 7 Days - View all projects due within the week (or overdue)
- Closed - View just the completed projects
There is also a search field located at the top right of the project management nav bar on every page. This allows you to search by Project Title, or Associated Ticket Numbers.
If only 1 match is found for the search term entered you will be taken straight into the project view for the matching item, otherwise you will be displayed a list of results to choose from.
There are 2 more ways of accessing projects, from tickets and clients.
- When viewing any tickets associated with a project, you will automatically be displayed the associated projects information within the support ticket itself, showing the title, due date and status of the project(s) relating to it
- And also from the client summary page, a new link will appear under the "Other Actions" menu, labelled "View Projects" allowing you to jump to the projects listing overview, filtered for all projects belonging to just that client.
Homepage Widget
The addon also includes a homepage widget, which you can activate for your admin role group in the normal way in Setup > Administrator Roles. The widget allows you to see an overview of projects, including title, due date, days left & status, as well as recent activity, with just your assigned projects displayed by default.
Reports
The Reports menu item found in the top right menu bar allows you to access the reports for the project management system. The reports available currently allow you to review projects, time, and amounts invoiced, with options to filter by date range, and per staff member for analysis of work performed.
Settings
The settings area is where the Project Management specific options can be configured, as well as the internal access permissions for Project Management related actions.
- Default Hourly Rate - This is where you define the standard hourly rate you charge, to be used in automatic time based billing calculations, but the rate can always be overriden on a per case basis when generating invoices for time based logs
- Project Statuses - This field allows you to customise the available statuses for projects, by entering a comma separated list of values. Colors can also be defined by using the format "Status|#HEXCODE" for example "Pending|#cc0000,Completed|#336699,etc..."
- Completed Statuses - This is where you define which statuses will be treated as completed - ie. not incomplete or awaiting work - by default this is the Abandoned and Completed project statuses
- Client Area Access - This displays an area to clients where they can view the status and details of their projects. There are granular options controlling which areas clients can see/use. Once configured, the client area can be accessed via /index.php?m=project_management
Permissions
The project management permissions allow you to fine tune and control exactly what you want your different levels of staff to be able to access or do, on a per administrator role basis. A range of permisions are available to configure, allowing add, edit and delete rights to be assigned individually.
API
A range of API commands are available for the addon to facilitate project management from remote systems. At the time of writing they are:
- AddProjectMessage
- AddProjectTask
- CreateProject
- DeleteProjectTask
- EndTaskTimer
- GetProject
- GetProjects
- StartTaskTimer
- UpdateProject
- UpdateProjectTask
A full and current list is published at http://developers.whmcs.com/api/api-index/