ChainDetector for Lotus Notes Database

July 17, 2008 by OV

Ever wanted to know which other databases are needed for proper run of LN database? You get lost in complicated code done by somebody else? Then ChainDetector can help you! -)

ChainDetector in action

ChainDetector in action

Fautures:

  • detects any relations in LotusScript, Java and Formula in libraries, actions, forms, pages, frames, outlines, computed texts, …
  • displaying type of relation: blue line – LotusScript, brown – Java, other – black
  • ignoring comments in LotusScript, Java
  • showing line number for LotusScript, Java
  • existing target databases has color icon, when exact name cannot be determined, it is gray

Installation and running:

1. Download org.eclipse.draw2d runtime

2. Download org.eclipse.swt runtime

(Both files are included into Lotus Notes 8 in framework/rpc/eclipse/plugins.)

3. Locate Notes.jar (e.g. c:/Program Files/lotus/notes/jvm/lib/ext)

4. Make visible these 3 jar files for JVM. Simpliest way is to put them into lib/ext (e.g. c:/Program Files/Java/jre1.5.0_06/lib/ext)

4. Download ChainDetector

5. Run it by commad with database file name as parameter: java -jar ChainDetector.jar DB.nsf

6. If you run out of memory, run it like this: java -Xmx512m -jar ChainDetector.jar DB.nsf

Program saves file dxl.xml in current directory for debugging reasons.

List of code patterns that are searched:
LS: new NotesDatabase, getDatabase, openDatabase, openByReplicaId, getView, getAgent
Java: getDatabase, openDatabase, openByReplicaId, getView, getAgent
Formula: @DbColumn, @DbLookup, @Command( [FileOpenDatabase]), @Command([Compose]), @Command([ComposeWithReference]

License: Freeware

Problems

Exception in thread “main” java.lang.UnsatisfiedLinkError: no nlsxbe in java.library.path
Solution: Set PATH variable to point to your Lotus Notes directory