Skip to content

c3 Market Integration

Sabine Gillner edited this page Oct 29, 2024 · 22 revisions

Product

The following describes how your self-developed product can be added to the official Axon Ivy Market.

Initiate

To publish your product in the Axon Ivy Market, you need another Maven artifact, the product artifact. The product artifact contains the product files. You will find these in the folder MY-PRODUCT-NAME-product. Replace the variable MY-PRODUCT-NAME in all files (README.md, product.json. pom.xml) and also in the name of the folder.

Product Files

Product Documentation

The README.md is a markdown-formatted text file designed to promote and describe the features of your product. This readme will be displayed on your product detail page.

Feel free to reference images, such as screenshots, within the file. Just add these images to the product directory (e.g. under doc/img/myScreen.png) and incorporate them into your Readme.md with a relative link ![myFancyFeature](doc/img/myScreen.png).

You may also use any emoticons as desired to enhance readability 😊✨📷.

Demo (## Demo) and Setup (## Setup) section headers will be shown as separate tabs - please do not change the name or order of these headings and do not add any further headings (allthough you are welcome to add subsections).

Please provide a German translation also in README_DE.md. Translate at least the first chapter of the Readme.md to German (so everything until the section ## Demo). If you add no ## Demo and/or ## Setup section to this file these content will be displayed in English (which is fine). On the other hand, if you provide a translation for these chapters also we will include them on our market-homepage also.

Product Installer

The product.json describes the installation of your product to an Axon Ivy Designer. It will be processed, when a user clicks on the Install button in the Axon Ivy Market web interface. The product.json must be written in JSON format. We suggest utilizing an editor like VS Code for this task.

How to adapt

The default product.json from the template outlines all valid installer scenarios. You must customize it as follows:

  • Pick the installer you want to use, and modify the groupIds (MY-GROUP-ID) and the artifactIds (MY-PRODUCT-NAME) to match your product.
  • Remove installer sections, you are not using.
  • Keep the dynamic ${version} attribute. It refers to the Maven attribute that needs to be installed and will be injected from the market based on the version selected by the customer.

Custom installation

You can test the installation in your local designer:

  • Install the state of your product in your local maven repo by running mvn clean install in the repository root.
  • In the Designer: use the CTRL+ALT+I key-combo to start the product installation from a custom source.
  • Provide the path to your product.json in URI compatible format (e.g. file:/home/myuser/dev/market/market/connector/myconnector/product.json) and proceed to the installation process by pressing OK.
  • Before installing, expand the 'JSON' install block: replace all ${version} occurrences with your locally available version (e.g. 10.0.0-SNAPSHOT).

Market Integration

To publish your product in the official Axon Ivy Market Homepage proceed as follow

Publish

If you have made it to this point, you have already built your first market product. Please do not keep it private in your local fork, but create an onboard-to-market issue so that we can publish your product on the Axon Ivy Market

Create a release & celebrate

We can only provide approved versions of your product.

If you are happy with your product and its documentation, you simply need to initiate a release build pipeline from your 'actions'.

Release Build

The release build will:

  1. Deploy the maven artifacts to the GitHub package registry (which is mirrored under maven.axonivy.com)
  2. Tag your repository with the current version
  3. Create a new pull request to increment the version to the next development version, which you should then approve and merge.

It's immensely gratifying to share reusable workflow products with the Axon Ivy community!

Thank you very much for your valuable contribution!