Release Notes for DHF 4.3.3

Unlike previous releases, DHF4.3.3. Has a special purpose and scope. The focus of this release is to enable the previous version of DHF (4.3.2) to deploy to MarkLogic 11. Therefore, the majority of the changes are related to the deployment process and tooling.

hubUpdate has no effect

hubUpdate is normally used in the upgrade process. However, because this release is not intended to make changes to the DHF artifacts as part of deployment, this command will have no effect.

Compatibility with MarkLogic Server 11

Data Hub Framework 4.3.3 requires MarkLogic Server 11.

NOTE: Data Hub Framework 4.3.3 has not been extensively tested with MarkLogic Server 10.x. There are no known incompatibilities with MarkLogic Server 10 but it is suggested the MarkLogic Server 11 is used.

REST API shipped with DHF

The REST API that ships with DHF4.x is specific to DHF and is used for standard operation (normally operating on ports 8010-8012). However, The Optic API as well as the GraphQL API as shipped with MarkLogic 11 have been made available on the standard DHF app servers.

NOTE: For a full version of the REST API covering all updates and features found in MarkLogic 11, a separate APP server should be created for this purpose.

Improvements
  • Made necessary changes in 4.3.3 to make it work with 11.x MarkLogic server.
  • Upgraded to Gradle 7.6.4.
  • Upgraded to ml-gradle 4.8.0.
Known Differences and Incompatibilities

In addition to the full review of differences as part of an upgrade, some items related to DHF that are highlighted below:

TDE Template Admin Permissions

Prior to MarkLogic 10, a user with the admin role could see all data related to a TDE generated view. As of MarkLogic 10, the Admin role cannot see views generated by TDE templates by default and must have appropriate read permissions on the template - which acts as view-level permissions. This could possibly cause confusion for an administrator who might be investigating data via a view while using the Admin role since - without a read permission on the view - it appears to the user that the view does not exist. For more information on TDE security, see: Security on TDE Documents

If additional roles are desired to be added to TDE templates in order to facilitate the above, Templates created by DHF can have permissions changed in the following way:

  • TDE Templates generated by DHF are created with the default permissions of the user used to deploy the templates. Altering default permissions on the appropriate role under configurations under src/main/ml-config/security/roles will be added to the templates when the related entity definition files are deployed.
  • Alternatively, the TDE templates can also be generated and stored with source code and permissions defined in permissions.properties file. To generate the TDE templates in the file-system the following command can be run: ‘hubGenerateTDETemplates’. For more information related to defining permissions via properties files, please refer to Specifying collections and permissions
No QuickStart Release

A new QuickStart release was not made for Data Hub 4.3.3 and its use will not be supported.

Release Notes for DHF 4.3.2

Base URI Required for Entities

In previous versions, the base URI property of entities was optional, as it still is in Entity Services.

Now, Data Hub validates the base URI property of entities and makes the property required. It must be in the format http://example.org.

To add the base URI property to existing entity definitions,

  • you can edit the entity in QuickStart, or
  • you can manually edit the entity definition file in your-project-root/entities to add the baseUri property.
    {
      "info" : {
        "title" : "MyEntity",
        "version" : "0.0.1",
        "baseUri" : "http://example.org"
      },
      "definitions" : {
        ...
      }
    }
    

Important: If your application uses multiple entity definitions, you must provide a valid base URI in every entity definition used. Otherwise, deploying your application will fail when the entity definitions are loaded into MarkLogic.

Tip: Use the same base URI for related entities.

Compliance with Entity Services Format

Manually created or modified entity definitions must now comply with the required format as defined in the Entity Services documentation, except that Base URI is required by Data Hub.

Requires MarkLogic Server 9.0-7

Data Hub Framework 4.3.2 requires MarkLogic Server 9.0-7 up to the latest 9.x version.

NOTE: Data Hub Framework 4.3.2 is not compatible with MarkLogic Server 10.x. If you prefer to use MarkLogic Server 10.x, you must upgrade to Data Hub 5.x.

Improvements
  • Made necessary changes in 4.3.2 to make it work with 9.0-10+ ML server.
  • Upgraded to ml-gradle 3.16.0.
  • Upgraded to Java API Client 4.2.0.

Release Notes for DHF 4.3.1

Bug fixes.

Release Notes for DHF 4.3.0

Added Support for XQuery Namespaces

To align better with Entity Services, DHF now supports XQuery namespaces. For more information on namespaces, see Understanding XML Namespaces in XQuery.

Replaced Security Roles

For easier integration with other MarkLogic services, DHF 4.3 uses new security roles.

The old security roles hub-admin-role and data-hub-role are now replaced with the following new roles:

  • Data Hub Admin (data-hub-admin)
  • Flow Developer (flow-developer)
  • Flow Operator (flow-operator)

For more information on these roles, see Security Roles.

To update your data hub to use these new roles, see Upgrading to DHF 4.3.x.

See Also