Technical Reference

This section provides a full technical reference point for constructing your Blueprint templates.

  • 1. Format of the BPMessProp ID
  • 2. Message Property Source
  • 3. Formatting Properties
  • 4. Blueprint Item Property Tags
  • 5. Blueprint Ids


  • 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

    s