Logbooks/Notebooks for Hall D E.Wolin Indiana University 14-Dec-2002
LogbookNotebook Entries Many simple Few complicated Entry speed Rapid Carefully crafted Entry value Short term Long term Topology Directed graph Linear ThreadsMultipleSingle Logbooks vs Notebooks
Hall D Desiderata Integrated – online, offline, detector, etc.Integrated – online, offline, detector, etc. Best features of logbook and notebookBest features of logbook and notebook Multiple, parallel logbooks with cross-referencesMultiple, parallel logbooks with cross-references Multiple threads, locking, annotationMultiple threads, locking, annotation Problem tracking/resolution facilityProblem tracking/resolution facility Automatic entriesAutomatic entries Images, other mime-types uploaded and stored locallyImages, other mime-types uploaded and stored locally
Desiderata, con’t Screen capture possibleScreen capture possible Database driven, Perl/JDBC accessibleDatabase driven, Perl/JDBC accessible Extensive searching capabilityExtensive searching capability Summary, detailed viewsSummary, detailed views Web/servlet (vs application) basedWeb/servlet (vs application) based (Re)Configurable via XML(Re)Configurable via XML
Existing Projects Fermilab Control Room logbookFermilab Control Room logbook –Java app: JLab Accelerator logbookJLab Accelerator logbook –Web/Tcl app based: ORNL, PNNL, Midas notebooks (web,applet,web)ORNL, PNNL, Midas notebooks (web,applet,web) –E.g. ORNL used by CLAS: CODALOG at JLabCODALOG at JLab –Web based, see below There are others…There are others…
CODALOG Design Entry data for all logbooks in one set of tablesEntry data for all logbooks in one set of tables All navigation info in separate tablesAll navigation info in separate tables Use database functions to hide tricky bitsUse database functions to hide tricky bits Configure via XML fileConfigure via XML file Built-in threads: type, topic, subtopicBuilt-in threads: type, topic, subtopic Explicit named threadsExplicit named threads Minor threads (head is unique)Minor threads (head is unique) Each entry associated with a “primary” logbookEach entry associated with a “primary” logbook
CODALOG Status Prototype stagePrototype stage Database design completed (Postgres)Database design completed (Postgres) XML configuration working (via Perl)XML configuration working (via Perl) Database programming mostly doneDatabase programming mostly done Initial Java database access class workingInitial Java database access class working Velocity based (template rendering)Velocity based (template rendering) Needs web design and templatesNeeds web design and templates Tested with CLAS online logbook dataTested with CLAS online logbook data
CODALOG References CLAS XML configCLAS XML config – DatabaseDatabase – Java access classJava access class – Rendering classRendering class – Example Velocity templateExample Velocity template – Example renderingExample rendering –
Summary and Conclusions CODALOG mostly meets Hall D criteriaCODALOG mostly meets Hall D criteria DB design fine, proof will be in the GUIDB design fine, proof will be in the GUI Not ready yet, initial version perhaps soonNot ready yet, initial version perhaps soon –Is anyone willing to help? Other products very good but do not meet H-D criteriaOther products very good but do not meet H-D criteria Do we need something right now?Do we need something right now? –If so, use ORNL notebook –If not, wait for CODALOG