Release Date: 2025-05-31

Deltanji 8.1 is a maintenance release that introduces the Git Location Driver, enabling direct integration with Git repositories. The release also contains other small functionality and usability improvements, corrections and bug fixes.

Before upgrading please follow the Pre-Upgrade Steps and review the Post-Upgrade Steps.

Contents

Enhancements


Git Location Driver

Deltanji now supports Git repositories for component storage. It can be used as an alternative to native Deltanji repositories to store multiple versions of components.

In the same way as native Deltanji repositories, a location can map to one or more separate git repositories. This allows, for example, ObjectScript components to be stored in one repository and web-application components to be stored in another.

Multiple locations can be mapped to a single Git repository, allowing views of the repository to represent labels, releases and workflow states.

Component mapping within a location definition allows the sub-directory structure where components are stored to be specified. For example, ObjectScript Classes could be stored in the /src/cls sub-directory of a git repository and ObjectScrip MAC routines stored in the /src/mac sub-directory.

If a git repository has an upstream repository defined then Deltanji can optionally be configured to push all changes to the upstream repository immediately after any changes are made.

The Git Location Driver is a separately licensed component of Deltanji. Email sales@georgejames.com for a quote.


Task server II Additional Signing Methods

Task Server II uses message signing for authentication, this required OpenSSH 8.1p1 or later to be installed on the host server. Some Operating Systems, notably RHEL 8, ship with an earlier version of OpenSSH that does not support the message signing capabilities of ssh-keygen.

This release provides two additional signing methods, rsasha1 and rsasha3. If your Operating System does not have OpenSSH 8.1p1 or later but does have OpenSSL 1.1 or later then select rsasha3 as the signing method. If the version of OpenSSL is earlier than 1.1 then you can use rsasha1 but note that the SHA-1 algorithm is no longer considered to be secure.


DATA Component Driver Proxy Classes

The DATA Component Driver uses a class's XML projection to import and export the content of a data row in a table. A proxy class can now be used if a class does not have an XML projection, and one cannot be added, or if its XML projection is unsuitable.


Work Lists

Items can now be added to and removed from Work Lists incrementally. Append to Work List, Remove from Work List and Clear Work List options have been added to the Edit menu. View Work List has been added to the View menu. These options are also available in the relevant context menus and as keyboard shortcuts.

Edit > Copy to Work List ( Ctrl+C) can be used to create a Work List containing a selection of items. Edit > Append to Work List ( Alt+C) can be used to incrementally append additional selected items to the Work List.

Edit > Remove from Work List ( Ctrl+X) can be used to remove selected items from a Work List.


%ALL System

A new system code %ALL can be added to a Location to indicate that all components are accepted there whatever system they belong to. This avoids the need to have to change all your location definitions when a new system code is introduced.

To use this feature, create the special system code %ALL (if it doesn't already exist), and use that in your location definition instead of a list of all system codes.


New Installation Defaults

When Deltanji is first installed a number of items are pre-defined to make initial configuration and getting started a quicker and smoother experience.

  • A role of ADMIN restricts access to the Setup, Security and Customization folders. All Setup, Security and Customization functions are view-only unless a user has the ADMIN role.
  • A Change Request Type of branch is pre-defined. This can be used as-is or replaced by other types as required.
  • System codes for %ALL, app, irissys and user are pre-defined for all new installations. For new installations on HealthShare platforms hscustom and hssys are also created.
  • Locations named Repository, user, irissys, hssys and hscustom are created. The Repository is created in the DELTANJI namespace, and the other locations map to their corresponding namespaces if they exist.
  • Generic transfer routes that provide sufficient workflow to be able to register components, create branches and commit these branches to the repository. Once a full workflow has been created that matches your organizations procedures you may delete these generic routes if you no longer need them.

Improved File Type Classification

The file type classification method used by the T and BIN component drivers has been improved to allow better granularity and flexibility. File Types with no extension and file types with multiple extensions can now be classified as specific component types. For example a file with an extension of .min.js can now be classified as a BIN-type component without affecting the classification of regular .js files which are T-type components.

An API call is provided to register file types: do registerFileType^%vcapi(componentType,fileType). For example, to register minimized javascript files as BIN-type components do registerFileType^%vcapi("BIN","MIN.JS") This causes any files that have a .min.js extension to be handled by the BIN-type component driver. For files that do not have an extension, such as bash shell scripts, use a file type of period. For example do registerFileType^%vcapi("T",".") would register such files to be handled by the T-type component driver.


Shift+Click Recursively Opens Folders

In the Component View of a Location holding the Shift key down while opening a folder will cause all subfolders to be recursively opened. In addition range selection using Shift+Click will now also span folder trees. These two enhancements make it quicker and easier to select a large number of components when you are performing bulk registration of components, and other operations on many components within a deeply nested tree structure.

Corrections


DNJ-354

Location List names were being truncated in the Deltanji Portal folder panel.

DNJ-375

The Deltanji Portal authentication page was not recognizing Enter as a shortcut for the OK button.

DNJ-376

The some steps in the installation instructions for a Task Server II remote node were in the incorrect order.

DNJ-385

The Component view of Production Configuration Items for remote locations was not correctly enumerating the items at that location.

DNJ-294

The cached copy of the Folder panel was not user specific, so two different user accounts would share the same cached copy of the Folder panel if accessed from the same browser.

DNJ-422

Documentation search was not working if Web-server's php version was 8.3 or later.

DNJ-427

Corrected default From and To location values after double clicking on a Change Request to launch the transfer dialog.

DNJ-428

Corrected error that would occur in the Deltanji Portal if a user selected Collapse Explorer Panel and then immediately disconnected and reconnection to the Portal.

DNJ-432

Remote Node name validation changed to allow period (.) character.

DNJ-433

The Deltanji Web Application cookie path has been changed to / to avoid situations that could lead to IRIS license starvation.

DNJ-445

Correction to allow Production Configuration Items to display correctly when the routine database for a namespace is not the same as the global database.

DNJ-446

The DATA Component Driver has been extended to allow a proxy class to be used for cases where the target class does not have an XML projection or an unsuitable XML projection.

DNJ-450

The DATA Component Driver is now more tolerant of situations where the target class does not exist in a location.

DNJ-454

A bad url in the README.txt file in the legacy documentation folder has been corrected.

DNJ-466

Task Server II could incorrectly report Access Denied errors when multiple concurrent requests were being processed.

DNJ-471

Transfer Routes that deactivate an Object at the source location (-* notation) were rendered incorrectly in GraphML.

DNJ-472

installCoreClasses^%vcins was failing when run on a non-primary member of a mirror-set.

GLJ7032139

Changing the class in a Production Configuration Item resulted in the item not being deployed correctly.

GLJ7032349

Filesets could not be transferred using the Deltanji Portal.

GLJ7032392

The XML Location driver payloads were not being correctly UTF-8 encoded.

GLJ7032627

Correction to the handling of UTF-8 characters in the Production Configuration Item component driver.

GLJ7032665

Correction to an issue with the display of components when a custom component driver is used.

VCM-D-0783

The Report.CompareLocations.xls result has been changed to be parsable as XML.

VCM-D-0787

Improved error messaging for DATA Component Driver.

VCM-D-0789

Prevent install script from attempting to sync remote nodes when it is being run on a remote node.

Pre-Upgrade Steps


1. If the web-server hosting your Deltanji instance has page expiry set to a very long time it may be desirable to change this setting to a much shorter value in advance of installing the new version of Deltanji. Otherwise you will need to ensure that all users clear their browser cache after the new version of Deltanji has been installed.

Post-Upgrade Steps


1. All users will need to clear their browser cache prior to using the new version of Deltanji, unless the web-server expiry is of a sufficiently short time that pages from the old version of Deltanji will not be cached.

2. Consider changing the definition of some locations to use the system code %ALL instead of a list of all system codes. This is particularly relevant for Repository locations in which you are likely to want to store code from all systems.


releasenotes81.xml