Private AppStore Documentation

November 11, 2022

Introduction

The Private App Store Package is a jar file containing modules and templates than can be deployed on a Digital Factory instance to create a browsable repository of modules.

A Private App Store establish a bridge between developers and running instances of Digital Factory, 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 Digital Factory 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 Digital Factory GUI
  • Stay informed of new versions and
  • Install updated modules in one click from the Digital Factory GUI

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

1 Requirements

  • Digital Factory 7.001 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 Digital Factory users will only be aware of the Private App Store, but not of the Maven repository itself.

2 Installation

2.1 Download

Get the store package from Jahia Public App Store: http://store.jahia.com/home.html

From your server modules administration page, upload the package.

This will install the Private App Store module and its template-set, then create a new Private App Store web site ready to be configured.

2.2 Configuration

Once your store is installed, log as root to configure it

2.2.1 Repository settings

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

2.2.2 Roles

  • 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 Digital Factory administration to access the store.

2.2.3 Categories

The store uses a flat list of categories.

You need to choose the root of the store categories in your category tree.

You can also add or edit categories

Your store is now ready to be used.

3 Using and managing a Private App Store

3.1.1 As a developer

3.1.1.1 Upload a new released module

Developers can upload any Digital Factory released module using the web form

  • 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

This operation creates a new store entry.

3.1.1.2 Developer panel

With the developer panel, you can see the unfilled fields of the module, and perform actions:

  • View as: allow to view your module page as a guest user
  • Publish : when all mandatory fields are set, publish the module make it available for the store readers
  • Delete: delete your module.

By default, after an upload, only the category is mandatory.

3.1.1.3 Edit module details

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

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

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.

3.1.1.5 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.1.6 Manage module permissions

From this panel, it is possible to control who can see (read) the module, by choosing individual users or groups.

.

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

3.2 Digital Factory 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.

3.2.1 Select your repository type

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

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

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

3.2.3 Finalize the release

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

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

 

4 Digital Factory administration

 

4.1.1 Define stores

A Digital Factory instance can register an unlimited number of stores. The URL of a store, used to establish a direct connection between a Digital Factory instance and the Private App Store, is displayed on the home page of the web version of the Store. Click on the icon to copy this URL.

Go to the Digital Factory Administration > Server Settings > System components > Private App Stores

The main panel displays the stores already declared and a form to register new ones.

You can set multiple store locations, for instance an internal store and several ones from your contractors.

Use the Private App Store reader credentials if they needed to access the store (the administrator of the store should give you that information). Leave those fields empty if the App Store has a public access.

4.1.2 Browse available modules

Once you’ve added one or several Private App Stores, the modules registered in those Stores will be accessible directly in the "Modules" page of the settings panel. You can then download and install those modules in one click, directly from Digital Factory GUI.

The list of modules coming from app stores is refreshed once a day.

Refresh can be forced by clicking on

.

4.1.3 Stay informed

When a new version of an already installed module is available, the download button becomes enabled again so you can install it.