Skip to main content

Licensed apps

Nomasx-1, Nomajde and their Nomaflow jobs are delivered as one Python wheel, liberty_apps-<version>-py3-none-any.whl, and unlocked by a licence key. The framework runs without them; adding them takes one command.


1 — The licence key​

Sign in as a superuser and open Liberty Next → Administer → App → License. Paste the key you were delivered and save: the key is encrypted with the install's master key and the licensed connectors appear at once, without a restart.

Without a key, the apps install but their licensed connectors stay hidden. liberty-license status (in the container: docker exec -u liberty liberty-next liberty-license status) shows what the key covers and when it expires — see Licence key.


2 — Install the apps​

On a Docker install, from release/:

./liberty apps ./liberty_apps-7.0.58-py3-none-any.whl # or an https:// URL

The command:

  1. prints the merge plan — what will be added, refreshed, kept or removed in the configuration (see below);
  2. unpacks the wheel into release/apps/ (config/, plugins/, data/) with the Liberty Next image already on the host — the host needs no Python;
  3. adds the apps folder to the recorded compose files and restarts the stack; the folder is mounted on /apps, and what Settings saves for the apps is written there;
  4. runs the installation jobs in order:
    • deploy-databases — creates the nomasx1 and nomajde roles and databases on the bundled PostgreSQL, then the Nomasx-1 schema;
    • nomasx1-import-reference — loads the reference data (Segregation of Duties baseline, settings, lists);
  5. applies the pending schema migrations.

To install the apps together with the stack: ./liberty install full --apps ./liberty_apps-….whl.

On a Python install, the same steps are three commands — see Python server.

OptionEffect
--dry-runPrints the merge plan and stops: nothing is written.
--force-configAlso refreshes the vendor entities you changed without marking them as yours (see below).

3 — Connect the source system​

The apps read their data from your source system through a pool. Open Liberty Next → Administer → Pools, fill in the pool the apps expect (jdedwards for JD Edwards EnterpriseOne) with a read-only account, test it, then run nomasx1-roles to create the auditor and administrator roles, and the collection — nomasx1-collect-all — from Nomaflow or from Nomasx-1 → Jobs. The jobs and their parameters are on Nomaflow → Bundled jobs.

Nomajde writes to JD Edwards through its AIS server as well: the address, the user and the certificate check come from the environment variables JDE_AIS_URL, JDE_AIS_USER and JDE_AIS_VERIFY_SSL (in .env or secrets.env), or are set directly in Liberty Next → Build → Connectors. A value set in Settings is kept on every upgrade.


Upgrading the apps — your changes are kept​

A new wheel brings new screens, menu items, dictionary entries, queries and dashboards, while you may have changed some of the delivered ones. The installer compares three versions of every entity — what was delivered last time, what is on the server now, what the new wheel brings — and decides entity by entity:

EntityWhat happens
New in the wheelAdded.
Delivered, never changed on the serverRefreshed with the new version.
Changed on the serverKept, and listed at the end for review.
Marked override = true (the Override switch of the entity's General tab)Always kept.
Created on the serverAlways kept.
Withdrawn by the vendorRemoved only if it was never changed.
Pools and every ENC: secretAlways taken from your configuration.
A value set on the server where the wheel ships a variable (${JDE_AIS_USER:-JDE})Always yours — a TLS check switched off in Settings stays off.
theme.tomlAlways yours.

The Nomaflow jobs are merged job by job. The product's part of a delivered job — its steps, description, tags, the parameters it offers — is refreshed; what you set on it is kept: enabled or not, schedule, timezone, presets, alerts, retry, log level, timeout and the values of its parameters. Your own jobs stay. A delivered job whose steps you changed is kept as it is and listed at the end; a job marked override = true in jobs.toml is always kept as saved.

What was delivered is recorded under config/.bundled/, so the next upgrade knows "never changed" from "changed". The entities kept because they were changed locally are listed at the end of the run: mark them override = true to keep them for good, or install again with --force-config to take the vendor version.

The apps upgrade together with the framework with ./liberty upgrade --apps <wheel> — see Upgrade and rollback.


Check the installation​

CheckWhere
Apps version./liberty status → apps bundle
LicenceLiberty Next → Administer → App → License
Apps in the switcherNomasx-1 and Nomajde appear at the top of the sidebar
Installation jobsThe Nomaflow run history: deploy-databases and nomasx1-import-reference succeeded
Schema up to date./liberty status → migrations: up to date

A second Nomasx-1 side by side​

To analyse two source systems separately on one server, the nomasx1-init-db job clones the Nomasx-1 configuration under a new name (for example nomasx1b) with its own database. See Bundled jobs → nomasx1-init-db.


Wheel or packages?​

ChannelCarriesOwned by
The apps wheel (this page)The whole product: every configuration file, the Python code, the reference data.The vendor — one per release.
The Packages screenA selection of screens, menu items or dashboards with what they depend on.You — to move your own changes from test to production. See Packages.

Both use the same per-entity merge, so a wheel upgrade and a package import never overwrite each other's changes.


Common problems​

SymptomFix
The licensed apps are missing from the switcherCheck the licence in Liberty Next → Administer → App → License; ./liberty doctor checks that the apps folder is in the recorded compose files.
After a manual docker compose -f … up -d the install looks emptyThe apps folder was left out. Run ./liberty apps <wheel> again (it changes nothing else) — then keep to ./liberty commands.
deploy-databases fails with permission deniedThe default pool needs a role allowed to create roles and databases. On the full layout it is the bundled liberty superuser.
A new vendor screen did not appearIt was kept because you changed it locally: see the list printed at the end, or install again with --force-config.
The wheel URL cannot be downloadedDownload it first and pass the local file.