Breaking The Ice With RTC

I recently began working part-time with TechRev as a Jr. Software Engineer while pursuing my Bachelor’s Degree. As my first assignment, I have been tasked to work on IBM’s Rational Team Concert (RTC), a software development team collaboration tool. Actually, my entire job for the past three weeks has been living and breathing RTC—watching countless tutorials and reading threads. My project goal is to create unique tools and features that RTC does not natively support. The components that I will create will allow for a more flexible experience for RTC users and enhance the ability to interact with RTC. After all this research, I have a good grasp on the power of RTC.

RTC provides users with a vast array of features including repository, source code control, integrated bug tracking, a WEB UI and even an Eclipse UI. These interfaces are the real charm of RTC, as they offer an easy way for users to manage their team and collaborate their source control with ease.

As I read and worked on RTC, I was under the impression that this program was similar to GitHub. While RTC does provide some similar functionality as Git, it’s capabilities goes beyond those of GitHub. RTC allows for team members to have roles in their project, it also has “work items” to keep track of team members responsibilities throughout the project's life cycle. In short, RTC is for team/project development, while GitHub is mainly used for open sourcing software. RTC can be used for more than just holding source code, it can be used for any type of team collaboration project.

RTC interface

Status View of RTC Extensions (including RTC's own)

Sometimes, our clients need a certain feature that is not available out-of-the-box with RTC, fortunately, RTC has a robust API and extension points that allow for us to extend the capabilities of RTC. Adding customer requested features requires knowledge of the RTC framework and an understanding of how it is structured. There are many videos and online guides on how to extend RTC with custom content. Basically, there are two ways to create an RTC extension - Java and Javascript. Sometimes you need to use both; say you want to extend the Web UI, then you would use Javascript, but if you want to extend the Eclipse UI, then you need to use Java. The fastest way to extend RTC is to use the built in Jazz Libraries that are provided. Additionally, when extending the Web UI, the JavaScript based Dojo Toolkit is used for some of the visualizations and advanced display customizations.

Extending RTC is probably the most challenging part of the program, but the end product is always exciting. There’s a lot of information to understand when it comes to extending RTC, but thankfully, Jazz provides us with a wonderful Java and JavaScript API that allows our developing process to be done much quicker. For me, the challenge is to fully understand what the API is capable of. I’m looking forward to unraveling the potential of RTC and the functionality of its API as I am now ready to begin working on my first real RTC customization project.

Skip to toolbar