Manual: OTTO
OTTO (1988)
Supports our TCS OTTO automated page generator, which takes a "bare bones" simple text file, automatically reformats the data in it into graphic templates, and stores the result.
HOW OTTO WORKS (AN OVERVIEW):
OTTO is a flexible text-merge utility which automatically mergesa volume of ASCII text into pre-formatted NAPLPS templates. OTTO will automatically parse a large ASCII Text file so that the text is merged into successive NAPLPS Templates. OTTO will also highlight text appropriately as it goes. OTTO also operates in a "list" mode which allows it to process several ASCII files in succession.
We have provided you with example files to help show you how OTTO works.
The ASCII Text Files:
\ASC\INONE.ASC ASCII Text File #1 (All text in this file will be merged into TEXTUP Field %0001)
\ASC\INTWO.ASC ASCII Text File #2 (All text in this file will be merged into TEXTUP Field %0002)
\ASC\INALL.LST Process Control List containing the names of ASCII files "INONE.ASC" & "INTWO.ASC"
The NAPLPS Templates:
\TMP\AAAA.TMP Base NAPLPS Template for "INONE.ASC" (This contains TEXTUP Field %0001)
\TMP\AAAAEND.TMP Last NAPLPS Template for "INONE.ASC" (This contains TEXTUP Field %0001)
\TMP\ZZZZ.TMP Base NAPLPS Template for "INTWO.ASC" (This contains TEXTUP Field %0002)
\TMP\ZZZZEND.TMP Last NAPLPS Template for "INTWO.ASC" (This contains TEXTUP Field %0002)
END GROUP BEGIN GROUP PROCESSING A GROUP OF ASCII FILES: If you select to process the List of ASCII Text files ("INALL.LST"), then OTTO will process each ASCII Text file ("INONE.ASC" & "INTWO.ASC") in order, in this fashion:
1) OTTO scans the ASCII Text file and finds the name of the Template ("AAAA.TMP") and the Field Label ("%0001") which are listed at the top of the file.
2) OTTO pulls the "AAAA.TMP" NAPLPS Template out of the \TMP Directory and finds the start of the Field ("%0001") within the Template.
3) OTTO looks into RECODATA.UTL under the correct Field Label (i.e. "%0001") and finds the Merge Parameters for that Field (i.e. A "Text" Field of "14 Lines x 46 Characters").
4) OTTO parses and merges as much text from the ASCII Text file as will fit into the Template ("AAAA.TMP") and then saves the resulting NAPLPS file under a unique filename in the \OUT directory.
5) OTTO repeats this process of parsing, merging and saving until it reaches the end of the ASCII text file. The last piece of Text in the file will be merged into the Template "AAAAEND.TMP". END GROUP BEGIN GROUP OTTO DISK ORGANIZATION ===============================================================
SOFTWARE FILES:
OTTO.EXE is the Automated ASCII -> NAPLPS Reformatting Program.
RECODATA.EXE is the Utility Program which allows you to define the Text entry parameters for the Fields in the NAPLPS Templates which OTTO will use. (For example: A "Text" Field of "12 Lines x 46 Characters")
(BASRUN.EXE makes it possible for RECODATA.EXE to run.)
RECODATA.UTL contains the Data files which describe the way in which the ASCII files will be reformatted into NAPLPS.
DIRECTORIES:
In order to assist you in managing the volume of files you'll be dealing with, OTTO automatically stores and retrieves different types of files in different DOS directories. You MUST maintain the proper files in the proper directories; otherwise OTTO will not be able to process them properly.
Directory \TMP holds the NAPLPS Templates into which the ASCII files will be merged by OTTO. ("AAAA.TMP", "AAAAEND.TMP", "ZZZZ.TMP" & "ZZZZEND.TMP")
Directory \ASC holds the ASCII Text Files which will be merged into the Templates. ("INONE.ASC" & "INTWO.ASC")
Directory \ASC also holds the List files (of several ASCII files) which will be merged by OTTO. ("INALL.LST")
Directory \OUT holds the Output Files which have been created with OTTO. (This will be filled with files as you use OTTO.)
END GROUP BEGIN GROUP HOW TO CREATE AN ASCII TEXT FILE FOR "OTTO" ================================================================
OTTO will take any ASCII Text file and merge it into any valid OTTO Template. OTTO will automatically rewrap and reformat the ASCII text to the parameters of the NAPLPS Template, as defined in RECODATA (i.e. "14 Lines x 46 Characters"). OTTO recognizes paragraph separations. OTTO does not automatically hyphpenate words.
OTTO expects to see 2 pieces of information at the head of the ASCII Text file:
1) The name of the NAPLPS Template into which the ASCII Text will be merged. This is in the form:
%AAAA.TMP
where "AAAA.TMP" is the name of the NAPLPS file. NOTE: OTTO recognizes any line which begins with "%", followed by text, as being the name of a Template file. The NAPLPS Template filename must be followed, on a separate line, by:
2) The Field Label which identifies the data in RECODATA.UTL which describes the Merge Parameters (i.e. "14 Lines x 46 Characters") which will be used by OTTO to lay out the Text in the Template. This is in the form:
%0001
where "1" is the Field in RECODATA.UTL which contains the Field text merge parameters (14 Lines x 46 Characters).
These pieces of information must appear at the beginning of the ASCII text file, each on their own line and preceded by "%". The resulting ASCII Text file might look something like this:
%AAAA.TMP %0001
Beginning of ASCII Text : Now is the time for all good men to come to the aid of the quick brown fox who jumped over the lazy dog.......etc
END GROUP BEGIN GROUP HIGHLIGHTING TEXT IN OTTO ================================================================
The format for highlighting text is:
%C15 (or %c15) Begins the Highlight (using Color #15) %NC (or %nc) Ends the Highlight
where the highlight delimiters are simply inserted into the existing ASCII text (without any additional text spaces). Thus, to highlight the words "quick" and "lazy" in the following example with Color #15:
%AAAA.TMP %0001
Beginning of ASCII Text : Now is the time for all good men to come to the aid of the %C15quick %NCbrown fox who jumped over the%c15 lazy%nc dog.......etc
The "%c#" and "%nc" Highlight Color delimiters may be either upper or lower case text and do not need to be "buffered" by any empty spaces. As you can see from the above example, the Highlight Color delimiters can be placed immediately adjacent to text, if desired.
This allows you to highlight individual letters within a word, highlight a word which is enclosed in parentheses or quotes, or highlight a word which is followed by punctuation. For example:
A) %c11H%nc%c12E%nc%c13L%nc%c14L%nc%c15O%nc is, admittedly, a bit awkward. But it will also print out a multicolored "HELLO".
B) I'm going to highlight the word "%c12HIGHLIGHT%nc".
C) We can use this technique to %c15emphasize%nc, %c15hilite%nc, and %c15accentuate%nc.
END GROUP BEGIN GROUP OTTO AND TEXTUP ================================================================
TEXTUP is a powerful user-operated Template-driven program which allows a person with simple text-entry skills to merge graphics, edit, highlight & insert bullet points into text, manipulate custom fonts, and enter bar chart values into pre-formatted NAPLPS Templates. In order for OTTO to merge the ASCII Text into a NAPLPS screen, it must know where and how to enter the text into the screen. It does this by finding the appropriate TEXTUP Field Label within the Template, as OTTO is fundamentally an "automated" TEXTUP. Accordingly, this document will occasionally refer to "TEXTUP" rather than "OTTO" in explaining the Field Labeling process. By learning how to create a valid TEXTUP Field Label, you can control the graphic attributes (text color, text size, text spacing, layout, etc) within a NAPLPS Template that you create yourself.
HOW TO CREATE A VALID "OTTO" TEMPLATE ================================================================
A valid TEXTUP Field can be placed anywhere in a NAPLPS screen, so long as it conforms to this entry format:
1) THE FIELD LABEL HEADER: Every Field in a TEXTUP Template begins with a NAPLPS Point Set Absolute (X,Y) to an off-screen location, followed by an ASCII "%" and a 4-digit number (the Field Label).
2) THE ON-SCREEN LOCATOR: All TEXTUP Fields require a NAPLPS Point Set Absolute (X,Y) in order to anchor the position of the Field on the displayable screen.
3) "THROWAWAY TEXT": All TEXTUP Fields should have a string of ASCII text following the "on-screen locator". This text will help to give the TEXTUP Entry Operator a visual cue as to the physical location of a Field in the Template. This "throwaway data" will be stripped out by the TEXTUP program when the Field is edited (Though it will be left in the Template if you choose to NOT alter the Field).
4) THE FIELD LABEL DELIMITER: Every Field in a TEXTUP Template ends with a NAPLPS Point Set Absolute (X,Y), followed by an ASCII "."
IMPORTANT: All TEXTUP Templates and their Field Labels are created using 7-bit NAPLPS graphic commands. You MUST create your Templates using the 7-bit format. Don't worry: a 7-bit NAPLPS file will display properly when displayed on a decoder which is in 8-bit mode; however, an 8-bit file will NOT display properly on a decoder which is in 7-bit mode. (Most NAPLPS & videotex systems today use the 7-bit format by default.)
END GROUP BEGIN GROUP TECHNIQUE: "Hiding" The Field Label =================================================================
TEXTUP Field Label Headers and Delimiters are standard ASCII text characters. From a design perspective, it is preferable to "hide" the Field Label Header and Delimiter so that they do not encroach on the screen design.
TEXTUP takes advantage of the fact that the NAPLPS graphic protocol allows you to use an area outside of the visible display screen for storing information. NAPLPS recognizes a drawing area of 256x256 pixels (the minimum resolution of a NAPLPS decoder), even though an area of only 200x256 is displayable on the screen at any one time.
TO "HIDE" THE FIELD LABEL OFF-SCREEN: Move the Cursor to a legal NAPLPS off-screen location. The easiest way to do this is to enter the NAPLPS Point Set Absolute (X,Y) coordinates from the keyboard (i.e. "X coordinate at Pixel Position 0, Y coordinate at Pixel Position 220" will place the cursor off-screen at a legal NAPLPS location on the left side of the drawing area and 20 pixels ABOVE the visible screen.)
TO "HIDE" A FIELD LABEL ON-SCREEN: You may not have a Screen Design program which allows you to draw "off-screen". You can still "hide" the Field Label. Just find an unused portion of the background and write the Field Label IN THE BACKGROUND COLOR. (You can probably still draw the Field Label off-screen by placing it in the upper left-hand corner of the screen.) Then change the color back to what you want for the Text Field and "anchor" it on the screen with a Point Set Absolute.
END GROUP BEGIN GROUP CREATING A TEXT FIELD HEADER (Type Code "T") =================================================================
A Text Field within a Template should be constructed so that all attribute commands (such as Text Size, the NAPLPS Text Field definition, Text Rotation, Inter Character Spacing, etc.) are executed prior to the Text Field. As with all other TEXTUP Fields, the Text Field begins with an (off-screen) NAPLPS Point Set Absolute (X,Y) followed by the Field Label ("%" and a 4-digit number).
TEXTUP expects to see a Select Color and a Point Set Absolute command immediately following the Text Field Label. These two NAPLPS drawing commands may be drawn in any order, but must come immediately after the Field Label. This "On-screen Locator" will define what color the text in the Text Field will be and where the text will appear on the screen.
Every TEXTUP Field must contain some sort of "throwaway text" between the On-screen Locator and the Field Label Delimiter. This will aid the frame creation artists in their work (by giving them a visual reference on the screen) and will be stripped out automatically when the Template is updated. If you don't wish to have text appear on the template screen, simply enter an ASCII [space] (" ") as "throwaway text".
The Text Field ends with another (off-screen) Point Set Absolute, followed by an ASCII period (".").
ATTRIBUTES Text Size ---------- (Text Attribute) Path ---------- " " Rotation ---------- " " Text Path ---------- " " Text Field ---------- " "
TEXTUP TEXT FIELD LABEL HEADER X,Y Coordinates ----- (Off-Screen Position) "%0001" ---------- (ASCII Field Label Header)
ON-SCREEN LOCATOR Select Color ---------- (Text Color) X,Y Coordinates ----- (On-Screen Position)
CONTENT AREA "Test Title" ---------- (Throwaway ASCII Text)
TEXTUP TEXT FIELD LABEL DELIMITER X,Y Coordinates ------ (Off-Screen Position) "." ---------- (ASCII End-of-Field Delimiter)
END GROUP BEGIN GROUP HOW TO "ACTIVATE" A FIELD LABEL IN RECODATA ================================================================
RECODATA: AN OVERVIEW
RECODATA.UTL is the heart of the TEXTUP process. When the TEXTUP program finds a valid Field Label in an ASCII Text file, it immediately goes to check RECODATA.UTL in order to find out what it can about that particular Field.
RECODATA consists of two discrete functional elements:
* RECODATA.UTL is a passive database-like "information repository" which contains a detailed description of your TEXTUP Fields ("%0001" through "%9999"). Initially, RECODATA.UTL is small and rather empty; it contains only a few "active" Fields. RECODATA.UTL can grow in size as you activate more TEXTUP Fields.
* RECODATA.EXE is a software program which allows you to go into your RECODATA.UTL Data Records in order to add, alter, or list the contents of a Field or group of Fields. The RECODATA process is essential to making usable TEXTUP Templates. Your NAPLPS screens may have properly configured ("%xxxx") Field Labels, but TEXTUP will not allow you to access them unless you have also created Data Record files in RECODATA.UTL.
RECODATA.EXE also allows you to view and print the contents of RECODATA.UTL. This can be of great help to you as you plan your Templates.
As described above, RECODATA.UTL is a passive repository of information. Therefore, this document will deal primarily with how you can use the active RECODATA.EXE software program to manipulate and manage your RECODATA.UTL files.
We have provided you with several Field Label management tools in your RECODATA.EXE program. We suggest that you use these tools to check the contents of RECODATA.UTL and determine your working parameters BEFORE you imbed Field Labels into your Template screens.
When you invoke the RECODATA.EXE program by typing in "RECODATA" [RETURN] at the DOS> prompt, you will be presented with several options:
1:VIEW A RECORD 2:MAKE A RECORD 3:PRINT RECORDS [M] MAKE A NEW RECODATA FILE [Q] QUIT END GROUP BEGIN GROUP Option [1] VIEW A RECORD allows you to specify a Field Label to be viewed by entering the Field Label number (s.a. "%0001") at the prompt. Press [SPACEBAR] to return to the Main Menu.
Option [2] MAKE A RECORD allows you to "activate" a Field Label by entering the Field Label number (s.a. "%0001") at the prompt. Press [SPACEBAR] to return to the Main Menu.
Option [3] PRINT RECORDS allows you to obtain a printout of information about your RECODATA.UTL files. You are presented with 3 options:
1) PRINT AVAILABLE FIELDS gives you a sequential list of those Field Labels which are presently undefined and "inactive" (i.e. available for definition) in RECODATA. This list includes visual "holes" where the Active Fields occur.
2) PRINT ACTIVE FIELDS gives you a sequential list of the Field Labels which are presently defined and "active" (This will list their attendant ALIAS, FIELD TYPE, ROWS and COLUMNS values, as well).
3) PRINT A BLOCK OF FIELDS allows you to specify a sequential list of Fields (i.e. FROM: 0111 TO: 0114) to be printed.
The PRINT options in particular give you a valuable set of tools for managing your Field Labels. We suggest that you update and print these lists regularly, and use them as aids in managing your Template screen production process.
Option [M]: MAKE A NEW RECODATA FILE allows you to create a new RECODATA.UTL Data Record file or to clear the contents of an old one.
Normally, most people use the default RECODATA.UTL file to store all of the Field Label data for their templates. However, sometimes you may wish to clear the old RECODATA file or to create a new one. In order to do this you must first delete the old RECODATA file. Then you must use the [M] MAKE A NEW RECODATA FILE option to create an empty RECODATA file. If you do not do it this way, your RECODATA will build up garbage data that may make your life difficult. The Field Labels will still work but the RECODATA.EXE print functions will malfunction and you will be wasting your disc space.
END GROUP BEGIN GROUP DESCRIPTION OF RECODATA.EXE FEATURES ==================================================================
Option [1]: VIEW A RECORD
When you select [1] VIEW A RECORD, you will be asked to enter the number of the Field (This is the TEXTUP Field Label). RECODATA will ask you:
ENTER FIELD #:
This can be any number of 4 digits or less; there is no need to enter the leading numbers if they are zeros. (i.e. You can enter "1" rather than "0001").
RECODATA will then present you with a screen that looks like this:
ALIAS NAME: Title
TYPE NAME: T Text Field
# OF ROWS: 1
# OF COLUMNS: 15
================================================================== FIELD NUMBER: 1 PRESS [SPACEBAR] TO CONTINUE
These are the contents of a RECODATA data file, and this is what make TEXTUP "smart". We will describe the contents of this screen in greater detail in the next section. Press the [SPACEBAR] to return to the RECODATA Main Menu.
Option [2]: MAKE A RECORD
When you select [2] MAKE A RECORD, you are in a position to define a Field Label so that it can be manipulated by TEXTUP. The creation of a valid TEXTUP Template consists of two processes:
* Entering a Field Label (such as "%0001") into a NAPLPS Template according to the process described above
* Creating an appropriate Field Label Data Record in RECODATA.UTL
END GROUP BEGIN GROUP A RECODATA.UTL Field Label Data Record contains the following five items:
1) FIELD # 2) ALIAS NAME 3) TYPE CODE 4) # OF ROWS 5) # OF COLUMNS
When you select [2] MAKE A FIELD LABEL, you will be presented with a message to "ENTER" a value for each of the items in the Field Label Data Record.
First you will be prompted with the message:
ENTER FIELD #:
1) The FIELD # is the same as the 4-digit number which follows the "%" in the Field Label Header which you entered into the Template. Unlike the Template Field Label Header (which must have a "%" followed by a 4-digit number, s.a. "%0001"), the FIELD # item can be a single digit (RECODATA.EXE recognizes that "1" is Field Label "%0001").
After you have entered the FIELD #, you will be prompted with the message:
ENTER ALIAS NAME:
2) The ALIAS is a "comment line" of up to 20 characters which will be displayed on the TEXTUP System Screen. The ALIAS is most useful in providing the TEXTUP Operator with relevant information about the currently active Field.
The ALIAS Name feature allows you to customize Field identification labels with easy-to-understand information about the Field for the person who's performing the TEXTUP Entry Process.
After you have entered the ALIAS NAME, you will be prompted with the message:
ENTER TYPE CODE:
END GROUP BEGIN GROUP 3) The TYPE CODE is a single character which describes the Field Type. There are five types of Fields and therefore five Type Strings. A Type String identifier may be entered as either upper or lower case text. You will be using only the Text Field Type String in OTTO:
Type String = T or t Text Field
After you have entered the TYPE CODE, you will be prompted with the message:
ENTER # OF ROWS: and then ENTER # OF COLUMNS:
4) The NUMBER OF ROWS and 5) The NUMBER OF COLUMNS
The ROWS and COLUMNS information is used to set up the text editing display for Text Fields.
ROWS refer to horizontal lines of text in the Field.
COLUMNS refers to the number of characters per line
THE COMPLETED FIELD LABEL DATA RECORD
When you are finished entering the information into the RECODATA.UTL Field Label Data Record, the screen will look something like this:
ENTER FIELD LABEL: 1
ENTER ALIAS NAME: OTTO TEXT FIELD
ENTER TYPE NAME: T TEXT FIELD
ENTER # OF ROWS: 14
ENTER # OF COLUMNS: 46
================================================================= PRESS [SPACEBAR] TO CONTINUE
Press the [SPACEBAR] to return to the RECODATA.EXE Main Menu. END GROUP BEGIN GROUP NOTE: When you select [2] MAKE A FIELD, you are in a position to overwrite whatever existed in that Field before. RECODATA.EXE will NOT warn you you that you already have anything in the Field and will simply overwrite it. This is a good argument for using either the [1] VIEW A RECORD or [3] PRINT RECORDS option before you choose to Make a Record.
Option [3] PRINT RECORDS
When you select [3] PRINT RECORDS, you have the opportunity to make hardcopy printouts of selective information about your RECODATA.UTL file. You are presented with a screen which offers you three options:
[1] PRINT AVAILABLE FIELDS [2] PRINT ACTIVE FIELDS [3] PRINT A BLOCK OF FIELDS
Option [1] PRINT AVAILABLE FIELDS gives you a sequential list of those Field Labels which are presently undefined and "inactive" (i.e. available for definition) in RECODATA. This list includes visual "holes" where the Active Fields occur.
Option [2] PRINT ACTIVE FIELDS gives you a sequential list of the Field Labels which are presently defined and "active", and will simply ignore those Field Labels which are empty. This option will also list each Field's attendant ALIAS, FIELD TYPE, ROWS and COLUMNS values in columns on the right.
Option [3] PRINT A BLOCK OF FIELDS allows you to specify a sequential list of Fields (i.e. FROM: 0111 TO: 0114) to be printed. This is a "full listing"; each Field in the block is fully described, irregardless of whether it is inactive or active.
END GROUP BEGIN GROUP HOW TO OPERATE THE "OTTO" MERGE PROCESS ================================================================
1) Type "OTTO" [Enter]
2) OTTO prompts you:
Press <F1> to process a series (List) of ASCII files
Press <F2> to process a single ASCII file
When you have selected one of these options, OTTO will offer you a pop-up menu with a list of the available files for processing. In our example, we have named our individual ASCII Text files "INONE.ASC" and "INTWO.ASC"; the List file "INALL.LST" contains the names of both of these files. Select either "INONE.ASC" or "INTWO.ASC", or "INALL.LST" to process both of them.
3) OTTO scans the individual ASCII Text file you've selected (or the first ASCII Text file on the List you've selected) and shows you a PARAMETER LIST for that file. At the top of the screen OTTO tells you the name of the ASCII file you are dealing with. It also notes where you are in a List of ASCII files. (i.e. "File 1 of 2" would indicate that you are looking at the first of two ASCII files in a Process List.)
4) When you are satisfied with the MERGE PARAMETERS you have selected, press [Enter] to begin OTTO processing.
5) OTTO will store the merged ASCII -> NAPLPS files in the \OUT Directory.
*) To view the completed files in our demo, type "VIEWOTTO".
END GROUP The OTTO MERGE PARAMETERS LIST includes: =================================================================
NAPLPS TEMPLATE: This is the name of the Template you will merge the ASCII Text into. In our example, we have used "AAAA.TMP". This Template file must be in the \TMP directory.
FIELD LABEL: This is the Field Label which identifies how the Text will be handled by OTTO (i.e. Field Label "%0001" is a Text Field with "14 Lines x 46 Characters"). This Field Label must be active in RECODATA.UTL and must also appear at the top of the ASCII text file.
OUTPUT FILE: This is the name of the merged NAPLPS file which OTTO will create. It can be no more that 5 characters, plus the extender. The OTTO default for Output files is to take the ASCII Text filename as the root and add "PDI" as the extender.
Thus, if the ASCII file being merged was "INONE.ASC", then OTTO will rename the merged NAPLPS files in the format "INONE001.PDI", "INONE002.PDI" ...... "INONE999.PDI" (unless you tell it otherwise). If you wish to specify a different extender than "PDI", just type over the Default name.
For example, you might replace "INONE.PDI" with "MINE.NEW", in which case the merged files will be named "MINE001.NEW" ... "MINE999.NEW".
Or if you wish to have no extender, replace "INONE.PDI" with "NOEXT.", in which case the merged files will be named "NOEXT001" ...."NOEXT999". The Output files are stored in the \OUT Directory.
TEMPLATE FOR LAST PAGE: This is the name of the Template that will be the last merged NAPLPS file to be created from the ASCII Text file. If your basic Template was named "AAAA.TMP", then OTTO assume that this file is named "AAAAEND.TMP" by default.
OUTPUT FILE FOR LAST PAGE: If the ASCII Text file to be merged was "INONE.ASC", then OTTO will name this file "INONEEND.PDI" by default. The Output files are stored in the \OUT Directory.
On-screen prompts tell you how to use Directional Keypad to move around the screen. Use [Insert] and [Delete] to edit. (Insert is "toggled"; hit it once to enter "Insert" mode, hit it again to return to conventional "overwrite" keyboard
Copyright 1986 The Communication Studio Inc