Common Trending and QC tools:
Documentation

tqs = Trending and Quality Control System

make printable 

Please note that if you want to print this page, choose 'landscape' and scale probably to 70% because of the large table below. Best if you check the print preview first.

new:

v0.95

- tool being implemented

see also:

webCMS tool description


syntax: tables | list of TABLE_TYPEs | list of identifiers | content of QC1_TABLE | list of qualifiers | figures
tool description: webCMS

[ top ] webCMS: syntax and structural components

Most content in the text files of webCMS is plain text, or related to interpreted high-level tags like TABLE or some ITEM identifiers.

TABLE content gets marked by table identifiers. ITEM identifiers are needed for some text files, there are just 2 or 3 and they appear at the begin of the file. A complete list of identifiers can be found below.

Figures get embedded into TABLEs, they have no type of their own. This makes sense because figures should always have a caption, and a figure with a caption naturally forms a table, or a row in a table. Other HTML elements like URLs or horizontal lines are embedded in TEXT and are interpreted as native HTML code. HTML tags should be kept to a minimum. Don't forget that the purpose of the webCMS tool is to eliminate the burden of HTML coding. In particular avoid anything like text decoration with colors. Likewise, font sizes have gone, they are replaced by classes and styles which are managed within the tool.


[ top ] Tables

Tables are marked by specific TABLE_TYPEs. The big advantage of using TABLE_TYPEs is that the user doesn't need to know all details about style and content conventions. For instance, the TABLE_TYPE 'QC1_TABLE' has the following format convention hard-coded in the tool:

Date event
<user content> <user content>

The TABLE_TYPE determines format and look-up. For the example below, the table_type HISTORY means that the table gets 2 columns, the labels 'Date' and 'event', and determines all styles. In the source text file, this part has the following content:

TABLE_NAME      histo1 
TABLE_TYPE      HISTORY 
TABLE_ROW1      <user content> SEP <user content>

The TABLE_NAME is actually for user orientation only but not used by the tool.

Note also the simple marking of cells: separate them by SEP which stands for </td><td>. This is expanded by the tool, and anything else is also added by the tool (<tr><td>, <table> etc.). Use tabs and spaces in your text file in whatever way they come from the sources, they are not interpreted. Make sure that each TABLE_ROW has one content row only. Remember that SEP is reserved.

Here is a real example, for the HISTORY table of the GIRAFFE QC page http://www.eso.org/qc/GIRAFFE/qc/fmt_qc1.html, lowest component (named correlations.txt in the webCMS system):

TABLE_NAME      histo1 
TABLE_TYPE      HISTORY 
TABLE_ROW1      2007-11-14      SEP earthquake; non-thermal jump of HR grating  in X (+1) and Y (+2) pixels 
TABLE_ROW2      2011-03-14      SEP earthquake, non-thermal jump in Y direction; adjusted back to the old values on 2011-04-01; no science files affected 
TABLE_ROW3      2011-06-10      SEP earthquake, non-thermal jump in X and Y direction; adjusted back to the old values on 2011-06-22 
TABLE_ROW4      2011-06-27      SEP earthquake, non-thermal jump in X; adjusted back on 2011-06-30 
TABLE_ROW5      2015-11-27      SEP earthquake, non-thermal jump of HR in X by +8 px, LR in Y by more than 1 px; adjusted back begin of 2015 Dec; required new reference dispersion solutions for Medusa2

This is the output of webCMS:

Date event
2007-11-14 earthquake; non-thermal jump of HR grating in X (+1) and Y (+2) pixels
2011-03-14 earthquake, non-thermal jump in Y direction; adjusted backto the old values on 2011-04-01; no science files affected
2011-06-10 earthquake, non-thermal jump in X and Y direction; adjusted back to the old values on 2011-06-22
2011-06-27 earthquake, non-thermal jump in X; adjusted back on 2011-06-30
2015-11-27 earthquake, non-thermal jump of HR in X by +8 px, LR in Y by more than 1 px; adjusted back begin of 2015 Dec; required new reference dispersion solutions for Medusa2

[ top ] List of TABLE_TYPEs

This is the complete list of supported TABLE_TYPEs in webCMS. Qualifiers are marked blue, find the complete list below. The complete list of TABLE identifiers is also listed below.

TABLE_TYPE used for format? applicable branch

Entry in TABLE block *
(applicable TABLE identifiers in the first column)

Result
TOP_TABLE table on top of the QC pages, with links to HC plots and QC1 database 2 columns, fixed header and content QC_PAGE
TABLE_ROW1 Noise parameters SEP HC_LINK /qc/GIRAFFE/reports/HEALTH/trend_report_DETNOISE_HC.html
TABLE_ROW2 Linearity & gain SEP HC_LINK /qc/GIRAFFE/reports/HEALTH/trend_report_DETLIN_HC.html
TABLE_ROW3 same, correlations SEP HC_LINK /qc/GIRAFFE/reports/HEALTH/trend_report_DETRELS_HC.html
TABLE_ROW4 Contamination SEP HC_LINK /qc/GIRAFFE/reports/HEALTH/trend_report_DETCONTA_HC.html
TABLE_ROW5 QC1DB_LINK giraffe_ccd
 
QC PLOTS
Noise parameters
Linearity & gain
same, correlations
Contamination
QC1 database (advanced users): browse | plot
QC1_TABLE describing QC1 parameters 2 columns, fixed header; the tool adds further columns; more ... QC_PAGE
TABLE_ROW1 CONTAM1 SEP giraffe_ccd..conta1
TABLE_ROW2 CONTAM2 SEP giraffe_ccd..conta2
TABLE_ROW3 CONTAM3 SEP giraffe_ccd..conta3
FITS key QC1 database: table, name definition class HC_plot more docu
CONTAM1 giraffe_ccd..conta1 content auto- added  
CONTAM2 giraffe_ccd..conta2 from file classification.txt  
CONTAM3 giraffe_ccd..conta3        
HISTORY history of events 2 columns, fixed header QC_PAGE
TABLE_ROW1 2004-07 SEP new main mirror
TABLE_ROW2 2015-05 SEP removal of contamination
date event
2004-07 new main mirror
2015-05 removal of contamination
 
TABLE_NOHEADER free content no header, any number of columns and rows any
TABLE_ROW1 airbus SEP a SEP 380
TABLE_ROW2 pata SEP go SEP nia
TABLE_ROWn and SEP so SEP on
airbus a 380
pata go nia
and so on
TABLE_CUSTOMHDR free content as before but with configured header, any number of columns and rows any
TABLE_HEADER col#a SEP col#b SEP col#c
TABLE_ROW1 1 SEP 2 SEP 3
TABLE_ROW2 this SEP is SEP text
TABLE_ROWn and SEP so SEP on
col#a col#b col#c
1 2 3
this is text
and so on

FIGURE_1A
(or FIGURE_1)

one figure and its caption 1 row, 2 columns: figure is left, caption right any
TABLE_IMG1 argument of <a href=...>, e.g.:
"jumpto.png width=32 height=32 border=0"
TABLE_CAP1 this is the caption
TABLE_CAP1 (multiple lines
TABLE_CAP1 supported for TABLE_CAP1)
this is the caption (multiple lines supported)
  same as above, with an optional initial line encoded as AHREF= which is useful if you have a large image that does not fit easily into the overall page design (you then use a thumbnail image in the second row and define the real image in the first row):
TABLE_IMG1 AHREF="jumpto.png"
TABLE_IMG1 "jumpto.png width=32 height=32 border=1"
TABLE_CAP1 this is the caption
this is the caption
FIGURE_1B one figure and its caption 2 rows, 1 column: figure is top, caption below any
TABLE_IMG1 argument of <a href=...>, e.g.:
"jumpto.png width=32 height=32 border=0"
TABLE_CAP1 this is the caption
this is the caption
  same as above, with an optional initial line encoded as AHREF=:
TABLE_IMG1 AHREF="parallel.png"
TABLE_IMG1 "parallel.png width=106 height=106 border=1"
TABLE_CAP1 this is the caption
TABLE_CAP1 and it continues here
(multiple lines supported for TABLE_CAP1)
this is the caption and it continues here
FIGURE_2 two figures and their captions two FIGURE_1A stacked in one table (2 rows, 2 columns) any
TABLE_IMG1 "jumpto.png width=32 height=32 border=0"
TABLE_CAP1 this is the caption for Fig. 1
TABLE_CAP1 (multiple lines supported)
TABLE_IMG2 AHREF="parallel.png"
TABLE_IMG2 "parallel.png width=106 height=106 border=1"
TABLE_CAP2 same, for Fig. 2
TABLE_CAP2 (multiple lines supported)
this is the caption for Fig. 1 (multiple lines supported)
same, for Fig. 2 (multiple lines supported)

* in addition to TABLE_NAME, TABLE_TYPE (both mandatory) and TABLE_WIDTH (optional);
it is always a good idea to have TABLE_END added, although the tool makes an attempt to guess if not found.

There is no TABLE_TYPE for tables more complex than FIGURE_2. Always try to simplify your tables. Hopefully there is no need for more complex tables, but in principle they can be created on demand.

Using TABLE_WIDTH is recommended for tables which otherwise grow too large. Use a percentage value, e.g. 80%, to constrain the table width to 80% of the display page width.


[ top ] Content of QC1_TABLE

These are the columns of the standard QC1_TABLE in the tutorial pages (QC_PAGES branch):

FITS key QC1 database: table, name definition class HC_plot more docu
user content user content definition of the QC1 parameter
from QC1 database content, QC1 db configuration; query against qc1..qc1_columns (procedure getDescription)
from classification.txt dynamic queries
these are the two columns in TABLE_ROWn separated by SEP provided by webCMS provided by webDocuSys (coming)

[ top ] List of identifiers

Identifier are used to mark certain lines in the text file. Their logics is like in configuration files: they are recognized if they start a line, and anything behind has the property indicated by the identifier.

Identifier kind of content used for
ITEM_TITLE ITEM (property of the text file) title of the QC item in the final html page, also used for the jump menue; not needed in top_table.txt, general.txt; can be NONE if e.g. only one QC item exists for this page
ITEM_ANAME ITEM anchor of the QC item (for the jump menue; used as <a name=#ITEM_ANAME); not needed in top_table.txt, general.txt; not needed if only one QC item exists for this page
ITEM_REPORT ITEM optional; special to mark the proper txt file if QC parameter is listed in more than one txt file; then, it takes the root name of the HC report (what remains without HC/FULL/html/trend_report tags).
ITEM_TYPE NON-STANDARD optional; special to mark a QC_PAGE item as non-standard (then it is allowed to have general.txt only, and no checks for 5 standard TITLEs are done; typically used for things like qc.html; use wisely!)
 
TITLE TEXT this kind of text is interpreted as a standard subsection; for QC_PAGE content, the existence of five TITLEs is checked by the tool (QC1 parameters, Trending, Scores&thresholds, History, Algorithm). Otherwise, TITLE just marks the style.
TABLE_... TABLE

several identifiers mark a table and its content, depending on the TABLE_TYPE; among them:

TABLE_NAME TABLE mandatory
TABLE_TYPE TABLE mandatory
TABLE_WIDTH TABLE optional; supported in FIGURE_x, TABLE_CUSTOMHDR, TABLE_NOHEADER
TABLE_IMGn TABLE FIGURE_x
TABLE_CAPn TABLE FIGURE_x
TABLE_ROWn TABLE other TABLE_TYPEs (not in FIGURE_x)

[ top ] List of Qualifiers

Qualifiers are interpreted tags. They are interpreted in certain environments (TABLEs or TEXT), as indicated below:

Qualifier translates into ... applicable TABLE_TYPE
SEP </td><td> any table
HC_LINK html code for the link to the HC plot, incl. graphical symbol TOP_TABLE
QC1DB_LINK text and html code for the QC1 database link TOP_TABLE
SHORT_QC1DB_LINK only the html code for the QC1 database link TOP_TABLE
AHREF <a href= ... > FIGURE_1, FIGURE_2
NOWRAP 'nowrap' attribute of <td> any table
BLANK &nbsp; any
COLSPAN=n 'colspan=n' (attribute of td) any table
(needed only for the first cell; for other cells you use '</td><td colspan=n>' directly instead of SEP; 'n' stands for any number
NO_TOP user selection to not offer jump to top TEXT, in the end, on general pages
VIRT_INCLUDE <include virtual...> TEXT in pages with common content

In some cases you still need simple HTML:


[ top ] Figures

Include figures with captions as a table, with a choice of FIGURE_1(A/B) or FIGURE_2. For the figure size you have several choices (see TABLE_TYPES above):

There is no fixed rule what is best, but you probably have made these decisions already long ago in the text now to be migrated, so just "translate" what you have into the new syntax.

 


Last update: April 26, 2021 by rhanusch