Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

When the user runs the WhereScape GIT CICD Enablement Pack, this will start the process of connecting to GIT and building the WhereScape 3D and RED repositories.

...

Warning
titleWarning

If this process is repeated for an existing GIT repository that has already been set up on the Developer machine, any changes not committed to GIT will be lost.

Changing the Repository Database Name

When completing the WhereScape GIT CICD Enablement Pack form, the RED and 3D Repository Database names are read-only and are created based on the user information provided elsewhere on the form. However, this can be changed via the config file if required. 

  1. The config is held in a JSON file named 'config.json' at the following location: 
     %USERPROFILE%\WhereScape\GIT 
  2. The repository database names are calculated within their resepective RED or 3D sections under the 'Repository Database name prefix and suffix' keys. These values can be amended to change the way that the repository database names are created when completing the WhereScape GIT CICD Enablement Pack from. 

WhereScape 3D

By default, WhereScape 3D and RED store their metadata in separate PostgreSQL databases. To make sure both applications stay in sync, GIT is used as the master source for all metadata. 

...

This process has been designed to ensure that both WhereScape repositories are always aligned. 

Using WhereScape 3D Workflows

The below lists all avaialable available Workflow processes in the WhereScape GIT CICD Enablement Pack. All existing WhereScape 3D workflow processes remain available.

To configure your workflows, please consult section ‘Configuring Workflows’.

Committing to GIT

To commit a new model or changes to an existing model to GIT, users click the workflow button, which executes the ed3d_commit_to_git template.

...

Note
titleImportant

Only create a “Commit to GIT” button within a workflow for use at the Model Version level.

Any changes to workflows or categories will require a separate commit action; see committing configuration changes to GIT.

Committing ALL Objects to GIT

To commit all changes made to a WhereScape 3D Repository, users click the workflow button, which executes the ed3d_commit_all_objects_to_git template.

...

Note
titleImportnat

A log file will be created and stored within the specified directory each time workflow is executed. If there are any issues during this operation, the log file will be presented to the user for review.

Committing configuration changes to GIT

To commit any configuration changes to GIT, users will click the workflow button, which executes the ed3d_commit_config_to_git template.

...

Note

It is recommended that a “Commit Config to GIT” button be created within a workflow for use at the Category level.

Delete Model and Commit Changes

To delete a model from your repository and commit the changes, users will click the workflow button 'Delete Model and Commit', which executes the ed3d_delete_model_commit_to_git template.

...

Note

Only create a “Delete Model and Commit” button within a workflow for use at the Model Version level.

Create Branch

Users will click the workflow button to create a new branch, which executes the ed3d_create_feature_branch template.

...

Note

It is recommended that a “Create Feature Branch” button be created within a workflow for use at the Category level. 

Close Branch 

Users will click the workflow button to close a branch, which executes the ed3d_close_branch template. 

...

  1. Verifies connection to GIT Repository.
  2. The user is prompted to select the branch to switch to.
  3. Refreshes the local GIT repository from the remote GIT repository of the selected branch.
  4. WhereScape 3D is rebuilt using the files within the local GIT repository.
  5. WhereScape RED is rebuilt using the files within the local GIT repository.
  6. WhereScape 3D is reopened.

Pull from GIT

Users will click the workflow button to fetch changes from the remote GIT repository to their current local branch, which executes the ed3d_pull template.

...

Note

Only create a “RED export” button within a workflow for use at the Model Version level.

Import Model

Users will click the workflow button to import a Data Model from a selected commit ID from a branch. This workflow button executes the ed3d_import_model_from_git template.

...

Note

It is recommended that an “Import Model Version” button be created within a workflow for use at the model version level.

Configuring Workflows

Users will find the GIT integration tools within the Workflow pane. Depending on the type of model you are currently viewing, there may be different buttons available by default.

...

  1. Click on Tools > Manage Workflows.
  2. The user will be presented with a list of customer model versions. Click on a version to view the Workflow configuration in the panel to the right.
  3. The user can either create a new Workflow set from scratch or edit an existing Workflow set.
    1. To create a new Workflow set the user can click on the 'Add Workflow Set' icon. Give the workflow set a name, select the Type from the dropdown and select 'OK'.
    2. To edit an existing Workflow set, the user can highlight the set they would like to edit by clicking on it, to bring up the Workflow configuration panel.
  4. Users can add new buttons by clicking on the 'Add Button' icon positioned above the Workflow configuration panel.
  5. The user can then provide the details of their Workflow:
    1. Provide the name for the workflow button you are adding.
    2. Provide a description for the workflow button (optional)
    3. Select an Icon to represent your workflow button.
    4. Select the Type of workflow item you want to add. All GIT integration Workflows are kept as type 'Script'.
    5. Select the script from the dropdown which represents your required Workflow.
    6. Once you are happy with your Workflow button, click 'Apply'.
  6. The user will see their new Workflow button in the Workflow configuration panel.
  7. Users can reposition or delete any workflow buttons by right-clicking on a button and choosing the required action.
  8. Once the user is happy with their configuration, they can click 'OK'.

3D FAQS

Conflicts when merging branches

The Development Lead creates two feature branches, one for Developer A and one for Developer B.

...

Finally, the feature branch is closed.

WhereScape RED

By default, WhereScape RED’s metadata is held in a separate PostgreSQL database from WhereScape 3D.

...

Note
titleReminder

The RED Profile is created when the repository is first set up. This is created to ensure that the workflows run correctly. It can be found at the following location:

%USERPROFILE%\WhereScape\GIT

Using WhereScape RED Workflows

Committing ALL to GIT

Currently users are only able to Commit *all* changes to GIT in WhereScape RED. This workflow will look at all objects and settings within WhereScape RED, and extract them from the command line before pushing them to GIT.

...

Note
titleImportant

A log file will be created and stored within the specified directory each time this workflow is executed. If there are any issues during this operation, the log file will be presented to the user for review.

Committing to GIT

Currently users can only Commit *all* changes to GIT.

Committing Configuration Changes to GIT

Currently users can only Commit *all* changes to GIT.

Create Branch

This function is currently available within WhereScape 3D. See WhereScape 3D Create Branch.

Close Branch

This function is currently available within WhereScape 3D. See WhereScape 3D Close Branch.

Switch Branch

This function is currently available within WhereScape 3D. See WhereScape 3D Switch Branch.

Pull from GIT

This function is currently available within WhereScape 3D. See WhereScape 3D Pull from GIT.

Upgrades

When the MSI is required to be updated, two options can be considered:

Option 1

Use this for partially complete development activities or code not ready to merge to the parent branch.

  1. Developer A is connected to a feature branch. Developer B is connected to the development branch.
  2. Both developers should commit our changes back to the branch they are connected to, ensuring their changes are within the GIT repository.
  3. The MSI is updated on all developer machines.
  4. Each developer would either:
    1. Use the desktop shortcut to reconnect to the GIT repository and their branch, or
    2. Open WhereScape 3D and click the "Pull" workflow button.

Option 2

This option can be used if all development activities are complete. It is not recommended for partially completed development activities.

...

In either option, the files from the remote GIT repository are pulled to the local machine, which is then used to reconfigure the local environment and the PostgreSQL repository used by WhereScape RED and 3D.

Other Considerations

The following list are known issues:

WhereScape 3D

  • Importing XML Model Version files that contain custom UI source connections. This results in
  • Command line performance issues – memory leakage when running parallel tasks.
  • RED Discovery & profiling connection is not compatible with the CICD/GIT functions at present. Users can create this separately, but it must be manually refreshed.
  • Target Storage Locations are added to WhereScape RED via the Python Scripts, not the WhereScape command line.
  • It is possible to create duplicate Data Type names. However, this will produce an error when the command line interacts with the Data Types (duplicated name).
  • Templates: Templates with XML contents can result in an error when imported/exported using the command line.

WhereScape RED

  • It is not possible to change the Script Launcher options and commit them to GIT. This is only possible as a change request as it is possible within the Python Scripts.
  • Passwords can be stored within WST. It is recommended that any new repositories are set NOT to store passwords within WST. Within WhereScape RED, go to the Options to make these changes.
  • WST File – If a table or view object contains a duplicate column name, it is possible to commit these changes to GIT; however, it will produce an error when deploying the WST file.
  • If the initial build fails and the log file returns an error relating to the License Agreement, open WhereScape RED and agree to the license agreement when prompted.
  • PostgreSQL command line
  • Ensure that the command line applications, found in `C:\Program Files\WhereScape\RED\Tools` are kept in line with the version of the PostgreSQL database being used to host the WhereScape RED & 3D applications.
  • It is not recommended to mix versions of PostgreSQL across WhereScape applications.

Python

  • Changes to the Python version may change how the script operates.
  • Python will execute PowerShell script to create/remove ODBC (DSN) for the WhereScape RED repository. This may require the user/Developer machine to grant permissions for unsigned PowerShell script to be executed.

GIT

  • File size is limited to 50 MB. AS WST files can exceed this limit, the Python script compresses the WST files into a ZIP file (binary) before committing to GIT. Other files may exceed this limit in the future.
  • Ensure that the GIT runner folder allows the account executiong the Python scripts with Full Control permissions. Failure to do this, may result in the WST deployment script from working correctly.
  • Ensure that the default branch within the global gitconfig file (`C:\Program Files\Git\etc\gitconfig`) is set to the default branch within the Python config settings. This will avoid issues when cloning the remote GIT repository to the Developer machine. This must be completed with administration privileges.
    • For example:
      [init]
      defaultBranch = main[safe]
      directory = *

...