Extension Programming References
This section provides reference information useful when writing your own Extensions. The following topics are covered:
Reserved Words
Merge Content Syntax
Available CGI Environment Values
RFC 2616 Request Headers
Netscape Enterprise Server-Specific Request Headers
The following reserved words should not be used in your extensions except when using them in their explicit Online Marketing-specific sense.
name
timeout
async
default
Merge content can be used when calling the extension in parameters or within the actual servlet code.
The following is the basic syntax for merge content:
{pstag:vctype [value="value"]
[ default="defaultValue"]}
where
Term |
Definition |
---|---|
pstag |
is the Online Marketing VC Tag identifier. |
vctype |
The merge content type (such as profile, document, and so on). |
default |
The keyword used to identify the default value for the merge content. |
defaultValue |
The value used as the default for any merge content that does not have a value. If there are spaces in the default, the value will appear within double quotes (“defaultValue”). |
See Merge Content Syntax.
Extension Merge Content - Company
The merge content syntax for companies in the profile database is:
<pstag:profile value="Organizations.profileName.fieldName" />
where
Term |
Definition |
---|---|
Organizations |
indicates that the merge content data is a person or company in your profile database. |
profileName |
is the name of the profile. |
fieldName |
is the name of the profile element. Note: Field names use the plain-text Element Name rather than the Element Permanent Name. |
The following examples show Extension parameter merge content where a parameter value is set to be the value of Company merge content:
<pstag:profile value="Organizations.Companies.Organization Name" />
<pstag:profile value="Organizations.Companies.ZIP Code" />
<pstag:profile value="Organizations.Companies.Web Site Address" />
<pstag:profile value="Organizations.Companies.Organization Phone" />
Extension Merge Content—contact
The merge content syntax for people in your profile database is:
<pstag:profile value="Individuals.profileName.fieldName" />
where
Term |
Definition |
---|---|
Individuals |
indicates that the merge content data is an individual or organization in your profile database. |
profileName |
is the name of the profile. |
fieldName |
is the name of the profile element. Note: Field names use the plain-text Element Name rather than the Element Permanent Name. |
The following examples show Extension merge content where a parameter value is set to be the value of Individuals merge content:
<pstag:profile value="Individuals.People.Source ID" />
<pstag:profile value="Individuals.People.Email" />
<pstag:profile value="Individuals.People.ZIP Code" />
<pstag:profile value="Individuals.People.Last Name" />
Extension Merge Content—document
The merge content syntax for documents is:
<pstag:document value="documentName.fieldName" id=""/>
where
Term |
Definition |
---|---|
document |
indicates that the merge content data is a field from a document. |
documentName |
indicates the name of the Online Marketing web or email document |
fieldName |
is the name of the field from the document. |
id |
The merge content Reference identifier. |
The following example shows an Extension merge content where a document is used in merge content:
<pstag:document value="doc_enter.ticker: id="" />
Extension Merge Content—Constants
Constants can be passed as parameters to extensions or called from within the extension. The merge content syntax for constants is:
<pstag:constantName/>
where
Term |
Definition |
---|---|
constantName |
is the name of the constant to be used in the merge content. |
The following examples show Extension merge content where a constant is used in merge content:
<pstag:currentTime format="HH:MM" />
<pstag:recipientID/>
<pstag:dialogID/>
The following constants can be called in Extension constant merge content.
emailTrackingBlock
trackingNumber
url
currentDate
currentTime
recipientID
baseURL
activate_page_action_name
dialogID
actionID
response_handler_id
sourceActionID
individualID
organizationID
individualBOID
organizationBOID
individualRoleTypeID
organizationRoleTypeID
documentLanguageCode
dialogBusinessUnit
documentSetID
The following CGI environment values are available for inclusion in Extensions. These values are typically passed from the web server.
SERVER_NAME
SERVER_PROTOCOL
SERVER_PORT
REQUEST_METHOD
PATH_INFO
PATH_TRANSLATED
PATH_TRANSLATED
SCRIPT_NAME
DOCUMENT_ROOT
QUERY_STRING
REMOTE_HOST
REMOTE_ADDR
AUTH_TYPE
REMOTE_USER
CONTENT_TYPE
CONTENT_LENGTH
HTTP_ACCEPT
HTTP_USER_AGENT
HTTP_REFERER
The following RFC 2616 request headers are available for inclusion in Extensions.
Accept
Accept-Charset
Accept-Encoding
Accept-Language
Accept-Ranges
Age
Allow
Authorization
Cache-Control
Connection
Content-Encoding
Content-Language
Content-Length
Content-Location
Content-MD5
Content-Range
Content-Type
Date
ETag
Expert
Expires
From
Host
If-Match
If-Modified-Since
If-None-Match
If-Range
If-Unmodified-Since
Last-Modified
Location
Max-Forwards
Pragma
Proxy-Authenticate
Proxy-Authorization
Range
Referrer
Retry-After
Server
TE
Trailer
Transfer-Encoding
Upgrade
User-Agent
Vary
Via
Warning
WWW-Authenticate
The following Netscape Enterprise Server-Specific request headers are available for inclusion in Extensions.
auth-user
REMOTE_USER
ip