Tuesday, May 3, 2011

The 10 commandments of good source control management

In IT, we all have to write some amount of code for something (OMNIbus rules, custom scripts, custom web pages, etc.), and that code should almost always go into a revision control system. I say almost always because sometimes you just have to write a quick awk one-liner that you'll never use again. But for anything that's in production, you should have it versioned. This link describes the 10 necessary rules for using source control management:

http://www.troyhunt.com/2011/05/10-commandments-of-good-source-control.html

(There are just a few R-rated words, but nothing egregious.)

Friday, April 22, 2011

Interesting information on Tivoli's Cloud initiatives

https://www.ibm.com/developerworks/mydeveloperworks/blogs/9e696bfa-94af-4f5a-ab50-c955cca76fd0/entry/csp_technical_integration_note_managing_the_core_system9?lang=en

If you're new to Tivoli's Cloud movement, I think the best way to get use out of this paper is to just read about the products that are involved in the total solution. If your company is moving toward the cloud, knowledge of those components will definitely help you.

Tuesday, March 29, 2011

Passing TCR UserID in BIRT Reports

Many times, you might want to display/determine the TCR user name that is invoking the reports. While there is no GUI way of doing this within BIRT, a simple Javascript is all you need. Here is how to do it in BIRT

  1. Select a blank area in the report. This should display report properties in the Property Editior.

  2. Now click on the "Script" tab for the report displayed at the bottom of the main work area. (where Preview/Layout tabs are).

  3. In the script drop down, select "Before Factory" and paste the javascript code below.


    TCR_IUSER = "com.ibm.tivoli.reporting.api.reportEngine.IUserInfo";

    userInfo = reportContext.getAppContext().get(TCR_IUSER);

    userName = "unknown";

    if (userInfo != null) {

    userName = userInfo.getUserPrincipal();

    }



  4. Now you can use the userName javascript variable in your reports to identify/display the TCR User.

  5. For example, to display the UserName, insert a "Dynamic Text" item anywhere in your report and enter the following value. "User name = " + userName
Hope this helps.

Thursday, March 17, 2011

IBM Service Management YouTube channel

This is great - a channel containing lots of fairly technical videos of Tivoli products and integrations:

http://www.youtube.com/user/ismconnect?feature=mhum#p/c/5C4BC71AD2C77801

A great tutorial on ITCAMfT integration with TBSM

TBSM is able to read Discovery Library Adapter (DLA) books from a number of products, including ITM, TADDM, and ITCAM for Transactions (there are others, but I don't know of a comprehensive list). Sometimes the specifics about the integration are dependent upon what other products you have installed, but that is a larger discussion also. This piece from IBM contains extremely useful information on how you can filter the data in the ITCAM for Transactions DLA so that it can be processed more quickly by TBSM and increase the quality of the data in TBSM (by eliminating services that are not important):


The information is great, but you definitely have to do some work before you can just follow along. In the example, they exclude all of the .gif, .css and .jpg components. In many shops, this would work great. However, I've been in some companies that have had problems specifically with .css files being moved/renamed/locked/etc., and those companies would definitely not want to exclude those entities. So before you can just dive in, you need to analyze your business needs and the current state of your components. This could be done in a DEV/QA environment, or possibly in a temporary portion of your TBSM implementation.