FLMSG Users Manual 2.0
FLMSG is a simple forms management editor for the amateur radio supported standard message formats.
These current include:
It's data files are pure ASCII text that can be sent from point to point using the internet, amateur radio, or other electronic link. The data files are designed to minimize the transfer size. This is particularly important on amateur HF. The data file and the transfer file are one in the same. The transfer file is encapsulated using a process that is compatible with flwrap. Encapsulation allows the program to confirm the received file integrity.
The data file may be sent using flamp or wrapped by flwrap for external transmission. You might want to do that if the file is to be transmitted via internet or a protocol not contained in fldigi. Files transferred in this way will not automatically open in flmsg.
New - clear all fields and name the default file "new.f2s" (new.m2s for radiogram)
Open - open an existing file flmsg data files have the extension
Save - save the current file to the name in the "file:" display box
Save As - save using a new filename that the user provides
View - write the data to specified type of file
Wrap (Import / Export / AutoSend)
Load - load an existing template file - the default extension for the supported files are:
Save - save the current form as a template file, using the default (or current) filename
Save As - save the current form as a template file, user provides the filename
Note: data files and template files for ICS213 are identical. The only difference is their location in the computer directory structure and their extension. Message files and template files maintain their uniqueness by virtue of their file name. If you reuse a filename the old data will be lost.
The compression panel is at the bottom of the main dialog. You can elect to compress any file during transmission. Compressed data must be converted to a character set that can be transmitted by fldigi. The choices are base-64, base-128 and base-256. A limited subset of digital modem types can be selected from the 2nd combo box. If flmsg and fldigi are executing concurrently then flmsg will command fldigi to change modem when a new modem type is selected in flmsg. Each time these controls are changed (when a change is made to the form itself) the status blocks for transfer size and number of seconds to transfer is updated.
There are five separate configuration dialog tabs for FLMSG:
Personal data that will be used on various forms. The Call is a required field. If you leave it blank the program will nag you when you try to save a file, create a wrapped file, or use the autosend function.
Configure server interface to fldigi. Used for xmlrpc interface to fldigi. Allows flmsg to control fldigi modem selection for a limited subset of the fldigi modem types.
Configure html forms server, used to edit and display custom html forms.
Sync modem to fldigi - flmsg modem type will follow fldigi selection.
Change fldigi modem with autosend - send modem change signal to fldigi just prior to beginning flmsg transmission. fldigi does not automatically return to original modem.
Default - restore socket address/port pairs to the default settings.
flmsg can connect directly to fldigi using fldigi's ARQ socket service. Fldigi acts as the server and flmsg the client. Pressing the "AutoSend" button will initiate an immediate transfer of an encapsulated file to fldigi. You should have fldigi prepared to accept the file for transmission. The frequency (radio and audio) and modem type should be correct and if you are in a QSO then your contact should be prepared to receive the transmission.
flmsg can read and write Qform ICS213 data files. The Qform data file is larger by virtue of the xml structure. The file size ratio is less when the content is larger.
The program can produce a viewable document in ASCII text and Hypertext Markup Language (html) file formats. After creating the document flmsg will request the file to be opened by the default viewer / editor for that type of document.
The html Text Format file that the File/Write menu item produces can be opened with any web browser program. Use that software for printing the report.
Flmsg may be invoked from the command line (or parameters added to the launcher target).
The –p and –b options are used by fldigi when it automatically opens flmsg to display a received flmsg data file.
The –flmsg-dir parameter is used to change the default location of all of the files associated with flmsg. This should match with the same command parameter passed to fldigi. This allows the user to run multiple instances of flmsg / fldigi with each keyed to the other. For example the user might have separate flmsg/fldigi pairs for HF, VHF etc.
The default is:
The –auto-dir parameter is used to further change the name of the folder used to contain the file that is sent automatically by fldigi. Fldigi's command line parameter –auto-dir must match. This is in addition to and over rides the –flmsg-dir parameter.
The default is:
Events are recorded at various debugging levels (default is INFO) to assist the user in reporting problems to the developers. The most recent event is at the top of the dialog. The event log is opened from the Help | Event Log menu item:
A new feature in this version of fldigi is the ability of the program to track origination and modification of many of the message types. The program also keeps track of the stations in the transmit path for a specific message.
An example plaintext message:
When exported as a wrap file becomes:
[WRAP:beg][WRAP:lf][WRAP:fn W1HKJ-13.p2s] <flmsg>1.1.14 :hdr_fm:19 W1HKJ 201214042019Z :hdr_ed:19 W1HKJ 201210041840Z <plaintext> :tt:20 A plain text message :to:5 Harry :fm:4 Dave :dt:10 2012-04-10 :tm:5 1339L :sb:17 Bumps in the road :mg:105 Life seems to have more than it's share of bumps in the road. The secret is to stay alert at the wheel. [WRAP:chksum A358][WRAP:end]
The :hdr_fm: is a first-to-last list of sending stations, each separated by a new-line character.
The :hdr_ed: is a first-to-last list of editing / modifying sations, each separated by a new-line character.
Each entry consists of the station callsign and the Zulu date time in YYYYMMDDMMHH format.
These can be viewed from within flmsg using the "Help | Header Trace" menu item:
flmsg now has the capability of working with locally prepared custom forms. Custom forms may be created either using a special comma separated value (csv) format or with html forms.
The basis of a custom flmsg form is an html form.
You can use LibreOffice to create a form and then export it to an xhtml format. You can also use LibeOffice to import an MS word document first. LibreOffice is available for free for all of the operating systems on which flmsg will execute.
You then use a text / web editor to add some elements; Geany, Gedit, Notepad++ / Bluefish, Kompozer are suitable editors.
The html flmsg form must include these statements:
<META NAME="EDITABLE" CONTENT="true"> <META NAME="MENU_ITEM" CONTENT="Example">
in the “header” (between the <HEAD><> and </HEAD><> tags) of the html file:
The second line, “CONTENT=” value is the name of the form as it will show up in flmsg in the Form, Custom menu:
flmsg supports the following html form input types:
This is the “Example” form. It demonstrates the use of all of the supported controls.
----------------------— raw html -------------------------—
<h2>A Simple HTML Form Document</h2> <form>Enter your name: <input name="name" value="W1HKJ" size="20" maxlength="40" type="text"> and password: <input name="password" size="9" maxlength="8" type="password"><br> <p>Please indicate which areas of the world you would like to visit:</p> <p> <input name="cb1" type="checkbox">Asia<br> <input name="cb2" type="checkbox">Africa<br> <input name="cb3" type="checkbox">North America<br> <input name="cb4" type="checkbox">South America<br> <input name="cb5" type="checkbox">Antarctica<br> <input name="cb6" type="checkbox">Europe<br> <input name="cb7" checked="checked" type="checkbox">Australasia<br> </p> <p>Please indicate which area of the world you live:</p> <p> <input name="rb" value="1" type="radio">Asia<br> <input name="rb" value="2" type="radio">Africa<br> <input name="rb" value="3" checked="checked" type="radio">North America<br> <input name="rb" value="4" type="radio">South America<br> <input name="rb" value="5" type="radio">Antarctica<br> <input name="rb" value="6" type="radio">Europe<br> <input name="rb" value="7" type="radio">Australasia<br> </p> <p> Please select your modem speed: <select name="speed"> <option value="none">No modem</option> <option value="vslow" selected="selected">9600 or lower</option> <option value="slow">19200</option> <option value="ok">38400</option> <option value="fast">over 38400</option> </select> </p> Please enter your address:<br> <textarea name="address" rows="5" cols="50">106 Whitfield Drive Toney, Alabama 35773</textarea><br> <p> </form>
------------------------------— normal HTML view -----------------------------------—
The “<INPUT” fields must all be inside a FORM (the “<form>” and “</form>” tags). Use the Example form above as a guide for the curently supported INPUT types.
A good source for understanding basic HTML forms is http://www.w3schools.com/html/html_forms.asp
Once you have your custom form ready, just drop it into the Custom subdirectory in nbems.files (Windows) or .nbems (Linux) directory.
Flmsg checks once a second for any new or deleted custom files and updates the Form, Custom menu.
Once you click on the Custom form in flmsg, it will open a screen like this:
Use the “Edit Form” button to open an editable form in your web browser.
flmsg will add a “Submit Form” button to the bottom of your form. Do not add that button during your form development.
Pressing the "Submit Form" button transfers the data back to flmsg.
When you have the data in the form filled out, save it from the File, Save menu and then use the “AutoSend” button in flmsg to send it to fldigi. The receiving end must also have the same custom form in their Custom folder for them to be able to view it in a browser and print it.
Use the “View Form” button in flmsg to view a “Read Only” version of the form.
Of course if you want a printed version, just use the print function of your web browser while viewing the form.
The custom html entry form needs to be at both the sending and receiving end. The raw data can be received without the form, but it will only display as a comma separated value table. The custom html form can be transmitted to new receiving stations via any means, email attachment, "flmsg file transfer", or "flamp file transfer".
Custom forms may be uploaded and downloaded from the NBEMSham Yahoo group. Access to the custom form file folder can be easily obtained from the "Help | Download custom forms" menu item. Click this menu item will open your default web browser to this site:
You must be a member of the group to have upload privileges.
Custom forms consist of three documents, 1, 2, 3 and 4 as illustrated by the example files in the table below. A custom csv template should also be distributed with your new custom document. That will insure that user documents will correctly correspond to the custom forms. Lines 5 and 6 illustrate a completed spreadsheet and it's transfer document. Lines 7 and 8 are the final view documents for (5).
|1||ARCdaily.c2t||user fill-in template for the Red Cross Daily Report (in the IRC/template folder)|
|2||ARCdaily.htm||html pretty print template for the Red Cross Daily Report (in the CUSTOM folder)|
|3||ARCdaily.txt||text print template for the Red Cross Daily Report (in the CUSTOM folder)|
|4||ARCdaily.csv||empty spreadsheet delineating the data fields for the ARC daily report (in the CSV folder)|
|5||ARCdaily_001.csv||completed user form for report #001, Red Cross Daily Report (in the CSV folder)|
|6||W1HKJ-14.c2s||flmsg transfer document for above completed form (in the ICS/MESSAGES folder)|
|7||W1HKJ-14.htm||html view of (6), will be written to the NBEMS.files/temp_files folder|
|8||W1HKJ-14.txt||text view of (6), will be written to the NBEMS.files/temp_files folder|
The flmsg spreadsheet (csv) handler detects a first line in the csv body:
Which will cause special handling for both View ... html, and View ... text, when detected and the files "form_name.html" and "form_name.txt" are present in the folder
then those template files will be used for the viewer. If not found then the standard spread sheet view will be presented to the user. This maintains complete backward compatibility with the current flmsg. flmsg will create a new subfolder under the nbems.files (~/.nbems) folder hierarchy.
The form templates, html and txt should be placed in the CUSTOM folder.
Good usage dictates that blank spaces in file names and field names be replaced with the underscore character. Field contents should be enclosed in double quotes when the field contains a comma.
It might be advisable to also distribute a how-to file for each custom form. The how-to would detail what each csv line requires, which ones should not be modified, etc.
The developers are working on an embedded web server within flmsg that will allow further enhancement of the custom form concept. When completed it will be possible to use the custom form for both data entry and display.