Migrating to 2.2 from 2.1

This guide covers migrating MDWorkbench Server 2.1 to MDWorkbench Server 2.2.

One of the goals of MDWorkbench Server 2.2 was to move MDWorkbench Server forward while remaining compatible with previous versions to the greatest extent possible. That is, plug-ins written against the MDWorkbench Server 2.1 APIs should continue to work in 2.2 in spite of any API changes.

The key kinds of compatibility are API contract compatibility and binary compatibility. API contract compatibility means that valid use of 2.1 APIs remains valid for 2.2, so there is no need to revisit working code. Binary compatibility means that the API method signatures, etc. did not change in ways that would cause existing compiled ("binary") code to no longer link and run with the new 2.2 libraries.

While every effort was made to avoid breakage, there are a few areas of incompatibility or new APIs that should be adopted by clients. This document describes those areas and provides instructions for migrating 2.1 plug-ins to 2.2.

Incompatibilities between MDWorkbench Server 2.1 and 2.2

Intercepting Launches

If you registered your own a LaunchInterceptor, be aware that starting with MDWorkbench Server 2.2, the launch.httpRequest property is not present in the context provided in the LaunchInterceptor.launchScheduled(LaunchContext) method when the launch was scheduled and the server got restarted. Your launch interceptor implementation should handle gracefully the absence of this property.

Upgrade of Bootstrap and Angular

Web pages provided within MDWorkbench Server use the Bootstrap and Angular libraries. Those libraries have been upgraded to a more recent version in this new release.

Your own web pages should not rely on the libraries directly embedded within the com.sodius.mdw.server plug-in. Your own web pages should rely on libraries that you control and you provide in your plug-in. If you used libraries directly embedded in the com.sodius.mdw.server plug-in, you are likely to have incompatibilities in your pages as those libraries were upgraded.

Adopting 2.2 mechanisms and APIs

1. Configure Administration

Starting with MDWorkbench Server 2.2, server state and launch management are available in the web application and are restricted to administrators. You are recommended to configure the administration to benefit form those new features.