Page tree
Skip to end of metadata
Go to start of metadata

Registry v5.0.0 is a significant rewrite due to the retirement of the older version of the underlying framework (CakePHP v2). The project leveraged this opportunity to clean up a number of long standing issues, some dating back to v0.1. As a result, upgrading will be fairly disruptive.

Approaches to Upgrading

Existing Registry installations cannot be upgraded in place. Data must be migrated to a new v5.0.0 based installation. As such, the recommended approach is to first stand up a new v5 Registry test instance, and then perform a test migration.

Performing Data Migration

XXX

What Changed

URL Formats

CakePHP has changed its URL format, so pretty much all bookmarks will need to be changed. In general, controller names now use hyphens instead of underscores, and named parameters now use standard query args. So, for example

https://my.server/registry/co_enrollment_flows/start/coef:10

becomes

https://my.server/registry/co-enrollment-flows/start?coef=10

It's possible to set up Apache rewrite rules to accept the old format and translate it to the new format, however Registry v5 does not include this sort of configuration out of the box.

REST API

Registry v5 introduces API v2. Although similar, it is not the same as the previous v1, and so existing code may not work without modification. Of note:

  • Responses now include metadata.
  • Support for pagination has been added.
  • Multiple records can be provided in a single add request.
  • XML payloads are no longer supported.
  • The VOOT API is no longer supported.
  • "Translated" enumerations are no longer supported. Where v1 used (eg) the string Active, v2 simply uses A.

REST API Users

API Users created in Registry v5 use API Keys that are randomly generated, and hashed using a different method than earlier versions. API Keys (formerly called "passwords") will continue to work, and they will be rehashed automatically when the API User authenticates. However, it may be desirable to generate new API Keys for existing API Users after upgrading, since the newer hashing mechanism is stronger.

Database Tables

The Registry database should ordinarily be treated as a "black box", and code or interfaces should not be designed around direct table access. Registry v5.0.0 changes the name of all tables (mostly to drop the cm_ prefix) and restructures various tables. For full details, review the documentation for tables of interest.

Plugins

XXX

  • No labels