Open Project Integration (Pro)

Last modified by Teodor Caras on 2025/11/19 14:32

Open Project Integration (Pro)

Connect to your OpenProject instance and display WorkPackages in XWiki as lists, cards or single items.

hero-project-management.png
CategoryApplication
Rating
0 Votes
Support
LicenseGNU Lesser General Public License 2.1
Minimal XWiki version supportedXWiki 14.10
SourcesIssues

XWiki SAS public extension which depends on xwiki-platform

Setup an Open Project connection in XWiki

In order to establish a connection between OpenProject and XWiki, follow the steps below:

Configure an OAuth Application in your OpenProject Instance

To configure the application, go to the OAuth connections section in your OpenProject instance:

  • Navigate to Administration by clicking the profile icon in the top navigation bar.
  • From the left sidebar, select Authentication.
  • Under the OAuth Applications section, click the OAuth application button.
Warning

Only users with administration rights can create an OpenProject OAuth application

This will allow you to define a new application. You should fill in the information only in the first part of the form, ignoring the Client credentials section. The following parameters are required for setting up the OAuth application:

NameDescriptionDefaultCan be left unchanged
ActiveEnable or disable this OAuth connection. When unchecked, the application will not be available for authentication purposes. The active value for an XWiki instance should be enabledenabledyes
NameA descriptive name for this OAuth application. It helps identify the integration-no
Redirect URIThe URI to which the authorization server will redirect the user after authorization. This should point to your XWiki instance's callback endpoint. The authorization point value for an XWiki instance should be https://<your-xwiki-domain>/xwiki/oidc/authenticator/callback-no
ScopesCheck the scopes you want the application to grant access to. The scopes value for an XWiki instance should be api_v3api_v3yes
ConfidentialCheck if the application will be used where the client secret can be kept confidential. The confidential value for an XWiki instance should be enabled trueyes

Once the application is created, OpenProject will generate a Client ID and Client secret. These credentials must be securely stored and used in the further steps.

op_oauth_app.png

Configure an OpenProject Instance Connection in XWiki

To configure the connection with OpenProject from an XWiki instance, you need to create a new OpenProject connection within XWiki. The connection can be created from OpenProject section in the Administer Wiki area:

  • Click on the Drawer icon (the icon in the top navbar, usually three horizontal lines or a grid)
  • From the menu that opens, select Administer Wiki
  • Go to Other
  • Go to OpenProject
Warning

Only users with Admin rights in the XWiki instance can create or edit an OpenProject Connection  

By using the Add New Connection button, you can open the modal where we can configure a connection to an OpenProject instance. Four parameters are required to define the connection.

NameDescriptionRequired
Connection NameThe name of the connection to the OpenProject instance. This value must be unique among all connection names, you cannot have two instances with the same nameyes
Server URLThe URL of the OpenProject instance you want to connect to and for which the OAuth application has been created. The value must be the root path of the instance, for example:https://<your-open-project-instance>yes
Client IDRepresents the value of the Client ID parameter, generated when the OAuth application was defined in the OpenProject instanceyes
Client Secret

Represents the value of the Client secret parameter, generated when the OAuth application was defined in the OpenProject instance

yes

By pressing the Submit button, the new connection will be saved.

connections_correct.png

You can Edit or Delete any connection at any time using the Actions in the connections table. If the connection is not available anymore (the current connection expired), you can use the third action(TODO: change the third action name) in order to reconnect.

connections.png

Syncing the styling between OpenProject and XWiki

XWiki will try to display certain properties of the workpackages retrieved from OpenProject in a similar manner to how they looked in OpenProject. In order to do this, a job is scheduled to sync the styles once per day.

The job will run with the rights of the last user that created or edited an Open Project instance. WarningIt is important that the user will be authorized to the configured Open Project instances otherwise the styles won't sync. In order for the user to be authorized, they need to either insert an openproject macro in a xwiki page or view a page that contains the said macro. Alternatively, the admin can see whether they have been authorized to the configured OpenProject instances using the livedata displayed in the Administration section.

1763541709848-646.png

Use the Open Project macro

The Open Project macro will allow you to display workpackages retrieved from the configured Open Project instances. You can either create your own filter or paste in an open project url.

NameDescriptionDefaultRequired
instanceThe name of the Open Project instance that was configured in the administration section.-yes
filtersThe filters that will be applied to the displayed work items. The filter value can be constructed in an user-friendly manner using the macro modal. The raw data that it expects is a json. i.e. {"query":{"filters":[{"property":"startDate","constraints":[{"operator":"t","value":""}]}]}}-no
identifierAn Open Project url identifying a work package or a filtered list of work packages.-no
limitHow many work packages should be displayed per page.5no
offsetThe offset page that should be used when displaying the work packages.0no
sortThe properties that should used to sort the displayed work packages.-no
workItemsDisplayerThe displayer that will be used to render the work packages. The options are "liveDataCards", "liveData" and "workItemsSingle", which displays a single work package (the first result of the query) in an expanded manner.liveDatano

Filtering for work packages

Filtering using the openproject macro can be done in multiple scenarios.

In the macro modal - before inserting the macro

When inserting the macro in the page, the filter parameter allows you to filter over the Open Project properties in an user friendly manner. You create a filter by selecting Add Filter and choosing the property that you want to filter on. Doing that will create a constraint - an operator and the value that the property should match. The operators are of a subset of the ones accepted by the Open Project. Some properties have pickers implemented for their values to facilitate the filter creation. The properties with pickers are identifier, type, status, project, creator and assignee.

1763542382631-318.png

In the view page - after inserting the macro

The liveData displayer supports filtering. The filtering done in the macro modal was modeled to function similarly to the one provided by the livedata.

1763542819459-602.png

In the Open Project instance

The open project macro can display the work packages that match a filter generated from the Open Project instance.

Create the filters

1763543622206-549.png

Copy the URL from Open Project and user it in the macro

1763543693274-309.png

View the macros in XWiki

1763543726000-170.png

Installation Steps

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

Information

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 14.10 or above.
Success

Installable with the Extension Manager

Dependencies

  • org.xwiki.contrib.oidc:oauth2-client 2.19.1
  • com.xwiki.projectmanagement:project-management-openproject-macro 1.0
  • org.xwiki.platform:xwiki-platform-administration-ui 14.10.2
  • org.xwiki.platform:xwiki-platform-localization-script 14.10.2
  • org.xwiki.platform:xwiki-platform-csrf 14.10.2
  • org.xwiki.platform:xwiki-platform-query-manager 14.10.2
  • org.xwiki.platform:xwiki-platform-scheduler-ui 14.10.2
  • org.xwiki.platform:xwiki-platform-ckeditor-ui 14.10.2
  • org.xwiki.platform:xwiki-platform-rendering-macro-velocity 14.10.2
  • org.xwiki.rendering:xwiki-rendering-macro-html 14.10.2
  • org.xwiki.platform:xwiki-platform-search-solr-ui 14.10.2
  • org.xwiki.platform:xwiki-platform-extension-script 14.10.2
  • org.xwiki.platform:xwiki-platform-icon-script 14.10.2