Task Manager Application (Pro)

Last modified by Teodor Caras on 2024/11/08 14:29

Task Manager Application (Pro)

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. Supports migration of Confluence tasks and reports to XWiki.

CategoryApplication
Active Installs1
Rating
0 Votes
LicenseGNU Lesser General Public License 2.1
Minimal XWiki version supportedXWiki 13.10
SourcesIssues

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.

XWiki Panel where the application can be accessed

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. 

The homepage of the Task Application

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.

8.taskpage-edit.png

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.

Creating a Task using a template.

Fill in the details in the dedicated form: 

Edit a created Task.

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".

Modal for a task macro.

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'.

Edit the task macro inside the content of a page.

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.

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.

ParameterDescriptionValueDefault
statusThe 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.StringInProgress
completeDateIf 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.Dateempty
*createDateThe creation date of the task in the format specified in the Task Manager section in the Administration page.Dateempty
*reporterThe user that created that edited the page and added the task macro.DocumentReferenceempty
*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.

DocumentReferenceempty
{{task reference="Task_1" reporter="XWiki.Reporter" createDate="2023/01/01 12:00" status="Done" completeDate="2023/01/02 12:00"}}
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.

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 taskmacro also allows the user to toggle whether they are completed or not.

tasks-macro-view.png

ParameterDescriptionValueDefault
idsA comma separated list of ids that identify tasks.Stringempty
{{tasks ids="1, 2, 3, 4" /}}

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'

task-macro-todo.png

ParameterDescriptionValueDefault
pagesDisplay the task pages that are children of any of the pages mentioned in this parameter.List of Document Referencesempty
tagsDisplay 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 tagsempty
assigneesDisplay the task pages that have their assignee present in the listed user references.List of User Referencesempty
reportersDisplay the task pages that have their reporter present in the listed user references.List of User Referencesempty
createdAfterDisplay 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.Dateempty
statusDisplay 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'.StringDone
limitThe limit of the tasks the livetable will display at a time.Integer20
columnsA 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
sortByThe column by which the livetable should be sorted.Stringduedate
idAn id that would uniquely identify the livetable on the page.Stringempty
{{task-report pages="Sandbox.WebHome" tags="someTag" assignees="XWiki.Admin, XWiki.TeoCaras" reporters="XWiki.Admin" createdAfter="2023/01/01 12:00" status="Done" limit="30" columns="name,duedate,assignee,owner,completeDate" sortBy="name" id="reportid"/}}

Task card

This macro is used to display one specific task in a card format.

task-card-macro.png

ParameterDescriptionValueDefault
taskreferenceThe reference to the task that needs to be displayed.DocumentReferenceempty
dependenciesDenotes whether the dependencies to the specified taskreference should be displayed as well or not.Booleantrue
{{taskcard taskid="ThingsLeftToBeDoneToTheTaskApp.Task_0" dependencies="false"/}}

Kanban board

This macro is used to display tasks in a Kanban board, grouped by their statuses.

task-kanban-board-macro.png

ParameterDescriptionValueDefault
spaceThe space from which to extract the tasks for the kanban.DocumetReferenceTaskManager
userThe user that is the assignee of the tasks.UserReferenceempty
projectThe project that the tasks displayed in the kanban should have.Stringempty
columnsThe columns of the Kanban board. The columns should be the possible statuses the tasks can have.BooleanToDo,InProgress,Done
{{kanbanboard space="Roadmap April" user="XWiki.TeoCaras" project="SomeProject" columns="ToDo,InProgress,Done"/}}

Date

The date macro is commonly used in the context of an inline task, in order to set a deadline. 

ParameterDescriptionValueDefault
valueThe value of the date in the specified format. If the format is empty, it should have the format specified in the Administration section.Dateempty
formatThe 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`.Stringempty
displayFormatThe 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`.Stringempty
{{date value="01/01/2022" format="dd/MM/yyyy" displayFormat="dd.MM.yyyy"/}}

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.

Administration section for the application

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.

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.

Incomplete tasks section

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.

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. 

xwiki-confluence-tasks.png

Installation Steps

This paid extensions requires XWiki 13.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.

step1.png

Install the Extension

Search for the extension you wish to install and use the Install button to install it.

step2.png

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.

step3.png

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:

step4.png

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 500 1000 2500 5000 10000 20000
Silver
Task Manager Application (Pro) is part of the XWiki Pro package. Purchasing this package you will benefit from more extensions at a better price. Check the full offer in XWiki Pro! The Task Manager Application (Pro) can be purchased individually only via online order (credit card payment), following the “How to Buy” procedure described below. The application is part of the XWiki Pro package, which can be purchased through manual order (bank transfer payment) by contacting sales@xwiki.com.

Benefits

What do you get when you purchase an XWiki extension?

1 year license

By purchasing an XWiki extension license, you'll benefit from it during one year.

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

v3.5.1

Improvements:

  • #15:  Synchronise task status with task progress
  • #103: Improve the description of the date macro

New Features:

  • #93:  Add the option to personalize card colors when using a Kanban board.

 

v3.5.0

Bugs fixed:

  • #116: The kanban board macro should show tasks in all sub spaces recursively

Improvements:

  • #105: Add pickers to the Kanban Board parameters
  • #114: Skip multiple versions of the same document during fold events

Tasks:

  • #112: Move the date macro to a separate module

v3.4.3

Bugs fixed:

#109 Remove the macro converters

v3.4.2

Bugs fixed:

#108 Server error message (404) when clicking on tasks migrated from Confluence using recent versions of confluence-xml

v3.4.1

Bugs fixed:

#84 Admin is not allowed to make any change in rights

v3.4.0

Improvements:

#87 Excessively long task titles
#96 Clarify the description of format parameter for Date macro
#98 Add a display format parameter for the date macro

Bugs fixed:

#89 Missing "InProgress" styling for task dependencies
#90 Spurious NullPointerException when restoring document from recycle bin

v3.3.3

Upgrades:

#95 Upgrade Licensor dependency to version 1.25

v3.3.2

Bugs:

#91 NPE when converting task list macros in specific scenarios

v3.3.1

Bugs:

#78 Upgrade Licensor dependency to version 1.24.3
#86 Task macros that contain more than 768 characters cannot be saved as task
#88 SQL warnings "null value eliminated in set function" (code -1003, state 01003)

v3.3

Bugs:

#63 Change the Task location under a Task Manager page
#64 Add the configuration option to hide tasks

New Features:

#75 Create a tool that allows the admin to automatically infer the creation and completion dates of task macros

[Misc] [Task Page] The reporter, completion date and creation date will not fallback to the current user/current time if they are empty.

 

v3.2.1

Bugs:

#69 The top Task card macro displaces the below existing Task macro in page content
#70 Make task id required parameter for Tasks macro
#71 Configuration field lacks translation
#72 Scalability issues when deleting pages with multiple tasks
#73 Adding the date macro to a page in WYSIWYG mode will remove content after the macro

v3.2

Bugs:

#61 NPE when converting a task-list confluence macro

Improvements:

#59 Do not execute the task listeners during fold events
#60 Do not log warnings when the completion/creation date of task macros are empty

v3.1

Bugs:

#33 Adding a task and saving the document multiple times will assign an ID greater than it should
#36 Missing spaces and wrong font on the template fields
#37 Task name isn't displayed in tab during creation neither in breadcumbs menu
#42 Some titles of extension pages aren't displayed in web-browser tab, as page compenent and in breadcumb menu
#52 The avatar doesn't have a link to assignee user profile

v3.0.4

Bugs:

#47 Recursive call of displayTaskAsDependecy make tasks created by normal user unavailable

v3.0.3

Bugs:

#34 Tasks inside the content of other macros are not assigned an ID

#38 Task report macro wrongly filter tasks

#39 Task title for non-terminal page isn't displayed

#45 The tasks inside other macros are not assigned a reference if it's parent is a sibling of certain elements

v3.0.2

Bugs:

#30 Task Macro does not work if only installed in sub wiki

#31 The TaskMacroConverter can throw NPE if the content of a task imported from confluence does not exist

Improvements:

#24 The macro to add a task in the editor should have a clearer name than "task macro"

#32 Task IDs should be unique per wiki

Fixed the description of the application that was displayed in the Extension Manager.

v3.0.1

Tasks:

#22 Update description displayed on the store page

#23 Make application independent of the contrib fork

v3.0

Bugs:

#3 Translation console warning

#5 Prevent project/status/priority form submit with empty value

#7 Custom added status is not properly displayed when creating a new task

#9 Custom added status is not properly displayed when creating a new task

#11 Adding a new Status or Priority may demand duplication translations

#16 Kanban board error

Improvements:

#4 Provide an initial Project

#6 Projects pages should be hidden pages

#10 Introduce the ability to translate Projects

New Features:

#2 Create task macro

#13 Task Manager Pro

Tasks:

#1 Configure the app to be a paid one

#12 Update parent version to 11.10

Extension details

This information is only displayed to Administrators. Your users can't see this tab.

License

  • GNU Lesser General Public License 2.1

Sources

Issues

Type

  • xar

Developed by

Compatibility

  • Requires XWiki 13.10 or above.

Installable with the Extension Manager

Dependencies

  • com.xwiki.date:macro-date-ui 3.6.0
  • com.xwiki.licensing:application-licensing-licensor-api 1.26
  • org.webjars.npm:frappe-gantt 0.6.1
  • org.xwiki.contrib:macro-kanban 1.4.0
  • org.xwiki.platform:xwiki-platform-livetable-ui 14.10
  • org.xwiki.platform:xwiki-platform-appwithinminutes-ui 14.10
  • org.xwiki.platform:xwiki-platform-sheet-ui 14.10
  • org.xwiki.platform:xwiki-platform-uiextension-ui 14.10
  • org.xwiki.platform:xwiki-platform-icon-ui 14.10
  • org.xwiki.platform:xwiki-platform-mentions-ui 14.10
  • org.xwiki.platform:xwiki-platform-icon-default 14.10
  • com.xwiki.task:application-task-default 3.6.0
  • org.webjars:requirejs 2.3.6
  • org.webjars:momentjs 2.29.1
  • org.webjars:moment-jdateformatparser 1.2.1
Tags:
Created by Teodor Caras on 2023/05/15 15:15
XWiki SAS Copyright © 2024