Module Projects
Project | |
---|---|
Numero/ID of module | 400 |
User doc. of module | This page |
Developer doc. of module | Module Projects (developer) |
مقدمة هامة
The Project Module is a core Dolibarr module. It is optional and can be activated from the module setup page.
This module hase several purposes:
- follow lead and opportunities
- and|or manage projects defined as a hierarchy of tasks
- and|or track time consumed by users on these tasks.
Projects could be used for internal projects, done for your organisation or for projects to link different Dolibarr objects (like commercial proposals, customers orders, customers invoices, ...).
Important notice regarding definitions
The term Tasks is often confused with terms like "Events", "Action", "Journal".
Before you read this documentation, it is important to know the meanings of each terms which have been defined and normalized by the norm RFC2445.
If you are not familiar with these, read this summary page : Events-Todo-Journal.
What this module can do
- allow to define a status of opportinity and a probabiliy if the project is a commercial lead.
- manages projects as a hierarchy of tasks
- allow to define internal projects (done for your organization) or external projects (done by your organization for a client)
- allow to allocate internal or external users on tasks
- allow to share projects across users, providing to each assigned user the proper view of tasks and projects
- allow to track time spend on task per working slot and user.
- can generate invoices from time spent.
- allow to assign any object (invoice, order, proposal, intervention, manufacturing order...) or document or URL to projects and tasks.
- provide a full view of the project with time planned and spend, Gant view and all documents
- support custom fields for projects and tasks
- provide document models for projects and tasks reports
What this module can't do
- Does not support automated planning based on user availability.
- Does not calculate any critical path.
Installation
This module is included with the Dolibarr distribution, so there is no need to install it.
Configuration
To use this module, you must first enable it using an administrator account, via the menu option "Home - Setup - Modules".
Choose the tab where the module is listed. Then click on "Activate".
The module is now activated.
If a cog icon appears on module thumb or at end of the line of the module, click on it to access the setup page specific to the module.
Below are the options available to configure this module.
Set-up options
Projects > Parameters
- Use projects to follow leads/opportunities
- If selected you could associate the project to a third party and follow the status of the proposal. This is required to manage external project.
- Use projects to follow tasks and time
- You need to select this option if you want to enter the detailed tasks of the projects and eventually follow time spend (this is not mandatory even if the option is selected). If not selected the module just allow to follow business opportunities (i.e. sales projects status).
Projects > Projects numbering module
Projects are numbered automatically using a simple model. You could change this model and define your own number template using the universal engine.
Projects > Tasks numbering module
Tasks are numbered automatically using a simple model. You could change this model and define your own number template using the universal engine. The task numbering model is independent from the project one.
Projects > Project reports document model
You could select a template for linked objects overview and a report template for project tasks. It is also possible to generate documents from OpenDocuments templates, a simple one is provided.
Projects > Task reports document model
It is possible to generate documents from OpenDocuments templates, a simple one is provided.
Projects > Other Parameters
- Use auto-completion fields to choose project (instead of using a list box)
- This could be very useful if you track a large volume of opportunities as projects.
- On document of a third-party, can choose a project linked to another third-party
- By default only document of the third party attached to the project could be linked to the project, however you may have a sub-contractor that will provide documents related to the project. In this case you need the option activated.
Complementary attributes (project)
Use this tab to define extra fields that will be available in the project card.
Complementary attributes (task)
Use this tab to define extra fields that will be available in the task card.
Dictionaries
The module comes with the the "Opportunity status for project/lead" dictionary.
This dictionary is used when the module is used to follow leads/opportunities. It contains the probability to sign the opportunities.
Go to the Setup menu and select Dictionaries to customize the list of values to qualify your opportunities.
The module also use the "Contact/Address types" dictionary, and populate it by default to associate a contact or a user allocated to a project or a task.
Permissions
- Read projects and tasks (shared project and projects i'm contact for). Can also enter time consumed on assigned tasks (timesheet)
- Create/modify projects (shared project and projects i'm contact for)
- Delete projects (shared project and projects i'm contact for)
- Export projects
- Read all projects and tasks (also private projects i am not contact for)
- Create/modify all projects and tasks (also private projects i am not contact for)
- Delete all projects and tasks (also private projects i am not contact for)
Usage
The module is available from the Projects icon available in Dolibarr top menu.
Note that the left menu display two sets of options :
- to access your own projects and tasks. These are projects and task you have been assigned to.
- to access shared projects and tasks. These are projects and task readable by you (even if you are not assigned to). Depending on your permission, access to this view may be restricted.
Entities and Business rules
Project entity
This is the root object added by the module.
Properties
Property | Description | Note / Values |
---|---|---|
Reference | Generated automatically by a template. It is unique. | See Set-up Options to customize the template. |
Label | The full name of the project. | |
Visibility | This property define the users permissions. |
|
Status | Current status of the project, updated by the project workflow. |
|
Start date | Starting date for the project | Could be any valid date in past or future. Note that no control is made between start and end date. |
End date | Ending date for the project | Could be any valid date in past or future. Note that no control is made between start and end date. |
Opportunity status | Value selected from the "Opportunity status for project/lead" dictionary. | Only displayed when "Use projects to follow leads/opportunities" option is set-up. |
Opportunity probability | The percentage associated to the Opportunity status, could be updated manually. | Only displayed when "Use projects to follow leads/opportunities" option is set-up. |
Opportunity amount | Amount of the opportunity in default currency. | Only displayed when "Use projects to follow leads/opportunities" option is set-up. |
Budget | Amount of the budget required for the project in default currency (if any). | |
Description | A text to describe your project. | |
Public Notes | A text area (html) to store public notes on the project. | |
Private Notes | A text area (html) to store private notes on the project. |
Links
Entity linked | Description | Notes |
---|---|---|
Users | You could allocate multiple users to a project, specifying a role. Two roles are defined by default, but you could extend it if needed. | There is no limitation to number of users linked, even with the same role. |
Contacts | You could allocate multiple contacts - from different third parties - to a project, specifying a role. Two roles are defined by default, but you could extend it if needed | There is no limitation to number of contacts linked, even with the same role. Contact and User roles could be different if needed. |
Documents | You could upload multiple document files and link them to a project. | Document could also be generated using templates, see Set-up Options to activate the templates. |
URL | You could attach multiple URL links to a project. | |
Commercial proposal | You could attach multiple proposals to a project. | You could create the proposal from the project overview tab. |
Customer order | You could attach multiple customer orders to a project. | You could create the order from the project overview tab. |
Customer invoice | You could attach multiple customer invoices to a project. | You could create the invoice from the project overview tab. |
Customer template invoice | You could attach multiple template customer invoices to a project. | You could create the invoice from the project overview tab. |
Supplier order | You could attach multiple supplier orders to a project. | You could create the order from the project overview tab. |
Supplier invoice | You could attach multiple supplier invoices to a project. | You could create the invoice from the project overview tab. |
Contract | You could attach multiple contracts to a project. | You could create the contract from the project overview tab. |
Expense report | You could attach multiple expense report to a project. | You could create the invoice from the project overview tab. |
Event | You could attach multiple events to a project. | You could create the event from the project overview tab. The Agenda module should be activated. |
Task | You could attach multiple tasks to a project. See below the tasks properties. | The option to manage tasks in a project should be properly activated, see Set-up Options |
Task entity
This is the child entity of the project entity. It is possible to create a hierarchy of tasks, the project being the root of the tree.
Properties
Property | Description | Note / Values |
---|---|---|
Reference | Generated automatically by a template. It is unique. | See Set-up Options to customize the template. |
Label | The full name of the task. | |
Child of project/task | By default the current project but could be changed to an other project task to create a tasks hierarchy. | |
Assigned to | The user responsible of the task. | By default the task creator. |
Start date | Starting date for the task | Could be any valid date in past or future. Note that no control is made between start and end date neither with project dates. |
End date | Ending date for the task | Could be any valid date in past or future. Note that no control is made between start and end date neither with project dates. |
Planned workload | Planned workload to complete the task in hours and minutes. | |
Declared progress | A percentage to be updated manually. | Could also be updated when capturing time spend on task. |
Description | A text to describe your task. | |
Public Notes | A text area (html) to store public notes on the task. | |
Private Notes | A text area (html) to store private notes on the task. |
Links
Entity linked | Description | Notes |
---|---|---|
Users | You could allocate multiple users to a task, specifying a role. Two roles are defined by default, but you could extend it if needed. | There is no limitation to number of users linked, even with the same role. |
Contacts | You could allocate multiple contacts - from different third parties - to a task, specifying a role. Two roles are defined by default, but you could extend it if needed | There is no limitation to number of contacts linked, even with the same role. Contact and User roles could be different if needed. |
Documents | You could upload multiple document files and link them to a project. | Document could also be generated using ODT templates, see Set-up Options to activate the templates. |
URL | You could attach multiple URL links to a project. | |
Time spent | You could attach multiple time spent slot to a task. | See the entity attributes below for more details. |
Task | You could attach multiple tasks to a task by using it as a parent task. |
Time spent record
These records allows to capture the time spent by a user on a task at a given time.
The time spent could be entered from different points:
- using the tab dedicated in the task form
- using the "New time spent" option in the module left menu.
In both cases you could enter time spend by day, but the menu option allows also to enter time spend by week. In this case you could only enter one time slot by day.
Properties
Property | Description | Note / Values |
---|---|---|
Start Date and Time | Define when the time has been spent. | Time is not available when you enter the data by weeks. |
Duration | Hours and minutes spent on the task. | This is mandatory to create a record |
Note | A small text to comment what was done or how time was spent. | Note is not available when you enter the data by weeks. |
Done by | The user who has spent time on the task. | The user should be assigned to the task to enter a time spent record |
Links
Entity linked | Description | Notes |
---|---|---|
Users | One and only one user is linked to a time spent record | The user should be linked to the task, to create the record. |
Task | One and only one task is linked to a time spent record |
Project visibility and user actions
This module allow to share projects and task across users. Each user could interact based on :
- Permissions allowed
- Project visibility
- Assignment to project
The following table summarizes actions available based on these factors.
User | Project | ||||
---|---|---|---|---|---|
Visibility on project contact only | Visibility for everybody | ||||
Status | User is not a contact of project | User is a contact of project | User is not a contact of project | User is a contact of project | |
Permission | Read | Project hidden | read project & tasks
add time spent on owned tasks |
Project hidden | read project & tasks
add time spent on tasks |
Create/Modify | modify close project
create modify tasks |
modify close project
create modify tasks | |||
Delete | delete projects & tasks | delete projects & tasks | |||
Read all projects (even if not contact or public) | read projects & tasks
add time spent on owned tasks | ||||
Create/Modify all projects (even if not contact or public) | modify close project
create modify tasks | ||||
Delete all projects (even if not contact or public) | delete projects and tasks |
Project Workflow
Project status follows this workflow sequence : Draft, Open, Closed.
Create a project
Creation of a new project is done from menu "New project" on main menu "Project" Public projects (and all tasks) can be read/edited by anybody with read project permissions. Private project (and all tasks) can be read/edited only by users defined as contact/actors of project + the creator of project (if all contacts are removed, we must keep at least one user authorized on project. This is the creator).
Create a task
Creation of a task is done from button "Create Task" on the tab "Task" of a project or from menu "Projects -> New task".
- A task can be created if you have permission to create/edit projects and if you are contact of a project (or if projet is a public project).
- A task is on the root of a project or under another task of the project.