Technical Reference


1. Format of the BPMessProp ID

As discussed in the tutorials, when Blueprint for Outlook loads your printing template, it parses the content, inserting formatted message properties into elements that have an ID of 'BPMessProp'. This is an example of this:

<span id="BPMessProp">NAME=From</span>

For an overview about the 'BPMessProp' ID, see Tutorial 1. Understanding the Basics

The BPMessProp ID is at the heart of the Blueprint printing engine, and can be defined in any HTML element. (e.g. SPAN, DIV, TD etc.). The text section of the element contains all the information needed to format the text from the message.

Often, you will want fine control over the formatting of properties before they are inserted into the document (formatting over and above that controlled by HTML styles).

In order to provide further formatting instructions, 'named arguments' are used. Any number of named arguments can be supplied in any order; each must be separated using a pipe (|). An example is:

'NAME=FlagStatus|HIDE_TABLE_IF_EMPTY|POSSIBLE_VALUES=0: ,1:Completed,2:Flagged'


2. Message Property Source

The NAME element is the mandatory element which provides the data source of the message property. The format is as follows:

NAME=<name>


The <name> value can refer to either a named Blueprint property, a custom form User property, an Outlook Object Model DispId or even an internal MAPI property. By default, it is assumed that the <name> value refers to an named Blueprint property. For a full list of named Blueprint properties, click
here.

In order to allow the NAME property to be used for other property sources, the following named argument is used: PROP_TYPE, and is used by:

PROP_TYPE=<prop_type>

where <prop_type> can be:

<prop_type>DescriptionUsage example
ITEMA property defined through the ItemProperties collection used within the Outlook Object Model. The NAME property will refer to the name of the ItemProperty. * Contact Address example:
NAME=BusinessAddress|PROP_TYPE=ITEM
USERA user property used in custom forms. The NAME property will refer to the name of the custom propertyNAME=MyCustomTextBox|PROP_TYPE=USER
DISPIDAn Outlook Object Model dispid of the current selected Item. The NAME value will be a hex value of the DISPID **Subject example:
NAME=0x37|PROP_TYPE=DISPID
MAPIAn extended MAPI property of the select IMessage. The NAME property will be the full hex MAPI property **Subject example:
NAME=0x0037001E|PROP_TYPE=MAPI

* The ITEM property type is only available for use with Microsoft Outlook 2002-2007. To see a full list of property names available, visit Microsoft Outlook Item Properties collection. From this page, it is possible to view the ItemProperty names that can be used for all Outlook item types( e.g. Contact, Task, Appointment).

** For help on determining DISPIDs and MAPI property identifiers used in your messages, a useful utility is OutlookSpy. To download OutlookSpy, visit http://www.dimastr.com/outspy/


3. Formatting Properties

Section 2 described how to define the source of your message property. This section will provide a full list of all the formatting arguments that can be used:

Named ArgumentComments
NAME=<name>The name of the property. Mandatory. Used in conjunction with PROP_TYPE to define source type.
PROP_TYPE=<prop_type>Source of the property type. See 2. Message Property Source.
HIDE_ROW_IF_EMPTYIf the inner text of the HTML element is empty (after formatting), the whole row will be hidden from display. Only to be used within an enclosing table row (<TR>..</TR>)
HIDE_TABLE_IF_EMPTYIf the inner text of the HTML element is empty (after formatting), the whole table will be hidden from display. Only to be used within an enclosing table (<TABLE>..</TABLE>)
POSSIBLE_VALUES=<value>:<new value>, ...Provides a list of <value>:<new value> pairs. If the preformatted property matches the <value>, it will be replaced with the <new value>. This can be used to convert numbers to text (e.g. "POSSIBLE_VALUES=1:One,2:Two", but also search for a text <value> for conversion (e.g. "POSSIBLE_VALUES=One:1,Two:2")
FORMAT_STRING=<text>This allows the property value to be inserted inside some text. A '%s' must be inserted in the <text> at the point where the property value should be displayed. e.g 'FORMAT_STRING=Print Time: %s.'
UPPERCASEConverts the formatted text into upper case text
LOWERCASEConverts the formatted text into lower case text
VALUE_SEPARATOR=<sep>Specifies the separator to be used for Recipients, Attachments and Contacts.


4. Blueprint Item Property Tags

For ease of use, Blueprint has provided a number of supported Property names which can be used without the PROP_TYPE named property:

Property Name (e.g. NAME=x)TypeComments
AttachmentsTextList of attachments in the message
BodyHTML Body contentFull HTML Message Body
FromTextThe recipient the message was sent from
ToTextList of To recipients
CcTextList of Cc recipients
BccTextList of Bcc recipients
ReceivedByTextThe name of the recipient who recieved the message
FromTextThe recipient the message was sent from
ToFullTextList of To recipients including email addresses
CcFullTextList of Cc recipients including email addresses
BccFullTextList of Bcc recipients including email addresses
ReceivedByFullTextThe name of the recipient who recieved the message including email addresses
ContactsTextList of contacts associated with the message
CurrentTimeDateThe time when the message is printed
SentOnDateThe time when the message was sent
CreationTimeDateThe time when the message was created
DeferredDeliveryTimeDateThe time/date the mail message is to be delivered
ExpiryTimeDateThe time/date when the message will expire
ReceivedTimeDateThe time/date when the message was received
SubjectTextThe subject of the message
CategoriesTextList of categories associated with the message
SensitivityNumberIndicates the Sensitivity of the message. Either 0:Normal ,1:Personal, 2:Private, 3:Confidential
ImportanceNumberIndicates the Importance of the message. Either 0:Low, 1:Normal, 2:High
FlagRequestTextIndicates the requested action for an e-mail message
FlagStatusNumberIndicates the flag status of the message - Either: 0: No Flag, 1: Flag Complete, 2:Flag Marked
SizeTextThe size of the message
DeliveryReportRequestedTrue/FalseWhether a delivery report was requested for this message
ReadReceiptRequestedTrue/FalseWhether a read receipt was requested for this message
BillingInformationTextBilling Information associated with the message
CompaniesTextThe Companies associated with the message
MileageTextThe Milage associated with the message

Adding the Contact Picture

When designing a Contact based template (Memo or Multi-item style) or referencing a Contact item from your message template( e.g. BPFromProp, BPContactProp), you can add the Contact image associated with contact.

Property Name (e.g. NAME=x)TypeComments
ContactPicturePictureAdds the contact picture associated with the current Contact item


5. Blueprint Ids

This section provides a definitive list of all the ids values which Blueprint for Outlook uses to manage the contents of the template:

Standard Blueprint Ids

The ids within this section can be used anywhere within both Memo and Multi Item style templates

Blueprint IdComments
BPHeaderThe HTML under this element define the header of each page within a printout. This item can only appear once
BPFooterThe HTML under this element define the footer of each page within a printout. This item can only appear once
BPPageNoThe text of this element will be replaced by the current page number
BPPageTotalTHe text of this element will be replaced with the total number of pages in the printout

Item Blueprint Ids

The ids within this section can be used within both Memo and Multi Item style templates. However, when they are used within Multi Item style templates, the id should only be used within the BPFolderListItem section

Blueprint IdComments
BPMessPropThe standard id to be used for extracting properties from a current Outlook message / item.
BPFromPropThis tag is similar to BPMessProp, but will extract a property from the Sender Contact. Blueprint will determine whether a Contact item exists which matches the email address of the Sender. If this exists, properties will be extracted from this contact.

Note. Support for BPFromProp was introduced in Blueprint for Outlook 2.2
BPContactListThis defines the start of a custom contact list. This provides support for displaying all the contacts associated with the item.
BPContactListItemOnly used in conjunction with the BPContactList id. The HTML under this item is repeated for each contact in the contact list, and can be used to present futher properties for the contact.
BPContactListSeparatorOptional. Only used in conjunction with the BPContactList id. The HTML under this item is used as a separator between each contact
BPContactPropThis id is similar to BPMessProp, but will extract a property from the current contact. Only to be used within the BPContactListItem section

Multi-Item Blueprint Ids

The ids within this section can only be used within Multi Item style templates. For more information on Multi Item templates, see Tutorial 5. Creating Multi Item Styles

Blueprint IdComments
BPFolderListThis id is only used within 'Multi Item templates and defines the start of a multi-item list.
BPFolderListItemOnly used in conjunction with the BPFolderList id. The HTML under this item is repeated for each item in the multi-item list
BPFolderListSeparatorOptional. Only used in conjunction with the BPFolderList id. The HTML under this item is used as a separator between each contact
BPFolderPropThis id is similar to BPMessProp, but will extract a property from the current folder