RadixWare Administrator Guide/RadixWare Support

From RadixWiki
Jump to: navigation, search

Revision History

Date RadixWare Version Description of Changes

09.06.2020

1.2.11.32

To the context menu of the Customers branch, added the Generate Report for Log Files command.

Updated section Project Structure

To the context menu of the following navigation tree branches, added the Retrieve List of Modules command:
  • Development branches
  • Branches with the software product releases
  • Release branches (as part of the customer distribution kits)

Updated section Project Structure

Changed the logic of including the archive with the next scheduled version of the RadixWare Manager in the software product distribution kit. As such:
  • To the customer editor, added the RadixWare Manager default include mode parameter.
  • To the dialog box used to prepare a distribution kit, added the Include RadixWare Manager (<RadixWare Manager version>) in distribution kit flag.
  • To the dialog box used to prepare distribution kits for several customers, added the Include RadixWare Manager column to the table with the list of customers.
  • To the dialog box used to create an update package, added the Include RadixWare Manager (<RadixWare Manager version>) flag.

Updated sections:

In the Repository editor (Options tab), eliminated the outdated parameter - Search for the downgrade scripts when creating a distribution kit.

Updated section Additional Repository Settings

03.03.2020

1.2.11.31

Changed the output of releases (Releases branch) in the project navigation tree.

Updated sections:

In the project navigation tree, changed the format of the caption for the directory of the distribution kit created for the customer (branch Сustomers/<Customer>/<Distribution Kits>/<Distribution Kit>).

Updated section Project Structure

To the release editor (General tab), added the Show All Developers Descriptions command.

Updated section Release Editor

09.12.2019

1.2.11.30

Changed the logic of setting the Expired status for releases.

Added section Additional Repository Settings

Updated section Release Status Management

In the dialog boxes used to prepare the distribution kit for one / several customers, changed the logic of filling the Target Release parameter.

Updated sections:

To the customer editor, added the Enable notification for this client flag.

Updated section Customer Description Management

  • To the context menu of the Customers branch, added the Load Update Logs command. Previously, the command was available in the context menu of a certain customer only.
  • For the Load Update Logs command, added a request for deletion of successfully loaded files.

Updated section Project Structure

Supported the facility to send to archive and restore from archive the distribution kits received from the vendor.

Updated sections:

  • To the release editor (Modules tab), added the General Customer Information command that outputs the list of customers and specifies whether the source code of at least one module is supplied to the customer (i.e. whether modules in Src format are supplied to the customer).
  • In the dialog box used to view the list of customers that use the software product modules (opened when executing the Module Supplied command):
  • Added the Format column.
  • To the Delivery Reason column, added the reason From parent (layer or segment).

Updated sections:

To the context menu of the Releases branch, added the Search command.

Added section Searching for Changes in Releases

Updated section Project Structure

To the context menu of the branches containing the software product version (branches of distribution kits, release in distribution kits, test / production branches, and release branches), added the Configure Database Warnings command.

Updated section Project Structure

Changed the logic of preparing the distribution kit for the customer: now, if the release used to prepare the distribution kit does not contain the layer specified in the URI parameter of the customer editor, an empty layer with this URI will be created in the distribution kit.

Updated section Preparing Distribution Kit for Customer

24.07.2019 - The document has been revised.

Updated sections:

27.06.2019

1.2.11.29

Added the logic of creating a distribution kit on basis of the release with Expired status.

Updated section Creating Update Package for Customer

In the console version of RadixWare Manager, added the following arguments:
  • QUESTION_YES_SPECIFIC
  • QUESTION_NO_SPECIFIC

Updated section Commands of RadixWare Manager Console Application

Changed the mechanism of checking the availability of the distribution kits selected by means of the Create update from option when creating an update package.

Updated section Creating Update Package for Customer

To the editor of customer description, on the Modules tab, added the Refresh command.

Updated section Customer Description Manager

To the editor the changes description, added the Gather by ticket flag used to group the tables rows containing the changes description by the number of internal issue.

Updated section Release Editor

Disabled the check of binary compatibility for the distribution kits that do not have the org.radixware layer.

Updated sections:

1.2.11.28 Added the facility to prepare distribution kits on basis of the release with Expired status.

Updated sections:

1.2.11.26

To the editor of the list of customers and their distribution kits (opened by the Customers Distribution Kits command), added the Search by Release Number command.

Updated section Viewing Versions of Customer Distribution Kits

To the editor of the customer description, on the Modules tab, added the following commands:
  • Modules Supplied
  • Search Module

Updated section Customer Description Management

1.2.11.24 To the editor of the list of customers and their distribution kits (opened by the Customers Distribution Kits command), added the Show Customer Last Versions command.

Updated section Viewing Versions of Customer Distribution Kits

1.2.11.23

Supported the facility to filter the list of target releases in the Target release parameter.

Updated sections:

Added the facility to select the distribution kit for each customer when preparing the distribution kits for several customers. As such, to the Create Distribution Kits dialog box, for the Select previous distribution kit parameter, added the Custom available value.

Updated section Preparing Distribution Kits for Several Customers

Conventions and Abbreviations

Conventions

Convention Example Applies to
Italic The column shows the format in which the objects are included in the distribution kit (Bin, Src or Bin, Src). Names of the files, directories, sub-directories, websites; values of the parameters
Bold RadixWare Starter application Terms introduced for the first time; names of the software products; names of the user interface elements, application units, parameters, fields, operations, tags
Bold italic For the notifications description, refer to RadixWare. Software Products Installation and Upgrade Technology. Names of the documents
Underlined After the update package creation, the application will offer to sign the created zip file. Reference to a topic / section / subsection / page within the document
Text after NOTE.jpg NOTE.jpg The list of modules can be changed in the new software product releases. Notes
Text after EXAMPLE.jpg EXAMPLE.jpg Condition: module1 is linked to module2, module2 is linked to module3, module3 is linked to module4; module1 is selected in the list of all modules. Examples


Abbreviations

API Application Programming Interface
OS Operating System
SVN Subversion

Introduction

This document describes the general concept of maintaining software products based on the RadixWare platform and functionality of the RadixWare Manager application in the course of development and customers support.

Related Documents

# Document Name Description
1 RadixWare. Overview.
RW_Overview(E).pdf
The document describes the RadixWare system: purpose, composition, technologies, capabilities and features, structure and architecture.
2 RadixWare. Software Products Installation and Upgrade Technology The document describes the RadixWare Manager application and procedures of installing and updating the software products by means of RadixWare Manager.
3 RadixWare. Key Store Administrator Utility. Administrator Guide The document describes the Key Store Administrator utility.
4 RadixWare. Programmer Guide The document describes the principal concepts, objects and functionality of the RadixWare technological platform and RadixWare Designer application used to develop applications on basis of RadixWare platform.

Overview

Vendor and Customer Interaction Scheme

The process of the software product distribution can involve several parties each fulfilling a particular function.

The vendor develops the software product and provides it to the customer. The customer can operate the software product independently. In addition, the customer can act as a developer, i.e. to develop the software product for their own use or to deliver it to their customers. In the latter case, the developer acts as a vendor towards their customers. Therefore, the participants make a chain where the same company can take on several roles:

Clients.png

The software product supplied by the vendor can contain one or several layers that include a set of modules defined by the contract.

The developer works in one or several development layers. These layers comprise a tree with the base development layer as a root and customer modifications as top layers. The customer modification layers are available not for all customers, and not all customers have their own development layers.

All components and files of the the software product are stored in the SVN repository. SVN enables to organize the processes of the software product development and support for each participant and to manage several product versions.

Example.jpgLet us assume that the participant develops the Radinsk -based software product for the customer. In this case, the tree includes three layers: org.radixware, org.radixware.radinsk and customer modification layer (org.radixware.radinsk.client_1).

If this participant develops another software product based on Radinsk for another customer, the org.radixware, org.radixware.radinsk and org.radixware.radinsk.client_2 (customer modifications layer for the second customer) layers should be located in a separate development branch.

The RadixWare platform provides a tool enabling to manage such stages of the software product life cycle as development, testing, commissioning, distribution, customer support and database structure maintenance. The RadixWare Manager application is used as such a tool.

Database Structure Support

Several databases can be used when maintaining the RadixWare-based software product:

  • Test database
  • Production database

The RadixWare Manager enables to deploy and upgrade the structures of these databases.

Example.jpgThe test DB can be used either to test a certain version of the software product or to start the software product in the development mode. For details on how to start the software product in the development mode, refer to RadixWare. Programmer Guide / Starting RadixWare Server and RadixWare Explorer in Development Mode.

The DB structure is modified by executing scripts. For each participant, the scripts are stored in the scripts directory of the repository. This directory contains the initial installation scripts of all software product versions and transition scripts to switch between the versions for all layers that are not localizing. A set of scripts for the DB structure is the same for all customers.

Transition scripts are created in the course of the software product development and stored in the dev directory of the repository. When creating a release, the transition scripts are moved from the development branch to the scripts directory, the creation scripts for each release are created automatically.

For the DB structure to be in compliance with a certain release, the developer creates script packages. Executing these scripts switches the DB structure from the current release to the required one. It should be taken into account that before executing the script of the upper layer, the structure of the lower layers should be changed accordingly. When the release is issued, the following script packages are generated in the common directory used for scripts for each development layer:

  • pre-upgrade (the scripts are executed before the upgrade from the previous release)
  • scripts to switch from the previous release to the new one
  • post-upgrade (the scripts are executed after the upgrade to the new release)
  • scripts for initial release installation ("from scratch")

The created update package includes the set of script packages to switch between the software product versions and script package for the initial installation for all software product layers being supplied.

When the customer receives the update package, the scripts are placed to the scripts directory of the repository when downloading the distribution kit using the RadixWare Manager application. When installing / updating the software product, the DB structure is brought in compliance with a certain release. The result of the script execution is automatically written to the service table for the processed scripts (RDX_Dds UpgradeLog).

Moreover, the DB structure is modified on the customer side when receiving the fix packages from the vendor and when releasing the version of the software product in case of in-house development.

Script execution errors occurred when installing / updating the software product are fixed by the vendor. For this purpose, the customer submits to the vendor the script execution log file with the error description. On the basis of this file, the vendor creates a fix package containing the corrected script and script of the fix to be supplied to the customer. The customer receives the fix package and performs the software product installation / update again.

The scripts that change the DBstructure can either support or not support the "hot update" (changing the DB structure when the RadixWare Server is running). If at least one of the scripts does not support the "hot update", a warning to restart the RadixWare Server will be displayed.

Main Stages of Product Lifecycle for Customer

  • Interaction with Vendor
  1. Receiving the software product distribution kit (initial installation package or update package) from the previous participant - vendor of the platform.
  2. Loading the distribution kit to the repository.
  • Testing
  1. Putting the software product into testing to check its operability.
  2. Installing the software product to the test DB (when installing the software product for the first time) or updating the test DB (when receiving the update package for the software product).
  3. Testing the software product. If errors occur in the course of testing, the software product release status is set to Invalid.
  • Operation
  1. Putting the tested software product into operation.
  2. Installing the software product to the production DB (when installing the product for the first time) or updating the production DB (when receiving the update package for the software product).

For details on each stage and their execution sequence, refer to RadixWare. Software Products Installation and Upgrade Technology.

Main Stages of Product Lifecycle for Developer

  • Interaction between Developer and Vendor
  1. Receiving the software product distribution kit from the vendor. Further actions are executed within the developer company.
  2. Loading the distribution kit to the repository.
  1. Putting the software product distribution kit into development to perform integration and modification.
  2. Installing the software product to the DB or updating the DB that will be used to start the software product in the course of development.
  3. Development. The development is performed within one of the development branches, in one or several development layers.
  4. Issuing the software product release after the development stage is completed and preliminary testing is performed.
  • Testing
  1. Putting the software product release into testing.
  2. Installing the software product to the test DB or updating the test DB (if necessary).
  3. Testing the software product. If errors occur in the course of testing, the status of the software product release is set to Invalid and the release is returned for modification.
  • Operation. This stage is applicable for the developer who operates the product themselves.
  1. Putting the tested software product into operation.
  2. Installing the software product to the production DB or updating the production DB (if necessary).
  • Distribution. This stage is included into the software product lifecycle if the vendor plans to deliver the software product to one or several own customers.
  1. Preparing the distribution kit for the customer (or for several customers). The distribution kit includes only those modules intended for this particular customer. Additionally, the distribution kit can contain the source codes of the component (or all components) from these modules.
  2. Creating an initial installation package or update package to be delivered to the customer on the basis of the prepared distribution kit (for details, refer to Creating Update Package for Customer).
  3. Delivering the distribution kit to the customer.

For details on testing and operation stages, refer to RadixWare. Software Products Installation and Upgrade Technology.

Project Structure

A project has a tree-like structure composed of the following elements: branches, directories, files, editors. The project tree contains the following branches:

Tree Branch Icon Description
<Project Title> User interface 4.jpg Main project branch
Config User interface 12.jpg Settings branch. The branch contains the repository general settings.
Distribution kits User interface 7.jpg Distribution kits branch. The branch contains the software product distribution kits received from the vendor.
Scripts User interface 9.jpg Scripts branch. The branch contains the scripts for:
  • primary installation of all software product layers
  • installation of software product versions for all layers
Development User interface 6.jpg Development branch. The branch contains the software product files distributed by development subbranches. The branch is used by the vendor.
Releases User interface 8.jpg Releases branch. The branch contains the software product releases. The branch is used by the vendor.
Customers User interface 5.jpg Customers branch. The branch contains subdirectories with the software product distribution kits for each customer. The branch is used by the vendor.
Environments Ico env.jpg Environments branch. The branch contains subdirectories with the software product environments set up in the project. An environment can belong to one or several landscapes and can be used for the software product development, testing or operation.
Landscapes Ico land .jpg Landscapes branch. The branch contains subdirectories with the software product landscapes.
Branches Ico branches .jpg Software product files branch. The branch contains the following child branches:
  • Test (marked with the icon User interface 10 .jpg). The branches contain the test files of the software product and are used to test the software product.
  • Production (marked with the icon User interface 11 .jpg). The branches contain the working files of the software product and are used for the software product operation.
Archive User interface 3.jpg Archive branch. The branch contains the customer descriptions, software product releases and distribution kits, scripts of the outdated software product versions.
Note.jpgThe section describes the structure of project branches that are present in the tree only if the customer makes own developments (these branches are also used by the vendor):
  • Development
  • Releases
  • Customers

For the detailed description of other branches, refer to RadixWare. Software Products Installation and Upgrade Technology.

The description of each project branch and the list of available specific commands for each navigation tree item are provided below.

Note.jpgThe commands marked with "*" (asterisk) are described in the document RadixWare. Software Products Installation and Upgrade Technology.

Distribution Kits Branch

The following table describes the specific commands of the context menu available in the Distribution Kits branch and its directories if the project is set up for development:

Name Specific Commands of Context Menu
Distribution Kits

Absent

<Product>

Absent

<Distribution Kit>
  • *Install to Database. Installs the software product to DB from the current distribution kit.
  • *Update in Database. Updates the database to the current distribution kit.
  • Send to Development. Sends the distribution kit to development. For details, refer to Development Start.
Scripts

The following commands are available for the branches of the software product layers:

  • Create Empty Upgrade Package
  • Save Scripts to File
Release

Absent

Properties

Absent

Scripts Branch

The following table describes the specific commands of the context menu available in the Scripts branch and its directories if the project is set up for development:

Name Specific Commands of Context Menu
Scripts

Absent

<Layer>
  • Save Scripts To File. Saves to SQL file the scripts of upgrading from the previous software product version to a new one. The command is executed for the current layer. Executing the command opens the dialog box to specify the source and target release versions in the Source Release and Target Release parameters respectively.
  • Create Empty Upgrade Package. Creates an empty package with the scripts of upgrading from the previous software product version to a new one. Executing the command opens the dialog box to specify the source and target release versions in the Source Release and Target Release parameters respectively.
<Ri - Rj> - scripts package
  • Create New Script. Creates a script in the current package.
  • Delete. Deletes the script package.
  • Create Downgrade Scripts
<script>.sql

Delete. Deletes the script from the package.

Note.jpgFor details on the specific commands of the scripts branch, refer to Script Packages.


Development Branch

Dev-branch.jpg

Example of directories structure in the Development branch

The branch has the following structure:

Development/
<Branch>/
<Layer>

The following table describes the directories, files and context menu commands of the Development branch:

Name Description Specific Commands of Context Menu
Development Development branch

Absent

<Branch*> Software product development subbranch (main, offshoot or additional).

*<Branch> - branch name.

  • Fork. Creates an additional development branch.
  • *Retrieve List of Modules
  • *Export XSD Schemas
  • *Export HTML Documentation
  • *Check User-Defined Functions
  • *Analyse System Changes
  • *Layers Information
  • *Check Database
  • *Configure Database Warnings
  • Delete. Deletes the development branch. The command is not available for the trunk branch.
<Layer*> Directory containing the scripts for a certain software product layer (<Layer>).

*<Layer> - name of the software product layer.

Absent

Releases Branch

Release branch .jpg

Example of directories structure in the Releases branch

The branch has the following structure:

Releases/
<Release Group>/
<Release>/
<Layer>


The following table describes the directories, files and context menu commands of the Releases branch:

Name Description Specific Commands of Context Menu
Releases Releases branch

Version Status Information. Shows the information on the software product release statuses.

<Release Group*> Group of releases

*<Release Group> - number of the group of releases in the format <Number of software product version>.x, where <Number of software product version> includes the first several groups of digits of the release number. The number of groups of digits used to group releases in the navigation tree is defined in the Release group size parameter.

None
<Release*> Directory containing the software product release.

*<Release> - identification number of the software product release

  • *Build | Testing Branch '<BranchName>'
  • *Build | Production Branch '<BranchName>'
  • *Configure
  • *Install to Database. Installs the software product to DB for the current release version.
  • *Update in Database. Updates the database to the current release version.
  • Create Offshoot. Creates an offshoot development branch based on the current release.
  • Used by Customers
  • Send to Archive. Sends the release to archive.
  • *Retrieve List of Modules
  • *Export XSD Schemas
  • *Export HTML Documentation
  • Check User-Defined Functions
  • *Analyse System Changes
  • *Generate User Creation Script
  • *Generate Product Installation Script
  • *Layers Information
  • *Check Database
  • *Configure Database Warnings
  • Delete. Deletes the release directory.
<Layer> Directory containing the software product files distributed among the software product layers (<Layer>).

*<Layer> - name of the software product layer

*Show License

Customers Branch

Customers branch .jpg

Example of directories structure in the Customers branch

The branch has the following structure:

Customers/
<Customer>/
Databases
<Distribution Kits>
<Distribution Kit>/
Logs
Notification
Properties

The following table describes the directories, files and context menu commands of the Customers branch:

Name Description Specific Commands of Context Menu
Customers Customers branch
  • Create New Customer. Adds the customer description.
  • Create Distribution Kits. Prepares distribution kits for several customers.
  • Load Update Logs. Loads the update logs received from the customers. In the command execution dialog box, select the files to load. When executing the command, the files are automatically distributed among the customer directories (the customer is identified by file name). After the loading procedure is completed, the user is offered to delete the files (all or only those that have been loaded successfully).
  • Generate Report for Log Files. Generates a report based on the customer update logs loaded using the Load Update Logs command. The report is a table containing the following information for each customer:
  • OS on which the RadixWare Manager was started when updating the software product (including the OS version).
  • DB (type and version) that was updated.
<Customer*> Customer directory.

*<Customer> - customer name and status.

  • Configure. Opens the customer description editor.
  • Send to Archive. Sends the customer to archive.
  • Load Update Logs. Loads the update log received from the customer. In the command execution dialog box, select the files to load. After the loading procedure is completed, the user is offered to delete the files (all or only those that have been loaded successfully).
  • Delete. Deletes the customer.
Databases Editor of the database access parameters.

The editor is identical to the editor of the database access parameters in the project settings. For details, refer to RadixWare. Software Products Installation and Upgrade Technology / Setting up Database Access Parameters.

Configure. Opens the editor of the database access parameters.
<Distribution Kits> Directory containing the software product distribution kits prepared for the customer. The distribution kits are sorted by package number in descending order. Create New Distribution Kit. Prepares the distribution kit for the customer.
<Distribution Kit*> Distribution kit directory.

*<Distribution Kit> - software product distribution kit number in the format <N> - <D> (P), manager:<RWM>, where

  • N - sequence number of the package
  • D - number of the distribution kit consisting of the release number (f.f.f.f) and distribution kit version (V) (optionally)
  • P - number of the previous distribution kit used to create the current one, or install value if the current distribution kit is an installation one
  • RWM - version of the RadixWare Manager included in the distribution kit when it was being created.
  • Configure. Opens the editor of the distribution kit properties.
  • Create Update Package. Creates an update package for the customer.
  • *Install to Database. Installs the software product to DB for the customer distribution kit.
  • *Update in Database. Updates the database to the version of the customer distribution kit.
  • *Check User-Defined Functions
  • *Analyse System Changes
  • *Generate User Creation Script
  • *Generate Product Installation Script
  • *Layers Information
  • *Check Database
  • *Configure Database Warnings
  • Delete. Deletes the distribution kit.
Logs Update log files received from the customer. Load Update Logs. Loads the update log received from the customer.
Notification Editor of the notification service for the current customer.

The editor is identical to the notification service editor in the project settings. For details, refer to RadixWare. Software Products Installation and Upgrade Technology / Setting up Notification Service Parameters.

Configure. Opens the notification service editor for the current customer.
Properties Depending on the location contains one of the following editors: Configure

Archive Branch

Archive branch .jpg

Example of directories structure in the Archive branch

The branch has the following structure:

Archive/
Customers/
<Customer>
Distributions Kits/
<Distribution Kit>
Releases/
<Release>
Scripts/
<Layer>

The following table describes the directories, files and context menu commands of the Archive branch:

Name Description Specific Commands of Context Menu
Archive Archive branch Absent
Customers Directory containing the list of customers moved to archive

Customers Distribution Kits. Shows the versions of the customer distribution kits.

<Customer*> Directory of the archived customer.

*<Customer> - customer name

  • Restore from Archive. Restores the customer from archive.
  • Delete. Deletes the customer.
Customer Distribution Kits List of customer distribution kits moved to archive Absent
<Customer Distribution Kit*> Directory of the customer distribution kit.

*<Customer Distribution Kit> - software product distribution kit number in the format <N - D>, where
N - sequence number of the package
D - number of the distribution kit consisting of the release number (f.f.f.f) and distribution kit version (V) (optionally)

  • Configure
  • Create Update Package. Creates an update package for the customer.
  • *Export Starter
  • *Export Web-App
  • *Check User-Defined Functions
  • *Analyse System Changes
  • *Generate User Creation Script
  • *Generate Product Installation Script
  • *Layers Information
  • Delete. Deletes the distribution kit.
Distribution Kits List of distribution kits received from the vendor and moved to archive Absent
<Distribution Kit*> Directory of the distribution kit.

*<Distribution Kit> - software product distribution kit number in the format <N - D>, where
N - sequence number of the package
D - number of the distribution kit consisting of the release number (f.f.f.f) and distribution kit version (V) (optionally)

  • Configure
  • *Build | Testing Branch '<BranchName>'
  • *Build | Production Branch '<BranchName>'
  • Restore from Archive
  • *Export Starter
  • *Export Web-App
  • *Check User-Defined Functions
  • *Analyse System Changes
  • *Generate User Creation Script
  • *Generate Product Installation Script
  • *Layers Information
  • Delete. Deletes the distribution kit.
Releases Branch of releases moved to archive. 'Version Status Information'. Shows the information on the software product release statuses.
<Release*> Directory of the software product release.

*<Release> - identification number of the software product release

  • *Configure.
  • Restore from Archive. Restores the release from archive.
  • *Retrieve List of Modules
  • *Export XSD Schemas.
  • *Export HTML Documentation
  • *Analyse API Compatibility
  • *Analyse System Changes
  • *Generate User Creation Script
  • *Generate Product Installation Script
  • *Layers Information
  • Delete. Deletes the release directory.
Scripts Branch of scripts moved to the archive. Absent

Development Procedure

The software product is developed using both RadixWare Designer and RadixWare Manager.

The development can be performed in one of the development branches:

  • Main development branch — trunk.
  • Additional development branches; they are used to develop the software product versions that include the layers of the customer modifications.
  • Offshoot branches; they are used to make changes to the issued software product release.

Generally, the development procedure is as follows:

  1. Create a development branch using the RadixWare Manager (refer to Additional Development Branches, Offshoot Branches).
  2. Retrieve the working copy of the newly created development branch using the RadixWare Manager (refer to Retrieving Working Copy).
  3. In the created directory, start the RadixWare Designer and use it to make the required changes to the application logic and / or database structure.
  4. Install the software product to the DB / update the DB.
  5. In the RadixWare Designer, perform the Make Release procedure. All layers from the development directory will be included in the release being issued.
  6. Use the RadixWare Manager to transfer the changes to other branches or create a distribution kit for the customer (refer to Preparing Distribution Kit for Customer).


Retrieving Working Copy

To start the RadixWare Designer and work in one of the development branches, it is necessary to retrieve the working copy of this branch. For this purpose, select the Checkout item from the context menu of the respective development branch in the project tree and specify the directory to download the working copy to.

To retrieve the latest branch revision from the repository, select the Team | Update menu item in the RadixWare Designer.

Starting Development

To start the software product development using one of the available distribution kits (available in the branch Distribution Kits | <Product> branch of the project tree) received from the vendor, perform the following actions:

1. Use the RadixWare Manager tools to configure the repository for the in-house development. For this purpose, open the Config | Repository branch, and in the Base development URI parameter, specify URI of the base development layer.

As a result, the branches prepared for development will appear in the project tree (Development branch containing the main development branch - trunk).

2. In the context menu of the distribution kit received from the vendor, select Send to Development:

Send to dev.png

The Send Distribution Kit to Development dialog box contains the following parameters:

  • Select All Layers (SelectAllLayers.jpg button)/Unselect All Layers (UnselectAllLayers.jpg button) commands are used to select/unselect all distribution kit layers to be sent to development.
  • Check Binary Compatibility (CheckBinaryCompatibility.jpg button) command is used to check the binary compatibility of the layers in the development branch and layers being sent to development from the distribution kit.
  • Source Distribution Kit. The number of the distribution kit being sent to development.
  • The left panel of the dialog box contains the list of distribution kit layers being sent to development. The list is presented as a table with the following parameters for each element:
    • Layer. The name of the layer and software product release version that includes the latest update for this layer.
    • Send. If the flag is set, the current layer will be sent to development. By default, the flag is set for each layer.
  • Target Branch. The existing development branch where the distribution kit content will be sent to (by default, the trunk branch is selected).
Example.jpgIf no development branches are present in the repository (for example, the trunk branch has been deleted using the SVN client), when executing the Send to Development command, the trunk directory will be created automatically.
  • The right panel of the dialog box contains the list of layers (with indication of the layer name and software product release version that includes the latest update for this layer) present in the selected development branch.

After the command is executed, the specified product layers received from the vendor are copied from the distribution kit to the selected branch.

3. In the context menu of the Development | Trunk branch, select the Checkout item.

4. In the received directory, start the RadixWare Designer and create a development layer. For this layer, specify the URI defined at step 1 and make the required changes.

Further, when a new distribution kit is received from the vendor, perform the following actions:

1. Send the distribution kit to the development branch (refer to the description of the Send to Development command). When executing the command, the software product layers (with the latest updates) received from the vendor are copied to the selected branch. This does not affect the development layers. As a result, this branch contains the created software product version that comprises both the updated layers received from the vendor and custom developments.

2. Select Team | Update in the RadixWare Designer and perform the development.

Example.jpgThe distribution kit received from the vendor includes the org.radixware and org.radixware.radinsk layers. Let us assume that the customer would like to perform the in-house development in the org.radixware.radinsk.money layer that is based on org.radixware.radinsk. In this case, the development process will include the following steps:
  1. Receive the distribution kit from the vendor.
  2. In the Base development URI parameter available in the repository editor (Config | Repository branch), specify the URI of the base development layer: org.radixware.radinsk.money.
  3. In the context menu of the distribution kit, select Send to Development and specify trunk as the target branch. In the Development | trunk branch, the following two layers will appear: org.radixware and org.radixware.radinsk.
  4. In the context menu of the Development | trunk branch, select the Checkout item.
  5. In the received directory, start the RadixWare Designer and create org.radixware.radinsk.money layer to be changed. This layer is created in the Development | trunk branch.
  6. On receiving a notification from the vendor on the issue of the new distribution kit, receive this distribution kit from the vendor.
  7. Execute the Send to Development command. All three layers will remain in the Development | trunk branch.
  8. In the RadixWare Designer, select Team | Update and continue the development.

If the set of layers in the distribution kit received from the vendor does not match the set of layers of the distribution kit that is currently installed, it is necessary to edit the set of layers of the current software product directory prior to installing the new distribution kit. For this purpose, execute the Configure Distribution Kit Layers command in the context menu of the software product directory (Distribution Kits | <Product> branch). For details, refer to RadixWare. Software Products Installation and Upgrade Technology / Editing Layers.


Additional Development Branches

To create an additional development branch, select the Fork item from the context menu of the existing branch in the project tree and specify the name of the branch to be created. As a result, a copy of the selected branch will be created (similar to the svn copy command).

Offshoot Development Branches

An offshoot branch is created if significant changes need to be made to the release. To develop such branch, select Create Offshoot in the context menu of the release in the project tree. The release will be copied to the new branch available in the Development branch of the project.

Creating Release for Offshoot Branch

After making the required changes to the created development branch, create a release in the RadixWare Designer (refer to RadixWare. Programmer Guide). As a result, the created release will appear in the Releases branch of the RadixWare Manager project tree.

Creating Update Package for Offshoot Branch

To deliver the release to the customer, create an update package (refer to Creating Update Package for Customer). The update package will contain only added and modified files in comparison with the release.

Installing Software Product to DB/Updating DB for Development

In the course of the development, it may be required to start the software product in the development mode in order to check the results or test the modifications.

To start the software product in the development mode, a DB connection is required. Thus, preliminarily install the software product to the DB or update the DB if the DB with the installed software product already exists. Execute the Install to Database or Update in Database command available in the context menu of the distribution kit last sent to development (for details on how to install the software product to the DB and update the DB, refer to RadixWare. Software Products Installation and Upgrade Technology).

For details on how to start the software product in the development mode, refer to RadixWare. Programmer Guide / Starting RadixWare Server and RadixWare Explorer in Development Mode

Release Status Management

Each software product release is characterized by status. The following release statuses are available:

  • New. A new release created using the RadixWare Designer.
  • Test. The release is being tested.
  • Urgent. The release should be delivered to the customer as soon as possible before the testing is complete.
  • Production. The release is ready for production.
  • Invalid. Errors are found in the release, and the release cannot be used anymore.
  • Expired. The release is out of support; the release cannot be used anymore.

To change the release status, use the release editor. For details, refer to Release Editor.

The initial release status is New (this status is assigned to the release automatically when it is created). The Test status indicates that the release is being tested. Once tested, the release is assigned the Production status - the release can be put into operation and delivered to customers. If errors occur during the testing, the release status is set to Invalid.

If the release contains the hotfixes to be urgently delivered to the customer, the release status is changed from New or Test to Urgent. The releases with this status can be delivered to the customer before the testing is complete and description of changes is prepared.

If errors occur when the release is put into production (Production status), the release status is set to Invalid. After that, it is prohibited to put this release into operation and deliver it to the customers.

The status can be changed to Expired when the release is no longer supported. This status cannot be set in the release editor: it is assigned to the release in accordance with the value of the Releases expired from parameter. Releases with the Expired status are highlighted in gray in the navigation tree.

When the release status is changed, all parties concerned receive notifications via email. When putting the release into operation or testing, the notification is also sent. For details on the notification settings, refer to RadixWare. Software Products Installation and Upgrade Technology / Setting up Notification Service Parameters.

Viewing Release Statuses

Statuses of all releases can be viewed in the Releases branch. The branch editor (that is opened by double-clicking it or using the Versions Status Information command in the context menu of the branch) shows the table containing the following columns:

  • No. The release sequence number.
  • Release. The release version.
  • Status. The release status (value of the Status parameter in the release editor, refer to Release Editor).

Searching for Changes in Releases

The RadixWare Manager enables to output the list of releases containing certain changes. The changes are searched for by description (the description of changes made to a certain release are available in the description editors of the release). To start the search, execute the Search command available in the context menu of the Releases branch.
The search dialog box contains:

Search in releases.jpg

  • Filter parameter used to define which part of the description will be used for the search. Available values:
  • Issue. The specified text will be searched for only in the fields containing the internal number of the issue (Issue field in the description editor). The search results will include the issues whose numbers completely match the specified number.
Example.jpgThe release description contains a record with the following description:

[#] (RADIX-7777) EAS. Fixed the memory leak.
In this instance, if Filter = Issue and the value entered in the search field is:

  • RADIX-7777 or 7777, the record will be included in the search results.
  • 777, the record will not be included in the search results.
  • Text. The specified text will be searched for in the fields containing the description of the change (Description field in the description editor).
  • Field to enter the text to search for.
  • Search in archive flag. If the flag is set, the releases present in the archive will be included in the search. The flag is set, by default.

The Output dialog box provides the search results including:

  • Number of the release in which the change (with the specified search parameters) is found.
  • Record containing the full description of the change found in the release.

Release Editor

To open the release editor, double-click on the release branch in the project tree. The release editor looks as follows:

Release editor .jpg

The release editor contains the following tabs:

"General" Tab

  • Release number. The release number. The parameter is not editable.
  • Status. The release status.
  • Source branch. The name of the development branch used to create the release. The parameter is not editable.
  • Repository revision. The number of the SVN repository revision used to create the release.
  • Previous release. The previous release number.
  • Description of layers area containing the following commands:
    • Generate Developers Descriptions - creates a draft of the release description using the comments on the SVN revisions.
    • Show All Developers Descriptions - enables to view all comments on the SVN revisions of the current release, including comments of the Refactoring and Incomplete types. These types of comments are used in the course of the software product development and are internal (not included in the draft of the release description generated by the Generate Developers Descriptions command). The list of comments is output in the dialog box similar to the description editor.
  • Notification area containing the Send Notification 'Release Created' command. This command sends email notifications on the release issue to the parties concerned. The button is not available if notifications are not set up for the project. For details on the notification settings, refer to Software Products Installation and Upgrade Technology.

The release description editor contains the editors of the description of changes grouped by layers. The first group contains the editors for the layers to be delivered to the customers. The By Developers field is displayed for each layer, and one field - for each language supported by the layer. To open the field editor, click on the field or click Edit-small.jpg next to it. The By Developers field contains the description of changes made to the release provided by developers. This field is filled automatically when clicking the Generate Developers Descriptions button. In other fields, the description of changes is entered in the respective languages. Copy-small.jpg and Paste-small.jpg buttons next to the fields enable to copy the field content to clipboard and paste it from clipboard into the field.
When saving the changes in the release editor, the system checks whether the changes made by other users are present. If any changes are found, the user is suggested to save own changes (and overwrite the changes made by other users) or cancel saving the changes:

Release changed another user .jpg


"Modules" Tab

The tab contains the list of layers and modules that are included in the release. When selecting the module from the list in the Dependencies area, the list of dependencies of this module is displayed on the This Module is Used by and This Module Uses tabs. The tab appearance is identical to the Modules tab in the customer description editor, except for the following:

  • In the release editor it is not possible to define which modules will be included in the customer distribution kits - this can be done in the settings of a certain customer.
  • Some commands are not available for the list of modules, but the General Customer Information command (RWM General CustInfo.jpg) is available. Executing this command opens the information dialog box containing the list of customers registered in the project. For each customer the At Least One Module with Source Code Supplied column specifies whether the source code of at least one module is supplied to the customer (i.e. whether the modules in the Scr format are supplied).

Description Editor

The description editor looks as follows:

Changes editor 2.jpg

The description editor contains a toolbar and a table with the descriptions of the changes. The table contains the following columns:

  • Type. The type of the change. Available values:
    • Not defined
    • Major improvement
    • Minor improvement
    • Change
    • Deletion
    • Bug fix
    • Internal improvement
    • Internal bug fix
  • Issue. The information on the internal issue.
  • Component. The software product component that has been changed.
  • Description. The description of the change.

The records in the table are sorted in the editor by change type. To edit the description in a modal editor, use Edit.jpg button.

The table below describes the toolbar buttons of the description editor:

Button Name Function
Plus.jpg Add Record Adds a row to the table
Delete.jpg Remove Selected Records Deletes the selected rows from the table
Delete-all.jpg Remove All Records Deletes all rows from the table
Arrow-up.jpg Move Up Selected Records Moves the selected rows up.
Arrow-down.jpg Move Down Selected Records Moves the selected rows down.
RWM release search.jpg Search Searches for the specified text fragment in the descriptions of changes
RWM release check.jpg Check Checks whether the records with the duplicated internal numbers (Issue column) exist
Sort.jpg Sort by Type Contains the context menu:
  • Simple Sorting. Sorts the table rows by change type.
  • Group by Ticket. Sorts the table rows by change type and groups the rows by number of the internal issue (value of the Issue column).
But save.jpg Save ALL Changes to Editor Saves all changes made in the release editor
Export to XML.jpg Export to XML Exports the descriptions to the XML file
Import from XML.jpg Import from XML Imports the descriptions from the XML file
Export to TXT.jpg Export to TXT Exports the descriptions to the TXT file
Import from TXT.jpg Import from TXT Imports the descriptions to the TXT file.

A separator is used for the columns in the file being imported. The rows in the file should comply with the following format: [Type] (Issue) Component. Description, where Type is defined according to the following conventions:

  • [] - Not defined
  • [++] - Major improvement
  • [+] - Minor improvement
  • [*] - Change
  • [-] - Deletion
  • [#] - Bug fix
  • [ii] - Internal improvement
  • [ib] - Internal bug fix

Script Packages

Script package is a set of SQL scripts enabling to update the database structure when updating to a new software product release. The script package is described by the initial and target releases.

Note.jpgDuring the standard software product update and support procedures, the database scripts are generated automatically by the RadixWare Designer, and they do not need to be modified or created manually. However, in some exception cases it may be necessary.

To create a script package, select Create New Scripts Package from the context menu of the Scripts branch. The versions of the initial and target releases will be requested. It is possible to specify "x" as a release version. Such script packages can be used when updating from (or to) any release.

To create a script, select Create New Script from the context menu of the branch with the script package.

To remove the script from the package, select Delete from the context menu in the project tree. This action needs to be confirmed.

Each script package can have description of the changes made as a result of the script execution. To edit this description, select Edit Change Description from the context menu.

Archive

To facilitate the project management in case of a large number of releases, the RadixWare Manager provides the release archive. Distribution kits received from the vendor, releases, customers, customer distribution kits and scripts of outdated versions can be stored in the archive. When archiving the objects, they are transferred to the Archive branch.

When archiving the distribution kit received from the vendor, all previous (older) distribution kits are archived as well. When restoring the distribution kit from archive, all subsequent (newer) distribution kits present in the archive are also restored.

When archiving the release, all previous (older) releases and all customer distribution kits related to these releases are also archived. Additionally, the scripts for upgrading to/ from any release being archived will be archived.

When restoring the release from archive, the subsequent (newer) releases present in the archive and customer distribution kits related to these releases are also restored. The upgrade scripts are restored as well.

When archiving the customer, all customer distribution kits are archived as well. To send the release/customer to archive, select the Send to Archive item in the context menu of the release/customer in the project tree:

  • If the release is archived, the dialog box showing all releases, distribution kits and scripts to be archived will be opened. To confirm the operation, click the Send to Archive button.
  • If the customer is archived, the dialog box will be opened to enter the reason for sending the customer to archive. The dialog box looks as follows:

Send to Archive comment.png

To restore the release/customer from archive, select the Restore from Archive item in the context menu of the release/customer in the Archive branch:

  • If the release is restored from archive, the dialog box showing all releases, distribution kits and scripts to be restored will be opened. To confirm the operation, click the Restore from Archive button.
  • If the customer is restored from archive, the dialog box will be opened to enter the reason for restoring the customer from archive.

Additional Repository Settings

To view / edit the repository parameters, use the Repository editor available in the Config branch of the project. The Options tab in this editor contains the following parameters used by the vendor:

  • Releases expired from. The release version starting from which (inclusive) all previous releases (older ones) will be assigned the Expired status. The value is selected from the drop-down list. If the format of the selected value is <Software product version number>.x, where <Software product version number> - first three groups of digits of the release number, all future releases of this version will be assigned the Expired status.
  • Release group size. The number of groups of digits in the release number used to group releases in directories to be output in the navigation tree.

Customer Support Procedures

The customer support using the RadixWare Manager includes the following steps:

  1. Create a customer description (refer to Customer Description Management).
  2. For the created customer, prepare a distribution kit based on one of the issued releases (refer to Preparing Distribution Kit for Customer). It is possible to prepare the software distribution kit for several customers simultaneously (refer to Preparing Distribution Kits for Several Customers).
  3. Create an update package for the distribution kit (refer to Creating Update Package for Customer).
Note.jpgThe actions described above (steps 2 and 3) can be performed in the GUI version of the RadixWare Manager or in its console version (for details, refer to Commands of RadixWare Manager Console Application).

Once the software product is installed on the customer side (in a test mode or in production environment), it may be necessary to retrieve the update log from the customer.

Customer Description Management

To manage customer descriptions, use the Customers branch in the project tree.

To add a customer description, select the Create New Customer item from the context menu of the Customers branch (see below).

To edit the customer settings, use the Properties branch of the customer branch in the project tree.

The сustomer description editor contains the General and Modules tabs.

"General" Tab

  • Title. The customer name. The parameter is mandatory.
  • Customer URI. The unique customer identifier. It is editable only when creating a customer description.
  • Distribution kit URI. URI of the topmost layer of the software product delivered to the customer.
  • Languages. The list of languages into which the descriptions of changes in distribution kits delivered to the customer will be translated. When building the distribution kit without descriptions of changes translated into all languages specified in this parameter, a warning will be displayed.
  • Status. The customer status. Available values: Test, Prod.
  • Distribution kit on test. The distribution kit being tested by the customer.
  • Distribution kit on production. The distribution kit being used by this customer in production.
  • Include ALL issues in upgrade description. If the flag is set, the descriptions of the update packages delivered to the customer will contain the changes from all projects. If the flag is not set, the descriptions will contain only the changes from the projects specified in the Issue tracking projects parameter.
  • Issue tracking projects. The project identifiers used in the task and project management system. The changes made within these projects will be included in the descriptions of the update packages delivered to the customer. The parameter values are separated by comma. The parameter is available if the Include ALL issues in upgrade description flag is not set.
Note.jpgIf the Issue tracking projects parameter is not defined and the Include ALL issues in upgrade description flag is not set, the customer will receive only the description of issues without numbers assigned in the task management system.
  • Notify on internal changes. If the flag is set, the descriptions of the update packages delivered to the customer will contain the information on internal changes (changes with the Internal improvement or Internal bugfix status).
  • RadixWare Manager default include mode. The mode of including the manager.zip archive with the next scheduled version of the RadixWare Manager in the distribution kits being prepared for the customer. This parameter affects the default behavior. When preparing a distribution kit, the parameter value can be changed by editing the Include RadixWare Manager (<RadixWare Manager version>) in distribution kit flag (when preparing several distribution kits - Include RadixWare Manager flag). Available values:
  • Smart Mode (default value). The need to include the new RadixWare Manager version in the distribution kit is determined in accordance with the following logic:
  • The new RadixWare Manager version is always included in the distribution kit intended for the software product installation.
  • The new (Production) version of the RadixWare Manager is included only in the distribution kits that are intended to install the new version of the software product (version in which the first three groups of digits are changed).
  • The patches for the software product (version in which the fourth group of digits is changed) include the RadixWare Manager versions with the Urgent status.
  • If it is not possible to identify the RadixWare Manager version last delivered to the customer when preparing a patch (for example, the chain of distribution kits has been violated due to deletion of one of the customer distribution kits), the RadixWare Manager version is not included in the patch.
  • Include if Changed. The RadixWare Manager version is always included in the distribution kit (if it is available at the time when the distribution kit is being prepared; if this RadixWare Manager version has been already included in one of the previous distribution kits, it will not be included in the new distribution kit).
  • Never Include. The RadixWare Manager version is never included in the customer distribution kit. Note.jpgThis mode is not recommended for use since it is the customer responsibility to track the release of the RadixWare Manager versions and to install the required version manually.
  • Enable notification for current customer. If the flag is set, the customer will be notified of different operations executed for this customer in the RadixWare Manager (for example, preparation of the upgrade package). The flag is set, by default.
Note.jpgTo send notifications to customers, the notification service should be configured in the RadixWare Manager. For details, refer to RadixWare. Software Products Installation and Upgrade Technology / Setting up Notification Service Parameters
  • Product prefix. The prefix added to the name of the software product. The prefix is added in the beginning of the Title field in the layer.xml file for the software product upper layer (for example, files\org.radixware.radinsk\layer.xml) and in the customer notification on the built distribution kit (if the notification service is set up for the customer).
  • Notes. The comments on the customer description.

"Modules" Tab

The tab is used to set up the layers and modules that will be delivered to the customer. The tab contains the following elements:

  • Release. The software product release containing the list of modules that can be delivered to the current customer. The value is selected from the list of software product releases. By default, the latest release is displayed in the editor.
  • The toolbar containing the following commands for working with list of modules:
Button Name Function
Export to TXT.jpg Export Modules to File Exports the list of modules delivered to the customer to the XML file.
Import from TXT.jpg Import Modules from File Imports the list of modules delivered to the customer from the XML file.

NOTE.jpg The list of modules can be changed in the new software product releases. Thus, prior to exporting the list of modules previously imported, it is recommended to compare it with the list of modules in the current release.

Show all.jpg Module Supplied Opens the list of customers that will receive the selected module in the distribution kit. The list of customers is displayed in the information dialog box identical to the one opened when executing the Module Supplied command.
RWM search.jpg Search Module Searches for the module by the part of the module name. The search is performed in a separate dialog box. The list of modules found can be copied to clipboard by executing the Copy to Clipboard command.
Refresh.jpg Refresh Refreshes the list of modules.
  • The list of all modules included in the selected customer release. Opposite to each module from the list, in the Format column, it is possible to specify the format in which the module is included in the distribution kit. Possible values:
    • Bin. Include the compiled binary files.
    • Bin, Src. Include both compiled files and source codes.
    • None. Do not include the module (section, layer) into the distribution kit.
    • Inherited. The value is inherited from the parent object (segment, layer).

The Result column value indicates whether the module will be included in the update package. If the module inherits the settings from the parent object (the Format column value is Inherited), the Result column contains the value specified for the parent object. When the module is selected from the list, the This Module is Used by and This Module Uses tabs of the Dependencies area display the list of module dependencies:

  • Show All (Show all.jpg button). The toggle button with two modes: show all module dependencies / show only dependencies directly related to the module.
Example.jpgCondition: module1 is linked to module2, module2 is linked to module3, module3 is linked tomodule4; module1 is selected in the list of modules (in the left editor panel).

Result:

  • If the Show All button is on, module2, module3 and module4 will be displayed on the This Module is Used by tab.
  • If the Show All button is off, module2 will be displayed on the This Module is Used by tab.
  • Unfold the Upper Branch (UnfoldtheUpperBranch.jpg button). The button is used to unfold the root branch of module dependencies. If the Show All button is on, all links of two modules are displayed.

The modules that will be delivered to the customer are marked in bold font in the list.

The editor of the list of modules to be included in the customer update package is as follows:

Customer-modules.png

Viewing List of Customers Using Software Product Modules

To view the list of customers that will receive a certain module as a part of the distribution kit, the following actions:
1.Open the Releases branch.
2.Select the module in the layer and execute the Module Supplied command in the context menu to retrieve the list of customers that use this module.

For each customer:
  • The Format column shows the format in which the module is supplied (Bin, Src or Bin, Src).
  • The Delivery Reason column shows the reason why the module is delivered to the customer:
  • Explicitly defined. The module is explicitly included in the list of modules delivered to the customer.
  • From parent (layer or segment). The parent module (layer or segment) is explicitly included in the list of modules delivered to the customer.
  • By modules dependencies. The module is included in the list of dependencies of the module that is explicitly delivered to the customer.
The list of customers is displayed in the information dialog box and can be copied to clipboard (select the table cells and press Ctrl+C).

Module is delivered .jpg

Viewing Versions of Customer Distribution Kits

If the product is supported for many customers, it may be required to find out on-the-fly what product versions are installed on the customer side. For this purpose, either select the Customers Distribution Kits item from the context menu of the Customers branch of the project tree or double-click it. The main part of the RadixWare Manager dialog box will show the tab with the list of all customers. The table on this tab contains the following columns:

  • No. The record sequence number.
  • Customer. The customer name.
  • Test Version. The version of the distribution kit being tested by the customer (value of the Distribution kit on test parameter in the customer description editor).
  • Product Version. The version of the distribution kit being used by the customer in production (value of the Distribution kit on production parameter in the customer description editor).
  • Last Version. The version of the latest distribution kit prepared for the customer.

The upper part of the editor contains the following commands:

  • Search by Release Number (RWM search.jpg button). Executing the command opens the dialog box with the list of customers: the information on all versions of distribution kits prepared for the customer is displayed for each customer. It is possible to filter the customers for whom the distribution kit of the particular version has been prepared. For this, specify the version in the Search field.

RWM chooseCustomer.jpg

The list can be copied to clipboard by executing the Copy to clipboard command. When selecting the customer in the list of found customers and clicking the Ok button, this customer is selected in the common list of customers.
  • Show Customer Last Versions. When executing the command, the Last Version column contains not only the version of the latest distribution kit, but also the versions of the latest distribution kits prepared on the basis of the releases of each offshoot branch (if the distribution kits from this branch were prepared for the customer). Once the command execution is completed, the command name is changed to Refreshing last versions complete.

Preparing Distribution Kit for Customer

To start creating distribution kit, select Create New Distribution Kit on the context menu of the Distribution Kits branch (the customer branch of the project tree). At that, the dialog box containing the following elements is invoked:

  • General tab
  • Description tab
  • Included Elements tab
  • Changes tab
  • Check binary compatibility after commit. If the flag is set, when creating a distribution kit, the application will check the software product layers of the previous distribution kit and distribution kit being created for binary compatibility. The flag is not set, by default. If the dialog box used to create a distribution kit is invoked not for the first time, the flag state is saved from the previous invocation.
Note.jpgThe binary compatibility check is not performed for the distribution kits where the org.radixware layer is absent.
  • Create update file. If the flag is set, the update package will be created on the basis of the created distribution kit. The flag is set, by default. If the dialog box used to prepare the distribution kit is invoked not for the first time, the flag state is saved from the previous invocation. The created update package usually requires to be signed. If the already set keys used for signing are absent, the user is asked to confirm creating of the unsigned update package.
  • Check. Click the button to preliminarily check if any errors can occur at the distribution kit creation. The check results are displayed in a separate dialog box.
  • Check and Process. Click the button to preliminarily check the distribution kit and create it if the check results do not contain any errors and warnings. The found errors and warning are displayed in a separate dialog box. If there are only warnings, the user is suggested to ignore them and create a distribution kit (the Yes button) or cancel the command execution (the No button). If there are errors, the user can cancel the command execution only.

It can take several minutes to create distribution kit.

Create distr new.jpg

"General" Tab

  • Customer. The customer description. The value is set automatically and then is not editable.
  • Customer URI. The value is set automatically and then is not editable.
  • Customer status. The customer status. The value is set automatically and then is not editable.
  • Target release. The release used to prepare the current distribution kit. The parameter value is selected from the list of releases located in the Release branch. By default, the last created release is used. To search for a certain release in the list, put the cursor in the Target release parameter field and enter the characters available in the release number (including points used as separators of the digit groups in the release number). Afterwards, press Enter. The system will automatically hide the releases that do not contain the sequence of characters entered.

After the release is selected in the list, the system checks whether a distribution kit can be prepared based on this release. The distribution kit can be prepared using releases with all statuses except for Invalid.

Note.jpgIf the release used to prepare the distribution kit does not contain the layer specified in the Customer URI parameter, an empty layer with the specified URI will be created in the distribution kit being prepared, and the information on the languages will be copied from the top layer of the software product to the settings of this layer. The presence of the layer corresponding to the customer URI is necessary to start the RadixWare Explorer / RadixWare Server applications and generate the license report correctly.
  • Version. The version of the created distribution kit. When creating the distribution kit repeatedly (if the distribution kit with the value specified in the Target release parameter was already created), the value is set automatically. If the distribution is created for the first time, the default value is 0.
  • New distribution kit. The number of the distribution kit being created. The value is set automatically. When editing the value, it is possible only to increase the value.
  • Previous distribution kit. The number of the previous distribution kit the new one will be based on. If the parameter value is <None>, the installation distribution kit will be created.
  • Previous distribution kit from archive. If the flag is set, the list of previous distribution kits contains the distribution kits from the archive. The parameter is not editable if the project does not contain the Archive branch.
  • Include RadixWare Manager (<RadixWare Manager version>) in distribution kit. If the flag is set, the current released RadixWare Manager version will be included in the distribution kit being prepared (version with the Production or Urgent status). The default flag value depends on the RadixWare Manager default include mode parameter available in the customer settings.
Note.jpgAt the attempt to create a distribution kit on the basis of the Test release for the customer with the Prod status, the results of preliminary check (started by clicking the Check or Check and Process button) contain the respective warning.

"Description" Tab
The tab contains the editor used to describe the distribution kit being created. The editor consists of the toolbar and table containing the description of changes. The editor and release description editor are identical in their content and functioning. If the release does not contain the description of changes, the editor is not available.

"Included Elements" Tab
The tab contains the list of modules that will be included in the distribution kit. The list is created automatically and consists of modules set up in the customer description editor on the Modules tab and modules related to them.

Note.jpgIf the list of modules in the distribution kit being created differs from the list in the previous distribution kit, the results of preliminary check (started by clicking the Check or Check and Process button) contain the respective warning.

"Changes" Tab
The tab contains:

  • Files and Scripts tabs displaying the added/modified files and scripts respectively
  • Show auxiliary files (api.xml, definitions.xml, directory.xml, directory-layer.xml, layer.xml, usages.xml) flag. If the flag is set, the list defined on the Files tab will include the modified service files.
Note.jpgIt can take considerable time to create a list of modified files and scripts. As such, when opening the Changes tab, the user is asked to confirm the list creation.

Preparing Distribution Kits for Several Customers

The RadixWare Manager enables to prepare a distribution kit based on one of the product releases for several or all customers. For this, select Create Distribution Kits in the context menu of the Customers branch. The system opens the dialog box used to define the command settings:

Create distr kits new.jpg

The Target release parameter enables to specify the release to be used to create a distribution kits for the selected customers. The parameter value is selected from the list of releases available in the Release branch. By default, the last created release is used. To search for a certain release in the list, put the cursor in the Target release parameter field and enter the characters available in the release number (including points used as separators of the digit groups in the release number). Afterwards, press Enter. The system will automatically hide the releases that do not contain the sequence of characters entered.

After the release is selected in the list, the system checks whether a distribution kit can be prepared based on this release. The distribution kit can be prepared using releases with all statuses except for Invalid.

The list of customers contains the following information on each customer:

  • Customer. The customer name and status.
  • Previous Distribution Kit. The number of the previous distribution kit to be used for a new distribution kit. The value is set automatically depending on the Select previous distribution kit parameter value:
  • Distribution kit with version not more than release version. The last created distribution kit whose version is not higher than the release version specified in the Target release parameter. This value is used by default.
  • Last distribution kit created for this customer.
  • None (Installation distribution kit). The installation distribution kits will be created for the selected customers.
  • Custom. The number of the previous distribution kit to be used for a new distribution kit is selected from the drop-down list for each customer.
  • Include RadixWare Manager. The flag defines the need to include the current released RadixWare Manager version in the distribution kit (version with the Production or Urgent status). The default flag value depends on the RadixWare Manager default include mode parameter available in the customer settings.
  • Process. The flag indicates whether to create a distribution kit for a customer. It is possible to set/unset this flag for each customer manually or use the following menu items in the upper panel to set the flag for a group of customers:
  • All. The flag is set for all customers.
  • Test. The flag is set only for customers with the Test status.
  • Prod. The flag is set only for customers with the Prod status.
  • None. The flag is unset for all customers.

The dialog box contains the following flags:

  • Check binary compatibility after commit. If the flag is set, when creating distribution kits, the application will check the software product layers of the previous distribution kit and distribution kit being created for binary compatibility. The flag is set, by default.
Note.jpgThe binary compatibility check is not performed for the distribution kits where the org.radixware layer is absent.
  • Create update file. If the flag is set, the update packages will be created on the basis of the created distribution kits. The flag is set, by default. The created update package usually requires to be signed. If the respective keys used for signature are absent, the user is asked to confirm creation of the unsigned update package.

Click the Check button to preliminarily check for errors that may occur when creating a distribution kit. The check results are displayed in a separate dialog box.

Click the Check and Process button to start the distribution kit preparation procedure. Additionally, executing this command performs the respective pre-checks, and if no errors and warnings are detected, the distribution kits will be created. If errors and warning are found, they will be displayed in a separate dialog box. If only warnings are detected, the user is suggested to ignore them and create a distribution kit (by clicking Yes) or cancel the command execution (by clicking No). If errors are detected, the user can only cancel the command execution.

It can take several minutes to create distribution kits.

Viewing Distribution Kit Properties

To open the customer distribution kit editor, double-click the distribution kit branch in the project tree. The distribution kit editor contains the General and Included Elements tab.

The General tab contains the following parameters:

  • Distribution kit number. The distribution kit identification number. The parameter is not editable.
  • Release status. The status of the release used to create the distribution kit. The value is set automatically when creating a distribution kit.
  • Creation time. The date and time when the distribution kit was created. The parameter is not editable.
  • Previous distribution kit. The number of the previous distribution kit. The parameter is not editable.
  • Description. The description of the distribution kit.
  • Changes list. The area used to edit the descriptions of changes included in the distribution kit. The area contains the toolbar and table with the descriptions. The editor appearance and capabilities are similar to those of the release description editor.

The Included Elements tab contains the tree of software product layers, segments and modules included in the distribution kit. The Format column shows the format in which the objects are included in the distribution kit (Bin, Src or Bin, Src).

The editor looks as follows:

Customer distrib-editor.png

Creating Update Package for Customer

To create an update package, select Create Update Package in the context menu of the distribution kit in the project tree. It is also possible to create an update package by selecting the respective item in the context menu of the distribution kit located in the Archive branch.

NOTE.jpgIf the target release for which the update package is created has the Expired status, or the release status is not defined, or the target release is not found, the system uses the status specified in the distribution kit editor (this status is assigned automatically when creating a distribution kit, and is the same as the status of the release on the basis of which the distribution kit was created, by default). Due to this, to create an update package for the release with the Expired status, it is necessary to set the required status in the distribution kit editor (Release status parameter) after preparing the distribution kit, and only after that proceed to creation of an update package for this distribution kit.

Executing the command will open the Create Update Package dialog box for selecting the type of the update package to be created. The following options are available:

  • Create installation distribution kit. Creates a package for installation of the software product.
  • Create update from <version>. Creates a package to update the software product from the last distribution kit used by the customer. The option is available if distribution kits have been previously sent to the customer.
  • Create update from. Creates a package to update the software product from one of the distribution kits that has been previously sent to the customer. When selecting this option, the additional parameter becomes available. This parameter is used to select the distribution kitfrom the list of distribution kits previously prepared for the customer (including those located in the archive). The option is available if more than one distribution kits are prepared for the customer. The possibility to prepare an update package for the selected distribution kit is defined as follows:
  • By default, all distribution kits from the list have the Unchecked status (the availability check is not performed yet).
  • When a certain distribution kit is selected from the list, the availability check is performed (check for the scripts to switch from the old version to the new one). As a result of the check, the distribution kit is assigned the Valid or Invalid status. It is impossible to create an update package for the distribution kit with the Invalid status.

The dialog box can contain the Include RadixWare Manager (<RadixWare Manager version>) flag. This flag is available if the distribution kit contains the manager.zip archive with the RadixWare Manager version. If the flag is set, the archive will be included in the update package being prepared. The default flag value depends on the RadixWare Manager default include mode parameter available in the customer settings.

After the update package creation, the system will offer to sign the created zip file. The Output panel displays the path to the created file.

Digital Signature for Update Package

To comply with the security requirements, the RadixWare Manager supports the protection mechanism for the software product distribution kits, i.e. digital signature for the update files, patches and fixes.

To manage keys and certificates in the RadixWare Manager, the RadixWare Key Store Administrator application is used. This application can be opened in the dialog box with the project parameters. For details on how to work with the RadixWare Key Store Administrator, refer to RadixWare. Key Store Administrator. Administrator Guide.


Creating Digital Signature

When creating an update package for the distribution kit or the patch package for the patch, it is supposed that the zip file being created will be signed. If the keystore is not defined in the project when creating a package, the user will be asked to confirm the creation of the unsigned package.

To sign packages, use the private key from the private key pair with the <URI>/upgrade/<N> alias where <URI> is URI of the top layer included in the package, <N> is the number of the key pair.

If the keystore contains several key pairs with the aliases of this type, the pair with the maximum number (<N>) will be used. If the key pair used to sign packages is compromised, it is required to generate or load another key pair and assign similar alias to it with greater number <N>. Therefore, the valid key will be always used to sign packages.

When creating a signed package, the digital signature for the package content will be calculated using the private key. This digital signature is placed to the package as signature.sf file. The certificate (certificate.cer file) containing the respective public key will also be included in the package.

If the keystore does not contain the key pair with the required alias when creating a package, the user will be asked to confirm the creation of an unsigned package. Otherwise, the user will be asked to enter the password for the key being used.

Verifying Digital Signature

When installing the initial installation package or update package, the RadixWare Manager verifies the digital signature of this package. To verify the digital signature, the certificate present in the package is used if the same certificate is present in the keystore and marked as trusted. If the certificate is not present in the keystore or it is not marked as trusted, a warning will be displayed to the user.

The package with the invalid digital signature cannot be installed. At the attempt to install the package without the digital signature, the user confirmation will be necessary.

Commands of RadixWare Manager Console Application

The commands available in the console version of the RadixWare Manager and list of arguments available for each command are presented in the table below:

Note.jpgFor the description of other commands available in the console version, refer to RadixWare. Software Product Installation and Upgrade/Working with RadixWare Manager Console Application/List of Application Commands.
Command Description Arguments Examples
CMD_CREATE_DISTRIB Creates distribution kits for a customer/customers.

The list of customers can be defined automatically (depending on the selected mode) or specified in the CUSTOMER argument (if the PROCESS_SELECTED_CUSTOMERS mode is selected). The previous distribution kit used to create a new one can be defined automatically (depending on the selected mode) or specified in the PRIOR_DISTRIB argument for each customer (if the PRIOR_DISTRIB_SELECT mode is selected). By default, update packages are created for the distribution kits when executing this command. To disable the update package creation, use the DISABLE_CREATE_UPGRADE_FILE argument.

Mandatory arguments:
  • PROJECT_DIR
  • SOURCE_RELEASE_NAME
  • One of the following arguments:
  • PROCESS_ALL_CUSTOMERS
  • PROCESS_PROD_CUSTOMERS
  • PROCESS_TEST_CUSTOMERS
  • PROCESS_SELECTED_CUSTOMERS and CUSTOMER
  • One of the following arguments:
  • PRIOR_DISTRIB_CREATE_MAX_NUMBER
  • PRIOR_DISTRIB_CREATE_LAST
  • PRIOR_DISTRIB_CREATE_ZERO
  • PRIOR_DISTRIB_SELECT and PRIOR_DISTRIB
  • ENABLE_CHECK_BINARY_COMPATIBILITY
  • DISABLE_CREATE_UPGRADE_FILE

Optional arguments:

  • CONFIG_FILE
  • SVN_PWD
  • KEY_STORE_PWD
  • One of the following arguments:
  • QUESTION_YES_ALL
  • QUESTION_NO_ALL
  • QUESTION_YES_SPECIFIC.
  • QUESTION_NO_SPECIFIC
  • LOCAL_LOG_DIR
CMD_CREATE_DISTRIB PROJECT_DIR=c:\ProjectDir

SOURCE_RELEASE_NAME=1.2.26.20.16 PROCESS_SELECTED_CUSTOMERS CUSTOMER=customer.testuri.org PRIOR_DISTRIB_SELECT PRIOR_DISTRIB=867-1.2.25.10.1

If distribution kits are created for several customers, and a different previous distribution kit is specified for each customer, the command can be presented as follows: CMD_CREATE_DISTRIB PROJECT_DIR=c:\ProjectDir SOURCE_RELEASE_NAME=1.2.26.20.16 PROCESS_SELECTED_CUSTOMERS PRIOR_DISTRIB_SELECT CUSTOMER123=FirstCustomer PRIOR_DISTRIB123=PriorDistribForFirstCustomer CUSTOMER_abc=SecondCustomer PRIOR_DISTRIB_abc=PriorDistribForSecondCustomer CUSTOMER=ThirdCustomer PRIOR_DISTRIB=PriorDistribForThirdCustomer where the respective CUSTOMER and PRIOR_DISTRIB arguments have the identical postfix (it can be empty as well)

CMD_CREATE_UPGRADE Creates a distribution kit on the basis of the customer distribution kit.

By default, an update package is created for the distribution kit used to create the target distribution kit. To change this behavior, use the PRIOR_DISTRIB_CREATE_ZERO or PRIOR_DISTRIB argument (for details, refer to the argument

Mandatory arguments:
  • PROJECT_DIR
  • CUSTOMER
  • DISTRIB

Optional arguments:

  • One of the following arguments:
  • PRIOR_DISTRIB_CREATE_ZERO
  • PRIOR_DISTRIB
  • CONFIG_FILE
  • SVN_PWD
  • KEY_STORE_PWD
CMD_CREATE_UPGRADE PROJECT_DIR=c:\ProjectDir

CUSTOMER=customer.testuri.org DISTRIB=867-1.2.25.10.1


The arguments that can be used to execute the commands are presented in the table below:

Argument Description Examples
CONFIG_FILE Name of the configuration file containing the command arguments. CONFIG_FILE=/home/testuser/RadixWareManagerProjects/config.conf
PROJECT_DIR Path to the project directory in the file system. PROJECT_DIR=c:\ProjectDir
SOURCE_RELEASE_NAME Number of the software product release on the basis of which distribution kits are created. SOURCE_RELEASE_NAME=1.2.26.20.16
CUSTOMER URI of the customer the command is executed for.

It can be used together with the PROCESS_SELECTED_CUSTOMERS argument.

CUSTOMER=customer.testuri.org
DISTRIB Name of the distribution kit in the format: <N>-<f.f.f.f>v<V>, where

N - sequence number
f.f.f.f - release number
V - number of the distribution kit version (can be absent)

DISTRIB=867-1.2.25.10.1
PROCESS_ALL_CUSTOMERS Creates a list of all customers.
PROCESS_PROD_CUSTOMERS Creates a list of customers with the PROD status.
PROCESS_TEST_CUSTOMERS Creates a list of customers with the TEST status.
PROCESS_SELECTED_CUSTOMERS Creates a list of customers that will be specified in the CUSTOMER argument.
PRIOR_DISTRIB_CREATE_MAX_NUMBER Selects the previous distribution kit with the version not higher than the release version.
PRIOR_DISTRIB_CREATE_LAST Selects the last distribution kit created for the customer.
PRIOR_DISTRIB_CREATE_ZERO Selects the previous distribution kit when it is not defined. This mode enables to create installation distribution kits/update packages (depending on the executed command: (depending on the executed command CMD_CREATE_DISTRIB or CMD_CREATE_UPGRADE).
PRIOR_DISTRIB_SELECT Selects the previous distribution kit that is specified in the PRIOR_DISTRIB argument
PRIOR_DISTRIB Name of the previous distribution kit in the format: <N>-<f.f.f.f>v<V>, where

N - sequence number
f.f.f.f - release number
V - number of the distribution kit version (can be absent)

It can be used together with the PRIOR_DISTRIB_SELECT argument.

PRIOR_DISTRIB=867-1.2.25.10.1
ENABLE_CHECK_BINARY_COMPATIBILITY When executing the CMD_CREATE_DISTRIB command, checks the binary compatibility of the software product layers of the created distribution kit.
DISABLE_CREATE_UPGRADE_FILE When executing the CMD_CREATE_DISTRIB command, disables the capability to create update packages.
SVN_PWD Svn or ssh password for the repository. If the argument is absent, it will be requested from the user.
KEY_STORE_PWD Password for the keystore. If the argument is absent, it will be requested from the user.
QUESTION_YES_ALL Automatically answers with "yes" to all yes/no questions.

It cannot be used together with the QUESTION_NO_ALL argument.

QUESTION_NO_ALL Automatically answers with "no" to all yes/no questions.

It cannot be used together with the QUESTION_YES_ALL argument.

QUESTION_YES_SPECIFIC Automatically answers with "yes" to the specific yes/no question.

Format: QUESTION_YES_SPECIFIC<postfix>="<value>", where:

  • <postfix> - any unique (within the set of arguments of the current command) sequence of characters (including empty sequence) that does not contain spaces (for example: "_1", "_2", "abc", "AAA", etc.);
  • <value> - string with question / part of question asked. If the string is found in the question, it will be answered with "yes"
QUESTION_YES_SPECIFIC_1 = "'EXPIRED'"

In this example, YES will be given to any message containing the "EXPIRED" phrase. For example, if the following message is displayed, all warnings will be ignored:
"Found warnings (3). Do you want ignore and continue?
Release status - 'EXPIRED'
Checking licenses. Unable to get version starter.jar. Layer 'org.radixware' not found.
Customer 'TEST'. The following module will be added: ..."

QUESTION_NO_SPECIFIC Automatically answers with "no" to the specific yes/no question.

Format: QUESTION_NO_SPECIFIC<postfix>="<value>", where:

  • <postfix> - any unique (within the set of arguments of the current command) sequence of characters (including empty sequence) that does not contain spaces (for example: "_1", "_2", "abc", "AAA", etc.);
  • <value> - string with question / part of question asked. If the string is found in the question, it will be answered with "no"
QUESTION_NO_SPECIFIC_1 = "'EXPIRED'""
LOCAL_LOG_DIR Path to the directory where the log files are saved after the command execution. LOCAL_LOG_DIR=c:\RadixWareManager\logs

Appendix

Glossary

Term Definiton
Database script Set of SQL queries that modify the database structure.
Distribution kit Set of files necessary to install or update the software product. It includes a certain set of modules.
Initial installation package Zip file containing the distribution kit files. It is submitted to the customer as the first distribution kit. The initial installation package is a particular case of the update package.
Offshoot branch Development branch containing the corrections for the software product release. It is identified by the number of the source release with one component added, for example 1.22.3.2.
Product release State of the software product at a certain point of time. It is identified by the compound number, for example, 1.22.3.
Module Part of the software product. Different customers can receive different sets of modules. For details, refer to RadixWare. Programmer Guide.
Update package Zip file containing the distribution kit files used to update the software product.