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

See Create the Online Marketing Formatted Syntax.

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

Field or Control

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

Field or Control

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

Field or Control

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

Field or Control

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

Field or Control

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