Private AppStore Documentation
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 repositoryRepository identifier
: Identifier for the repositoryUser 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 modulesDeveloper
: the user can add new modules, edit them and add new version to his own modulesReader
: 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 userPublish
: when all mandatory fields are set, publish the module make it available for the store readersDelete
: 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.