Sunday, February 26, 2006

3i Version 1.1 Now Available!

The latest and greatest version of 3i Asset Information Management software is available for your evaluation. The 3i team at Cumulate Labs is looking forward to hearing your feedback!

Also available from
Get it from CNET!

Thanks to all of our evaluators and potential customers for making version 1.1 solid!

-The 3i team

Monday, February 06, 2006

3i Version 1.1 is coming

In the next couple of weeks, the 3i team will release version 1.1. The main features in this release are:
-Option to assign detected user as owner of an asset
-Consolidated view of all repair items
-Consolidated view of all assets by location
-Consolidate view of all assets by owner
-Asset by Owner report
-Improved installation (.net is automatically installed if not detected)

Wednesday, January 04, 2006

How to track ANYTHING with 3i

3i isn't just for traditional software and hardware asset tracking. In fact, anything you deem worth tracking can be managed in 3i!

The key to unleashing this functionality is the use of custom assets. Custom assets are exactly what you might expect - anything you want them to be.

An exciting feature that 3i offers is the abilty to create custom asset "types" which act as templates for your custom assets. The custom types are collections of fields, or attributes you would like to capture for your custom asset.

You could for example, create a custom asset of type "vehicle". Lets get started by walking through this example.

First, create a new custom asset type. Select 'Manage' from the top menu and click on 'Custom Types and Custom Fields'.

On the next dialog box, click the 'Add' button and change the text in the Type column to 'Vehicle'. To save this new type to the database, click the 'Apply' button.

Click the 'OK' button to close this dialog.

Next, we'll define the groups and fields that make up your custom type.

Back in the 'Manage Types and Custom Fields' dialog, click on the icon in the left-hand nav bar titled 'Custom Custom Field Groups'. The dialog should look like the one below:

Now its time to enter the groups and attributes, or fields, you'd like to track for your custom asset of type 'vehicle'.

Select 'Vehicle' from the select box titled 'Select Asset Type'.

After selecting the Vehicle type, lets add a group of attributes to describe the vehicle's engine.

Under the 'Add Group' column, click the button 'Add' and edit the row that is displayed to read 'Engine'.

You should now see a dialog similar to the one on the left.

3i allows you to add not only text, but also date, selection, numeric, and boolean (true/false) fields to your custom types.

Lets add an attribute or field to the 'Engine' type called 'capacity' and make it a numeric field.

Now, lets create another field for our Vehicle type, this time as a selection box. Under the heading “Add Fields to Groups” click the “Add” button. Highlight the new row that appears under the row for “capacity” and change the filed name to “number of cylinders”. In the “Field Type” column, select “SELECTION”. Notice that when you choose “SELECTION”, the “Add” button under the “Add Selection Values” section is enabled.

Lets now define a discrete set of values for the “number of cylinders” field. In the section titled “Add Selection Values”, click the “Add” button three times. You now see three new rows in the column “Value”. Select each row individually and enter values; I have added “4”, “6”, and “8” arbitrarily – you can add whatever you want! Perhaps a “3” for your Geo Metro? I would suggest “12” if you plan on tracking Italian sports cars.

Phew! We’ve almost created a new Vehicle type. Now for the hard part. Click “Apply” to save your work. Now click “OK” to close the dialog. Sweating or out of breath yet? Didn’t think so.

Lets take a look at what a real use of the Vehicle type would look like by adding a vehicle to 3i. From the ‘Edit’ menu, select ‘Add Custom’.

You are then presented with the ‘Add/Update Custom’ dialog, as seen below. Enter text into the Asset Display Label and Asset Description to help differentiate this particular asset.

Here's where things get interesting. In the Asset Type section, drop it down with a click of your mouse and select 'Vehicle', the custom type we just defined. Remeber all of those custom attributes we defined in the group we named 'Engine'? They all are contained in the new tab that appears magically in the Add/Update Custom dialog as soon as you select Asset Type 'Vehicle'. Lets click on the Engine tab.

As you might imagine, the two attributes we defined for the type are included in the Engine tab.

Enter a value for the capacity and number of cylinders. Click 'OK' on the bottom of the dialog to persist your values to the 3i database.

Now that you have created a type and a custom asset based on that type, you may want to make sure everything is where it should be. You may have the need to actually view or update this asset again, so how do you do that?

In the main 3i UI, find the Navigation pane and highlight 'Custom' You will see two subtrees beneath titled 'Type' and 'Location'. Click on 'Type'.

You will immediately see the fruits of your labor - a subtree titled 'Vehicle'. Click on it and your vehicle you just entered into the system is display in the Custom Asset List on the right-hand pane.

Double-clicking on the row for your vehicle will enable a new dialog titled 'Add/Update Custom ehicle'. You can view or update the information contained as you see fit.

"OK, great, but what about reporting?" you might be asking...

On the main 3i UI, select the 'Report' menu, followed by 'Custom' menu. Select the report titled 'Custom By Type'. An example of the rich reporting capability built into 3i is displayed below.

The flexibilty of custom assets allows you to choose the types of assets (as well as the attributes of those assets) you want to track. The powerful searching and reporting capabilities built into the framework of 3i make tracking and communications regarding these assets simple and surprisingly efficient.

Monday, November 07, 2005


We are please to announce Version 1.0 of 3i Asset Information Management system. For more information and Evaluation Download go to:

Thursday, October 27, 2005

Using the eclipse help browser

We wanted to integrate the eclipse help with 3i. Now this would have been an easy endeavor if we were an RCP application. However since 3i is an swt (plans to migrate to RCP are a high priority), integrating help was a little bit tricky. The instructions which come with the eclipse documentation missed a few things for eclipse 3.1, so I will list the steps we followed.
1. Copy eclipse with minimal set of plugins into our classpath. The minimal set mentioned in the documentation is incorrect. here are the additional plugins we needed to run help correctly:
All* plugins
2. Next we created a plugin for our own help documentation under plugins, this went pretty much by the book, See this eclipse article on how to create a help plugin.
3. Now came the tricky parts which took a lot of tinkering. We wanted to create our own branding for the help browser i.e show 3i icon and title on the help browser. At first it seemed that adding the product extension point to 3i help plugin would do the trick
however this did not work, after hours of playing around we found out that the above extension needs to be added to plugin's, plugin.xml file.
4. But we were not done yet. We still have to tell eclipse to use the help application as a starting point, since by default eclipse uses:org.eclipse.platform.ide and hence does not pick up the product branding we defined. So we go to the configuration folder under our modified eclipse home directory and open config.ini. In there we changed an entry to look as follows:

# The product to run. A given Eclipse configuration may contain many products.
# The product identified will supply the branding (window icons, title bar text) etc
# as well as define the default application to run.

notice that now the default product points to the product extension we defined. For more information on how to define an eclipse product see this.

Friday, October 07, 2005

Update on 3i Progress

3i is coming along really well. The last two months have been hectic. Since the last post, we have integrated linux detection, implemented reporting and several other small features. In the process we have worked with a few new technologies. For linux detection we are utilizing sshtools which is an open source java library for ssh communitcation. The API is easy to use and works well (although our needs are fairly rudimentry at this point, so we did not get to exercise all the features). Check it out at:
We would also like to mention Jasper reports. It has been an absolute pleasure to work with, the api is loaded with features. In addition Jasper Assistant is an eclipse plugin which provides a WYSIWYG interface to jasper reports, this had improved our productivity many fold.
The launch is now about a month away, currently the team is working on building installers, getting a website up and running and figuring ecommerce stuff. In the coming weeks we will be posting more information about the product along with screenshots!!

Monday, August 01, 2005


Windows Management Instrumentation (WMI) is a powerful framework for managing WIN OS based devices. Conceptually, WMI is similar to SNMP (Simple Network Management Protocol). However, in terms of organization and presentation of data, the capabilities of WMI go much further. Anyone researching WMI would invariably run into an acronym soup WBEM, CMI, DMTF, so here is a good link which broadly defines these terms:
For our discussion it is adequate to know that WMI is based on WBEM standards, CIM provides the schema for representing management information (sort of what MIB is to SNMP), and DMTF is the group that manages these standards.

Microsoft has of course done an excellent job of implementing the WBEM standards as WMI. In addition, they have provided some extensions which make the job even easier:
1. First of all, WMI comes with a powerful query language WQL which allows SQL-like queries to get system information (e.g SELECT caption,description,deviceid FROM win32_desktopmonitor).
2. There are several ways to access WMI. There are API's for COM and .net accessibility. In addition, WMI can be invoked from Windows Script Host.
3. Microsoft provides a good set of tools to make development in WMI even easier. These tools include a test console called wbemtest.exe located in C:\WINDOWS\system32\wbem folder. This tool allows you to query or browse WMI classes. But a far better way to browse WBEM classes is through the tools provided in the WMI SDK. You can download this SDK from

However there are some limitations with WMI:
1. The WMI SDK and API has evolved over the years so some features and queries may not work on different OS versions. In addition, due to varying levels of security restrictions on various versions of Windows, you may have issues with remote management. This article does a great job of describing various incompatibilities
2. WMI is not installed by default for older editions of Windows i.e 95/98/NT 4.0. The good news is that you can install WMI for these editions:

So in summary, WMI is powerful and easy to use with several tools and APIs provided. However, security restrictions may require you to configure firewalls and user privileges and restrict you to certain types of operating systems as management clients.