On startup, ewhtmlemail reads the configuration file named on the command line. Commands in this file set up all parameters. In the control file, lines may begin with a valid ewhtmlemail command (listed below) or with one of 2 special characters:
Command names must be typed in the control file exactly as shown in this document (upper/lower case matters!).# marks the line as a comment (example: # This is a comment).
@ allows control files to be nested; one control file can be
accessed from another with the command "@" followed by
a string representing the path name of the next control file
(example: @pick_ew.d).
# # ewhtmlemail's configuration file # MyModuleId MOD_EWHTMLEMAIL # This instance of ewhtmlemail InRing HYPO_RING # Transport ring to find hyp2000arc msg HeartbeatInt 30 # Heartbeat interval in seconds LogFile 1 # If 0. don't write logfile; if 1. do Debug 0 # If 1, print debugging msgs GetLogo INST_WILDCARD MOD_WILDCARD # Limit the sources of hyp2000arc msgs MaxMessageSize 16384 # hyp2000arc messages can be very large site_file cvarg.hinv # hypoinverse format to locate stations HTMLFile ~/ewhtmlemail/em # html file folder and format EmailProgram /usr/sbin/sendmail # this must be sendmail EmailRecipient recipient1@email.com # List of email recipients, maximum 20 EmailRecipient recipient2@email.com EmailRecipient recipient3@email.com EmailRecipient recipient4@email.com StyleFile ~/ewhtmlemail.css # Location of the style file MAX_SAMPLES 100000 # Maximum sample count to request WSTimeout 5 # Waveserver timeout in seconds WaveServer 192.168.0.1:16022 # List of waveservers, maximum 10 WaveServer 192.168.0.2:16022 # format aaa.bbb.ccc.ddd:portno MinQuality C # only show C or better quality events
Earthworm system setup: + MyModuleId Module id for pick_ew (mandatory) + InRing Shared memory region for input (mandatory) + HeartBeatInt Interval between heartbeats (mandatory) + GetLogo Control message sources (mandatory) + MaxMessageSize Maximum size of incoming HYP2000ARC messages (mandatory) Processing: + site_file Hypoinverse stations file (mandatory) + HTMLFile Output folder and prefix for html file (mandatory) + EmailProgram Location of the sendmail program (optional) + EmailRecipient List of email recipients (optional) + StyleFile Location of the style sheet file (optional) + WaveServer Waveserver address (optional) MAX_SAMPLES Maximum number of samples to request (optional) + WSTimeout Waveserver timeout (optional) Output Control: + LogFile Log flag (mandatory) + Debug Debugging flag (optional) + MinQuality MinQuality email sending filter(optional)
command arg1 processed by function
Debug flag config output
Sets a flag to control the volume of debugging information output by ewhtmlemail. If flag is zero, no debug info is written. If flag is non-zero, debug information is written to the logfile and screen.Default: 0 Sample: Debug 0
MinQuality CHAR config output
Sets a minimum quality level for sending emails. CHAR can be A,B,C, or D. KML or HTML files will still be created but not sent.
EmailProgram path_to_email process_message processing
Sets the path to the email program "sendmail" as path_to_email. Note that this path must include the name of the program. ewhtmlemail is prepared to work only with sendmail. Other programs are not supported. If EmailProgram is not specified (comented out), ewhtmlemail will only save html files with the events to the folder defined by HTMLFile.Default: none Sample: EmailProgram /usr/sbin/sendmail
EmailRecipient recipient process_message Processing
Registers one recipient email address with the ewhtmlemail. ewhtmlemail will send every recipient an email message on the detected events. Up to 20 "EmailRecipient" commands may be issued, but none are required. Each recipient address can be up to 60 characters long.Default: none Sample: EmailRecipient jdoe@yourmachine.edu
GetLogo instID modID config earthworm setup
Gets event messages (TYPE_HYP2000ARC) originating from the installation and module IDs given by instID and modID, respectively. Each ID is a character string. Valid strings are listed in earthworm.d.Default: none Sample: GetLogo INST_CIVISA MOD_EQPROC
HeartBeatInt nsec config earthworm setup
Defines the number of seconds, nsec, between TYPE_HEARTBEAT messages issued by ewhtmlemail.Default: none Sample: HeartBeatInt 30
HTMLFile filename process_message Processing
Base name for the html files generated by ewhtmlemail. The actual filenames will be given by "filename_EventID.html". The term EventID is the event number assigned by binder.Default: none Sample: HTMLFile home/earthworm/events/ew
InRing ring config earthworm setup
Tells ewhtmlemail which shared memory region to find input events. ring is a character string (valid strings are listed in earthworm.d) that relates (in earthworm.d) to a unique number for the key to the shared memory region. ewhtmlemail will read only TYPE_HYP2000ARC messages.Default: none Sample: InRing HYPO_RING
LogFile switch config output
Sets the on-off switch for writing a log file to disk. If switch is 0, no log file will be written. If switch is 1, statmgr will write a daily log file(s) called statmgrxx.log_yymmdd where xx is statmgr's module id (set with "MyModuleId" command) and yymmdd is the current UTC date (ex: 960123) on the system clock. The file(s) will be written in the EW_LOG directory (environment variable).Default: none Sample: LogFile 0
MaxMessageSize size process_message earthworm setup
Specifies the maximum size in bytes of the TYPE_HYP2000ARC messages to retrieve from the inRing. Note that HYP2000ARC messages may be very large.Default: none Sample: MaxMessageSize 16384
MAX_SAMPLES nsamp process_message earthworm setup
Specifies the maximum number of samples, nsamp, to retrieve from a WaveServer for any given station.Default: 60000 Sample: MAX_SAMPLES 60000
MyModuleId mod_id config earthworm setup
Sets the module id. mod_id is a character string (valid strings are listed in earthworm.d) that relates (in earthworm.d) to a unique single-byte number. If more than one ewhtmlemail is running at the same time, they must be given different module ids!Default: none Sample: MyModuleId MOD_EWHTMLEMAIL
site_file filename process_message Processing
Enters site codes and station locations into the site table by reading a HYPOINVERSE format station file called filename. In this file, stations are described by a 5-letter site name, a 2-letter network code and a 3-letter component code. The picker and binder must also be using this station-naming convention. The format of the file is described under "HYPOINVERSE STATION FILE FOR FULL 12-LETTER (S-N-C-L) CHANNEL NAMES".Default: none Sample: site_file cvarg.hinv
StyleFile filename process_message Processing
Name of the optional cascading style sheet file to be embeded in the output html files. See information on the structure below.Default: none Sample: StyleFile ewhtmlemail.css
WaveServer ip:port process_message Processing
IP address and port for a waveserver. A Maximum of 10 waveservers may be specified. ewhtmlemail will try to contact each waveserver in the specified order to retrieve waveforms for the reporting stations.Default: none Sample: WaveServer 192.168.0.1:16022
WSTimeout nsec process_message Processing
WaveServer timeout in secondsDefault: 5 Sample: WSTimeout 5
Ewhtmlemail allows minimal configuration of the graphical aspects of the generated html files by embedding a cascaded style sheet. As such, standard css rules apply when customizing this file. Not all elements of the generated html are accessible. Particularly, the characteristics of the google map and google charts are currently hardcoded in ewhtmlemail. Nonetheless, the following Classes and IDs are available:
DataTable ID of the table containing the origin details alt Class of every second row of the data table. MapClass Class of the image containing the google map. WaveTable ID of the table containing the waveforms. WaveTableTextRowClass Class of the rows within the WaveTable that have a text line with the station name. WaveTableTraceRowClass Class of the rows within the WaveTable that have a waveform. This waveform is represented as an image extracted from google charts API.
/* Style Sheet for ewhtmlemail Currently, the main html ids to consider for the alert email are: DataTable -> The initial table with the basic event info WaveTable -> The table with all the traces This file is embeded in the automatically generated html email as is. Make sure that you know what you are doing before changing it. */ #DataTable { font-family: Sans-serif; font-size: 12; border-collapse: collapse; } #DataTable th { background-color: #000060; color: #DDDDFF; } #DataTable tr td { background-color: white; color: #000060; } #DataTable tr.alt td { background-color: #DDDDFF; color: #000060; } #WaveTable { font-family: Sans-serif; font-size: 10; border: 1px solid black; border-collapse: collapse; } #WaveTable th { background-color: #000060; color: white; } #WaveTable tr.WaveTableTextRowClass td { background-color: #DDDDFF; color: #000060; } #WaveTable tr.WaveTableTraceRowClass td { height: 80px; vertical-align: top; } .TraceClass { max-height: 60px; height: auto; height: 60px; max-width: 600px; width: auto; width: 600px; }