Work with projects

Create and edit projects

Click on “projects” on the menu bar; you will see by default your open projects and tasks. Click on add button.

It gives you four options:

Create project:  creates a new root project. You may then change and extend a project adding (sub) tasks and changing timing, duration and efforts.

Create project structure: through this process you will be able to quickly create a project root and the base assignments. Immediately after you will be redirected to the Gantt editor, allowing you to add sub tasks and edit the tree structure.

Create process:  this leads you to create business processes: this is an advanced feature and requires some additional configuration.

Create Scrum: this is a wizard that creates a new project using the Scrum agile method.

The easiest way to create a task is to press “create project” button that uses a compact task editor:


the same fields are available on the full task editor too:

In detail:

Code/short name: this is usually the mnemonic name of the project/task. If your projects are related to external systems (such as an accounting systems) you can use that code. Code is not strictly required to be unique, but having a unique code may be useful.
When you are creating sub-tasks the code is proposed automatically by default as “code.1”, “code.2” and so on, but if you change the proposed code with “code.a” or “code.I” Twproject will try to guess the following codes with “code.b”,  “code.c” or “code.II” and “code.III”.

Progressive number guessing is used widely in Twproject.
If you change a task code, and the task already has children, the children (and descendants) codes will not be updated, as this may not be what is expected, and Twproject has no way to tell.
 clip_image009Twproject can generate unique codes from task types: if you select a type, didn’t type a code, and enabled this options in configuration:
You can set codes to be unique, and it can be a quite comfortable choice. To set this, go to admin -> default for projects and enable “use unique codes” clip_image011.

Name: it is the common/descriptive name of the task. It is mandatory and it is not required unique.

screen1152Each mandatory field is marked by *. You cannot save a form without filling each mandatory field, in case you try to do it the field will be enhanced as shown and the action is stopped.

Start/duration/end: as stated before, task timing is one of most relevant information about tasks. Start, end and duration are always consistent; this means that if you specify start and duration the end is computed, or if you specify start and end, duration is computed. Note that duration is computed in “working days”, considering (or not) Saturdays, Sundays (or Fridays) and your company’s calendar .

If you are changing dates for an existing task, a popup will propose you to insert a reason for the change:


it is not mandatory to fill it. Every change will be recorded on the task logs and the event is sent to the notification engine.

Milestones: in Twproject a milestone always matches the start or the end of a task. This because usually a milestone is related to a delivery or a phase kick-off. Of course setting a milestone changes the behavior of the start/duration/end triplet; for instance if you set start and end as milestones, duration is disabled.
That’s all with dates? Not exactly, there are other cases where dates must obey constraints. For instance when a project has children: in this case the parent task duration must be equal or greater than its children duration, and start must be the minimal date.


In this case if you try to shrink the duration of the parent, Twproject automatically sets the minimum duration as compatible with that of the children.

Another case is when there are dependencies between tasks: in this case a following task’ start must obey the end of predecessor (plus, eventually, a lag that can be positive or negative).


in case of dependencies, when you change dates/duration you may cause the propagation of date changes from children to parent along the whole tree.

If your task tree is “pinned” by one or more milestones the propagation may fail: in this case you get an error message feedback:


Status: Task’ status management in Twproject differs slightly from other project management software in the sense that Twproject is more… reality driven! To be more explicit, task status and task dates are not necessarily related. In Twproject it is correct to have an “open” task after the task end date: we believe that this approach is more “real” and practical with respect to closing a task automatically on the end date: the latter may have been fixed a lot of time before, and much may have changed in the meantime. Of course task status must obey some rules related to dependencies, business processes, or status flow, but generally Twproject is more flexible than traditional project management software.
If you are changing the task status, a popup will invite you to insert a reason for that change:


It is not mandatory to fill it. Every change is recorded on the task logs and the event is sent to the notification engine.

Type: is a rough classification of the task, “production” and “template” are commonly used types. You can add how many types you need by pressing “add type” button (if you have the permission).

Are you wondering what “template” means? Twproject supports copying a whole project tree with many options, so it is very easy to create a project skeleton as template. But actually any task can be used as “template” (why not?), and be used for “generating” other tasks.

Task types can also be a base for generating task codes: see above.

Relevance: is how important you feel this project is for you/your company. No computation, no constraints.

Progress: is the percentage of completeness. Twproject includes nine different automatic rules to calculate task progress.

By worklog / estimated: task progress is calculated according to the work inserted on the estimated one.

By sub-tasks (weighted): in this case Twproject considers the relevance of each sub-tasks and its progress to calculate the parent progress.

By sub-tasks completed: in this case the parent progress follow the status of its children, for example if the half of its children are closed the progress is at 50%.

By issues closed / total: project progress increase according to the number of its closed issue.

By cost / estimated & by cost / budget: Project progress increase according to costs bear in relation with estimated ones or budget.

By date: Project progress increase with end date approaching.

Different sub-tasks calculate their progress using a different rule.

Description/deliverable: use them for describing projects and delivery. No constraint on content except for size.

Color: you can specify a color to classify your project/task, also visible in Gantt

Tags: Similarly to the resources case, “tags” is used to classify your tasks and group them. Tags can be used to filter tasks when searching.

Then you have to insert who is working on the project; this is called “assignment”. See the dedicated section.

Let’s take a look to a saved project form:


First box contains data about worklog estimated and done. Worklogs are related to assignments.

The statistics box summarizes every figure relevant for the task; data in this box will give you a “feel” for the real progress of the task.

Twproject supports custom forms , the samples provided are “project value” and “project complexity”.

The last information available in the task editor page is the “task summary bar”: you will see the task dates scope, eventually milestones (the diamonds), progress (the yellow part), and today (the red bar).

By comparing progress and today you can see immediately if you are in late or not, just by looking whether the red line is on green or yellow: in our example we are perfectly in time.

Cross links

screen1162Notice in the top-left part of the task editor there is a task internal “code”,  which every saved task has: T#HWS#. This code allows you to link to this task editor from every other editor in Twproject. For example, if on any (other) task editor in the “description” or “deliverables” fields you write such code, this will turn into a link. In this way you can cross link any task to any other, and more – see below.

Cross linking supports links between: tasks (T#CODE#), issues (I#CODE #), resources (R#CODE #), agenda events (E#CODE #), agenda meetings (M#CODE #), (B#ID#) boards, where the value of “CODE” is shown in the editors.

Actually the text in the text area supports also HTTP links, images and smileys: you can get a description like this one:

with active links.


You can print a report of your task, by clicking on the printer icon button.

screen1214This is not just a print of the page, but has several options that can be used on needs; your options will be preserved for next usages. Now the printer icon will really print what you see using the browser default.

Project snapshots

If you pick “snapshot” instead of printing, a report (created using your preferences) in PDF format will be  generated and attached to the project.

Removing tasks

What happens if I need to remove a project from Twproject?

Usually removing complex objects such tasks or resources can have several consequences; most Twproject’ objects are linked to each other (a resource is assigned on a task with a role, a task is part of a tree, there is worklog already inserted, there are other users listening for events and much more…), so before deleting an object Twproject will check the state and show you the real situation.

Let’s try to delete a root task.


In this case Twproject will tell you that this task has 1 direct children, and you have to choose what to do with them.

In general when you are removing a task you can have the following options

1. unlink: this means that children will be “promoted” as root task

2. move to parent: task’ children will become children of task’ parent (children will pulled up one level)

3. delete branch: this means that deletion will propagate to the descendants

Your decision will be applied to every children.

The following area reports the object linked that will be lost while removing the task. If you are not worried by the message  you can select one option and remove the task definitively.

In some cases deletion may fail: for instance when the task has “live” references from external objects, references which cannot be removed by default; when this happens, the deletion preview pops-up again with the error message.

Every time you delete a main object (task, resource, issue, agenda event etc.), Twproject will show the deletion preview.

Project’s right menu

Twproject has so many features that we have to “hide” some of them on a right menu 🙂


We will see the ones strictly related with the project, remanding the other to specific sections.

Copy: use project’ templates

Twproject allows you to create project’ templates that can be re-used.
Actually every project can be re-used by using a powerful copy tools.

Often different projects share a common structure, and sometimes are almost identical. In these cases the possibility to copy (or “clone”) a project is a real advantage and saves you a lot of time.
In addition you can prepare some task skeletons (called “templates”) prepared ad hoc for this purpose; this is a smart way but it is not strictly necessary: Twproject allows you to copy every task.

Once you clicked  “copy” you can insert several data for the new project


As you can see the copy function is quite flexible:

code: this is the code will be used for the new project. This code will be used as suffix for its children

name:  is the name for the new root task. If the original task has children, the new one will keep the same name

new start date: this is the new starting date. Sub-tasks will be shifted consequently. If leave empty, the original dates will be used.

type: you can assign a new type to your new project; this because often “templates” are  marked as “template”, you may want to reset it to, for instance, “production”. If you leave the field empty the original type will be used.

copy codes: check it if you want to reuse codes from the template, otherwise the code will be generated from the root code and suffixed by .1, .1.1, etc. .

copy assignments: check it if you want to use the same assignments of the template.

copy additional costs: check it if you want to copy additional costs. This means that you have inserted also a set of “standard” costs for you project template.

copy issues: issues could be used as templates, by checking “copy” you can copy the “open” issues to the new project. You can eventually copy also “closed” ones.

move issues: this moves  issues from the model to the new task.
This options is very useful in several cases:

Checking “copying on an existing project” you will be able to copy and move in one click only, choosing the destination parent.
Example 1: a new product release/version. In this case you’ve collected several things to do (as issues) on a project related to a particular version, say version 6, of your product. The team is already defined and several “issues” has been already closed. At a certain point you may decide to stop the development and keep the open issues for version 7, the next release.
In this case you can copy “version 6” project to “version 7”, keeping the team, and moving the open issues to next version.
Example 2: year-by-year. Twproject can be used for manage business-as-usual tasks. Usually several issues are still open at the end of the year, using copy tool you can start for “BaU 2015” and copy to “BaU 2016”, moving open issues.
Press “copy” and have a look to your new project.


Move project

Moving a project is a less used function used when you want to move a task somewhere else:


When you decide to move a task you have to specify a new parent, or if you are moving a child, just leave “new parent” empty to “promote” a sub-project (a child) as project (a root). Again you’ll end up in the task editor.

All data recorded for a task is local to the task. So when moving a task, worklogs, costs, issues will be moved with it.

Add from template

you can use this link to add to your project a new child copied from an existing one. If you have created tasks that you use as template you can clone them and then insert them as child. Also remember that every task in Twproject can be used as template, choosing each time what to clone or not.

Logs: dates baseline and status history


Project’ public page

Twproject can expose project data using public pages; this page will not require any login.

By default public pages are not active, once enabled it will present selected information.
It is a way to automate distribution of information always updated from Twproject to people that do not access it.

From the project editor, right menu, click on public page button.

The pages will be available at URL of the form

[http://your Twproject address]/project/[task id]

When enabling such pages, there are several options available:


At first you have to enable this page and save before getting the options enabled. Most options are self explanatory, but:

– “enable send request”: if you enable this option, visitors of the page will be able to submit issues / features on such task: the ticket will be saved as an open, unassigned issue on the task.

– “ask key to access the page”: access to the page will be protected by a key which you define and will be requested on access.

This is an example resulting page:


According to what has been enabled we see the summary of the project data with statistics, the second tab is the one dedicated to submit request, then we have the Gantt chart of the project and the list of open issues.

Costs, and assignments details can be enabled too.

Email Ticket Closed Loop

Thanks to project public pages you can let your customers submit request, bugs and features easily with a dedicated page.


Every ticket submitted will be inserted as an open, not assigned, issues on your project. Assignee will be notified by e-mail about the new ticket and the customer too will receive an e-mail with a special link to check and monitor the list of issues submitted.


Replying directly to this email notification, both,  the assignee and the customer, can communicate directly, always passing through Twproject.

All notes written in the e-mail stream will be added as comments in the Twproject issue.


Project security

This allows you to change the area and the owner of the task. This will be relevant only if you are using a multi-area environment, which is a use case for advanced users. For more details see Security.



If you want to link directly to a project or task via a URL, use:
http://[your root]/task/X 
where X is the ID or the code of the project or task.

Assign new code

This functionality can be used to adjust task codes. When you are on task with children you can set a new code and all the tree below will be adjusted:


Inserting NEW_CODE as code you will get something like this for the tree

  • NEW_CODE.01
  • NEW_CODE.01.01
  • NEW_CODE.01.02
  • NEW_CODE.02
  • NEW_CODE.03