CoreMedia Content Cloud v13 Upgrade Guide / Version 2512.0
Table Of ContentsFor internal communication between CoreMedia CMCC components, gRPC has been added as an alternative to CORBA. Communication via CORBA is still available and the default. As long as you plan to stick with CORBA, no changes to your code or operations procedures are required. Should you want to switch to gRPC as your communications protocol between CMCC components, the following sections will provide information and pointer for additional details to do so.
In the course of adding gRPC as a communications protocol, however, breaking changes were introduced:
The old workflow client API and its implementations have been removed. They were actually unused after removing the Site Manager. This API was deprecated with 2406.2.2 and 2506.0.2. This affects the classes in the following packages:
com.coremedia.workflowcom.coremedia.workflow.common.utilcom.coremedia.workflow.worklist
The public workflow server API has been moved. The Java packages of the affected classes didn’t change, but they are now contained in Java artifact
com.coremedia.cms:cap-workflow-serverinstead ofcom.coremedia.cms:cap-workflow. Consequently, they cannot be used in extensions other than for the workflow server anymore. For clients, use the Unified API. Documentation for the moved classes used to be at CoreMedia Shared Common API and can now be found at CoreMedia Workflow Server API.
Upgrade Information
Note
With release 2512.0 of the CoreMedia system, the Workflow Server does not yet offer gRPC services to its clients. Activating gRPC on clients (for example, Studio Server or command line tools) won't do any harm as long as these are of release 2512.0, too. Future clients, though, will fail to connect to that Workflow Server if gRPC is active on them.
Keep this in mind when operating a mixed-release CoreMedia system setup. In such scenarios (for example, during upgrades), it is recommended to leave clients in their default protocol mode CORBA.
While servers always offer both protocols for clients to connect, clients can be configured to use either gRPC or CORBA. The protocol can be chosen freely on each start of a component. Currently, CORBA is the default protocol.
Note that Content Servers and the Workflow Server also contain client parts for internal communication, for example, for internal repository access, publication or replication. Choosing a protocol on a server therefore does make a difference although services offered by the servers to their clients always cover both protocols.
Information for Developers
See Section 3.2.2, “Docker Compose Setup” in Blueprint Developer Manual , Section 4.3, “Build and Run the Applications” in Blueprint Developer Manual on how to activate gRPC in a development setup. Refer to Unified API Developer Manual, Section 4.1.1, “Creating a Connection” in Unified API Developer Manual for details on connection parameters for gRPC.
Information for Operations Engineers
See Section 4.4, “Communication between the System Applications” in Operations Basics for details on how to configure and secure gRPC communication in your environment.
Replicator and Publisher require specific configuration for gRPC:
For the Publisher, refer to Section 3.2.3, “Properties for the Publisher” in Deployment Manual.
or the Replicator, refer to, Section 3.2.5, “Properties for Replicator Configuration” in Deployment Manual.
In a Nutshell
Adjust hostnames and ports in the following variables to your setup where necessary. Mind that there is no scheme to the gRPC addresses as those are not URIs.
To enable gRPC communication for the Content Management Server, set the following environment variables on the Content Management Server process:
REPOSITORY_USEGRPC=trueSPRING_GRPC_CLIENT_CHANNELS_CAP_ADDRESS=content-management-server:40165SPRING_GRPC_CLIENT_CHANNELS_WF_ADDRESS=workflow-server:40365(not for Workflow Server; this setting is not in effect yet but may be added without harm)REPOSITORY_HTTPBASEURI=http://content-management-server:40180
To enable gRPC communication for a Replication Live Server, set the following environment variables on the Replication Live Server process:
REPOSITORY_USEGRPC=truePUBLISHER_TARGET_0_GRPC_ENDPOINT=master-live-server:40265(repeat for each publication target)PUBLISHER_TARGET_0_HTTP_BASE_URI=http://master-live-server:40280(repeat for each publication target)
To enable gRPC communication for a Master Live Server, just set
REPOSITORY_USEGRPC=trueSPRING_GRPC_CLIENT_CHANNELS_CAP_ADDRESS=master-live-server:40165REPLICATOR_PUBLICATION_HTTP_BASE_URI=http://master-live-server:40280
To enable gRPC communication for the command line tool publishall, see the new command line options in Section 3.13.3.5, “Publishall” in Content Server Manual.


