EWM / Rational Team Concert Extensions Workshop changes for 7.0.3

The latest release for EWM/ELM requires changes to the EWM / Rational Team Concert Extensions workshop. This post explains the changes, and how to setup the EWM / RTC Extensions Workshop for 7.0.3 and later.

Introduction

The post contains the changes that I am aware of that need to be done in the steps to setup the EWM Extensions workspace for EWM 7.0.3 and later. The changes are all in Lab 1. When successfully performing Lab 1, the rest of the workshop should work as before.

Please note, I have performed the steps explained below. I have not performed a complete EWM extensions workshop for EWM 7.0.3 myself. If you experience any issues, please share this with the community e.g. leaving a comment.

In the post I assume the install folder is:

C:\RTC703Dev\

10-Free Developers License Activation Kit

Unfortunately the 10-Free Developers License Activation Kit, also called Developer-10-C client access license, has been discontinued. See the documentation here. To use the development environment long term requires to use an available license.

P2 based SDK Target Platform setup

Starting with the 7.0.3 release, the EWM/RTC SDK is available as P2 install. Instructions how to set up the target platform can be found attached to the wiki entry here. Please note, it is important to make sure to select the options precisely as described.

Single SDK for client and server extensions development

Since 7.0.3 there is no longer a need to have a server SDK and a separate client SDK. Now only one SDK install package is available. The package contains the server SDK as well as the client SDK.

Keeping a dedicated workspace for client Extension Development or to run a development client, separate from the server SDK workspace is still a best practice.

Feature based launches plugin

There is a new feature based launches file available. in 1__3 download the feature based launches from this wiki entry.

Detailed steps

Steps: 1.3__20 in extensions workshop replace with 1.2 and 1.3 in EWM_SDK_Setup_UpdatedV2.1.pdf . Note, the 1.4 from EWM_SDK_Setup_UpdatedV2.1.pdf is not necessary. You can skip this for the workshop.

Perform 1.5 in extensions workshop

For 7.0.3 Java11 is required. You can obtain Java 11 by, downloading the Client for Eclipse 4.23 IDE EWM-Client-Win64-7.0.3.zip (772.84 MB) from the all downloads page. Extract to C:\RTC703Dev\installs\ and add the JDK C:\RTC703Dev\installs\jazz\jdk.

Perform 1.7__44 in the workshop like installing the SDK like you did in 1.5. See 1.3 in EWM_SDK_Setup_UpdatedV2.1.pdf . You do not have to perform the plugin imports for the licenses, but it does not harm if you do the steps either.

In 1.10 Set up a workspace for Plain Java Client Library development, when creating a Java project for Java 11 or later, make sure to uncheck the box Create module-info.java. If you forget this and create an Eclipse project, you will have problems with access to the Plain Java Client Libraries user library. If you accidentally created the module-info.java, just delete the file.

Defects

The Lab 1.9 Test the RTC Eclipse client launch fails in 7.0.2 SR1 due to defect 511733 and in 7.0.3 due to defect 572706. It is unfortunate that this makes developing and testing the Eclipse client extensions impossible.

Summary

As far as I am aware, these are the only changes that need to be done to the EWM / RTC Extensions Workshop. If anything comes up, I will add it to this post.
As always I hope this helps EWM users out there.

TLS1.1 and How to Make the EWM/RTC Extensions Workshop Work

I did not have to use the EWM Extensions workshop for a while. But recently I wanted to look into the API and noticed that I was unable to work with my setup for the EWM Extensions Workshop. I was unable to connect to the Jetty based debug system

  1. Using a browser
  2. Using an Eclipse client

Both issues are due to the fact that the built in Jetty only supports TLS 1.1 and TLS 1.1 is no longer supported by the current web browsers and it is also disabled in the most recent Java Versions. I have created defect 563338 for this issue. The work item describes a work around that I was able to find.

To allow Firefox to connect to the Jetty debug server, type about:config into the search/URL field. Agree to the disclaimer and open the Advanced Properties. Find and change the setting security.tls.version.min to 1.

Find and change the setting security.tls.version.min to 1.

You are now again able to log into the Jetty based debug server at https://localhost:7443/jazz/ again.

To be able to connect an Eclipse based client to the server, requires to allow Java to use TLS1.1 again. Go to the JRE folder jre\lib\security open the file java.security. Remove TLSv1.1 from the jdk.tls.disabledAlgorithms setting.

Make sure that this Java version is used to run the Eclipse you want to connect to the debug server. If you want to run with an external Eclipse, make sure to set the VM setting to the modified Java vm. If you want to run an Eclipse debug client from within the Eclipse development environment, make sure to add the modified Java to the Installed JREs in the preferences. and set the JRE to active. Make sure this Java is used in the build path when you start the Eclipse client.

I tested this with the 7.0.2SR1, but it should work with previous versions as well.

As always, I hope this helps users out there with their work.

The RTC Extensions Workshop has been updated for EWM 7.0.x

I am very passionate about the RTC Extensions Workshop as you might be able to tell from the content of this blog. Performing it with EWM 7.0.x provided several challenges. It became apparent that an update to the workshop would be beneficial.

I spent a considerable amount of time in the past two months to update the workshop. As a summary the following items where addressed:

  1. Since the CCM server is shipped with WebSphere liberty profile, configuring the server for debugging needed to be changed. The old way to configure the server still worked in the 6.0.x versions, so it went unnoticed. With EWM 7.0.1 this is no longer the case and the workshop was updated to address this.
  2. The advanced capabilities introduced in the EWM SCM system in the 6.x and later caused a deviation of the screen shots showing the pending changes. The workshop setup tool was slightly changed to fix this.
  3. The workshop setup tool and its shell script has been tested with Linux and MAC OS.
  4. I wanted to add a section to Lab 1, explaining how to setup the existing Eclipse client/server development workspaces to better support development and debugging of the Plain Java Client Libraries forever. The new last optional section addresses this. For this reason Lab 1 of the workshop is a must for anyone intending to create Java based automation or extensions to RTC/EWM.
  5. I had an errata list with a number of small issues, typos, naming inconsistencies and the like that were fixed. During reviews a bunch more showed up and were fixed.
  6. A colleague ran the workshop on his MAC, so this works. Use whatever is available for MAC like Eclipse and where this is not specifically available, use the Linux versions.

The RTC Extensions Workshop has been published with an additional section for the new EWM versions and is now available for download. I will update recent posts around the workshop in the next few days.

As always, I hope that this blog post helps the users in the Jazz Community.

EWM/RTC Extensions Workshop works with EWM 7.0.x

As published in Issues with the EWM/RTC Extensions workshop in 7.0.x versions, there was an issue that caused the RTC Extensions Workshop to fail starting a Eclipse debug client in Lab 1.9. The problem and how it was caused has been found. I have just tested the RTC Extensions Workshop Lab 1 with the new EWM Client SDK (7.0.1 and 7.0.2) and it works now as it should. I will update my previous post.

Update for the Extensions Workshop now available

All the issues have been addressed in an update to the RTC Extensions Workshop for the 7.0.x and later versions. This should address all the issues.

While running the test, I found that I had to increase the maximum heap size for the launch [RTCExt] Jetty RTC Server, because the JUnit Test that is run to create the test database, ran out of heap memory. I doubled the value from -Xmx256M to -Xmx512M and the error was gone.

Increase the available heap

The fix is only in the EWM/RTC Client SDK, so it is only necessary to download that again.

Please note that due to the name changes and newer versions of Eclipse, there might be some small differences between the screen shots in the RTC Extensions Workshop and the newer versions. However, they are so minor, it should not be an issue. I am currently looking into updating the current Extensions Workshop material with small changes to help guide the user with these changes.

The issue with server debugging explained in Issues with the EWM/RTC Extensions workshop in 7.0.x versions, is still apparent in 7.0.2. The suggestion to change the JRE of the server in that blog post holds.

As always, I hope that my posts here help the Jazz user community and save them some time.

Issues with the EWM/RTC Extensions workshop in 7.0.x versions

I have seen issues with the RTC Client SDK for the 7.0.x releases recently. The Server SDK seems not to be affected.

Client plug-in development

UPDATE: The issue with the Client SDK has been found and corrected. Just download and use the new Client SDK.

UPDATE: The issue with the server debugging can be solved as explained below.

If you are using the  Rational Team Concert Extensions Workshop for the EWM/RTC versions 7.0.0, 7.0.1, 7.0.2 and try to start an Eclipse client from the client launch as described in section 1.9 Test the RTC Eclipse client launch, you might run into a problem. I reported the issue in Defect 511733 (use your Jazz.net credentials).

This issue has been solved and you should not see it any longer. Make sure to download the latest Client SDK from Jazz.net.

If you need to develop client extensions and run into this problem, check the status of the defect. Worst case, use a 6.0.6.1 SDK to develop your extension. This is absolutely possible if you do not rely on a new client API feature from 7.0.x.

Server debugging

If you are using the  Rational Team Concert Extensions Workshop for the EWM/RTC versions 7.0.2, trying to launch the development server in debug mode that allows to attach an Eclipse debugger to that server, the server startup fails. In ‘1.2__15 start the server using server.startup.bat’ after adding the debug configuration, the server does not start. The log folder only contains the files start.log and console.log. The content indicates that the connection to the debug port failed because the port was already in use. When checking the pot usage, the port is not in use. This has not been seen in any version before. See Defect 527867 for work arounds and solutions.

Update: see http://EWM Extensions Workshop remote debugging in 7.0.x for how to deal with this.