Skip to content

MDChange (MDCMS) Enhancements in 8.5

MDChange (MDCMS) Enhancements in 8.5

MDCMS 8.5

January 13, 2023

New MDCMS Product Installer (MDINSSAVF) Parameters: - User to Register in MDSEC/Roles for User : when MDCMS is installed, a user can be automatically registered in MDSEC with MDSEC admin authority and have either all roles, all non-developer roles or just the user role
- Location Title/Default CCSID
- when MDCMS is installed, key System settings can be automatically set
- Subsystem/Job Queue
- when MDCMS is installed, the subsystem and job queue to be used by MDCMS batch jobs can be applied to the settings and automatically generated and started, if they don't yet exist
- SAP Data Library
- if MDCMS is being installed to manage SAP database changes, the SAP data library can be provided and all application, level, attribute, template and project settings are automatically generated
NOTE: This requires restoring the objects in the MDINSSAVF save file prior to running this command to upgrade to 8.5
MDCMS REST APIs are now secured by API Tokens.
- There is a new option in the MDSEC menu that can be used by any MDSEC user in order to generate API tokens for themselves.
- Additionally, MDSEC admins can generate tokens for others. Tokens are user-specific credentials and the functions invoked by the APIs will run as that user.
- The user must still have command authority to a specific command in MDSEC to execute the function when inserts or updates are involved.
SonarQube Interface for Automated Code Review: - The concept of Code Review Templates has been added to MDCMS with the first fully integrated Code Review tool being SonarQube. The SonarQube server address and credentials are stored in a Pipeline Server of type SonarQube in MDOpen. Templates can then be created in MDOpen for the server for specific projects. A template can then be applied to one or more attributes from within in MDCMS.
- When an RFP is deployed containing objects with attributes using Code Review Templates, MDCMS will automatically FTP the code to the SonarQube server containing the scanner and execute a scan. When the review is complete, an MDCMS webhook is invoked with the results. The results are then viewable from the RFP Deployment log or from the Code Review Results view in MDOpen.
- A Code Review template can be defined to not allow the next step in the migration path until the code passes the review, but can be overriden by users with authority to a new MDSEC function code.
- Command Types (exit points) have been added for Code Review Starting, Code Review Completed Clean, Code Review Completed Dirty and Code Review Technical Error
Distribution Level Settings Enhancements: - There is no longer an auto-send flag at the promotion level in order to reduce confusion
- For each distribution level, you have the option of: Automatic Send immediately after installation into local level, regardless of quality gates Automatic Send once all quality gates are open (Workflow acceptance, Status Boundary, Code Review and eventually Automated Testing) Send by Status Trigger or when manually selected (will be selected by default and gates must be open) Send when manually selected (will not be selected by default and gates must be open)
- Distribution Rule specifically for Modules
- Distribution Rule to send source by default only for database objects
Commands in MDSEC can now be set to value *ALLSEC. - Until now, either *NONE for no user, *ALL for all users or specific users could be granted authority to invoke a specific command.
- Now, with value *ALLSEC (which is the default value for new installations of the product), any user that has MDSEC authority to the underlying function carried out by the command can use the command itself.
Project/Task status trigger user When a Project/Task status trigger is executed to submit, approve, install or send an RFP, the user that is logged for the action is now the actual user instead of STSTRIGGER.
MDRapid Enhancements: - if logical files based on a file to be copied by MDRapid are uniquely keyed, they will be created prior to the data copy to avoid inability to create later due to potential duplicate records before syncing is complete
- MDRapid console shows files by their sub-types (Index, Table, View, Logical File, Physical File)
New Service MDSFTP for use by the MDFTP command for SFTP connections. The MDFTP command is used for deploying *REMOTE objects and can be used for sending RFPs or within your own applications. Until now, SFTP transfers were part of the java-based MDFTP service, but we have switched to a PASE framework for SFTP to leverage the current encryption standards and have a more robust file transfer handler.
MDSRC2IFS command This command is very useful if you would like to mass-export source members from source files to IFS stream files. Either to keep the source in IFS and/or for then importing into a Git repository.
- MDSRC2IFS prompts for the file type to append per distinct source member type and converts the source to UTF-8 for use in Git.
Auto-Cleanup of non-managed logical files - A parameter has been added to the Application settings that, when set to Y (true), will permit MDCMS to automatically delete logical files that reside in non-managed libraries, but are based on requested files in an RFP.
- A typical use case are indexes that are generated by the system and will then be re-generated after deployment.
- If the setting is N, the user submitting the RFP will be prompted to mark them for deletion, since, depending on application, there may be valid reasons to need to retain the files.
rolling back a *PIPE object When rolling back a *PIPE object, the object request name can be changed to reflect a rollback release job on the Pipeline server.

February 5, 2023

Set default backup library retention to 3 days for new installations of MDCMS and grant a user newly registered into MDSEC during the installation the right to edit authorities in MDSEC.
Display the name of the oldest necessary journal receiver in the MDRapid console detail screen so that the operator can know which receivers can or cannot be deleted to recover disk space.
Command MDCRTSND has been added, which provides all of the same capabilities as pressing F6 from the Send RFP screen. A Send RFP can be systematically created containing all installed object requests that match the values of a number of filters.
The October 2022 IBM technical refresh for V7R4 and V7R5 provides the ability to override the generated always clause for table columns when inserting rows from another table
- such as during the modification of a table or when using the MDTransform Data Copy template. MDTransform and MDRapid now check for the existence of this TR, and if available, will be able to copy the data as is rather than getting disabled or required new values for existing rows.

February 19, 2023

If the Project mapping for a Continuous Integration definition is set to *BRANCH, the Webhook will first check if a custom Project/Task field is defined and assigned the wildcard value of ++BRANCH++.

If this is the case, the Webhook will use the newest task/subtask that has the custom field value set to the name of the feature branch.

If not found, the Webhook will check if the branch name = a Task Reference ID or MD Project/Task name just as it did in the past.

February 26, 2023

When requesting to modify an object of MDCMS type *SQL..., the DDL code can be automatically generated based on the SQL or DDS object definition and the code will be placed in the selected target member or IFS file.

In MDCMS, use the *GEN option for the from member/IFS file.

In MDOpen, use the button Generate DDL Source.

June 7, 2023

The BETA release of MDOpen for VS Code is now available in conjunction with MDCMS 8.5.2

July 9, 2023

MDSEND Service Job – ability to configure the number of times that a failed send of an RFP should be automatically retried and the delay between attempts.
Auto-Delete logical files during the RFP cleanup phase when the logical files were added after the submit phase occurred and when they reside in a non-managed library. This is typically when performance indexes are auto-created by the system.

September 2, 2023

Automated Testing Templates – the ability for automatic testing when specific objects or objects of specific attributes are installed. Option of a quality gate to block further migration of objects until testing is successful. Currently full y integrated with the TestBench product from Original Software. All configuration points for Automated Testing are performed in MDOpen for VS Code.

MDOpen 8.5

January 13, 2023

Git Enhancements: - Git Credentials view/editor - Since a given Git Server will often contain many repositories that should be accessed with the same credentials, credentials are now distinctly defined using option Git Credentials from the settings panel. A credential ID can then be applied to all repositories requiring the same authentication, making it simpler to add repositories or change a password or key pair.
- no longer necessary to define a Git ID per repository branch. Instead, only the main branch needs to be defined, which is then used for cross-referencing, while any feature branches are managed at the Continuous Integration level
- if the Git server is of type Azure DevOps, Bitbucket, GitHub or GitLab, it can be tied to a pipeline server which defines the REST URL and credentials for the possibility of easily generating Webhooks on the server for triggering actions by MDCMS (using new Webhooks option for the Git Repository) and for automatically creating pull requests
- The SSH Key handler has been updated to support all current SSH encryption standards
- new Explore option on the Git Repository to view the working tree of the main branch of the Repo from the MDXREF IFS view (once cloned to MDCMS)
- new option Re-Clone Main Branch to easily refresh the contents of the branch in case the local copy is no longer in sync
Continuous Integration Enhancements: - automated requests from Git can now be against the main branch, any branch except the main branch, or any other specific branch, which can be selected from the content-assist list
- files to be requested can be filtered by a file naming pattern, such as *.RPGLE
- Parameter Map to IFS Path added for when requesting source for IBM i objects. If a value is provided, it will aid MDCMS in ascertaining the correct MDCMS attribute for new source when the target source is stored in the IFS with the same structure as in the Git working tree
- *BRANCH can be used as a special value for the Project in order to map the Project/Task/Subtask based on the branch name
- Parameter Auto-Create in Dev Lib added to automatically attempt to create the objects in the developer library for the requested source, along with any auto-requested dependencies
- Pull-Request Location/Level parameters added to define at which point in the deployment process a pull request should be automatically generated for merging the changes in the feature branch back into the main branch.
Object Requests Object Requests can now more easily be locked or unlocked by right-clicking on one or many Object Requests and then selecting the Lock Request or Unlock Request option. These options are also available as favorites.
An RFP in the Send Listing can be closed directly from the Send RFP to Target Systems dialog
When creating a new RFP while requesting objects, the default RFP description will by default be the summary of the Project, Task or Subtask, depending on what the object request will be assigned to.

February 19, 2023

If the Project mapping for a Continuous Integration definition is set to *BRANCH, the Webhook will first check if a custom Project/Task field is defined and assigned the wildcard value of ++BRANCH++.

If this is the case, the Webhook will use the newest task/subtask that has the custom field value set to the name of the feature branch.

If not found, the Webhook will check if the branch name = a Task Reference ID or MD Project/Task name just as it did in the past.

February 26, 2023

Git Webhook Deliveries view - every time that a Git Webhook to MDCMS is delivered, this can now be viewed/filtered directly within MDOpen.

If the delivery for the specific push needs to be repeated, option Repeat can be used for a delivery, which is very helpful when the configuration on the MDOpen side needed to be altered.

If Object Requests were attempted for the delivery, they can also be listed and filtered, providing comprehensive and easy-to-use auditing and troubleshooting for Continuous Integrations.
When requesting to modify an object of MDCMS type *SQL..., the DDL code can be automatically generated based on the SQL or DDS object definition and the code will be placed in the selected target member or IFS file.

In MDOpen, use the button Generate DDL Source