Private AppStore Documentation

February 2, 2022

Introduction

The Private App Store solution is composed of two modules that can be deployed on a Jahia DX instance to create a browsable repository of modules.

A Private App Store establish a bridge between developers and running instances of Jahia DX, enabling seamless and secure distribution of new or updated modules, reducing risks, time spent on maintenance an TCO.

Developers can publish their modules directly from the Jahia DX Studio. Users with enough privileges (site administrators, webmasters) can use the App Store to

  • Browse the catalog of modules
  • Download and install a module manually or
  • Install new modules in one click from the Jahia DX GUI
  • Stay informed of new versions and
  • Install updated modules in one click from the Jahia DX GUI

Each module stored can receive a description, be commented, illustrated with screenshots or videos and must be categorized. For each version of a module there can be specific release notes.

1 Requirements

  • Jahia DX 7.1.1.0 or higher
  • dedicated Maven repository

You can find more information on maven repositories here

https://maven.apache.org/guides/introduction/introduction-to-repositories.html

If you don't have any Maven repositories manager yet, we suggest you to have a look at Nexus http://www.sonatype.org/nexus/.

The repository stores the artifacts uploaded on the Private App Store.

The Private App Store will proxify all the access to the maven repository. It means that Jahia DX users will only be aware of the Private App Store, but not of the Maven repository itself.

2 Installation

2.1 Download

 

From your Jahia DX server modules administration page:

  • First search in the "available modules" menu the Jahia Public App Store module.

store-1.png

Once the module is installed, check that it is properly started.

store-2.png

Now search on the administration module the Store Template set and follow the exact same pattern to install it.

2.2 Creation

Once the module and templates are installed on your server, go to the Web project administration to create the App Store site.

Click on the "create" button, then give it a name, a key and a description, then click on "next.

store-3.png

Now, select the Jahia Store Template set and click on "next".

store-5.png

Your App Store website is now installed and ready to be configured.

store-6.png

Go to edit mode of the newly created site and publish it.

3 Configuration

Once your store is installed and published, log as root and click on "forge settings" to configure it

store-7.png

3.1 Repository settings

First things, the repository needs to be set.

store-8.png

  • Url of nexus repository: Complete url of your repository
  • Repository identifier: Identifier for the repository
  • User and password: user on the Nexus repository with write access

Once the data have been given, click on "save". The private App Store will test the connection with the repository.

3.2 Roles

Then the different roles may be set.

store-9.png

  • Administrator: the user is allowed to moderate modules and perform any operation on any modules
  • Developer : the user can add new modules, edit them and add new version to his own modules
  • Reader: if you want to forbid the access to your App Store, you can specify which user can read the store. Note that you will need to specify it in Jahia DX administration to access the store.

3.3 Categories

The store uses a flat list of categories. Categories are a mandatory information for each publiched module. Please, create the category tree before you start using your Private App Store.

First, click on "categories" and then "save" to open the "add category" feature.

store-10a.png

store-10b.png

Once all categories have been entered, you may update the list at any time.

 

Note : Don't delete any category if a module is still taggued with it. First update all modules from this particular category and assign them to another one and then, delete the useless category.

 

Your store is now ready to be used.

 

4 Using and managing a Private App Store

 

4.1 As a developer

4.1.1 Upload a new released module

Developers can upload any Jahia DX released module using the web form. When connected, go to the "my modules" feature.

store-11a.png

The module can be uploaded in two ways :

  • by clicking on the upload button then select the jar file on your disk
  • by simply drag and dropping the jar file on the button

store-11b.png

Once the module has been selected, click on the "upload" button.

store-11c.png

This operation creates a new store entry.

 

4.1.2 Edit module details

First, go back to the "my modules" page. The uploaded module will be displayed here. Click on its title to access its page and update its data.

store-13.png

On this page, click on the pen icon to access the module's data and update it.

store-14.png

Several tabs are displayed. Each gives access to a specific data type that can be updated. Don't forget to upload a logo to the module.

store-15.png

Do not forget to click on the "save" button at the bottom of each page before going to the next tab.

The "metadata" tab is a mandatory visit. The module's category is updated as well as its tags.

store-19.png

You can add information on your module, clicking on the specific tab. We encourage you to populate it as much as possible.

 

4.1.3 Publishing the module

 

When all mandatory fields are set, you can publish your module by clicking on the publish button on the developer panel. By publishing the module the first time, you allow to download the latest version of the module if none is already published.

Capture d’écran 2017-07-11 à 14.24.09.png

Note that until the module itself is published, it will not be available to download even if a version is published.

Once published, you can click on unpublish to remove the module to visitors, completely or a specific version.

4.1.4 Upload a new version

From the version panel of a module you can upload a new version of the module, the module artifact ID and group ID must match, if not, the operation will create a new module.

Once a new version is uploaded, you can make it available by clicking on the publish button

If the version 1.4 is the one currently published, this version will be available for download

Only one version can be published at a time.

 

3.1.2 As a site administrator

 

You can define the settings of the store.

You can do all the same operations as an owner of a module on all modules of the store.

For each module, you have the possibility to flag them as reviewed or supported.

  • Reviewed usually means that the module has been tested successfully
  • Supported means that some kind of guarantee / maintenance is available

If your organization does not use those concepts, just don’t use those fields.

Enabled, this will display icons on modules list

4.2 Jahia DX Studio

The Digital factory studio integrates a release process based on maven to ease the releasing of modules. This allows releasing and deploying on a maven repository and/or on app store. On the first release you have to choose your release process, this can be changed later by clicking on Edit repository information in the same menu.

4.2.1 Select your repository type

4.2.1.1 Releasing on a maven repository

According to your maven settings, you have to define the maven repository ID and its URL before clicking on save.

4.2.1.2 Releasing on a Jahia Private App Store

Selecting Jahia Private App Store let you define the store url that you can find on the homepage of the store you’ve previously installed.

You have to use credentials with developer permissions, then click on save.

If you skip this step, the jar will be released but store locally.

4.2.2 Releasing the module

Once the repository type is chosen, you can release the module, depending of your configuration you will be able to send it to a store or deploy it on a maven repository.

You can select a major or minor release type, then click on release to perform the release

Note: if you have a scm set on your module, the maven plugin used to do the release will tag your module.

4.2.3 Finalize the release

4.2.3.1 Without a Private App Store

After releasing, if you didn't set store information, you will be able to download a copy of the released jar of the module.

4.2.3.2 With a Private App Store

You can edit within the digital factory studio, the store information of the module as if you were on the App Store web site.

Once a module is pushed to a store, you can access to its store page by clicking on Go to the private App Store page