Task Manager Application (Pro)
| Category | Application |
| Active Installs | 0 |
| Rating | |
| Support |
XWiki SAS
|
| License | GNU Lesser General Public License 2.1 |
| Minimal XWiki version supported | XWiki 15.10 |
| Sources | Issues |
Task Manager Application allows for the creation and management of tasks inside a wiki. It provides various macros to display single or multiple tasks filtered using numerous criteria. You can set an assignee, a due date, a severity and many other properties. You can group the tasks on different projects, keeping track of the progress done for each particular task.
The Home Page of the application can be accessed from the right panel, by clicking the Task Manager entry.
The Home Page lists all the exiting tasks inside a livetable, displaying properties such as the project, status, priority, reporter, assignee and deadline. The livetable is filterable and sortable which makes it easier to query and quickly reach the target task or group of tasks.
Usage
The app allows you to approach task management in two different ways.
JIRA/Git
Through this approach, you can create complex tasks with detailed descriptions and organise them in multiple projects.
Moreover, you can assign different, configurable priorities and statuses to each task and keep track of their progress with the use of the Progress property.
You can also link tasks which are part of the same Project, by adding them in the Dependencies section.
TO-DO lists (Compatible with Confluence Migration)
If detailed descriptions are not your main priority, you will surely enjoy using inline tasks, also called TO-DO items. You can create tasks inside the content of a page and set an assignee and a due date.
An inline task is inserted, like any macro, through the dedicated section of the XWiki Editor:
Create a task
As a page, using the template
To create a task with description, priority, progress and all available properties, click on the Create button in the top-right corner of any page. You will be directed to the creation screen. Select the template corresponding to the task application, set a title, then click Create.

Fill in the details in the dedicated form:

Click on "Save&View" and later manage or edit the task as needed.
Inside the content of a page
In order to add a task in the content of the page, as a to do item, insert a Task macro. Go to the page where you wish to add your task(s), click Edit, then on the Plus button, select the Other macros entry and search for "Task macro". In the dedicated editing modal, you can set the content and the status of the task. The completion date of the task can be set only if the status is set to "Done".

After clicking Submit you can set to the task an assignee and a deadline by inserting a mention macro and a date macro inside the task content.
After saving the page, you can click on the checkbox beside each task to mark it as 'Done' or 'In Progress'.

NOTE: When inserting the task macro, you can let the content empty inside the modal, click submit, and only afterwards set the content. The same can be done to the status. If you let it empty, it will have `InProgress` as the default value. If you want to set it as `Done`, you can save the document and click on the checkmark. This will also set the completion date.
Since v3.10.0 the task and date macro can be automatically inserted into the content on xwiki versions where the Quick Actions feature is present.
Using a custom task template
To create a task with pre-filled information, a custom task template can be used. See how to create a page template
Since v3.10.0:
Task templates can be managed by clicking the Create new template button on the Task Manager home page. Here you can view, edit and delete existing task templates, and create new ones.
Note: Tasks created in the TaskManagerTemplates space will not be displayed in the task-report, gantt and kanban macros.
Notifications
Users can enable task notifications for tasks they are assigned to. In order to receive notifications, a user must enable Task Manager notifications in the User Profile page. The default notification preference can be modified by administrators, from the Global Administration page (Social > Notifications).
When a user who has task notifications enabled is assigned to a task, the task page will be automatically watched. Similarly, tasks are unwatched when the user is unassigned.
By manually watching a task (by creating a notification filter for the task page), a user can receive notifications for tasks they are not assigned to.
Macros
The application comes with multiple macros that can be used to display the tasks in different manners.
Task macro
The task macro is used to create and store tasks in the content of a page in a simple manner, as TODO items. Inserting this macro in a page will create a task page as if creating it from the template. The macro parameters will be used to set the associated fields in that page. As you will notice, there will be no macro parameter for assignee and due date. This is because the assignee and due date are are set inside the content, using the mention macro and date macro.
As presented above, in the Inside the content of a page subsection, it is presented how to use this macro.
| Parameter | Description | Value | Default |
|---|---|---|---|
| status | The status of the task. The status should be one of the configured possible statuses. The application comes by default with ToDo, InProgress and Done statuses. The user can later add more. | String | InProgress |
| completeDate | If the status is Done this field should be completed with the date when the task was marked as such. The date should be in the format specified in the Task Manager section in the Administration page. | Date | empty |
| since 3.9.0 idDisplayed | Denotes whether the id should be displayed or not after inserting the macro in the page. | Boolean | TRUE |
| *createDate | The creation date of the task in the format specified in the Task Manager section in the Administration page. | Date | empty |
| *reporter | The user that created that edited the page and added the task macro. | DocumentReference | empty |
| *reference | The reference to the task page that will be synced to this macro. The reference will be resolved relative to the current document. If the reference if 'Task_1', it will be resolved as a child to the document that is edited. | DocumentReference | empty |
This is a task that should be done by {{mention reference="XWiki.Assignee" anchor="XWiki-Assignee-123jwm6"/}} as late as {{date value="2023/01/03 12:00"/}}
{{/task}}
* This marks an advanced parameter that should not be manipulated as it is managed by the application.
Note: The complete date is also managed by the application. By clicking on the checkbox of a task, the complete date is filled or emptied. You should edit the complete date only if you want to set a specific date.
It is recommended to use the task macro with the WYSIWYG editor, so the creation date and reporter will be automatically filled in based on the user that is performing the editing action.
Checkbox macro
As of 3.9.0, the checkbox macro was introduced. The behaviour of the macro is similar to the task macro only that no additional task page is created. This makes the checkbox macro unable to be displayed in any sort of tables/livedata. However, this makes it more lightweight and perfect for simple use cases.
| Parameter | Description | Value | Default |
|---|---|---|---|
| id | An unique identifier for the checkbox inside the page. The wysiwyg editor auto fills this value and it is recommended to ignore this parameter. | String | empty / autogenerated in wysiwyg mode |
| checked | Marks the state of the checkbox - either checked or unchecked. | Boolean | false |
Some nice content.
{{/checkbox}}
Tasks macro (list)
The tasks macro is used to display one or more tasks identified by their ids/numbers. It displays them the same way the task macro does, but the tasks can not be edited inline. The modification of a macro should only be performed on the original task macro or the task page that was created as a consequence of using the task macro.
The tasks macro also allows the user to toggle whether they are completed or not.

| Parameter | Description | Value | Default |
|---|---|---|---|
| ids | A comma separated list of ids that identify tasks. | String | empty |
Task Report macro
This macro is used to display tasks that match set filters. The default behaviour of the task report is to display all the tasks on the current wiki that have their status set to 'Done'

| Parameter | Description | Value | Default |
|---|---|---|---|
| pages | Display the task pages that are children of any of the pages mentioned in this parameter. | List of Document References | empty |
| tags | Display the task pages that have at least one of the listed tags or the page they are located on has at least one of the listed tags. | Comma separated list of tags | empty |
| assignees | Display the task pages that have their assignee present in the listed user references. | List of User References | empty |
| reporters | Display the task pages that have their reporter present in the listed user references. | List of User References | empty |
| createdAfter | Display the task pages that have their createDate field greater than the specified date. The date should be in the format specified in the Task Manager section in the Administration page. | Date | empty |
| status | Display the task pages that have their status equal to the one specified. The values the status can take are configurable in the Administration section. The application comes with three possible statuses by default 'Done', 'InProgress' and 'ToDo'. | String | Done |
| limit | The limit of the tasks the livetable will display at a time. | Integer | 20 |
| columns | A list of columns that should be displayed in the livetable. The possible values for the columns are name, duedate, assignee, owner, completeDate, assignee, reporter, createDate, status. | List of columns (String) | name, duedate, assignee, owner |
| sortBy | The column by which the livetable should be sorted. | String | duedate |
| id | An id that would uniquely identify the livetable on the page. | String | empty |
Task card
This macro is used to display one specific task in a card format.

| Parameter | Description | Value | Default |
|---|---|---|---|
| taskreference | The reference to the task that needs to be displayed. | DocumentReference | empty |
| dependencies | Denotes whether the dependencies to the specified taskreference should be displayed as well or not. | Boolean | true |
Kanban board
This macro is used to display tasks in a Kanban board, grouped by their statuses.

| Parameter | Description | Value | Default |
|---|---|---|---|
| space | The space from which to extract the tasks for the kanban. | DocumetReference | TaskManager |
| user | The user that is the assignee of the tasks. | UserReference | empty |
| project | The project that the tasks displayed in the kanban should have. | String | empty |
| columns | The columns of the Kanban board. The columns should be the possible statuses the tasks can have. | Boolean | ToDo,InProgress,Done |
| order | Field to order the tasks by. Example: 'name asc', 'doc.date desc', 'reporter asc,assignee desc'. | String | empty |
| limit | The amount of tasks displayed for each status. | Number | 20 |
Task Gantt macro
The taskgantt macro draws an interactive Gantt diagram which shows tasks, optionally filtered by start/end date, assignee, space or project.
If the diagram is not read only, users can modify progress, start and end dates and by dragging the tasks. Double clicking task titles will open the associated page in a new tab.
Tasks are listed in alphabetical order by project and name, with a maximum of 50 tasks displayed at once. For comma separated fields, escape commas with '\,'.

| Parameter | Description | Value | Default |
|---|---|---|---|
| from | Display tasks which started after the specified date. | Date | empty |
| to | Display tasks which ended before the specified date. | Date | empty |
| assignees | Display tasks which are assigned to one of these users. Values should be comma separated, example usage: "XWiki.User1,XWiki.User2" | String | empty |
| projects | Display tasks which are part of one of these projects. Values should be comma separated, example usage: "Other,My other project" (commas in project names should be escaped as '\,') | String | empty |
| spaces | Display tasks which belong to one of these spaces. Values should be comma separated, example usage: "TaskManager,Sandbox.Space with escaped \, comma.Tasks" (commas in space names should be escaped as '\,') | String | empty |
| hideNoDueDate | Hide tasks which have no due date set, and as such cannot be displayed properly in the diagram. If set to false, the default duration of such a task is displayed as one week. | Boolean | true |
| readonly | Prevent the ability of users to modify tasks using the Gantt Diagram UI. | Boolean | true |
from="2024/09/27 09:00" to="2024/09/27 17:00"
projects="Alpha,Beta,Gamma"
assignees="XWiki.Admin,XWiki.User1"
spaces="TaskManager,Sandbox.Tasks"
hideNoDueDate="false"
readonly="false"/}}
Date
The date macro is commonly used in the context of an inline task, in order to set a deadline.
| Parameter | Description | Value | Default |
|---|---|---|---|
| value | The value of the date in the specified format. If the format is empty, it should have the format specified in the Administration section. | Date | empty |
| format | The format the `value` parameter should have, specified in the Java Date Format Standard. For example, if you want to input the value parameter in the following manner `01 jan 2024`, the format parameter should look like this `dd MMM yyyy`. | String | empty |
| displayFormat | The format that will be used to display the date. The format should be in the Java Date Format Standard. For example, if you want the macro to display the date in the following manner `Sunday, 22.01`, this parameter should have the following value `EEEEE, dd.MM`. | String | empty |
Administration Section
In the administration section of the TaskManager, you can add or manage projects, statuses and severities of the tasks in the XWiki instance. Furthermore, you can change the date format.

Adding a project, status or severity
To add a new status, severity or project you only need to fill the desired value in the designated field and click the Add button. For the status field, you should also add the order that specific value should have. For example, if we wish to add the status 'Backlog', we would set the order to 0, so it comes before 'ToDo', which has the order 1.
Adding a task template
To add a new template for tasks, you need to specify a name and click the Create new template button. You will be redirected to the template page, where you can fill out default values for any property.
To further customize the name, description or icon of the template, you need to edit the template provider page mentioned in the template list.
Task storage and display dates
The application allows you to configure the storage date and the display date. The formats should be entered in the Java Date Format Standard. The formats to use are looked for in the following order. First, the TaskManager Administration section is checked, if the values are empty, the xwiki.properties file is checked for the keys task.storageDateFormat respectively task.displayDateFormat. If no values are found in the properties file, the XWiki Preferences are checked for the dateformat key. Ultimately, if it is also empty, the default value of 'yyyy/MM/dd HH:mm' is returned.
The display date is mainly used by the by the date macro. When setting a deadline for a task using the task macro, you might want it to be displayed in a different manner. For example, to display only the month and the year, as such Mar 2023, this format should be entered 'MMM yyyy' in the display format field.
The storage date format is for more advanced users. It is used to change the date format for different macro parameters such as the task macro and task report macro.
Incomplete tasks
An incomplete task is a task macro that has either of the reporter, completeDate, createDate parameters empty. Such a task can appear if some user created the macro by hand, using the wiki/source editor, if the WYSIWYG macro modal failed to initialize the data or if the page that contains the macro was imported from another source, such as Confluence.
Incomplete tasks will not appear in livetables when the user filters for any of the mentioned fields.
The purpose of this section in the Administration page is to list all the pages that contain such macros and allow the admin to infer the missing data. The administrator can either infer the missing data for individual pages, by pressing the Infer missing data button next to the page link, or infer the missing data for all the pages by pressing Infer missing data for all tasks.
The inferring process works by looking in the history of the page and observing the moment a certain task macro was added. That moment will dictate the creationDate as well as the reporter (the user that edited the page). For the completionDate, it will check for the last time the status of the macro was set to Done.

Skip task macro evaluation during FoldEvents
When saving a page, as part of the Task Application, an event listener will run that is responsible with the creation/update/removal of the task pages associated with the task macros present in the content of the saved page. This process is pretty heavy because the content of the page needs to be parsed and checked for any changes made to the task macros. If changes are found, the task pages need to be updated. This can have a great impact on processes that operate on a large number of pages.
To avoid this problem, the listener will not execute during FoldEvents.
If the admin wants the listener to run during certain FoldEvents, the full classname of the listener needs to be added in the Not skipped Fold Events textarea located in the Administration Section.
Hide the id of the task macro
It is possible to toggle whether the id of the task will be displayed by the task macro or not. By default this is set to TRUE and the ID of the task will be displayed as a link that takes you to the task page. If disabled, the id will not be displayed. Note that each instance of the task macro can overwrite this setting. For example, if we turn off the id in the admin section, then all the task macros that do not have their own `idDisplayed` parameter set will abide to the admin section rule. However, if we have a macro that has its `idDisplayed` parameter set, this value will take precedence.

Data migration when upgrading to v3.6.0
When upgrading the application to v3.6.0, during the installation process, a migration will be run. This migration aims to transform the task macro references into values relative to the page where they are located. To give an example, PageA.PageB contains a task macro with the following task macro {{task reference="PageA/PageB/Tasks/Task_0"}}Some content{{/task}}. After the migration, the task macro should look like this {{task reference="/Tasks/Task_0"}}Some content{{/task}}. Note that the reference parameter of the task macro is now relative to the page that contains the macro.
This migration is done to ease the process of copying/moving pages that contain task macros. Before the migration, when the page mentioned in the previous example was moved together with it's children to PageA.PageC, the task reference of the macro inside it's content needed to be updated to PageA.PageC.Tasks.Task_0. After the migration, since the reference is relative to the parent, there is no need for any update.
If the wiki contains many tasks, the upgrade process might take longer than usual. The migration process will create a minor history version to all the pages that contain a task macro.
Confluence Migration
The Task Manager Pro is fully compatible with migration from Confluence to XWiki. If inline tasks or task reports are contained in your Confluence content, they will be displayed identically in XWiki after data migration.

Installation Steps
This paid extensions requires XWiki 15.10 or above. In order to install the extension, follow the next steps inside your XWiki instance (on cloud or on premise).
Navigate to the Extension Manager
In the Applications Panel click on "More Applications..." and then "Install new applications...". Alternatively navigate directly to the Administration and select the "Extensions" section.

Install the Extension
Search for the extension you wish to install and use the Install button to install it.
Get a License
Navigate to the "Licenses" section of the Administration, fill your details, look for the extension you just installed in the live table and click the buttons to get a trial license or to buy a license.
Install the License
If you have selected a trial license then you're good and there's nothing else to do. Your trial license is automatically installed.
However if you've selected to buy a license you'll be redirected to a page to perform the payment. At the end you need to come back to the "Licenses" administration section and click on the "Check for Updates" button. This will download and apply the license you bought.
Use the Extension
Start using the Extension! Refer to the extension's documentation to know how to use it.
Installing Paid Apps on Subwikis
If you want to install an application on the whole farm (main wiki + subwikis), you can do so directly from the main wiki’s Extension Manager, as seen below:
Extensions can also be installed only on a particular subwiki by global admins. Subwiki admins will not be able to install these extensions due to their limited rights.
Options
The price is per year and varies depending on the support level and the number of users.
| Support / Users | 10 | 25 | 50 | 100 | 250 |
|---|---|---|---|---|---|
| Basic |
Benefits
What do you get when you purchase an XWiki extension?
1/3 years license
By purchasing an XWiki extension license, you'll benefit from it during one or three years, depending on the chosen engagement period.
Free updates
You benefit from all the extension updates during one year. You are always up to date.
Support included
If you are facing an issue, you can reach the XWiki support. Our team is always available to help.
How to Buy
To buy, install this extension from inside your XWiki instance and follow the instructions.
Release notes
Extension details
License
- GNU Lesser General Public License 2.1
Sources
Issues
Type
- xar
Developed by
Compatibility
- Requires XWiki 15.10 or above.
Dependencies
- com.xwiki.date:macro-date-ui 3.11.2
- com.xwiki.licensing:application-licensing-licensor-api 1.32.3
- org.webjars.npm:frappe-gantt 0.6.1
- com.xwiki.commons:xwiki-pro-commons-pickers-ui 1.4.0
- org.xwiki.contrib:macro-kanban 1.4.5
- org.xwiki.platform:xwiki-platform-livetable-ui 15.10
- org.xwiki.platform:xwiki-platform-appwithinminutes-ui 15.10
- org.xwiki.platform:xwiki-platform-sheet-ui 15.10
- org.xwiki.platform:xwiki-platform-uiextension-ui 15.10
- org.xwiki.platform:xwiki-platform-icon-ui 15.10
- org.xwiki.platform:xwiki-platform-mentions-ui 15.10
- org.xwiki.platform:xwiki-platform-icon-default 15.10
- com.xwiki.task:application-task-default 3.11.2
- org.webjars:requirejs 2.3.6
- org.webjars:momentjs 2.29.4
- org.webjars:moment-jdateformatparser 1.2.1
- org.webjars:jquery 3.7.1


