It's all about the answers!

Ask a question

How can I get Step 18 in Workshop Lab 6 to work in RTC 6.0.1?


Ryan McBryde (5911130) | asked Nov 17 '16, 10:16 a.m.
converted Nov 17 '16, 1:09 p.m.

 I have made it up to the last module and have made it to step 18 in Lab 6, where it asks for the project to be shared and describes the way to select Jazz Source Control and then the component.  In my 6.0.1 instance I am not seeing the option to select source control when I share my project. Any idea as to what I have done wrong?

What I am seeing is that when I share the project I get a box with my repository listed myadmin@localhost and then a place to select a component but there are none shown, the box is completely empty. The Login, New Component, and New Folder buttons are all grayed out. There is an option to create a new repository but I wasn't sure how to proceed in that area.

Any help would gratefully accepted.

Accepted answer


permanent link
Ralph Schoon (63.1k33646) | answered Nov 18 '16, 2:47 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
 That step is not critical to understanding how to write extensions, you can skip it. I can not tell why you won't see the Jazz Source Control option. Since the workshop lab code is loaded from Jazz Source control, you basically have it available.

Ryan McBryde selected this answer as the correct answer

Comments
Ryan McBryde commented Nov 18 '16, 10:50 a.m.

Thank you very much Ralph.

I am going to try and leverage this development environment to build the plug-in that you describe, and provide the source code for, to roll up the estimated hours and time spent from child work items (tasks) to parent work items (stories).  Any tips on how do to so, to extrapolate from this workshop to that specific task, would be appreciated.

THANK YOU AGAIN!


Ralph Schoon commented Nov 18 '16, 11:15 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

Download the code from my blog.
Use File>Import>General/Existing Project>archive file
You bsically have the common and server part in the project similar to the workshop code.

You can use Jetty to debug and experiment....


Ryan McBryde commented Nov 18 '16, 4:51 p.m.

Thank you Ralph,

These steps that you show, should I run them with in the RTC SDK project area that I have created for the workshop or should this be done in a separate project area/workspace?


Ralph Schoon commented Nov 19 '16, 10:10 a.m. | edited Nov 20 '16, 8:58 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

You can do that. You have very few projects. It is nice to be able to look into another existing example.

I have so many today, it is getting hard to handle. What I usually do today is:

  • I run lab 1
  • I add the Plain Java Client Libraries as a user library "Plain Java API"
  • I close Eclipse and then duplicate the RTCxxxDev\workspace\Dev1 folder to RTCxxxDev\workspace\Dev2
  • I continue working with the Dev2/ws workspace and load/import projects there
  • The Dev1 is kept as a template I can copy if I want to setup a new environment for work without all the other distracting examples

I know you could use Eclipse capabilities to hide projects, but I am not a full time developer, so I lack experience and I usually have no time to reorganize all the stuff either.


Ryan McBryde commented Nov 21 '16, 5:30 p.m.

Thanks again Ralph,

When you say "run lab 1" which is the "Setting up the RTC SDK" are you recommending re-executing all of these steps; downloading and installing the RTC install files, the license keys, the plain java client libraries, appropriate version SDK,  FeatureBased Launches, and install the client and test server.

It would seem highly redundant to do them again. I was hoping to re-use as much as possible of the dev env set up that I have already done.

Are you also recommending that I re-run the workshop setup bat?

Is the server setup still required

I was hoping that I could copy over the SDK and feature based launch materials and then create a new workspace that I would "import" your code into and then begin work from there on creating the participant.  I have to admit I am confused as to what I need to include and what I can leave out so that I can work on understanding your code.  I should say that the code looks fairly straightforward but I am struggling with how to build the plug-in from it.

Thank you,

Ryan

 


Ralph Schoon commented Nov 22 '16, 2:08 a.m. | edited Nov 22 '16, 2:09 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

 This is not rocket science. I run lab 1 once, then I duplicate the repository workspace so that I can keep one freshly set up and I use the duplicate to continue development.


The Wokshop setup bat is usually only needed to be run if you want to do the Extensions workshop. Once you have the launches, all you need is to set up the SDK (or have a workspace that has it installed). 

You can copy the launches etc, however, without all the work done in Lab 1 to create the Eclipse workspace you don't have the SDK, licenses etc.  

How deployment and packaging of an extension works is explained in the Extensions workshop. The code works similar.


Ryan McBryde commented Nov 29 '16, 3:35 p.m.

  Hi Ralph,


I believe that I have the environment setup correctly and when I try to start my server up, with the update site and profile in place, I keep getting an OSGI error: 

SRVE0777E: Exception thrown by application class 'com.ibm.team.repository.common.transport.internal.registry.ConfigurationManager.getConfigPropertyService:87'
java.lang.IllegalStateException: No OSGi service was found with the registered name com.ibm.team.jfs.app.config.IConfigurationPropertiesService

I have removed the update site and profile and the error persists. I have found this  link


I see other site folders;  enterprise-update-site, rtc-commons-update-site, update-site and corresponding profiles; enterprise-update-site, profile, rtc-commons-profile.


Ryan McBryde commented Nov 29 '16, 3:48 p.m.

 Ralph,


I assume that you are familiar with the material that Bartosz Chrabski has posted including a video, with no audio unfortunately, that shows a very simple participant creation process.  Assuming that the dev env is set up correctly, shouldn't this process result in a functioning participant?

I have installed and configured from scratch on a new laptop and completed Lab 1 and now I am trying to leverage that env to create this simple participant.



Ralph Schoon commented Nov 30 '16, 2:58 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

 No. I have seen users failing to follow the extensions workshop even if there is all code you need except 2 lines for deployment.


Ryan McBryde commented Nov 30 '16, 10:08 a.m.

Thanks Ralph,

I have tried to follow the workshop as faithfully as I can, with the changes for using 6.01. instead of 4.0.  Can I send you a doc, via email, that describes in detail the steps that I have followed so that you can point out the deficiencies in my approach?  My goal is to create and deploy your "update parent with estimated hours and duration" participant and it has been virtually my only task for the last 2 weeks. I have a deadline of today for delivery. No one but me uses the eclipse client so I am looking at a server side extension.  Is that the correct terminology? Is this a situation where I am "developing only Plain Java Client Libraries"?


Ralph Schoon commented Nov 30 '16, 10:44 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

 I am unavailable this week.


You must create a server extension like in https://rsjazz.wordpress.com/2012/07/31/rtc-update-parent-duration-estimation-and-effort-participant/ . So it is server (and common) API. It is not plain java client library. I can not debug your issues using a word document. I don't see how I can help you if you can't get the extensions workshop to work and import the download above and get it working like in the workshop.


Ryan McBryde commented Nov 30 '16, 2:02 p.m.

 Thank for the message.


I will focus my attention on getting the extensions workshop to work, with 6.0.1.  Once I do, I will copy the workspace to a new one and then import the download into that new workspace.  I will then attempt to get the downloaded code to build using that new workspace, hoping that it will be similar to getting the workshop code to work and that I can simply import the new code and build a new plug-in from it. I see that the download has a feature and participant (plug-in) already defined.  I assume that I will need to create a new update site for it so as not to get contaminated by the workshop code.  If I can get all this to work I will let you know.


Ryan McBryde commented Dec 05 '16, 8:26 p.m.

 I completed Lab 1. I copied the workspace workspaces\Dev1\WS to workspaces\Dev4\WS. After logging in I see the same packages in the package explorer:

/com.ibm.team.common.tests.utils
/com.ibm.team.jazz.foundation.server.licenses.enterprise-ea
/com.ibm.team.licensing.product.clm
/com.ibm.team.rtc.client.feature
/net.jazz.rtcext.workitem.extensions.common
/net.jazz.rtcext.workitem.extensions.service
/RTC Extension Lab Code License
/RTC Extension Workshop Configuration

I imported your participant code by File->Import->General->Existing Projects Into Workspace.  I selected the root folder, 20121127_UpdateParentParticipants
It added these packages:

/com.ibm.js.team.api.workitem.common.utils
/com.ibm.js.team.workitem.extension.updateparent.common
/com.ibm.js.team.workitem.extension.updateparent.feature
/com.ibm.js.team.workitem.extension.updateparent.participant
/License_SDK

continued...


Ryan McBryde commented Dec 05 '16, 8:27 p.m.

 What about /com.ibm.js.team.workitem.extension.updateparent.Updatesite? 

I noticed it in the folder but it didn't create it, so I followed the workshop instructions
and created one called com.ibm.js.team.workitem.extension.updateparent.Updatesite.

I copied the [RTCExt] Jetty RTC Server, added the following bundles; com.ibm.js.team.workitem.extension.updateparent.common and com.ibm.js.team.workitem.extension.updateparent.participant

I started the server with the debug button and after it started I launched an RTC client.

After adding the trial license I created a Scrum based project area and was able to see the UpdateParentDuration and UpdateParentState follow-up actions.

I added the UpdateParentDuration to the process config.

I then tested it in the RTC Client that I had launched and it appeared to work as expected.

I then tried to deploy to the server after building the site.

continued....


Ryan McBryde commented Dec 05 '16, 8:29 p.m.

 I copied the features and plug-ins folder and the site.xml over to the newly created site folder and created a provisioning profile.


I stopped the server, removed the built-on.txt file and restarted the server.

It fails to provision.

I see this as the first line in the Provision Status in the web admin:

CRJAZ0289I Failed to load the properties from the profile "C:\RTC60Dev\installs\JAZZTE~1\server\conf\ccm\provision_profiles\parent-update-site.ini".

And I don't see a component called "com.ibm.js.team.workitem.extension.updateparent.feature" on the Component status page


The message in the ccm log file is the same as in the provisioning status:  (any idea why the "malformed \uxxxx encoding" message?)

continued...


Ryan McBryde commented Dec 05 '16, 8:31 p.m.

CRJAZ0289I Failed to load the properties from the profile "C:\RTC60Dev\installs\JAZZTE~1\server\conf\ccm\provision_profiles\parent-update-site.ini".

java.lang.IllegalArgumentException: Malformed \uxxxx encoding.
at java.util.Properties.loadConvert(Properties.java:615)
at java.util.Properties.load0(Properties.java:417)
at java.util.Properties.load(Properties.java:364)
at com.ibm.team.repository.provision.internal.ProvisionService. installFromProfileNoWait(ProvisionService.java:1314)
at com.ibm.team.repository.provision.internal.ProvisionService. installFromProfile(ProvisionService.java:1269)

continued...


Ryan McBryde commented Dec 05 '16, 8:32 p.m.

  at com.ibm.team.repository.provision.internal.ProvisionService.installFromContextConfigurationUrl(ProvisionService.java:1351)

at com.ibm.team.jfs.app.install.Activator$1.run(Activator.java:177)

end...


Ralph Schoon commented Dec 06 '16, 1:50 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

Did it work on Jetty?


Ryan McBryde commented Dec 06 '16, 12:59 p.m.

 I think so. 


Following the 2.2 section in the lab, I copied the [RTCExt] Jetty RTC Server, added the following bundles; com.ibm.js.team.workitem.extension.updateparent.common and com.ibm.js.team.workitem.extension.updateparent.participant

I started that server with the debug button and after it started I launched an RTC client. 

After adding the trial license I created a Scrum based project area and was able to see the UpdateParentDuration and UpdateParentState follow-up actions.

I added the UpdateParentDuration as a follow-up action to the process config.

I tested it in the RTC Client that I had launched and it appeared to work as expected.  It totaled the Task estimated hours up and shows them on the parent story.

I didn't see any other way to "deploy" the plug-in to the new Jetty Server other than including the bundles in the launch config.

Thank you 

showing 5 of 19 show 14 more comments

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.