Friday, December 21, 2012

Latest videos and articles about RTC SCM

For some of us working in RTC SCM, it's a big snow day, we're not just dreaming about a white Xmas :-) For our developers in locations where snow is a rarity, you cannot imaging the joy of clearing up your drive way... This said, time to reflect on what we've done and published for our RTC users.

Since the articles and videos we listed last July and August, much more has happened in the last  five months.

For CLI users, check out these three videos from Shashik and Sridevi.
If your source code base is large - or should I say, huge - and you have to deal with many variants, you want to carefully think about how to organize it in your SCM. Here are tips illustrated with the popular Android OS code base, from John.
How you use your source with your local tools and how you version it in RTC can be straightforward or very sophisticated. These two articles go to great depth in load workflows.
Yes, process is built-in with every component of RTC - Work Item, planning, build and of course source control. If you're a scrum master, component lead or project manager, this article from Evan is a must read.
And if you want to upgrade to the latest version of your VS IDE, we got it covered... Vandana gives an overview there.
For tips on how we review changes when fixing defects and how we set process conditions to ensure appropriate reviews are in place, have a peek at this blog post from myself, and its two videos.
See you in 2013! We've got more in the pipeline...

Tuesday, November 27, 2012

Try out the latest 4.0.1 RTC SCM in the jazz.net sandbox

It's really easy to get a feel for the latest RTC SCM 4.0.1. The jazz.net sandbox gets you up and running in seconds. All you need is a jazz.net login account. You'll have your own project area hosted on jazz.net, ready for your trial of RTC and SCM.

Create your jazz.net sandbox


  1. Go to www.jazz.net/sandbox . You may have to create a free jazz.net user account if you've never been there before. That will also allow you to open work items and ask questions on the forum.
  2. Pick the option /sandbox2 - you'll get your project hosted on the very latest RTC 4.0.1 server
  3. Give a name to your project area - e.g. mine is called chrisx's 4.0.1 project.

Upload content into your jazz.net sandbox


Click on Source Control / Welcome to Source Control. You're ready to try our latest SCM!


Your project area is mostly empty to start with. It does come with a default stream, into which you can add folders and files. From the Welcome to Source Control page, click on Show Streams and navigate into the one stream listed there. It has one component which contains no files or folders. Adding new files and folders is very easily done through the Web UI. Click on the Add folder icon as indicated below, give it a name and hit save.


Once that folder is created, you can upload new files, etc. Here below we created a new text file named 'readme.txt'.


Invite others to your sandbox on jazz.net


Being alone isn't the greatest way to try a collaborative tool. So go back to www.jazz.net/sandbox, click on sandbox02/ again. This lists all your project areas, including the one you have just created. Click on the Invitations button and bring your teammates to your trial party. Once they accept your invitation, they will be added to your project area. They will be able to see the files you have added earlier to that default stream and start collaborating with you through RTC Source Control.


Try out the other (non Web UI) RTC Source Control clients


At that point you and your co-workers may want to try out other RTC clients such as the Eclipse RTC Client, RTC Client for Microsoft Visual Studio, RTC Shell (which integrates into the Windows Explorer) or the Command Line Interface tool. You can download the desired client (and your own server if you want to go beyond what the jazz.net hosted sandbox provides) at https://jazz.net/downloads/rational-team-concert/.

As an example, I downloaded and installed the RTC Shell client. This client integrates into the Microsoft Windows Explorer, so I can easily sync up files and folders loaded on my local drive and collaborate with my team members. After the installation, you just accept the team invitation (see below) which is available from the jazz.net sandbox (see above).


I followed the recommendations of the 'Accept Team Invitation' wizard. I created a repository workspace from the stream I had been using earlier and loaded its content under my local drive. It created the expected Documents folder and readme.txt file I had added through the Web UI.


This is showing the RTC Shell client integrated into Windows Explorer. This content was loaded from the RTC server hosted on the jazz.net sandbox. I can make changes to these files and folders with my local editors (Notepad etc.), check-in and deliver them so that others in my team can access them.

Summary


It's really easy to get a quick feel for our latest RTC SCM, with the jazz.net sandbox. And if all you want is to play with our Web UI, you have nothing to download!

Friday, November 23, 2012

Icons used in Rational Team Concert Source Control

The Eclipse client for RTC, RTC Client for Microsoft Visual Studio and the Web UI use specific icons to represent SCM artifacts. These base icons are enhanced with extra visuals relative to their status in certain views (e.g. the Team Artifacts view, Pending Changes view, Repository workspace editor, etc.). Here's a list of the basic icons and their variants used in the SCM. If you are not familiar with any of the terms used below, please try out Good practices and key workflows for Rational Team Concert Source Control users for appropriate references.




Stream


 Repository Workspace


Snapshot


 Baseline




Component


  1. Component (if shown within a repository workspace, also indicate it is loaded or partially loaded in my sandbox)
  2. Component owned by a project area
  3. Component owned by me
  4. Component owned by a contributor who isn't me
  5. Component (if shown within a repository workspace, also indicate it is not loaded in my sandbox)
 



Change Set


  1. Change set (active i.e. not completed, not linked to any work item)
  2. Current change set (active i.e. not completed, auto check-in will default to this change set)
  3. Completed change set (not linked to any work item)
  4. Completed change set linked to one work item
  5. Completed change set linked to two or more work items
If you are puzzled by other SCM icons, please drop a comment below with a link to a screen capture (e.g. attach it to the work item 40464). Hope this reference will be helpful to you.

Note. For icons inside the Pending Changes view, explanations are also provided here.

Friday, September 28, 2012

working with different currencies

One of the things that I like the most about Rational Team Concert is how we solve problems which cross-cut across the developer's perspective.  What this means is that the change sets that a developer produces are linked to work items, which often have a particular process workflow to them.  The change sets are also captured in snapshots via builds, so we have traceability from builds right through to the work item or plan.  We almost take this traceability for granted, having used the product now for > 5 years and counting.  This traceability provides another benefit that may be subtle to some people.

The linking of work items to change sets allows for users of different backgrounds to talk about the same problem in language that they are most familiar with.  We have found that many people indicate that they "deliver work items" to the stream when they are done.   The work item tends to be where the discussion happens, and where consensus is reached.  The code artifacts are derived from that understanding.  So when talking to a development manager, they are interested in knowing that the work item is closed (and the fix delivered) rather than the specifics as to how the fix was done.

So while developers may talk change sets, their bosses may talk work items, or change requests.  Which is why we try and write features which deal in both currencies, like Locate Change Set.


As you see in the above screenshot, Locate Change Set allows users to work with either change sets or work items in order to ensure that people can answer questions using the terms and currencies they are most comfortable with.

Similarly, when someone compares builds, the comparisons come back in the forms of change sets or work items.  We have numerous features in Rational Team Concert that work like this.  When you allow for users to answer questions using the concepts they are most comfortable with, you create an ease of use that really helps to allow different roles to enjoy using the product.  

Thursday, September 27, 2012

Preview - Gap detection when reviewing changes (Eclipse & VS clients)

A developer gets often asked to review the changes associated to a work item. What if some change sets are missing? The new Change Summary view detects inconsistent situations automatically for you.


In the above example, the reviewer selected the change sets associated to the work item to be reviewed and clicked 'open'. The Change Summary view shows which files are modified by these change sets. The file MobileWebView.java is flagged with a special decoration - a red square and a description 'in 2 disjoint change sets'. What is so special about this file?

The reviewer decides to double-click on this element. Instead of a compare editor showing the changes to that file, a prompt comes up.

 

The file MobileWebView.java is modified by 2 disjoint change sets, i.e. change sets that aren't related to each other because they refer to unrelated versions of MobileWebView.java. The Details pane comes up automatically in this case, showing the change sets that have a gap as shown below. The dependency graph is actually disconnected (broken green and red graphs).


The reviewer can ping the developer on the work item and ask him or her if they have forgotten to associate a change set to the work item. In this case, the developer had associated a change set to a different work item by mistake. After moving it to the correct work item, the reviewer could review the three change sets together correctly.

Note. In certain situations, disjoint change sets are expected and perfectly valid (e.g. developer had to do multiple change sets intertwined with deliveries from other team members). The reviewer will simply review each disjoint change set through the Details pane.

Note. Prior to 4.0.1, there was no Details pane. Disjoint changes were represented as multiple nodes in the Change Explorer view with no identifier about which change set they originate from. In 4.0.1, the Change Summary pane and the Details pane provide more comprehensive information in these situations, making code review both efficient and safe.

Note. Visual Studio client figures the same details pane support in the Change Summary view, as illustrated below. This feature was jointly developed in 4.0.1 by a feature team working simultaneously on the Eclipse, Visual Studio and Server development. In prior releases, different component teams were responsible for adopting new features, usually in different milestones.


Note. Expect to be able to try out this new feature with 4.0.1 M4. As we are transitioning toward feature teams and continuous delivery, I am experimenting with previewing our latest work on this non official blog. Go to jazz.net for the latest milestone build and official new and noteworthy. There is no guarantee a preview will make it to a stable build.

Preview - New details pane when reviewing changes (Eclipse & VS clients)

In certain situations, seeing all the combined changes from the various change sets doesn't give a clear picture. The reviewer may want to understand which individual change sets modified the file MobileWebView.java. Simply turn on the 'Show details pane' option under the Change Summary's drop down menu. This brings up the Details pane shown below.


 In our example, the file MobileView.java was modified by all three change sets created by Christophe. Each change set's comment is available, which can help understand the purpose of each change set. Dependency graph shows the ordering of the change sets and the reviewer can double click on each row to inspect each change individually, gaining a progressive idea of how the whole bug was fixed.

Note. Expect to be able to try out this new feature with 4.0.1 M4. As we are transitioning toward feature teams and continuous delivery, I am experimenting with previewing our latest work on this non official blog. Go to jazz.net for the latest milestone build and official new and noteworthy. There is no guarantee a preview will make it to a stable build.

Preview - New dedicated Change Summary view for reviewing change sets (Eclipse & VS clients)

Once a bug is fixed, a good practice is to ask one of your peers to review your changes. Ping them on the work item you have resolved or set an approval. The reviewer will be notified and will open the associated change sets.


The reviewer can then go through every file that was modified and open a compare editor showing the combined changes for that file.


In the above example, the reviewer selected the file MobileWebView.java and double clicked (or right clicked and selected the action 'Open in Compare Editor'). This brings up a compare editor that shows how the selected change sets combine to modify that file.



Note. The Change Summary view should look familiar since it is drawn from the previous Change Explorer in the 'Show Files' mode. The previous Change Explorer view supported two modes, one focused on file changes 'Show files' mode and one focused on comparing sources such as streams and workspaces 'Show change sets' mode. In 4.0.1, the 'Show files' mode is evolving with richer capabilities such as the Details pane and is moved to a separate new view named 'Change Summary'.

WorkflowView used in 4.0.1View used in previous releases <= v4.0Artifacts shown
Review change setsChange SummaryChange Explorer in 'Show files' modefiles and folders affected by selected change sets
Compare workspaces, streams, snapshots or baselinesChange ExplorerChange Explorer in 'Show change sets' modeChange sets (e.g. change sets from source stream that aren't in target stream and vice versa)


Note. Expect to be able to try out this new feature with 4.0.1 M4. As we are transitioning toward feature teams and continuous delivery, I am experimenting with previewing our latest work on this non official blog. Go to jazz.net for the latest milestone build and official new and noteworthy. There is no guarantee a preview will make it to a stable build.