ARTS Manual
Introduction
Chapter 1: An Overview of ARTS
Chapter 2: Generating an ARTS form
Chapter 3: ARTS Degrees
Chapter 4: The ARTS Appendix
Chapter 5: The ARTS Dictionary, Degree Maps and Other Tables
Chapter 6: FIB forms
Chapter 7: ARTS Utilities
Chapter 8: Electronic Folder System (EFS)
Chapter 9: Graduate Database System (GDS)
Chapter 10: The Graduation Checker
Appendix A: ARTS Design Tips
Appendix B: ARTS FIB Dictionary
Last Revision: 02/23/06
This chapter will explain how Fill-In-the-Blank (FIB) forms are designed, and the FIB language that is used to create them. Chapter 3 covered the basic layout of FIB forms, which is recommended to be the first step in the ARTS degree design process. This chapter will cover the remainder of the FIB form design process.
The basic structure of a FIB form was outlined in Chapter 3. Now, we will take a more detailed look at the FIB form structure, and how the different parts of the FIB form come together to form a powerful tool that can save you lots of time and energy when creating ARTS forms and reports.
"Text" is the term used for the text that is printed when the ARTS form is printed. The text usually indicates what the school is, what the department the form is for, what the blanks contain, etc. Any text that is on the FIB form before the "$" and that doesn't contain the special characters listed below is automatically printed in the same location on the ARTS form as where you typed it on the FIB form.
Special Characters are characters that tell the ARTS program to do something other than just print the characters on the ARTS form as ordinary text. The characters and their meanings are described below:
^BGrades must be turned in by:^b______.
You can also issue printer commands through FIB language formatting words, e.g. BOLDFACE, ITALIC, etc. These commands only affect the printing of the data that is placed in the blanks, however. Note that the "^B" is a common code used to change the text following it to boldface, and the "^b" is used to change the type back to normal type. The characters used for the printer control codes themselves do not take up any space when the text is printed, even though they are visible on the FIB form when they are typed in. For example, the phrase "my KU ^BGPA^b" will show up on the ARTS form when printed as simply "my KU GPA", with the word "GPA" printed in bold. Printer control codes that are assigned to numbers are usually used for font selection or other printer features that do not have an on/off status.Blanks contain the data that the FIB language tells ARTS to put in them, often depending upon the student for whom the ARTS form is being printed. The student's demographics, collective hours, courses used for requirements, and many other things are printed in these blanks. This makes the FIB form a very powerful tool for ARTS forms and reports. Blanks work by simply typing a set of "_" characters together in a desired location on the FIB form. ARTS keeps a running count of these blanks, and it looks for the FIB line number that corresponds to the blank number. The FIB line will instruct ARTS what to print in the blank, thus replacing the "_" characters with the needed information. For example, the FIB form below (Figure 6.2a) has three blanks--one each for Name, KUID, and GPA: Those blanks are referred to by the numbered FIB lines below the "$", and the information is put into those blanks accordingly. Figure 6.2b shows the resulting ARTS form, given the information JOE STUDENT, 123456, and 3.56 GPA.
|
SAMPLE ARTS FORM |
Figure 6.2a--Sample portion of a FIB form.
|
SAMPLE ARTS FORM |
Figure 6.2b--Sample ARTS form resulting from Figure 6.2a.
Note how the text "SAMPLE ARTS FORM" and the identifiers in front of the blanks (i.e. "Name:") were printed exactly as they were typed on the FIB form in Figure 6.2a. The blanks are now gone and replaced by the data that ARTS has retrieved from the student's information file.
The macro character must be followed by one of four codes, all of which are explained below:
|
@T1 |
|
FA92 Term: 3.20 Cum: 3.20 |
Figure 6.1--Sample Transcript Macro.
CNCLHRS 3.00 Add-on ttl hrs req
Macros are special character sequences that are used to insert Transcripts ("@T1"), Explanatory Notes ("@N"), and other things. Macros are created by simply typing the character sequence in the given spot where you want the Transcripts or Notes to begin, making sure that you allow at least 39 characters of space on that particular line. A sample FIB form macro is displayed in Figure 6.3a below:
|
SAMPLE ARTS FORM |
Figure 6.3a--Sample FIB form Explanatory notes section.
|
SAMPLE ARTS FORM |
Figure 6.3b--Sample ARTS form Explanatory note resulting from fig. 5.3a.
Atoms are FIB language words that refer to the data that prints in the blanks. There are three kinds of Atoms--Singular, Multiple, and Global. Singular Atoms refer to a data name that does not need to be described further by a Modifier to be understood by ARTS. Multiple Atoms refer to data names that can contain many values, so they need Modifiers for ARTS to understand what you are referring to. To make things more clear, see Figure 6.4 below for samples of each type of Atom, and sample Modifiers that are typically used with them:
| Type of Atom | Atom | Sample Data | Example in FIB language | |
| Singular | ID | 123456 | ID | |
| Singular | NAME | SMITH JOE | NAME | |
| Multiple | TERM | 3982 (Spring '98) | NEXT TERM | |
| Multiple | COURSE | ENGL 0101 | FIRST COURSE | |
| Global | LISTING(transcript) | (long transcript format) | LISTING TRNSCRPT |
Figure 6.4--Sample ARTS Atoms and Modifiers.
NOTE: Confused about what Modifiers are? See "Modifiers" later in this Chapter. The "ID" Atom refers to the student's KUID, and ARTS needs no Modifiers to find this (there is only one KUID per student). The same applies to "NAME". "TERM" and "COURSE" are another matter. The student has most likely taken many courses in more than one term, so ARTS needs a modifier to find a particular course or term to which the Atom is referring. Thus, "FIRST COURSE", for example, refers specifically to the first course in a list of courses that a student has taken within a given requirement. Global Atoms are special Atoms that refer to global values and variables within the FIB form. An example of a Global Atom would be "LISTING", which can be formatted to change the appearance of the transcript listing on the ARTS form. Refer to Appendix A for a complete list of Atoms and their definitions.
Modifiers are words that are used in conjunction with Atoms to form FIB phrases, much like adjectives go together with nouns to form a sentence. A few examples of Modifiers are "FIRST", "OVERALL", "MINIMUM", and "NEXT". Only one Modifier can be used per Atom in a phrase. "NEXT", for example, refers to the next item in a list of items that ARTS is using--like Majors, for example. If one were to use the FIB phrase "NEXT PLAN", then ARTS will go down the list to the next available plan within the student's data, if there is one (ARTS ignores this line if the student only has one plan). See Appendix A in this manual for a complete listing of available Modifiers.
NOTE: The asterisks and syntax of FIB commands will be explained later in this Chapter, so you can ignore them for now.
Formatters are much like Modifiers, except that they don't describe what to print, but how to print it. Formatters are used after Atoms, whereas Modifiers are used before them. You can use many Formatters after one Atom. Some examples of Formatters appear below in Figure 6.5.
| Formatter | Description | Example |
| ITALIC | Print field in italics | COURSE ITALIC |
| TERMFORM | Converts "3982" to "SP98" format | TERM TERMFORM |
| ZEROSUPP | Suppresses extra zeroes in a number | HOURS ZEROSUPP |
| STORE1, STORE2 | Saves a value or the results of a calculation in DATA1, DATA2 | HOURS + CUM-HRS STORE1 |
Figure 6.5--Sample Formatters and their FIB language usage.
There are generally two uses for Formatters: Local and Global. Local formatters apply to Local Atoms that refer to one piece of data, like "ID". Global formatters apply to Global Atoms that refer to many pieces of data, like "FIELDS" or "LISTING". Global formatters, once applied to a Global Atom, affect the whole ARTS form the rest of the way whenever the Global Atom is referenced. For example, the line
*** FIELDS ITALIC
changes all data that is placed in blanks after this command to italic typeface. If you wish to change the fields back to normal after a certain number of them have been printed, simply use the line***FIELDS NORMAL
to return the printing to normal typeface for the rest of the form. A complete list of available formatters can be found in Appendix A of this manual.Phrases are Atoms alone or combined with Modifiers and/or Formatters, much like sentences are composed of different types of words. Sample Phrases are listed in Figure 6.6 below:
| Phrase type | Example | |
| Atom | GPA | |
| Modifier-Atom | FIRST COURSE | |
| Atom-Formatter(s) | TERM TERMFORM | |
| Modifier-Atom-Formatter(s) | NEXT COURSE BOLD |
Figure 6.6--Phrase types and sample phrases.
FIB Statements are the Statements that make things happen with Phrases on the FIB form. They are composed of Conditions, Relations, and References. FIB Statements are what gives ARTS much of its power, in that you can use them to print data into a blank if a certain condition is met, and specify exactly what you want printed and how it should be printed.
Before we get into FIB Statements, a discussion of the standard FIB line is in order. FIB lines, which are below the "$"symbol and after blanks and text, have one of the following forms:
| Statement Type | Example |
| nnn statement | 001 NAME |
| bbb statement | 001 "OK" IF TESTREQ: SATISFIED ELSE NEXT CRS |
| $ statement | $ --This line is a comment.--- |
| *** statement | *** GOTO "STUFF" IF DEGREE = "BA" |
Figure 6.7--Sample FIB statement types and Examples.
"nnn" FIB Lines start with numbers that must correspond to a blank above the first "$" line. A sample is shown below in Figure 6.8 below:|
Sample ARTS Form |
Figure 6.8--Sample ARTS form with "nnn" and "$" lines.
In the above example, the student's name is used as the first line on the FIB form, so the corresponding FIB line "NAME" must exist below the "$" character, and it must be preceded by a "001" for "NAME" to be used in the first blank.
"bbb" lines start with three spaces (plus an extra space before the Statement begins, making it four total), and they signify a continuation of the previous FIB line. They are handy to use if a FIB line is very long, and you wish to continue it on the next line. NOTE: A FIB Statement can continue across several lines, but it may not contain more than 160 characters or 25 separate words. An example of this is shown in Figure 6.7 above.
"$" lines serve two purposes. They serve as dividers between the blanks and text and the FIB Statement lines, and comments can also be placed on these lines. An example of this type of line is Figure 6.8, where the "$" line is placed with a comment next to it above the "001" FIB line. NOTE: The "$" line must be used at least once in a FIB form for ARTS to read the FIB Statements after it properly.
"***" lines are lines that do not apply to a specific FIB blank. They are often used for calculations, Meta-Statements or References, and they are often used to set up for the next "nnn" line. An example of a "***" line is shown in Figure 6.7 above.
Meta-Statements are used to deploy a certain FIB form if a condition is met by employing the command "USE", skip a number of FIB lines using the command "GOTO", or skip part or all of a student's FIB form using "SKIP".
References are basically phrases or degree requirements that are referred to or manipulated in some way. Consider References to be one step above phrases in the FIB language ladder; sometimes they are just phrases. Possible forms for References are listed in Figure 6.9 below:
| Reference Form | Example |
| phrase | NAME |
| requirement: phrase | MATH: FIRST COURSE |
| degree:requirement: phrase | CALCS:KUHRS: HOURS |
| THE reference FOR condition | THE NEXT TEST FOR TEST "ACT" |
| reference op reference | MATH: HOURS + ENGLISH: HOURS |
Figure 6.9--Sample References & Examples.
As shown above, a Reference can refer to a FIB phrase, requirement, degree name, or other variable within ARTS. For example, the phrase "MATH: FIRST COURSE" refers to the "MATH" requirement in the degree, and the first course the student took to satisfy it. The "degree:requirement: phrase" is referring to a requirement within an external degree that was pulled in by the current degree in processing. In Figure 6.9, "CALCS" is the external degree, and "KUHRS" is the requirement within "CALCS" that is being used here. An example of referencing an external degree is shown in Fig. 6.10 below:
Sample ARTS Form |
Fig. 5.10--Sample external degree reference.
In the above figure, the degree currently being used is "BABGS". The degree "BABGS" has an external degree called "CALCS" linked to it in the tree (see Chapter 3 on how to link an external degree within another degree tree). The requirement "MATH" is referred to first, then the external degree "CALCS" is used to print the GPA for the requirement "TOTALHRS" within the "CALCS" degree. After "CALCS:TOTALHRS" is used, the FIB needs to refer back to the regular degree "BABGS". NOTE: There must be a space between the requirement's colon and the phrase after it. If you are referring to a requirement from another degree, no space is required between the degree:requirement reference.
Relations are FIB Statements that relate two FIB References, using the form reference op reference, where "op" is one of the following relational operators: These Atoms are defined in Appendix A of this manual.
| Operator | Meaning | FIB word equivalent |
| = | equal to | IS |
| <> | not equal to | NOT |
| < | less than | BELOW |
| > | greater than | ABOVE |
| <= | less than or equal to | (none) |
| >= | greater than or equal to | (none) |
| CONTAINS | contains | (n/a) |
| EXCLUDES | excludes | (n/a) |
Figure 6.11--Relational Operators, Meanings, and their FIB Equivalents.
There are a few special Relation Atoms that do not need Relational Operators or second References. They are SATISFIED, MORE, SAMEDEPT, and DIFFDEPT. NOTE: When you relate ARTS non-numeric data (including session) to an Atom, you must use double quotes.
A condition is part of a statement that returns a value of true or false. Conditions take one of the following three forms shown in Figure 6.12(with example to the right):
| Condition Type | Example |
| relation | SESSION = "3819" |
| relation AND relation | CUM-GPA > 3.50 AND HOURS > 10 |
| relation OR relation | PLAN = "UNDECIDEDA" OR INITTERM = "4039" |
Figure 6.12--Condition Types and examples.
All FIB lines are either true or false. A statement containing a single Atom is true if there is any data in the Atom. For example, ID will always be true because every KU student has a KUID, but for other atoms such as STREET, which may not be available from the ARTS processing, the value would be false if the street address were not available for the student currently being processed. If the statement is false, ARTS will fill the blank in with characters designated as null characters, i.e. blank spaces. For example, if blank 001 was 20 characters long and the student's street was not available,
001 STREET
would produce 20 blank spaces. You could tailor the statement so that the blank spaces would not have to be printed by changing it to
001 STREET ELSE "No Street Available"
There is only one "LEVEL" or "NAME" for a student, so these are called Singular Atoms. However, a student may have a number of test scores, courses, and majors, so Atoms referring to these things are called Multiple Atoms. A Multiple Atom must be further specified for a particular piece of data to be produced. This specification is done by either Modifiers or Conditions. An example of a Modifier with an Atom is:
001 FIRST PLAN
PLAN is a Multiple Atom and can refer to any of the plans that the student may have designated on his record. Another modifier is:
001 NEXT PLAN
This produces the next plan in the student's record, or is false if there isn"t another degree. If this is the first mention of PLAN, then this is identical to FIRST PLAN. If there isn"t another degree, you can have ARTS print "none" in the blank instead of just blank spaces by using this line:
001 NEXT PLAN ELSE "none"
Sometimes only a specific one of a multiple field is desired. The following line will print the degree only if it is a BA plan, otherwise it will print blanks:
010 THE PLAN FOR PLAN CONTAINS "-BA"
This differs from
010 PLAN IF PLAN = "ENGL-BA"
because the latter only looks at one degree (the last one specified, or the first if none have been specified) while the former will look through all of the student's degrees and print the first one found that matches the condition. NOTE: The ARTS word "THE" means "Go and find it". Otherwise, ARTS will go with what has been specified on the previous line(s). To print the second plan that matches the condition, user the following:
010 THE SECOND PLAN FOR PLAN CONTAINS "-BA"
ARTS has many powerful features and special functions that allow you to customize FIB forms and reports to meet your needs. Calculations and Special Functions are some of those features. Calculations are helpful when you are using them for ARTS forms or reports. They can be performed using the basic mathematics operators, "+", "-", "*" (multiplication), "/" (division), and "//" (modulus). These functions, along with others, are demonstrated in Figure 6.13:
|
*** COUNTER // 50 |
Figure 6.13--Sample ARTS calculations.
Only one calculation per FIB line is recommended. ARTS also has a few Atoms used in Fig. 5.13 that help make calculations easier to program and debug, which are FIELD, STORE1, STORE2, DATA1, and DATA2. FIELD is the ARTS reference to the data produced on the previous FIB line. STORE1 and STORE2 can be used immediately after a calculation is performed to store the result of a calculation in DATA1 and DATA2, respectively. For the purposes of this example, let us assume the following values: COUNTER is 50, MATH: POINTS happens to be 25, TOTALGPA: HOURS is 19, REPEAT: HOURS is 16, ENGLISH: HOURS is 30, and MATH: HOURS is 25. We will now dissect each line, calculation by calculation.
Line 1 uses the "Modulus" function by dividing COUNTER by 50 and finding the remainder of the result, which would in this case be 50 // 50 = 0 (when you divide 50 by itself, you get one with remainder zero, so the answer is zero). NOTE: "Modulus" is the remainder when two numbers are divided together, e.g. "5 // 2 = 1" and "4 // 2 = 0".
Line 2 takes the result from Line 1 (FIELD), which is zero, and calls the function HEADING after testing the condition IF FIELD = 0, which is true in this case.
Line 3 advances the special ARTS variable COUNTER by one, so COUNTER is now equal to 50 + 1 = 51. These first three lines are helpful for making reports, which typically print a HEADING every time each page is full. In these lines, if the COUNTER has reached 50 or an even multiple of 50, the HEADING will print. One can gauge the number of rows of data that can print before a new page is needed, and design these lines to print a fresh header at the top of each new page. Headings will be covered later in this section.
Line 4 calculates MATH: POINTS + 30, which is 25 + 30 = 55. POINTS refers to Grade Points within a given MATH requirement.
Line 5 takes the value from the previous line inside of the variable FIELD, which has now been changed by ARTS to be 55, and prints it into blank 001 on the FIB form IF MATH: POINTS is greater than 50. MATH: POINTS is defined above as 25, so the value is not printed"null characters (the default is blank spaces) are printed instead. NOTE: The typical null character that ARTS uses for FIB forms is a blank space. The user can modify this, and how to do it will be explained later in this Chapter.
Line 6 takes the values TOTALGPA: HOURS and REPEAT: HOURS, adds them together, and places them in STORE1. In this case, STORE1 should equal 19 + 16, or 35.
Line 7 subtracts MATH: HOURS from ENGLISH: HOURS and places the result in STORE2, which is 30 " 25 = 5.
Line 8 divides DATA1 by DATA2. DATA1 and DATA2 are the reference names used for the values that were placed in STORE1 and STORE2. The result that is placed in blank number two (002) is 35 / 5 = 7.
ARTS has other special functions that you can use that are described below:
*** ENGLISH: FIRST COURSE SAVEDEPT |
*** POOL "MATH" "ENGLISH" |
*** EMPTY "+"
all of the FIB lines after this line that produce no data will force ARTS to print "+"'s in the blanks instead of blank spaces. You can re-use this line to change the null characters as often as necessary within your FIB form.Two or more Atoms can be appended within the same FIB line simply by placing them next to each other. For example:
001 "ID: " ID
002 "MATH is " MATH: FIRST COURSE ELSE "none"
ID: 333333 MATH is MATH 0102
When an ARTS form is used to produce a report having multiple students on a page and one line per student, e.g. a listing of names and GPA's, a special FIB syntax can be used to put a standardized heading at the top of each page. This heading can consist of up to five lines, which are defined with the HEADER command at the beginning of the FIB lines:
|
*** HEADER Test FIB Report Date: MM/DD/YY |
*** COUNTER // 50 |
Overlays can be used within the ARTS program to create ARTS forms within ARTS forms. This can be useful if a school has many majors/plans, and it would be extremely time-consuming to create a single separate ARTS form for each major/plan code. Instead of this method, a school can create one standard ARTS form for all majors with basic, necessary information on it that is pertinent to all majors or plans. You can then create a small form for each major/plan, and it is used within the regular ARTS form, providing the student's major/plan code matches up with its entry on the degree map. Figure 6.14 shows a typical ARTS form overlay. There are two ways ARTS uses to determine which initial ARTS form to use when printing. If you choose to force a form (see Chapter 2 for how to force an ARTS form), ARTS will simply print with the form you are forcing. If you let ARTS choose the form by using degree maps, ARTS will go to the degree map specified during processing, look up the student's major or plan code in the degree map, and process with the form determined by the degree map. Once the initial form has been printed, there are two ways in which the next form for the same plan for the same student will be printed. The first form can specify the next form with a FIB language "USE" statement. Otherwise, if area, major, or minor processing was invoked during transcript processing, the form specified for the area/major/minor in the degree map file will be used. Using the example in Figure 6.14, The middle section of the FIB form with the "@OM" set of characters in the upper left corner is the overlay. Up to three overlays can be used for each student plan. The Figure shows a student whose plan is ENGLA-BA, and ARTS finds their major form by looking at the Degree Map. The overlay is then placed on the FIB form beginning at the "@OM" position. It is possible that the first form that is overlaid will itself have a forms overlay area, and that the next will in turn have another (this is called "nesting"). The total number of overlays per form, however, cannot exceed three.
Figure 6.14--Sample ARTS form with Major Form Overlay.
The FIB form uses the Degree Map to find the correct overlay, which is inserted into the FIB form space where the "@OM" is. In this example, the "ENGL" overlay is pulled because the student's plan is "ENGLA-BA".
The "@" in the "@OM" indicator marks the upper left hand corner of the form to be overlaid. The area to be overlaid is a rectangle that is normally left blank on the initial form, but may be used to document the form (such as a message like "THE MAJOR GOES HERE") since it will be overwritten by the overlay. Note, however, that if the overlay form is not present, either because ARTS cannot find it, or because major/minor/area processing was not turned on, then the overlay area is printed without the overlay form. The following are equivalent:
@OM = major
@ON = minor/concentration
@OA = area/concentration
You can use either @OA to represent the area overlay form, for example. Typically, the overlays are used for areas, majors, and minors. If you are printing three forms in order, and one of the forms is not found, then it will still increment the overlay number and print the remaining forms that are found. For example, if your major form is missing (@OM), and you successfully print the area form(@OA), then it will go to the next overlay form, and print the minor form where it should go anyway. Only the major form (@OM) will be missing.
If you are using lines that overlay lines containing printer control codes, they may not align properly. This is because printer control codes take up space on the original FIB form, but do not necessarily appear on the printed ARTS form. Overlays can exist anywhere on an ARTS form, just make sure there is enough room on the main FIB form before using them, and clearly label them to make debugging easier.
In order to implement ARTS form overlays, you need to do three things. In this example, we will use a Majors configuration:
