How does it work?
VEM processes outgoing emails and embeds tokens to enable different features like
monitored links, read tracking, profile and subscription updating etc. Apart from
the basic token simply conveying the identity of the email and recipient within
CRM most other tokens are generated in response to special mark-up inserted by the
VEM-specific features in the VEM Template Editor.
Read Tracking
Read tracking works by embedding a single-pixel image associated with the basic token.
The process of opening emails causes HTTP requests for images to be registered and
converts them into clicks within the CRM. So if a recipient ‘opens’ an email and
downloads images then the monitor site can ‘count’ these and register the latest
‘open’.
Note: This basic token is also used in VEM incoming email processing to improve
the quality of matching with outgoing emails and categorise them into replies, auto-responses,
delivery problems etc.
Monitored Links
On the other hand monitored links use another token that is also associated with
an email link entity in the CRM and a hyperlink in the outgoing email. On recipient
click, the monitor site registers the request (creates email click instance) and
redirects the HTTP request to the intended destination.
VEM Landing Pages
VEM profile and subscription updating features introduce ‘landing pages’ based on
standard CRM email templates. In this mode the monitor site renders these as dynamic
online HTML pages. So for instance you can provide a (personalised) ‘View online’
feature for recipients whose email client does not provide them with ‘rich text’
reading.
Update Profile
By simply introducing updatable data-fields and a ‘SUBMIT’ placeholder into the
email template you can instruct VEM to render these as updatable in the online landing
page. You can allow recipients to (for example) update their address details, or
their communication preferences. It also opens the door to (no code) advanced features
like meter-readings and custom interest groups etc. VEM uses another token associated
with a hyperlink in the outgoing email that conveys not only the identity of the
recipient, but also the target landing page. Landing pages are jQuery-enabled and
use special formatting functions to ensure standard email templates are rendered
controllably and use validation to enforce attribute restrictions such as max length,
email or url types etc.
Confirm Subscriptions
Another feature provided through the monitor website is the ability for recipients
to easily control their own subscriptions to a number of marketing lists used for
this purpose. In this case the token associated with the hyperlink in outgoing emails
also contains details on the subscription list identities. When clicking on the
link the recipient is directed to a landing page in which the original placeholder
is rendered with a series of checkboxes identified by list labels, whose CHECK status
is derived from list membership, and a ‘SUBMIT’ button to update these. In addition
to adding or removing members from the lists of interest, VEM also generates a list-subscription
instance with ‘SUBSCRIBED’ status, both to audit changes and for use in VEM ‘Dynamic
Lists’ feature.
Contactus (Web-to-lead) Page
Hosted within the site is a contactus page - this presents a webform which when
completed and submitted by a web user causes a new lead to be entered in the
CRM. The target organization is determined by web.config settings that are
initially generated on installing VEM.
External Access to Monitor Site
In order to provide all these proxy features the site needs to be accessible to
the public internet as it will be providing HTTP responses to requests from all
your email recipients. In order to allow quick and easy installation the VEM installer
attempts to install the site on the local IIS server where the installation is performed.
In many cases this is acceptable and the only prerequisite that you need, prior
to install, is an external DNS entry.
Internet Facing Deployment
For example you may have already setup Internet Facing Deployment (IFD) so your
users can access CRM from the public internet. Having another website on the same
server exposed externally via similar methods should not present an extra threat.
External DNS Entry
This will be an ‘A’ record with fully qualified domain name (FQDN) like crm.acme.com
pointing to your external IP address, which is set up through your Internet Service
Provider (ISP) control panel. You would then have forwarding in your boundary-router
based on this ‘host-header’ toward your CRM server and ensure that any firewall
allows this rule.
Important: Use this FQDN as the host-header in the installer, replacing the internal
name that the installer defaults to. With the internal name you will only be able
to test VEM internally. You can choose other parameters for the monitor site binding
like IP Address (defaults to all) and port number (default 81). You can even choose
to use https (SSL) if you wish if you get a suitable certificate installed on the
server.
Simple Test
After installation you can easily test the website setup by browsing to [http://crm.acme.com:81]
/page_not_found.htm from an external location (e.g. mobile phone). This will verify
that your external DNS entry, plus router and firewalls are configured correctly.
Moving the Monitor Site
If the CRM is only accessible to internal users and/or your organization policy
encourages De-Militarized Zone (DMZ) websites you can manually ‘move’ the VEM Monitor
website post-install.
Note: You might also / alternatively wish to do this if you have mirrored (Network
Load Balanced) CRM Application Servers and only wish to have one monitor site. To
prevent VEM initially installing its monitoring site on the local IIS you should
disable this feature (default enabled) whilst installing. The website files will
still be copied to the VEM ProgFiles folder – from whence you can copy them to the
DMZ location, and manually create a simple Anonymous Access website with a .Net2.0
AppPool, ensuring you have the CRM SDK DLLs in either the bin or GAC folder.
Network Credential
If you wish to move the monitor site, a major consideration is the provision of
credentials for accessing the CRM web services. Within a domain the CRMImpersonator
class allows access, but outside we need to use some suitable network credentials.
So we have implemented special functionality in the VEM Installer - if you type
a password whilst installing VEM, your encrypted network credential will automatically
be added to the monitor site config which solves the problem.
Note: The config file encryption is machine-keyed so when moving the site you need
to decrypt first, move, then re-encrypt. In order to make this process easy you
can use the configure.aspx utility, included in the monitor site. This simple utility
can only be used on the IIS local machine (for security). You can alternatively
encrypt and decrypt sections in the web.config file using the aspnet_regiis.exe
command-line tool, which can be found in the
\Microsoft.Net\Framework\version directory. To encrypt a section of the web.config
using the DPAPI machine key with this command-line tool, use following command:
aspnet_regiis.exe -pe "appSettings" -site "VEM Monitor" -app
"/" -prov "DataProtectionConfigurationProvider" To decrypt use
-pd rather than -pe.
Image Repository
As the VEM Monitor site is on the public internet it can usefully serve as a repository
for template images. The VEM Template Editor allows integrated control of images,
but is not mandatory – you can alternatively directly set an image source to your
corporate website if desired without using the filemanager manipulation features.
The filemanager functionality is accessed via the image toolbar button or image
context menu – from these dialogs you can use the VEM Filemanager to organise and
control the images you need to use in templates, creating folders, uploading and
selecting images etc.
On a technical level, there are two parts to this functionality – one is the proxy
client filemanager in the CRM website; and this communicates with the server filemanager
integrated in the monitor site. Each CRM tenant (Organization) has a separate space
determined by a virtual root corresponding to the organization’s unique name.
Keep Alive Service
This service is also installed with VEM. Its function is to regularly poll the monitor
site to ensure that it is fully responsive to recipient email clicks. If you are
installing VEM on multiple CRM Application Servers, you can disable this feature
(default enabled) during installation on all but one server. The service executable
and config file will be found in the VEM ProgFiles folder. The configuration is
extensible to allow polling of other sites including CRM pages.
Note: This service can only be automatically started if you choose to enter a password
in the installation process.
|