Home | Format | Software

SSFP File Format

An SSFP file (.SSFP) is a textual representation of a form. It consists of one or more individual forms, each of which contains a set of input fields of various types.

Below is an example of a small SSFP form:

!This is an example form
&example-form Example Form
field name Your Name
radio pref Which do you prefer?
-dog Dog
-cat Cat
submit sub Submit

...which represents the following form:

Status text

Status messages can be defined by starting a new line with the '!' character. Everything after this character will be considered part of the status message, until the next line.

Because SSFP is a line-delimited format, a status message cannot contain line breaks.

!This is an example status message

Forms

Forms are a collection of fields. Once declared, all subsequent lines are considered to be part of the form, until the next form declaration.

Forms are declared with the following format:

&[form-id] [form-name]

The form declaration starts with the '&' character, immediately followed by the form id. The form id is not shown to the user, but is instead part of the SSFP protocol. It cannot contain spaces.

The form id is seperated from the form name with a space. Everything after the first space is considered the form name, until the next line break

Fields

Fields are the individual items that make up a form. SSFP support the following varieties:

Fields are declared in the following format:

[form-type] [form-id] [form-name]

The line starts with the type of field being declared, in lowercase. After a space follows the field id. Similarly to form ids, this is not shown directly to the user, but is instead used internally in the SSFP protocol

After another space, the rest of the line is considered the form name. This is the text that is presented to the user.

Field Data

Field data is optional information associated with fields. This data can mean different things depending on the field type it is associated with.

Field data is declared by following field declarations with lines that begin with a '-' character. Everything on that line after the '-' will be considered data belonging to the field.

Fields are allowed multible lines of data, but each line must start with '-' and they must all be consecutive.

Below is an example text area declaration. In this case, the data represents pre-populated text

area sample-area Sample Area
-This field data represents
-multiple lines of
-pre-populated text

Field Type - field

Fields are single line text areas. Example:

field name Your Name
-Jason

For fields, additional data is treated as pre-populated text

Field Type - area

Areas are multi-line text boxes. Example:

area sample-area Sample Area
-This field data represents
-multiple lines of
-pre-populated text

For areas, additional data is treated as pre-populated text

Field Type - check

Check fields are lists of mutually-inclusive options. Example:

check do-to To-Do List
-homework Homework
-walk Walk the Dog
-dishes Do the Dishes

For check fields, the available options are defined in the additional data, and follow the following format:

-[option-id] [option-name]

Field Type - radio

Radio fields are Example:

radio fav-pet Your Favorite Pet
-dog Dog
-cat Cat
-fish Fish
-bird Bird

For fields, the available options are defined in the additional field data, as in check fields.

Field Type - submit

Submit buttons are buttons that trigger the client to send the information in its form's fields to the host. Example:

submit enter Enter Here!

For fields, additional data is ignored.