BPC SurveyManager - Creating Surveys - Layout and Markup Tags

From RiskWiki

Jump to: navigation, search

Contents

The BPC SurveyManager SMHTML TAG Library

Introduction

If you are using one of the advanced BPC survey manager clients, such as BPc RiskManager or BPC SMWebuilder, you can create a survey from scratch without ever using a tag. This is because the survey manager engine and its clients have default values with a common tag markups stored in them which are automatically used when you do not define anything yourself. If, however, you are going to customise an autogenerated survey, create a non standard reminder (survey invitation), perform advanced question layout, or really harness the power of BPC SurveyManager, you are going to need to have an understanding of the BPC SurveyManager tags and properties. This section provides a summary of the BPC SurveyManager tags.


BPC SurveyManager uses a large range of custom tags of the form:

 <#tagname tagproperties > 

 Where:
 tagname = One of the tags listed on this page.
 tagproperties = { tagproperty { tagproperties }}
 tagproperty = tagpropertyname "="  tagpropertyvalue
 tagpropertyname = A string of alpha-numeric characters without punctuation or spaces
 tagpropertyvalue = A string of the form detailed described for the appropriate tagname and tagpropertyname on this page.


For example:


<#surveybody SID=MySurveyID >


represents the surveybody tag with the "SID" tagproperty assigned the tagpropertyvalue "MySurveyID".


SYNTAX NOTE:
In the grammar above, yyy = { xxx { yyy } } reads yyy is replaced by nothing or xxx and optionally another yyy, which in turn is replaced by nothing or xxx and optionally another yyy, etc


So for example:

<#surveybody SID=MySurveyID OID=MyOrgID >


Is also a valid tag, which represents the surveybody tag with the "SID" tagproperty assigned the tagpropertyvalue "MySurveyID" and the "OID" tagproperty assigned the tagpropertyvalue "MyOrgID".


BPC SurveyManager tags can be inserted in the text of the survey layout field, the reminder layout field, and question & question HTMLLayout fields, mixed along with normal DHTML tags. The BPC Survey Manager tags are processed and expended by the SurveyManager engine before a page is served to a web browser and cause the insertion of data in various forms. If a tag is not recognised it is ignored. Just as HTML extended with the tags and syntax of Dynamic HTML is called DHTML, we call the extensions made to DHTML by the BPC SurveyManager tags: "SMHTML".


There are three places where BPC SurveyManager tags can be used:

  1. The Survey Layout. This is stored in the survey header and determines the overall appearance of each survey page.
  2. The Survey Reminder/Invitation(s). These are stored in table attached to the survey header. These are emailed to respondents when required. Any number of invitations can be created, being automatically used sequentially until the reponder commences a survey.
  3. The Survey Question(s). The survey body is made up of lines (called Questions). Each "line" in the body of the survey that is not part of a header or a footer is stored in the Question table. Although we call them questions for historic reasons, a question can in fact be a section heading, a normal heading, a block of text, a frame into another web page, a picture, or even a question! Every one of these lines can have its own markup string comprising text and layout tags. Questions have two fields that take tags, one is the question text and the other is the question layout. The layout field is treated as a wrapper for the question text field - but both can have HTML and SMHTML.


In BPC SurveyManager you can use DHTML anywhere where you use the special BPC SurveyManager tags (SMHTML). The BPC SurveyManager tags are therefore just an extension to normal DHTML. An SMHTML page can be read by any standard bowser, but the SMHTML tags will only be properly expanded and replaced if the page is served to the browser by the BPC SurveyManager engine.


Survey Layout Tags

Survey Tags (Survey Header Layout Field)

Each survey header record stores a layout field which represents the envelope of every page. If you do not define the layout a default layout is automatically created and stored when you create a new survey. The description of the default layout is a configurable item for the database. In its simplest form the layout field could be:

 <HTML>
   <HEAD>
     <#JVScriptLib1>
   </HEAD>
 <BODY id="pagecontainer" >
    <#SurveyName >
    <br>
    <#surveybody >
 </BODY> 


Now this would be a pretty plain page. The default blue web page layout of version 5 and above is achieved with this layout:


<HTML>
<HEAD>
<#JVScriptLib1><#CSSSheet ><#csslib1 >
<style type="text/css">
body {
	scrollbar-3d-light-color : #AF75EA;
	scrollbar-arrow-color : #0033cc;
	scrollbar-base-color : #9999CC;
	scrollbar-dark-shadow-color : #000000;
	scrollbar-face-color : #9999CC;
	scrollbar-highlight-color : #ffffff;
	scrollbar-shadow-color : #1B0037;
	background-color: #CCCCFF;
}
.style22 {color: #FFFFFF; font-weight: bold; font-size: 14px; font-family: Arial, Helvetica, sans-serif; }
.style24 {color: darkblue; font-weight: bold; font-size: 40px; font-family: Arial, Helvetica, sans-serif; }
</style>
</HEAD>
<BODY  id="pagecontainer" >
   <table width=100%  >
      <tr><td>
            <table>
             <tr>
               <td></td>
             </tr>
             </table>
          </td>
          <td align=center >
             <br >
               <span class=style24 ><#SurveyName></span >
          </td>
          <td align=right ><#fpropimage FPROP="SIDLogo" width="110" height="120" >
          </td>
      </tr>
   </table>
   <hr>
   <BPCDEBUG >
   <table width=100%>
      <tr ><td ><font color="red" ><i><#errormessage ></i ></font ></td >
      </tr >
   </table >
   <span class="SurveyIntro" ><#SurveyIntro ></span >
   <#SurveyBody >
   <hr>
   <p><span class="PageProgress"><#PageProgress ></span></p>
   <p><input type=button name="cmdPring" value="Print Page" onClick="PrintMePage('pagecontainer')" ></p>
   <p align=center ><i>Note: You may use your back or forward browser buttons and reenter information. - Just remember to press the continue button at the end of each page for which you have changed your response or the changes will not be recorded.</i></p>
   <span class="SurveyHelp" ><#SurveyHelp></span ><#HelpLink ><br>
   <span class="SurveyPrivacy" ><#SurveyPrivacy></span ><#PrivacyLink ><br >
   <BPCDEBUG >
</BODY>
</HTML>


The tags here are a mixture of predefined SMHTML tags and SMHTML tags that reference property values of the survey. (See BPC SurveyManager Properties for a list of the predefined properties). So not everything that looks like a SMHTML tag is going to be in the list of builtin tags that follow below. An important observation to make here is that the SMHTML language is inherently extensible. If an SMHTML tag is not recognised as a builtin "reserved" tag name, the property lists are automatically searched. Depending on which part of the survey the engine is processing at the time of the tag expansion the tag could be replaced by the value of a property held by a person, a question, a question group, a survey instance, survey an organisation or the database (in that order). If the tag is not found in either the builtin or cascading property lists, it is simply ignored, to it is entirely safe for you to use a layout page with tags for which you have no definition.


Since you can design a survey to include questions whose responses are capable of modifying a property, you can make the layout of the survey and content of the current survey (or infact another survey) change via the properties and tags that match those property names. Obviously, this is very advanced BPC SurveyManager design.


Now, an obvious question, is "Where is the actual Survey?" The survey questions for each page are all inserted where the <#surveybody > tag appeared.


These Tags in addition to normal DHTML are allowed in a survey layout field.


  • <#surveybody > - Insert the main survey body here. Virtually all survey layouts will have one of these.
  • <#surveybody SID QGroup QScript *SurveyBodyStandardTags* > - surveybody with (at least one of..) defined SID source, Question group name, Question selector script (see below) and (optionally ) SurveyBodyStandardTags - see below
  • <#sitelogo ALTMESS *imagetags* > - Retrieve the site logo, using ALTMESS message if the image is not found and include all standard HTML image tags.
  • <#orglogo ALTMESS *imagetags* > - Retrieve the image held in the current org folder from OrgLogo.jpg, using ALTMESS message if the image is not found and include all standard HTML image tags.
  • <#fimage FSRC OID ALTMESS ALTMESS *imagetags* > - Retrieve an image from the folder FSRC held by OID (default - current org id), using ALTMESS message if the image is not found and include all standard HTML image tags.
  • <#scriptlib1 > - insert the old disk addressed javascript library (DEPRACATED - DO NOT USE)
  • <#jvscriptlib1 > - insert the standard SM javascript library
  • <#csslib1 > - insert the standard CSS library
  • <#csslib2 URL FSRC > - insert a user defined CSS sheet specified in URL or if URL is not defined use a folder referenced in FSRC or if FSRC is not defined, look for a property called csslib2 for the current user/survey/org and use the url defined in that.
  • <#csslibprint URL FSRC > - insert a user defined print only CSS sheet specified in URL or if URL is not defined use a folder referenced in FSRC or if FSRC is not defined, look for a property called csslibprint for the current user/survey/org and use the url defined in that. The style sheet will only be used if "PrintMeValue=True"(ie. a printable survey version has been requested.)
  • <#userscriptlib LANG URL FSRC OID PID > - User defined LANG (default javascript) script library from URL 'source' (normal web reference) or FSRC (SM Folder reference) and OrgID OID (default - current orgid) and PID (default - current PID)
  • <#errormessage > - The place where page level error messages appear on the page. There are pepoerty settings to make error messages appear near a question where the question level error has occured
  • <#bpcdebug > - Insert debug data flag. When used this tag is generally used twice in the layout. Once before the surveybody tag and once after. Different information is displayed in each case.
  • <#orgdescription > - Insert the orgname
  • <#surveyhead OID URL SRC From=Disk NOTAG=True > - Insert the tag expanded header text stream or non tag expanded (if NOTAG=True) contained in the file located at the URL/SRC from the SMFolder for OID (or current org, or default org, if not found in either) OR from disk (if From=Disk)
  • <#surveyfoot OID URL SRC From=Disk NOTAG=True > - Insert the tag expanded footer text stream or non tag expanded (if NOTAG=True) contained in the file located atvthe URL/SRC from the SMFolder for OID (or current org, or default org, if not found in either) OR from disk (if From=Disk)
  • <#moduleid > - Return the module ID. This is the current SurveyManager library name. This would normally be used in constructing a clickable link.
  • <#insfile OID URL SRC From=Disk NOTAG=True > - Insert the tag expanded text stream or non tag expanded (if NOTAG=True) contained in the file located at the URL/SRC from the SMFolder for OID (or current org, or default org, if not found in either) OR from disk (if From=Disk)
  • <#hfile OID URL TXT PID > - anchored link <a....>txt</a> referencing an smfolder file found in OID (or the current OrgID if OID is not defined, or 'default' OrgID if not present in the current OrgID)
  • <#srcfile OID URL PID > - Create and insert the string SRC="xxx" using smfolder reference found in OID (or the current OrgID if OID is not defined, or 'default' OrgID if not present in the current OrgID) and PID (default - current PID). Used for creating HTML references for iframes, or images etc that reference the smfolder.
  • <#file OID URL PID > - straight printed url reference for an smfolder reference found in OID (or the current OrgID if OID is not defined, or 'default' OrgID if not present in the current OrgID) and PID (default - current PID).
  • <#fsidimage OID FSRC ALTMESS *imagetags* > - Insert an image assuming the folder root is the SID and FSRC contains the logo path(excluding the SID root folder portion) and Insert if FSRC param is empty, include any other standard HTML display tags listed, display ALTMESS message if the image is not found
  • <#fpropimage OID FPROP ALTMESS *imagetags* > - Insert an image assuming the FSRC for the logo path is held in a property as named in FPROP or if FPROP= look for a property called SIDLogo instead and Insert if nothing is found, include any other standard HTML display tags listed, display ALTMESS message if the image is not found.
  • <#qry name field> - Insert the value of any current dataset name / field value. Current means the current active record as determined by the org (OID), survey (SID), person (PID), instance (IID) index settings. The NOQRY property can be used to disable the use of this facility for a person, survey, organisation, database by setting it to "True".
  • <#smq SID QUES QRL NoGen AsHeading *tagparams* > - Manual insertion of a question reponse field into the page and question list for the page. SID is the survey ID, if not defined, the current survey is used. QUES is the fake QID, if not defined the QRL is used. A QRL is a question resource locator (see Question Resource Locator). If NoGen is NOT defined, and associated input control will be generated using all the remaining *tagparams*. If AsHeading=True the input control will be inserted with in its own table. SMQ is typically used where the surey form is not generated by surveymanager but loaded into the surveymanager layout field in its entirety (or referenced there). Essentially this allows a question that does not exist in the current survey to be manually created and inserted into the page and response stream as if it were a pre-defined question. Any response received will be stored in the response table (but will not be able to be retrieved with question text - obviously), unless that text has been separately created in the question pool with the same QUES id supplied in the smq tag. The NoGen param is also a property of the current survey instance can be used to disable the insertion of the associated input controls by setting it to "True", although it will still be constructed as a question in the question list and stored as a response. The classic use of this facility is in a survey that is an MS Word document, where the question text is stored as a block in the survey layout field and only exists as a response as far as the survey engine is concerned. Blocking the control generation is essentially saying that the input control for this response is already in the layout document. In this case the input control in the document must have the ID and Name set to the same value as "ques".
  • <#smformstart DBI SID SIDO QGRPO OID QOID PID RPID RK IID RID RIDO PostingType PostingMethod PostingAction PrintMeValue EOSAction PageTimeStamp > - Manual insertion of surveymanager form start. This is normally constructed automatically by the engine, but can be manually created using this tag in a survey layout. If tag params are not defined the defaults will be applied. Generally your would need at least the OID and SID and possibly the PID/RK depending on from where you were invoking the survey. This is advanced usage, and if you do not already understand the params you should not be using this tag. It must be paired with am <#smformend > tag.
  • <#smformend NoContinue ContinueButton > - The closing tag of a manually inserted smformstart. The NoContinue ContinueButton tag params are also properties of the current survey instance and if not defined the property values will be used instead. See properties.
  • <#news PID OID ITM width height > - Survey manager has a built in news engine. This tag will cause a news item to be displayed in a scrollable frame. The ITM param may be "any", "hdln" or "all". If not defined, "any" is used. The "any" option causes a randomly selected news item to be displayed with each page refresh. "hdln" causes all the news headlines to be listed, while "all" causes all headlines and content to be listed.
  • <#surveyintro > - Display the content of the person, survey or organisation's "surveyintro" property. Will ONLY display on the first page of the survey, otherwise ignored.
  • <#privacylink > - Display the content of the person, survey or organisation's "privacylink" property on every page in a link tag with the class set to of "privacylink".
  • <#helplink > - Display the content of the survey or organisation's "helplink" property, or if not defined generate a clickable link using the survey owner email address. The link is generated as a "mailto" reference providing a clickable emailing link. The link tag with the class set to of "SurveyContactText". If the helplink property is defined, the text is used exactly as stored.
  • <#xhlp name=prop|help item=rowval tprm="border=1" rprm hprm cprm cstrt cend htmlsafe=true hdng=true htmlnl=true > - Display the content of the prop (Properties Help) or help (general help) tables in a table format with hdng (headings) htmlnl (CRLF conferted to HTML new line) and htmlsafe ( HTML characters converted to safe HTML characters). item optionally selects only a specific row based on the string in the first column (omitting it will deliver the entire table) and tprm is the standard HTML attributes for a table tag eg: "border=1". The other fields are similar to the tprm but for the other parts of a table and can be ignored: rprm (row params), hprm (heading cell params), cprm (normal cell params), cstrt (cell start tag string eg: <b>), cend (cell end tag string eg: </b>). The cell start and end are not applied to heading cells.
  • <#pageprogress > - Attempt to calculate and display the survey progress based on the current page. This is subject to the number of "pages" on a single page (remember quesgroups are not necessarilly a page at a time), and the rules in the rules engine. So it is not necessarilly correct. Another way to achieve this is to define an info_op (heading/text only display question) in each question group that displays the progress, or use the "pagemessage" tag.
  • <#pagemessage > - Look up the current ques group for a property called "pagemessage" (last on page if after surveybody, or first on page if before surveybody) for an end of page message - eg "You have 5 minutes left..". Intended normally as an ques group progress message, but anything could be put here.
  • <#..survey field..> - survey table fieldname. Survey Field names are searched before (and therfer take precedence over) property names.
  • <#..property..> - survey property reference. See Property Help
SYNTAX NOTE:
In the list above and elsewhere <#..xxxx..> means ..xxxx.. represents a alphanumeric string like "SurveyName" (without the quotes).
In the list above and elsewhere the tagpropertyname (eg. OID, URL, PID, etc) means OID=xxxx URL=yyyy PID=pppp, etc.  The TagPropertyName is listed without the "=xxxx" part for clarity and simplicity.  


Tag SurveyBody Tag Property Notes

TagProperty QScript: Question selector script

The QScript tagproperty if a property of the surveybody tag. It defines the script to be used to load the question list for a survey page. The survey engine works by loading an internal question list as it processes each page. The initial survey page is loaded by reading the question script (provided in either a QScript tagproperty or, if that is empty, question script field of the survey header, and if that is empty the default page size field of the header is used. The script is then executed and the result is a list of questions for the next page. That list is then passed to the page assembler which loads and preprocesses each question in the list. On subsequent pages the question list is first assembled from the rules attached to each question of the previously posted question list, and if empty, then the QScript tagproperty and if that is empty the question script field in the header, and if that is empty, the default page size defined in the survey header is used.


The QScript tagproperty uses the same script syntax as the QSCript survey header field.


Format: QScript="value" where value is:

  • @(.[QuesGroupName]) - List all questions with this question group id
  • @(.[*]) - List the questions in the question group (alphabetically) after the last question. QuestionGroups are sorted alphabetically.
  • @(.[. for num]) - List the next 'num' number of questions from the current question (the last question served to the browser - questions are sorted numerically by the order field, then alphabetically by the QID field)
  • @([!P]) - get the string from a property of the person called SID + '_SCRIPT'
  • @([!]) - get the string from a property with the same name as the SID
  • [!D] - get the string from the default script for the survey (WARNING: Do not use this in a surveyheader default script field)


Note in somes circumstanses the following would work-

  • @(SID.[*]) - List the questions in the question group after the last question for survey SID


SurveyBodyStandardTags (May be left undefined)

Format: SBStandardTag="value" where SBStandardTag is:

  • SIDO= Return to this SID, at end of this survey
  • QGRPO= Return to this Question group, at end of this survey
  • OID= Organisation Identifier
  • QOID= Return to this OrgId, at end of this survey
  • PID= Person identifier
  • PIDO= Return to this Person identifier
  • RK= Person identifier matching key
  • RKO = Return to this key, at end of this survey
  • IID= Instance identifier
  • IIDO = Return to this Instance, at end of this survey
  • REALMID = The Realm ID (Survey Fork). In addition to instances survey responses can be distinguished for the same instance by a Realm value (default="\"). It is generally wiser to leave this undefined unless you really understand how realms work. The classic use if in a 360degree survey.
  • REALMIDO = The return Realm ID.
  • DEM = Data entry mode: online (default), mail, phone
  • PageTimeStamp = PageTimeStamp (default is 'now')
  • PrintMeValue = 'True' if a printable version of the survey is requested.
  • EOSAction = The posting URL for the form's action - allows a BPC SurveyManager form to be posted to any web application (URL)
  • AllOnOne = Script Action to perform at survey end


SpecialSurveyBodyStandardTags (May be left undefined)

Format: SBStandardTag="value" where SBStandard is:

  • PostingType= Either 'multipart' or any valid HTML ENCTYPE (Default - A. look up 'PostType' property for current SID, else (default - ignored)
  • PostingMethod= Either 'post' or 'get' (Default - A. look up 'PostMethod' property for current SID, else B. 'post' )
  • PostingAction= Either a valid HTML form action (URL), or if blank then if Posting Type is blank, lookup the 'PostAction' property for current SID, else assume the URL of the current survey.
  • DBID= Database identifier. Very rarely, if ever, used. This allows chaining of BPC SurveyManager databases and is for extremely advanced use. Contact BPC directly for instructions on how to use this tagproperty. Primarily intended for sensor system integration and complex distributed database applications. Requires additional configuration with in the database to operate.


SurveyBodyTags that are not allowed as TagProperties
  • QuesList = List of questionIDs on this page
  • LastQuesID = Last Question on this page
  • LastQuesGrp = Last Question Group on this page
  • FirstQuesID = First Question on this page
  • smFNField


Word Document Survey Specific Tags

Although BPC SurveyManager is primarilly designed to be used where surveys are dynamically generated by the engine, it is also possible to use it where the survey is created in a MS Word document and saved as HTML. In this case you lose the dynamic question selection capabilities of survey manager, but not the ability to save the responses into the BPC Survey Manager database. There are some special tags designed to link the word format document back into the survey manager question database.

The following survey tags are ONLY used with HTML survey pages where the question page is NOT generated by SurveyManager (allows a word document saved in HTML format to be quckly converted into a survey).


In the external HTML editor (eg MS Word), the tags should be written as: [#...#] where "..." is smformstart, smq or smformend. Questionlists, and first and last question markers are automatically generated. Rules are allowed in these surveys, but the questions generated are only inserted if a <#surveybody > tag is included, else questions generated by rules will be ignored. The [# ... #] tag format is automatically converted by the BPC SurveyManager Desktop document importer into BPC SurverManager tags <#...>, so obviously you *must* use the BPC SurveyManager Desktop client to create these types of surveys.


  • <#smformstart SID *SurveyBodyStandardTags* *SpecialSurveyBodyStandardTags* > - Insert an smform header. Use ONLY with HTML pages NOT generated dynamically in survey manager (Also requires *<#smq > and <#smformend > tags ) .
  • <#smq sid ques qrl NoGen=True AsHeading=True *QuesStandardProperties* > - Insert a question & response control from SID & QUES (OR QRL - of the form sid.quesscript or sid.ques). If 'NoGen=True do NOT generate the control, just record the quesID for page control. If AsHeading=True insert the quesgroup heading (use the TH property format). (Also requires <#smformstart > and <#smformend > tags ) .
  • <#smformend NoContinue ContinueButton > - Insert the form end marker excluding a Continue button (if NoContinue=True) or using a Continue button of the form defined in ContinueButton, or, if blank use the values set for the SID properties of that name. (Also requires <#smq > and <#smformstart > tags ) .


Question Layout Tags (QuesHTML Field)

In addition to normal DHTML tags, these Tags are allowed in a QuestTable QuesHTML Layout field. They combine with the Question Tags to display HTML features of the question/info display

  • <#question > - Insert the text of the question here (i.e. the Question field of the current row of the surveyquestion table)
  • <#..questable field..> - Insert the value of an arbitrary field of the current row of the question table


Question Tags (Question Field)

These Tags are allowed in a QuestTable Question Field. They control features of the question/info part of the question/response display


  • <#answer QRL SID QID PID IID VAL=val/text/value/type/gid/id > - Embedd a question report into the current question text. Refer Answer Tag Definition and Syntax for a detailed explanation, syntax and examples of the Answer tag.
  • <#jsmbutton MOHint=True/False MOHintTXT="My Hint" JMPTXT="Click Here" JMPACTN="MySID&QGRPO=Page01" > - Insert a button that can jump to an SM survey and return to this survey at end.
  • <#input > - Automatically embeds the input response control into the question text (rather than the normal handling of placing it into a separate column). Ideal for report or unstructured surveys. List/selector inputs are better set as drop lists rather than radio buttons in this style of survey.
  • <#optype > - identical to the <#input > tag.
  • <#user > - User name
  • <#ruser RPID > - Normally the same as the user name, except where the survey is a being completed by a "reviewer". In this case it is the reviewer's name. This kind of survey is one where two or more people will progressively complete the survey, possibly seeing different questions. An example would be where a survey is initially completed by a borad member and their answers reviewed by legal counsel and comments added. If the RPID attribute value is not assigned the current RPID for the survey will be used (the normal situation).
  • <#orgdescription > - orgname
  • <#qry name field > - any current dataset name / field value
  • <#result name field > - same as <#qry >.
  • <#rmndr OID SID RNUM XPND PLAIN> - insert the text of a reminder with LF mapped to
    or PLAIN (if =true) (populate if XPND=True ..Not implemented yet) defaults to cur SID, OID & 1
  • <#insfile OID URL > - inserted file as text stream
  • <#hfile OID URL TXT > - anchored link <a....>txt</a>
  • <#srcfile OID URL > - inserts the string SRC="xxx" using smfolder reference
  • <#file OID URL> - straight printed url reference
  • <#hint > - insert a question button that causes the value defined in the questions hint property to be displayed when clicked.
  • <#exe plg="myplugin" action="LookUpContact" param="a,b,c" > - Insert the result (return value) of a call to a plugin with the action (command in the plugin dll) and the param (parameter list). Params should be valid rule parameters for the rules scripting language.
  • <#pexe PNAME > - Similar to <#exe >. Insert the result of a call to a plugin defined in a property of the user/ques/quesgroup/survey/org. If PNAME is omitted the property should be called 'pexe' and contain a string of the form 'exe( "myplugin", "myAction", a,b,c ). If PNAME has a value, that value is the name of a property containing the text eg: 'exe( "myplugin", "myAction", a,b,c )'
  • <#..property..> - person/question/questiongroup/survey/organisation/database property

Email tags

Reminders are email messages. A reminder is parsed by the survey engine prior to sending and an also contain tags. If the email format is HTML than DHTML tags may be used as well as these. Whether the reminder format is text or HTML, these additional special tags are allowed in an Email reminder letter:


  • <#surveyname OID POID SID PID XTRA > - survey visible address (see below)
  • <#surveyhlink TXT OID POID SID PID XTRA > - survey anchored link <a....>txt</a> (with overriding fields POID replaces OID with a property value, XTRA allows any other tag string to attached)
  • <#surveytitle > - survey title
  • <#insfile OID URL > - inserted file as text stream
  • <#insfilewexp OID URL > - insert file as text stream then parse as an html message (ie recurse)
  • <#hfile OID URL TXT > - anchored link <a....>txt</a>
  • <#file OID URL> - straight printed url reference
  • <#answer QRL OID SID PID QID IID > - insert the value of a survey question response
  • <#owner > - survey owner
  • <#owneremail > - survey owneremail
  • <#sender > - survey sender name
  • <#senderpid > - survey sender pid
  • <#senderemail > - survey senderemail
  • <#addressee > - survey target PID name
  • <#pid PID > - survey responder id
  • <#pwd PID PWD OPT=P,D, > - survey responder password
  • <#..property..> - person or survey property


BackLinks



CopyRight Bishop Phillips Consulting Pty Ltd 1997-2012 ( BPC SurveyManager - Creating Surveys - Layout and Markup Tags )
Personal tools