Usability - Productivity - Business - The web - Singapore & Twins

What is your investment in Notes applications - revisited

About 2 years ago I asked: " What's your investment in Notes Applications?" and provided steps using DXLMagic to base the answer to that question on evidence rather opinion. With the arrival of version control capabilities in Domino Designer that task became easier (or different - your take). Revisiting the code base I devised new requirements:
  • The analysis should run against the On-Disk-Project rather than the NSF. The simplified assumption here: you deselected the "Use Binary DXL for source control operations"
    deselect binary DXL
    The "binary" format is stored in BASE64, so it wouldn't be impossible to decode, but quite some work to change the parsing, since the tags change too
  • The analysis code should have no Notes dependencies, so I can run on an Integration Server for continious measurements
  • It should be able to analyse a bunch of databases in one go
The result of this new requirements is cocomo.jar that allows you to simply run java -jar cocomo.jar DirectoryAboveYourOnDiskProjects ReportFile.csv.
Clarification (thx Stefan): DirectoryAboveYourOnDiskProjects is the location where all the directories of your individual On Disk projects are. So if you have C:\ODP\App1, C:\ODP\App2 and C:\ODP\OneMoreApp, you only run the tool once with java -jar cocomo.jar C:\ODP report.csv

The csv file contains one row per analysed database, with the last column being the Line of Code total for that application. That is the number you fill into the CoCoMo Tool in the New field. Then add Cost per Person-Month (Dollars) and hit Calculate. You get very enlightening results. After that, feel free to play with the settings of the tool.
On its first run the cocomo.jar writes out a properties file that defines what columns go into your csv report file, you can manipulate them as you deem fit. All the other settings are inside the jar, to peak into them, have a look at the source.
When your On Disk Projects are in different places, you can call the app with a 3rd parameter that points to a plain text file that simply lists directory names, one per line to be analysed: java -jar cocomo.jar DirectoryAboveYourOnDiskProjects ReportFile.csv FileWithDirectoryNamesOnePerLine

As usual: YMMV

Posted by on 26 February 2014 | Comments (2) | categories: IBM Notes


  1. posted by Stefan Unbehauen on Tuesday 11 March 2014 AD:
    Hallo Stephan,

    danke für deinen Eintrag zum Thema.
    Ich hätte eine Frage an dich:

    Ich hab die cocomo.jar über mein Projekt laufen lassen.
    Nach Betrachtung des ReportFiles ist mir aufgefallen, dass er bei "Forms" und "Views" nichts gefunden hat, obwohl er da auf jeden Fall was finden müsste, da einige Masken und Ansichten exisitieren.

    Hast du eine Ahnung bzw. einen Tipp für mich an was das liegen könnte, oder gibt es irgendeinen Weg nachzuvollziehen, warum nichts gefunden wurde?

    Gruß Stefan
  2. posted by Sandra on Monday 06 July 2020 AD:

    Informative sharing. For the base64 decode/encode, you can also refer to that alternative https://url-decode.com/tool/base64-decode with also access to dozens of other web utilities.