Add major version

From DISI
Revision as of 08:51, 18 March 2025 by Kyle (talk | contribs) (How to add in major versions of DOCK to DOCK-license)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Adding new DOCK Versions to DOCK-Admin

  • DOCK-License code is on https://gitlab.docking.org/kylep/dock-admin request access from sysadmin
  • All the dock versions are in /nfs/soft/dock/packages on nfs-soft
  • Add the new DOCK file and then replace the relevant dockx-latest.tgz with the new DOCK release
    • For example, if there is a new minor version of DOCK 6 like DOCK 6.15 (dock.6.15.tgz), copy the .tgz into the /nfs/soft/dock/packages folder. Remove dock6-latest.tgz and then ln dock.6.15.tgz dock6-latest.tgz.

Adding new Major Dock version

  • Major dock versions are listed in dock-admin/lib/constants.ts
  • Add the name of the new DOCK version to MAIN_VERSIONS, the same name to MainVersions, and a mapping of that name to a .tgz file in /nfs/soft/dock/packages in dockVersions.
  • For example, if adding DOCK 7 as a new major version:

Change constants.ts From

// These DOCK versions will be shown on the application screen and highlighted when creating / editing a user
export type MainVersion = 'DOCK 3.7' | 'DOCK 3.8' | 'DOCK 4' | 'DOCK 6';

export const MAIN_VERSIONS: MainVersion[] = [
  'DOCK 3.7',
  'DOCK 3.8',
  'DOCK 4',
  'DOCK 6'
];

const dockVersions: AllowedFiles = {
  'DOCK 3.7': 'dock3.7-latest.tgz',
  'DOCK 3.8': 'dock3.8-latest.tgz',
  'DOCK 4': 'dock4-latest.tgz',
  'DOCK 6': 'dock6-latest.tgz',

  // Old Versions imported from old db
  ...
};

Change constants.ts To

// These DOCK versions will be shown on the application screen and highlighted when creating / editing a user
export type MainVersion = 'DOCK 3.7' | 'DOCK 3.8' | 'DOCK 4' | 'DOCK 6' | 'DOCK 7'; // <- The new major DOCK version

export const MAIN_VERSIONS: MainVersion[] = [
  'DOCK 3.7',
  'DOCK 3.8',
  'DOCK 4',
  'DOCK 6',
  'DOCK 7'  // <- The new major DOCK version
];

const dockVersions: AllowedFiles = {
  'DOCK 3.7': 'dock3.7-latest.tgz',
  'DOCK 3.8': 'dock3.8-latest.tgz',
  'DOCK 4': 'dock4-latest.tgz',
  'DOCK 6': 'dock6-latest.tgz',
  'DOCK 7': 'dock7-latest.tgz', // <- The new major Dock versions latest.tgz in `/nfs/soft/dock/packages`

  // Old Versions imported from old db
  ...
};

Testing Changes

  • git clone https://gitlab.docking.org/kylep/dock-admin
  • cd dock-admin
  • npm install to install all required packages
  • docker compose up -d is required as it will build and create the docker container for the database and initialize a default admin account.
  • While the postgress db is running you can use npm run dev to run the dev server without needing to rebuild the entire container every time. If ran locally it will use the downloads folder in the repo instead of /nfs/soft/dock/packages. If ran with docker it will use /nfs/soft/dock/packages. You can change .env.docker to modify the directory the server looks in for serving downloads.

Committing Changes

  • git add the changed files, make a new commit, and push
  • The CI/CD pipeline will automatically deploy the new changes. Use the admin dashboard to test the new changes!