List of Directives
Captcha
Conditional Field
Download File
Email
Field
File
Imperius
Match
Nelnet
Output
Redirect
Redirect-template
Require
Subscribe
Sum
Unset
Unsubscribe
Upload
Marconi also supports some “special” directives that were created for specific forms. If your form configuration contains a directive not on this list, it may be purpose-built. Contact IS&T for support with any special directives.
Standard Directives
Captcha
- Base tag:
<directive action="captcha" />
- Full tag example:
<directive action="captcha" />
- If used on a form that uses the Nelnet directive, use the the Captcha directive first and include “_skip” parameter:
<directive action="captcha" _skip="[if?:transactionId=::yes]" />
- Typical use:
- Reduces spam by placing a test to prevent automatic bots from submitting your form.
Parameters |
Required? |
Usage |
References |
_skip |
no |
Use _skip parameter when using both Captcha and Nelnet directives on the same form. Use Captcha directive before Nelnet Directive with <directive action=”captcha” _skip=”[if?:transactionId=::yes]” /> |
How-to Example |
Note that captchas can reduce but may not eliminate form spamming.
Conditional Field
- Base tag:
<directive action="conditional-field" {parameters} />
- Full tag examples:
<directive action="
conditional-field
" source_field="status" source_value="student" target_field="cost" target_value="10" />
<directive action="
conditional-field
"
source_field="age" source_value="21" comparison="greater" target_field="cost" target_value="20"
/>
<directive action="
conditional-field
"
source_field="age" source_value="21" comparison="less-or-equal" target_field="cost" target_value="50"
/>
- Typical uses:
- Change prices based on user input (e.g., for discounts).
- Select which output templates should be used.
- Select e-mail recipients based on user input.
Parameters |
Required? |
Usage |
References |
source_field |
Yes |
Identify what form field is being used for comparison. |
Example |
source_value |
Yes |
Identify the exact value that the source_field must have for the conditional-field directive to take effect. |
Same as above |
target_field |
Yes |
Identify the field whose value will be replaced if source_field matches source_value. |
Same as above |
target_value |
Yes |
Specify what value will be replace target_field if source_field matches source_value. |
Same as above |
comparison |
No |
Use mathematical comparisons to determine whether the conditional-field takes effect. The possible parameter values are:
- greater-than
- less-than
- greater-or-equal
- less-equal
|
Same as above |
Download File
- Base tag:
<directive action="download-file" {parameters} />
- Full tag examples:
<directive action="download-file" file="/myawesomesite/myfile.txt" content_type="application/octet-stream"/>
<directive action="download-file" file="/myawesomesite/myfile.txt" filename="file.txt" content_type="application/octet-stream"/>
- Typical uses:
- Force a file download when the form is submitted.
- Additional requirements:
- The file you would like downloaded must be in the same directory as a telegraph.allow file, a blank file that allows Telegraph access to download files from that directory. download-file will not work without the telegraph.allow file.
Parameters |
Required? |
Usage |
References |
file |
Yes |
Define the location of the file to download, relative to form_configuration. |
n/a |
content_type |
Yes |
The MIME type to give for this file. Applications are application/octet-stream. |
n/a |
filename |
No |
Specifies a filename that the browser should recommend when the file is saved. |
n/a |
Email
- Base tag:
<directive action="email"
{parameters}
/>
- Full tag examples:
<directive action="email" to="fred.flinstone@example.com" from="[e-mail]" subject="Question Received" />
<directive action="email" to="fred.flinstone@example.com" from="[e-mail]" subject="[what-is-this-about]" template="telegraph/question.template" />
<directive action="email" to="[to-e-mail-selector]@example.com" from="[e-mail]" subject="[what-is-this-about]" template="telegraph/[to-e-mail-selector].template" error="There was a problem sending this e-mail. Please check that the e-mail address that you entered is correct." encoding="UTF-8"/>
- Typical use:
- Send e-mails to one or more users.
You can send multiple e-mails (potentially using different subjects, templates, and recipients) by adding additional e-mail directives to your configuration file.
Parameters |
Required? |
Usage |
References |
to |
Yes |
Identify where the Telegraph-generated e-mail will be sent. |
How-to
Example |
from |
No |
Identify the from/reply-to address used for the Telegraph-generated e-mail. (Note: if this parameter is not specified, Telegraph will insert server information on the server used to send the outgoing e-mail.) |
Same as above |
subject |
No |
Identify the Subject used in the Telegraph-generated e-mail. (Note: if this parameter is not specified, Telegraph will insert a generic message.) |
Same as above |
template |
No |
Identify the e-mail template to be used for the Telegraph-generated e-mail, relative to the form’s parent directory. (Note: if this parameter is not specified, Telegraph will generate a basic e-mail specifying any form field data and form field names that have been used on your form.) |
Same as above |
error |
No |
Specify an error message to be displayed if there is a problem sending e-mail. |
Same as above |
encoding |
No |
Specify what character encoding set is used. This should match the encoding used on your web form (e.g., UTF-8). If diacriticals don’t show up correctly, you probably need to add this. |
Example |
html |
No |
Specify whether or not to send the message as HTML. Include html=”yes” to send formatted email from Telegraph. |
N/A |
Field
- Base tag:
<directive action="field"
{parameters}
/>
- Full tag examples:
<directive action="field" name="time-and-date" value="[timestamp:date] at [timestamp:time]" />
<directive action="field" name="full-name " value="[last_name] [first_name]" />
<directive action="field" name="name-tag " value="[salutation] [profile:last_name] of [place]" />
- Typical uses:
- Combine user data into a single field.
- Convert profile or time and date information into usable field data.
Parameters |
Required? |
Usage |
References |
name |
Yes |
Identify the name of the new field being created. Make sure that this doesn’t match an existing field. |
How-to Example |
value |
Yes |
Identify a combination of existing fields, date/time information, profile information, and/or specified characters used to produce the value of the new field. |
Same as above |
File
- Base tag:
<directive action="file"
{parameters}
/>
- Full tag examples:
<directive action="file" filename="names" fields="full-name" />
<directive action="field" value="[last_name] [first_name]" />
- Typical uses:
- Create or update a spreadsheet with data from form submissions.
- Create or update a webpage with data from form submissions.
Parameters |
Required? |
Usage |
References |
filename |
Yes |
Identify the name of the output file. If this file doesn’t exist, Telegraph will create it for you. |
How-to
Example |
format |
No (if using template)
Yes (if creating a spreadsheet) |
Identify the spreadsheet format to be used while outputting data to a file. The possible parameter values are:
|
How-to |
fields |
No (if using template)
Yes (if creating a spreadsheet) |
Identify the fields (and order of fields) when entering data into a spreadsheet. This field is ignored if the template parameter is used, since the template itself determines the form fields to use and their placement. |
How-to |
template |
No (if creating a spreadsheet)
Yes (if not creating a spreadsheet) |
Identify an output template to be used when writing form data to a file. If this parameter is used, the content of the format and fields parameters (if present) is ignored. |
How-to |
overwrite |
No |
With overwrite=”yes” Telegraph overwrites the output contents with the original template using the currently-submitted data. |
n/a |
Imperius
- Base tag:
<directive action="imperius"
{parameters}
/>
- Full tag examples:
<directive action="imperius" filename="index.html" />
- Typical use:
- Displays error messages on your web form, rather than on a separate error page.
Parameters |
Required? |
Usage |
References |
filename |
Yes |
Specify the filename of your form. This is necessary to tell Telegraph where to display errors. |
How-to Example |
url |
For WordPress pages |
Because there is no filename (e.g., index.html) for WordPress forms, the url parameter must be used to tell Telegraph where to display errors. |
Same as above |
It is sometimes necessary to add a base href tag to your form to make sure that images display correctly using Imperius.
Match
- Base tag:
<directive action="match"
{parameters}
/>
- Full tag example:
<directive action="
match
" field1="[e-mail1]" field2="[e-mail2] />
- Typical use:
- Verify an e-mail address by asking that it be entered twice.
Parameters |
Required? |
Usage |
References |
field1 |
Yes |
Identify the first of two fields that must be matched for the form to be submitted. Normally used for confirming an e-mail address by asking for it twice. |
How-to Example |
field2 |
Yes |
Identify the second of two fields that must be matched for the form to be submitted. Normally used for confirming an e-mail address by asking for it twice. |
Same as above |
Nelnet
- Base tag:
<directive special="nelnet"
{parameters}
/>
- Note: This special directive requires special set-up and financial training. Please contact the Cashier’s Office for more information.
- Full tag examples (replace order_type=”AB123″ with the code your receive from the Cashier’s Office):
<directive special="nelnet" is_test="Y" amount="20.00" order_type="AB123"/>
<directive special="nelnet" is_test="Y" amount="[total]" order_type="AB123"/>
- Typical uses:
- Collect and process credit card data for online purchases or registrations.
- Collect and submit credit card data collected in person or via phone for online processing.
Parameters |
Required? |
Usage |
References |
amount |
Yes |
Identify the amount of money to be charged to the credit card. This can be a fixed amount or (more likely) a field from your form.
amount="20.00"(a fixed amount)
amount="[total]" (a field value from your form)
|
Example How-to |
order_type |
Yes |
Identify required order_type code obtained from the Cashier’s Office. The order_type parameter tells Nelnet whether it is a public or office payment and other settings and one form may now submit to more than one order_type.
order_type="AB123" (with your order_type received from Cashier’s Office)
order_type="[if?:email=dept_email@bu.edu:OF321:AB123]" (using [if?:] special variable to populate the order_type value so Nelnet knows whether public or office payment.)
|
Same as above |
Output
- Base tag:
<directive action="output"
{parameters}
/>
- Full tag examples:
<directive action="
output
" errors="errors.html" />
<directive action="
output
" thanks="thanks.html" />
<directive action="
output
"
errors="errors.html"
thanks="thanks.html" />
<directive action="
output
"
errors="templates/[order-type]-problems.html"
thanks="templates/[order-type].html" />
- Typical uses:
- Send the form user to a custom page including form data (e.g., an electronic receipt, thank you or error page).
Parameters |
Required? |
Usage |
References |
errors |
No |
Identify a web page (relative to the form) to redirect users to if there has been an error with form submissions. You can use a web page template to display custom error messages. (Note: your web page template must include a base href tag to display properly within Telegraph.) |
Example |
thanks |
No |
Identify a web page (relative to the form) to redirect users to after a form has been successfully submitted with no errors. You can use a web page template to display some form information (such as a name) on your thank you page. (Note: your web page template must include a base href tag to display properly within Telegraph.) |
Same as above |
Redirect
- Base tag:
<directive action="redirect"
{parameters}
/>
- Full tag examples:
<directive action="
redirect
" href="http://www.google.com/mail/" />
<directive action="
redirect
" href="http://www.example.com/" />
- Typical use:
- Redirect a user to any page after a successful form submission, regardless of whether or not the page is hosted at BU.
Redirect-template
- Base tag:
<directive action="redirect-template"
{parameters}
/>
- Full tag examples:
<directive action="
redirect-template
" filename="thanks.html" />
<directive action="
redirect-template
" url="http://www.example.com/" />
- Typical use:
- Redirect a user to any page after a successful form submission. This should be used with forms that collect credit card information to prevent resubmitting the form when a thank you page is refreshed.
- When using this directive, be sure to include a Telegraph form (even a blank one) on the receiving page using the form tag.
<form action="/phpbin/telegraph/index.php"></form>
Parameters |
Required? |
Usage |
References |
filename |
Yes |
Specify a file to redirect to after the form is submitted. |
n/a |
url |
Yes, but only when building a form for WordPress. |
Specify a URL to redirect to after the form is submitted. |
n/a |
Require
- Base tag:
<directive action="require"
{parameters}
/>
- Full tag examples:
<directive action="require
" field="e-mail" />
<directive action="
require
" field="e-mail
" format="e-mail" />
- Typical use:
- Require that specified field(s) be filled out and/or adhere to specific formats.
- Note:
Parameters |
Required? |
Usage |
References |
field |
Yes |
Identify the form field which must contain input. |
How-to Example |
format |
No |
Identify one of several special, required formats for any data input into this field. |
How-to |
error |
No |
Specify a custom error message when the specified form field either doesn’t contain input or if the format parameter is used. |
Same as above |
Subscribe
- Base tag:
<directive action="subscribe"
{parameters}
/>
- Full tag examples:
<directive action="subscribe" address="[e-mail]" list="nis-telegraph-l" />
<directive action="subscribe" address="[e-mail]"
list="nis-telegraph-l" notification="no" password="MxyZptlk"
/>
<directive action="subscribe" address="[e-mail]"
list="nis-telegraph-l" notification="yes" password="MxyZptlk"
/>
- Typical use:
- Subscribe an e-mail address to a Majordomo mailing list.
Parameters |
Required? |
Usage |
References |
address |
Yes |
Identify the e-mail address which is being subscribed to the list. |
How-to |
list |
Yes |
Identify the Majordomo mailing list to which the e-mail address specified by the address parameter is being subscribed. |
How-to |
notification |
No |
Identify if a Majordomo-generated confirmation message should be sent to the e-mail address specified by the address parameter. Requires the use of the password parameter. Can be set to yes or no. |
How-to |
password |
No (for unmoderated lists)
Yes (for moderated lists) |
Identify the administrative password for the mailing list specified by the list parameter. |
How-to |
Sum
- Base tag:
<directive action="sum"
{parameters}
/>
- Full tag examples:
<directive action="sum" list="costs" total="total_cost" />
<directive action="sum" add="[total:total_cost]" total="amount_due" />
<directive action="sum" subtract="[deposit_amount]" total="amount_due" />
- Typical use:
- Add, subtract, or multiply values, which can be listed as number or as form fields (in brackets). Each line of directive adds an element to the final total. In the example above, for instance, the first directive adds together all of the numbers in the list array and produces the total_cost, while the second line puts them into amount_due, and the third subtracts the deposit_amount.
Parameters |
Required? |
Usage |
References |
add |
Yes |
Specifies a number to add to the total. This can be an actual number or a field name (in brackets). |
n/a |
subtract |
Yes |
Specifies a number to subtract to the total. This can be an actual number or a field name (in brackets). |
n/a |
total |
Yes |
(Required) Specifies the name of the field that will contain the results of your calculation. This must be a field name (with no brackets). If it doesn’t already exist, it will be created and will start at 0. Later, you can access this number by referring to [total:my_field_name]. |
n/a |
quantity |
No |
Specifies a number by which to multiply the “add” or “subtract” amount. |
n/a |
list |
No |
Adds up all the items in an array of numbers to calculate a total. |
n/a |
Unset
- Base tag:
<directive action="unset"
{parameters}
/>
- Full tag example:
<directive action="unset" field="tracking-code" />
- Typical use:
- Stops an internal-only variable (e.g., one used for database input only) from displaying in browser output.
Parameters |
Required? |
Usage |
References |
field |
Yes |
Identify the name of the new field which should not be displayed in web browser output. (Note: this does not affect the field identified in this parameter from being used in any file, database, or e-mail output – only in a specified output template.) |
n/a |
Unsubscribe
- Base tag:
<directive action="unsubscribe"
{parameters}
/>
- Full tag examples:
<directive action="unsubscribe" address="telegraph-test-l" />
<directive action="unsubscribe" address="[list-name]-l" />
<directive action="unsubscribe" address="telegraph-test-l" />
- Typical use:
- Unsubscribe an email address from one or more majordomo lists.
Parameters |
Required? |
Usage |
References |
address |
Yes |
Identify the e-mail address which is being unsubscribed from the list. |
How-to |
list |
Yes |
Identify the Majordomo mailing list to which the e-mail address specified by the address parameter is being unsubscribed. |
Same as above |
notification |
No |
Specify if a Majordomo-generated confirmation message should be sent to the e-mail address specified by the address parameter. Requires the use of the password parameter. The possible parameter values are:
|
Same as above |
password |
No (for unmoderated lists)
Yes (for moderated lists) |
Identify the administrative password for the mailing list specified by the list parameter. |
Same as above |
Upload
- Base tag:
<directive action="upload"
{parameters}
/>
- Full tag examples:
<directive action="upload" field="file-uploads" destination="telegraph/uploads" />
<directive action="upload" field="file-uploads" destination="telegraph/uploads/[application-type]" />
<directive action="upload" field="file-uploads" destination="telegraph/uploads/[application-type]" create="yes" />
<directive action="upload" field="file-uploads" destination="telegraph/uploads/[application-type]" require="yes"/>
- Typical use:
- Upload files to the web server.
- Note:
- If you use this parameter, your form tag must include enctype=”multipart/form-data”, e.g.,
<form action="https://www.bu.edu/phpbin/telegraph/" method="post" name="myform" id="myform" enctype="multipart/form-data">
Parameters |
Required? |
Usage |
References |
field |
Yes |
Identify the field that selects the file to be uploaded. |
n/a |
destination |
Yes |
Identify the directory (relative to your form) to which this file will be uploaded. (Note: this directory must be activated for your form to write to it.) |
n/a |
create |
No |
Specify whether Telegraph can create additional subdirectories if they are specified in the destination parameter but don’t already exist. (Note: this is always a good option to set to yes, especially if a form field is used to determine the subdirectory.) The possible parameter values are:
|
n/a |
require |
no |
The upload directive doesn’t support use of the traditional require directive to validate. Instead, use the require parameter with “yes” as its value to prevent the form from submitting without a file to upload: require="yes" |
n/a |