Release 2019-06-26

Posted over 4 years ago by Lars Kjaersgaard

Lars Kjaersgaard
Lars Kjaersgaard Admin

New Guid Data Type and Value Type

With this release a new data type Guid is introduced. This data type corresponds to the Microsoft Globally Unique Identifier (Guid). It can be used as a data type everywhere in Studio: 

  • Metadata
  • Interface Fields
  • Valueset Columns
  • Rule Parameters
  • Constants
  • etc

When used in Metadata in the Source Map, the corresponding column in staging table in the runtime environment will be of Sql type uniqueidentifier

In connection with this new data type, a new Value Type Guid is also introduced. The new Value Type behaves exactly like the Identity Value Type, but instead of assigning a unique Integer value, it assigns a unique Guid value to a Target Field. The Guid Value Type is available for Target Fields of Data Type Guid and also of Data Type Char, provided the length is at least 36. 

Read more about the identity value types Identity and Guid here.

Migration databases

  • Fixed duplicate key in Source Engine setup when renaming a view plus adding a new view with the previous name (Ticket 152)
  • Support for the Guid Value Type
  • Please update all Migration databases using the attached script UpdateMigrationDb.sql 

Studio 1.3

  • Fixed bug that the label for default language was not correctly updated on open Events and Additional Texts, when the Default Language was changed for the Project
  • In a Source Map, The possibility of specifying Order By on the root Source Object on a root Business Object has been removed. This Order By does not make sense as it is not certain that all instances of a Business Object will be exported together in one Director job and the Order By can thus not be respected. However, the Order By remains available on child Source Objects as well as on the root Source Object of a child Business Object
  • New validation error 137: Order By field {0} on a root SourceObject must also be a BreakField. An Order By field on a root Source Object of a child Business Object must also be a Break Field. Any Order By field that is not part of the Break Fields would result in invalid SQL to retrieve the list of children. In fact, the Source Generator already ignores Order By fields that are not Break Fields. Now Studio validates it as well
  • In relation to the new Validation Error (above), the Order By drop down is now limited to only contain the fields identified as Break Fields
  • Support for the Guid Value Type and the Guid Data Type

Director Client 1.3

  • Added support for SSL (Ticket 146, delivered as hotfix on 2019-03-10)
  • Removed sensitive ASP.NET information from http response header (Ticket 145 , delivered as hotfix on 2019-03-10)
  • Fixed occasional nullreference exception in the Manage project dialog

Director Runtime 1.3

  • Relationship dependencies, where the Target primary key has one or more values that are null or empty are now taken into account, when resolving execution sequence. These dependencies were previously ignored
  • Previously, any attempt to use the Identity value in the Target Map (either directly or via a rule) would result in a runtime error in the Director, if any of the Key Fields of the current Business Object was null or empty. This restriction has been removed and the Identity will now reflect the Primary Key of the current Business Object
  • Support for the Guid Value Type and the Guid Data Type

Interfaces 1.3

  • Related changes to handle the primary Key for Identity values (see Director Runtime above)
  • Please adhere closely to this installation recipe
    • Close all instances of Studio and Director (if migration server, also stop all tracks and stop the Director Agent service)
    • Uninstall Interfaces 1.2
    • Verify that the Interfaces dlls have been deleted from
      If not, delete the dll manually
    • Install Interfaces 1.3
    • If migration server, start the Director Agent service

Tracker 1.3

  • Removed sensitive ASP.NET information from http response header (Ticket 145, delivered as hotfix on 2019-03-10)
  • Fixed bug that an empty EventReceiver table in the Project database caused an exception in Tracker. This was only a problem when creating a new, empty Project database for a project and previously required a save of the EventAreas in the Director Manage Project dialog to fix the problem. This is no longer the case. If the EventReceiver table is empty in the Project database, the Tracker will now read default labels and work levels from the corresponding EventReceiver table in the Master database
  • Fixed bug that skipped update to EventState for Entity (Delegate and Derived) and Partition (User Assignment) under certain conditions

Engine Framework 1.3

  • Install on Workstations and Servers running Migration
  • The Xml Schemas (xsd files) generated by the Source Engine Generator will now verify that the Primary Keys of child Business Objects are unique within their parent. If a duplicate is encountered, the generated Source Engine will report this as a System Event similar to 'There is a duplicate key sequence '(the duplicate value)' for the '(name of the child Business Object)' key or unique identity constraint'. This behavior can be switched off by providing the switch VerifyChildUniqueness=false for the Source Engine Generator in the MigFx.config file assigned to the Source Engine in Visual Studio. If not provided, the switch defaults to true causing the uniqueness test to be generated
  • Support for the Guid Value Type and the Guid Data Type
  • Fixed bug that a Null value used as parameter in a Source Map for an event generated incorrect code (Ticket 174, released as hotfix on 2019-06-21)
  • Aligned the Metadata.xml files created by the Source- and Target Engine generators (Ticket 176, delivered as hotfix on 2019-06-20)
  • Fixed bug that the RootImportedItem property for Target Engine rules always was null (delivered as hotfix on 2019-06-21)
  • Signature changes to Identity methods available to MappingRules. NB: May require refactoring of existing MappingRules, see below

Signature changes for Identity methods available to MappingRules

The Identity methods available to manual MappingRules in generated Target Engines have changed:

  • The keyType parameter has been removed
  • The overloads taking a params array of KeyValueBuilder.Kevalue instances has been changed to take a params array of the .NET base class KeyValuePair<string, string>

The altered signatures are listed in the table below. Please refactor existing MappingRules where necessary.

Previous Signature

New Signature

Decimal Identity(String keyType = null)

Decimal Identity()

Decimal Identity(String keyType, params SDK.KeyValueBuilder.KeyFieldValue[] keyFieldValues)

Decimal Identity(params KeyValuePair<string, string>[] keyFieldValues)

string IdentityString(string proposedKey, String keyType = null)

string IdentityString(String proposed)

string IdentityString(String keyType, string proposedKey, params SDK.KeyValueBuilder.KeyFieldValue[] keyFieldValues)

string IdentityString(String proposed, params KeyValuePair<string, string>[] keyFieldValues)

0 Votes


Login or Sign up to post a comment