« Career | Main| Lotus Notes Anti-Pattern »

Imposing Order...

Category  
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

During a recent engagement, a particular client had an issue where they would bill for Lotus Notes applications hosted on their environment. (Charging for server disk space is a good way of ensuring that applications dont hang around on the servers after they've stoppd being useful). However, there was little faith on the catalog.nsf database containing all items, and little appetite for a globally replicated solution. So how can you do this ?

  • Start off by writing an agent which sends 'sh dir -xml' to all servers' consoles from LotusScript. This returns the server directory as an XML stream, and is extremely fast. It also causes very little load on the target server, and little network load.
  • Parse this XML into memory (which in LotusScript is pretty horrible) and build up a memory structure (using Lists and Classes) which bind individual databases together (using Replica ID).
  • So by this time, we now have a very up to date directory listing on all servers. We can now impose order. For instance,
    • if its a mail server, and the database is in a 'mail*' directory, then its a mailfile..
    • If its on an application server, in the 'apps' directory, then its an application.
    • If an application has a second-level directory, then its a complex application comprised of more than one database.
    • If its on a hub server, then its on a globally replicated application.
    All of these rules are easy to write once the items are in memory.
  • Now spit this out as an Excel spreadsheet. Ah. Now only an insane person would wish to load a copy of Excel onto the server, so the scheduled agent can construct an actual excel spreadsheet. So spit out a CSV (Comma Separated Values) file. most office/openOffice users associate *.csv with the spreadsheet program.
And there we have it. Again, get the data model right, get it into memory if you can, and its a pretty straightforward task..

I guess it boils down to having decent standards for your mailfile and application deployments.. How do you do yours ?

Comments

Gravatar Image1 - You can create even nicer documents using the technique I describe here: { Link }

Gravatar Image2 - "However, there was little faith on the catalog.nsf database containing all items."

Ummmmmm... why not? Even when something is told not to be in the catalog, it's still in the catalog. It's just excluded from most of the selection formulas.

Gravatar Image3 - @1 - nice one. I didnt even think of trying that.. nice.. bold would be good for the titles..


@2. You and I both know that.. Emoticon

---* Bill

Gravatar Image4 - @3: I noticed a typo on my blog entry, it should be .XLS, not .XML...

Gravatar Image5 - Ah. want a laugh ? XML works too... !

Emoticon

---* Bill

Gravatar Image6 - For the identification of "what is it" I would load a list of "known system databases" as well as the list of email files (from the people view). Then you can do interesting things like:
- is an email file somewhere else than all the others
- is there a nsf in a directory where emails are that is no longer associated with a name entry
- Add scanning of the ACLs to the picture and you might get the "owners" too.

Emoticon stw

Gravatar Image7 - There was once upon a time an app I ran at my day job where we were spitting data out of Domino and then vacuuming it into a copy of MS Project that was, in fact, loading on the server. It then did something, ran an agent on startup to spit out a GANTT chart out to the filesystem, then exit, which Domino would then suck up again and embed in a document.

See also, "why I don't run Domino on Windows any more" and cross reference with "why I tell users to shove it a lot more now."

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

All my past and future presentations can be found here

Finalist's Site Marker 3.jpg

www.flickr.com
wildbillbuchan's photos More of wildbillbuchan's photos

Quick Bill


I'm
- a Lotus Domino Dual PCLP - that is, a SysAdmin PCLP and an AppDev PCLP (or IBM Certified Advanced Application Developer and Advanced System Administrator) in nd7, v6, v5, v4 and v3. (one of 20 worldwide!)
- an IBM Certified System Administrator - Websphere Portal v5.0
- an IBM Certified Solutions Developer - Websphere Portal v5.0
- an IBM Certified Associate Developer - Websphere Studio v5
- an IBM Certified Solutions Expert - Websphere v4.0.
- a SUN Java 2 Certified Programmer
- a (probably lapsed now) Microsoft MCSE in Windows NT4.
- a (definately) lapsed now CLP in cc:Mail v2 and v6

Blogrolls







ND7

PB-DOMPOST-00_md_thumb.jpg