SLAC PEP-II
BABAR
SLAC<->RAL
Babar logo
HEPIC E,S & H Databases PDG HEP preprints
Organization Detector Computing Physics Documentation
Personnel Glossary Sitemap Search Hypernews
Unwrap page!
Comp. Search
Who's who?
Meetings
FAQ Homepage
Archive
Environment
Administration
New User Info.
Web Info/Tools
Monitoring
Training
Tools & Utils
Programming
C++ Standard
SRT, AFS, CVS
QA and QC
Remedy
Histogramming
Operations
PromptReco
Simulation Production
Online SW
Dataflow
Detector Control
Evt Processing
Run Control
Calibration
Databases
Offline
Workbook
Coding Standards
Simulation
Reconstruction
Prompt Reco.
BaBar Grid
Data Distribution
Beta & BetaTools
Kanga & Root
Analysis Tools
RooFit Toolkit
Data Management
Data Quality
Event display
Event Browser
Code releases
Databases
Check this page for HTML 4.01 Transitional compliance with the
W3C Validator
(More checks...)

LiveFastMon Update GUI

What is this?

The fast monitoring update GUI (LfmUpdateGui) is a tcl/tk tool for managing the subsystem packages and reference files for the live fast monitoring self-service area. It contains convenient displays and controls for managing the updating and tagging of cvs packages as well as installing html and merging reference hbook files.

For a more detailed description of the live fast monitoring self-service area and the manual procedures for maintaining it, see html-installation and hbook-installation.

Overall Description

Figure 1 shows a sample window using the LiveFastMon update GUI.


Figure 1: Sample Window

This is what the display might look like when you first run it. There is one line for each subsystem. For each subsystem it displays the package name, the current tag of that package in the self-service area, cvs update and commit buttons, and a pathname for a reference hbook file.

The script for running the gui can be found at /nfs/bbr-srv02/bfdist/MonitoringData/LfmUpdateGui.

The Tag Field

This is a text entry field, that initially shows the tag (as would be shown by the statusrel command) of the package in the MonitoringData directory. The background will be red if the tag is invalid (which currently just means that it does not start with “V”. You can type a new tag into the tag field, and it will be used if you click on ether Update or Commit. If you type <return> or <enter> in the tag field, it will execute either the update or commit function, depending on whether the tag already exists in the package and whether there are any uncommitted changes in the local directory.

The Update Button

You may click on this button as long as the value in the tag field corresponds to an existing tag in the package, and it will do this:

addpkg <package-name> <tag-field>

If there are no uncommitted changes in the local directory, this will simply update the local directory with the contents of the displayed tag field. If there are uncommitted changes, you will have the option of either discarding those changes and replacing the directory with the specified tag, or of merging the uncommitted changes with the specified tag.

The Commit Button

If there are no uncommitted changes in the local directory, the commit button will be disabled (grayed out). If there are uncommitted changes, then the commit button will be enabled and the text will be red. The idea is that if you see any red on this display it represents a problem that should be resolved before you install.

If the commit button is enabled, and if the tag-field contains a valid tag which is not already present in the package, then clicking on it will do this:

cd XxxMonTools

cvs update -A

cvs commit

cvs tag <tag-field>

cvs update -r <tag-field>

Since the cvs commit will invoke an editor (according to the EDITOR environment variable), an xterm is also created in case your editor requires one (e.g. vi).

You can also tag a package with no uncommitted changes by typing the new tag in the tag field, and typing <return>, even though the commit button is disabled. This action is taken whenever the tag field contains a tag which is valid and not already present in the package.

Note that you will always be prompted for confirmation of any commit or tag operation before it is actually done.

The Hbook File Field

If you are planning to merge references and you want the update gui to manage the subsystem reference directory for you, you can enter the file name of an outside file here (i.e. a file which is not already in the References directory). The gui will copy the file into the appropriate References subdirectory, and link it appropriately. Clicking on the little icon to the right of the file field will bring up a file browser where you can select the file.

If you prefer to manage the References subdirectory yourself, you can still do that and just leave the hbook file field blank. The gui will merge the references either way.

If you do fill in this field the copy in the References subdirectory will have the form “LiveFastMon-YYYYMMDD-HHMMSS.hbook” or “IR2LiveL3-YYYYMMDD-HHMMSS.hbook”. The choice simply depends on which subsystem is involved. IR2LiveL3 is used for L3TMonTools and LiveFastMon for the others. This is something of a hack, of course, and not architecturally general, but simplifies the gui, and we await to see whether people want this feature at all.

The Install HTML Button

Once you have your package properly updated and/or tagged, you can click the Install HTML button to copy all of the html and xml into the doc directory. Before you do this, the window should ideally look like this:


Figure 2: All packages ready for install

This button runs the command LfmInstallHTML, after soliciting a description of your changes. The work done by this command is further described here.

You can actually click this button any time. If there are problems like invalid tags or uncommitted changes, you will be warned and prompted for confirmation. If you wish, you may proceed regardless.

The Merge References Button

This button issues the command LfmMergeRefs, after copying any files entered in the Hbook File fields into the appropriate Reference subdirectories. You need not enter any files if you have copied and linked the reference file(s) manually. If you do use the file copy capabilty of LfmGui, the file will be copied to "References/Xxx/LiveFastMon/LiveFastMon-YYYYMMDD-HHMMSS.hbook", and this will be linked from "References/Xxx/LiveFastMon/LiveFastMon.hbook" (for L3T, replace "LiveFastMon" with "IR2LiveL3"). This operation does not depend on the package directories or tags. You will be prompted for a description of your changes. Further information on the LfmMergeRefs operation can be found here.