Lab II - EmVi Product Specification EmVi – Orange Team David Wise

advertisement
1
Lab II - EmVi Product Specification
EmVi – Orange Team
David Wise
CS411W
Mrs. Brunelle
July 26, 2016
Version 1.0
Lab II – EmVi Product Description
2
Table of Contents
1.
2.
3.
Introduction ............................................................................................................................ 3
1.1. Purpose........................................................................................................................... 3
1.2. Scope .............................................................................................................................. 5
1.3. Definitions, Acronyms, and Abbreviations ................................................................... 7
1.4. References .................................................................................................................... 11
1.5. Overview ...................................................................................................................... 12
General Description ............................................................................................................. 12
2.1. Prototype Architecture Description ............................................................................. 13
2.2. Prototype Functional Description ................................................................................ 17
2.3. Extended Interfaces ...................................................................................................... 21
Spacific Requirements ......................................................................................................... 22
List of Figures
Figure 1 Current Marketing Email Generation Proccess .............................................................................. 6
Figure 2 Proposed Marketing Email Generation Process ............................................................................. 7
Figure 3 EmVi User Interface Site Map ..................................................................................................... 13
Figure 4 Prototype Major functional Component Diagram ........................................................................ 14
Figure 5 EmVi Database Schema ............................................................................................................... 15
Figure 6 User Log on Page Test Script ....................................................................................................... 21
Lab II – EmVi Product Description
3
1. Introduction
Email is an active tool in the marketing industry. The use of email in marketing dates back
to the early 90’s. During its early days email was used to send unsolicited bulk messages, more
commonly known as “SPAM”. Things have changed quite a bit since then. Even in today’s new
world of mobile devices and social media networks, email still reigns as the dominant method for
advertising and marketing.
Two thirds of all email users check their email on average three times a day (Connolly,
2011). This means that the email content is being viewed by potential customers. In a report
from SOS Emarketing, ROI Comparison Across Media Channels, email marketing generates, on
average, about $40 for every dollar invested (Schwartz, 2011).
Because of this, 97% of
companies said that they would be increasing their email marketing budgets (Rice, 2012).
The process of creating email content across various clients is time consuming. The email
has to be created and then sent through a rigorous approval process that can “trap” that content in
an endless loop of disapprovals and rework. The goal of this approval process is to ensure that
accurate representation of the company and its products is displayed in the marketing email that
is delivered. Mistakes are costly and embarrassing so this approval is an essential step.
Along with the process being time consuming, testing to make sure it renders correctly can
be complicated. Keeping track of changes in the client software is a full time job when you are
talking about hundreds of different options. This is accomplished through the time consuming
task of sending out the content and checking to see if it looks right at the receiving end and then
approving or rejecting. If the email is rejected then the process has to begin again and all effort
toward delivery is lost.
Lab II – EmVi Product Description
4
1.1. Purpose
EmVi – Email Viewer (Email Content Management System) is a solution provided by the
Old Dominion University (ODU) CS411 Orange Group designed to reduce the time and
complexity of generating and approving marketing email. The solution will be a stand-alone
email content management system with the capability of being integrated into an existing email
marketing system. The process of getting approvals will be streamlined in a way as to break the
endless approval loops that can send an email campaign task beyond deadlines. There will be
fast reliable testing of the email content where results can be provided to those generating the
campaigns to reduce the errors the first time. If the content generation team were to have the
capability to view a submitted marketing email before it moves on to the approval stages, it
would provide an opportunity to proof the content in advance, reducing the number of times a
campaign would be rejected. This would reduce the time from concept to delivery for marketing
email.
EmVi provides a global solution for email marketing content management, testing and
campaign distribution. The overall effort in this project is to provide a tool that will seamlessly
integrate into the current standard operating procedure of any email marketing agency allowing
for a more streamlined approach to their marketing strategy. This tool will store the content,
making it available to other projects and campaigns through a content management system
(CMS). It will provide an interface through which testing can be performed at any stage in the
development of the campaign. EmVi will create an environment from which a streamlined
approval and distribution process can take place, reducing the time and complexity currently
involved in performing the task of creating and approving marketing email.
Lab II – EmVi Product Description
5
1.2. Scope
EmVi will be a stand-alone system to be used on a single workstation or run on a server to
be used in a larger organization with multiple entities needing access. EmVi will have the ability
to interface with other tools such as CMS or Content Delivery Network (CDN) through the use
of application programming interfaces (API). The tool will also provide a What You See Is
What You Get (WYSIWYG) editor to allow the content to be modified at different stages of
approval.
EmVi will provide an interface where campaign content can be uploaded quickly and stored
on the local system in a stand-alone environment or on a server in the larger installation. After
the content has been uploaded it can be viewed in various web browsers and email clients
through the automated retrieval of images from test browsers and clients. This will give an
accurate set of images from which an approver can verify the content is correct and visually
appealing.
EmVi will allow all email campaign marketing tasks to take place in house generating the
end product in less time. It will provide tools to allow the team generating the content to see it in
real browsers and clients, allowing them to critique their own work prior to sending it off for
approval and thus decreasing the amount of little errors that delay the distribution of marketing
email. Decreasing the amount of time from inception to delivery of a marketing email will
reduce the cost of developing the campaign, increasing the return on investment.
The goal of EmVi is to streamline the email testing process to enable rapid iteration on
designs allowing for a quicker approval of email campaigns to be distributed. The objective in
creating EmVi is to automate much of the current process outlined in Figure 1. As described
earlier, this process is very time consuming and some of the finer details that will be discussed
Lab II – EmVi Product Description
6
later are complex. This current process has a flaw in that some of the steps are handled by
outside agencies causing delays in the testing and approval phases when working a campaign
through the process. With EmVi, the aim is to automate some of these steps and bring others
back into the control of the local teams. Figure 2 outlines where EmVi will reduce the current
process, thus reducing the timeline required to generate and distribute content.
Figure 1 Current Marketing Email Generation Proccess
In Figure 2, the tasks of uploading and testing are moved back into the creative team’s
hands. The whole process stays in house and can be accomplished without the reliance of
another organization or group. With EmVi the aim is to provide an interface to upload content
and automate the distribution of test emails, generation of preview images, the approval process
and version control for campaigns.
Lab II – EmVi Product Description
Figure 2 Proposed Marketing Email Generation Process
(This space intentionally left blank.)
1.3. Definitions, Acronyms, and Abbreviations
7
Lab II – EmVi Product Description
8
Access Control: Security features that control who can access resources in the operating system,
selective restriction.
Administrator (Admin): Has the ability to create and remove new contributors as well as restrict
their access.
Analytics: The process of transforming data into meaningful patterns to help in the decision
making process.
API: Application Programming Interface
Approval Chain: The series of steps necessary for an email to be authorized and distributed.
Approval Tracking: Specific to a workflow, the workflow action to perform when a user sets an
approval type.
Authentication: The process of identifying an individual, usually based on a username and
password.
Azure: A Content Distribution Network (CDN), a Microsoft product that allows you to build,
deploy, and manage applications globally.
Campaign Filter: Allows campaigns to display based on criteria that are chosen by the user.
Campaign Search: Searching for the content of a campaign (content browsing).
Content Distribution Network (CDN): Or delivery network is a large system of servers that
allows for faster and more efficient delivery of content to end-users.
Contributor: Has the ability to read, write, and edit content.
Customize: Changing or altering to fit current needs.
Database: A collection of information organized in a manner which allows for efficient retrieval.
Dynamic messaging: The use of variable content to fill particular sections of an email message.
Some examples are using first name personalization or product name insertions within
the body of a message.
Drupal: A Content Management System (CMS) that allows for easy organization, management,
and publishing of content, with an endless variety of customization.
ECMS: Email Content Management System
Email Campaign: A single instance of an email sent to a list of email addresses. Campaigns
may include multiple sends and multiple messages.
Email Client: A computer program used to access and manage a user’s email.
Lab II – EmVi Product Description
9
Email header: The data that appears in the header of an email message, usually consisting of to
and from email addresses, email subject and IP-level tracking information.
Email Marketing: Usually done by a company to directly market a commercial message for
promotional or notification purposes to a group of consumers through the use of email.
Email Message: A single email received to an email address within a campaign. A message
contains a multipart, alternative message which includes an HTML and text file.
ESP: Email Service Provider
Exact Target: A provider of data driven marketing solutions for email content creation, list
management, etc. This company is capable of integration with CDNs.
HTML Email: A subset of HTML that is not well defined and can sometimes have differing
results depending on the email client in which it is viewed in. Some email clients do not
support HTML email at all.
Integrative: Combining or unifying.
Litmus: A company that allows for the rendering and testing of email across various email
clients. Also, email analytics, spam filter tests, and page tests can be performed.
Metadata: Descriptive data about campaigns and images that can be used to search for content.
Multipart, Alternative: An email that includes both an HTML and text version. The email client
determines which version to display.
Open Source: Computer software made available publicly and free of charge.
Outsourcing: The contracting of internal business processes to a third party organization.
Permissions: Or rights, are characteristics given by users or network administrators that prevent
or allow access to files on a computer network.
RACI Chart: Responsible, Accountable, Consulted, Informed. This chart displays the various
roles and responsibilities required in completing tasks for a project or business process.
Simple Mail Transfer Protocol (SMTP): An internet protocol for sending and receiving email
messages.
Version Control: A system to record changes that are made to a campaign. This grants the
ability to restore the campaign to a previous version if necessary.
Web Application: An application that is accessed over the internet usually through a web
browser. This allows the application to be used on multiple platforms.
Lab II – EmVi Product Description
Web Server: The hardware or software that helps deliver web content and can be accessed
through the internet.
Workflow: A series of connected steps to complete a process.
(This space intentionally left blank.)
10
Lab II – EmVi Product Description
1.4. References
Balegno, S. (2011), Report: 2011 Email Marketing Benchmark Report, 2011.
Rice, J. (2012), Report: 2012 Email Marketing Benchmark Report, 6, 2012.
Schwartz, D. (2011), SOS Emarketing, ROI Comparison Across Media Channels. SOS
eMarketing, 15 Nov. 2011. Web. 9 October 2013.
Connolly, L. (2011), Report: View from the Digital Inbox 2011, 2011.
Radicati, S. (2012), Report: The Radicati Group Email Market, 2012-2016, 2012.
Lab1 – EmVi Product Description. Version 4. (2013, October). EmVi. Orange Team. CS411:
David Wise.
(This space intentionally left blank.)
11
Lab II – EmVi Product Description
12
1.5. Overview
This product specification will provide an introduction to the hardware, software
configuration and external interfaces required to provide the capabilities of the EmVi prototype.
The remaining sections of this document will describe in detail the hardware, software and
external interfaces that must be built into the EmVi prototype in order to meet the needs of the
customer. Included in the description of the prototype will be features and capabilities that will
be part of the EmVi prototype. The prototype will be a store and forward type of system and as
such, there will be features that will secure, control and manage how the data will be accessed
and moved through EmVi. These specific requirements will be defined in the following sections
on this document.
2. General Description
In an effort to provide a proof of concept the EmVi team will be building a prototype of
EmVi that will demonstrate the capabilities of the application without all of the complexity that
would be involved in a full scale build and configuration. Test campaigns and pre generated
images will be used to demonstrate the flow of data and approvals through EmVi. The EmVi
prototype will be an email content management system that will streamline the testing and
development process of campaigns. With this prototype, the plan is to show a reduction of errors
in email content, reduction in cost associated with processing an email campaign and get those
campaigns to production and to the customers in a quicker more reliable manner.
The EmVi prototype will provide a GUI written in HTML, PHP and JavaScript containing
various user role interfaces such as administrator, campaign administrator, contributor, and
approver. Each of these roles will have different capabilities within the tool derived from flags
set in the database. Some of these roles can be seen in the site map in Figure 3. The prototype
Lab II – EmVi Product Description
13
will demonstrate the functionality of the registration and logon pages. After a user registers for
access to the prototype it will demonstrate the capability to deliver confirmation email via the
send mail function provided in PHP. The backbone of the EmVi tool will be the MySQL
database. The EmVi team will demonstrate the ability to interface with database in order to save
new data, update records and remove data. This will provide a demonstration of the access
control measures and version control for both EmVi versioning and Campaigns. This tool will
automate the distribution of test emails which currently, is a manual process. After these test
emails are sent the EmVi prototype will render and retrieve the rendered marketing email images
to be used in the approval process.
Figure 3 EmVi User Interface Site Map
2.1. Prototype Architecture Description
Figure 4 provides a visual representation of the prototype components. The prototype
will simulate parts of the application in order to provide services that would normally already be
Lab II – EmVi Product Description
14
onsite or need to be purchased such as a CDN account. This diagram will be described in further
detail later.
Simulated CDN file
share
Web
Browser
Email Designer
EmVi Web Application
Running on a virtual
machine on CS ODU
network
File System
Version
Controlled
Simulated Email Simulated Email Simulated Email
previews for view previews for view previews for view
SMTP Server Running in
a virtual environment
On ODU CS network
My SQL
Database Running on
ODU CS Network
Simulated Data containing test
campaigns with links to
simulated CDN and Previews.
Figure 4 Prototype Major functional Component Diagram
In the prototype, the server will be a virtual computer running Linux operating system
located on the computer science network at Old Dominion University. The development and test
team will utilize this virtual computer to run the web application, the database, and the SMTP
services needed to test email campaigns. The development environment will be the EmVi
team’s personal computers and or the ODU CS lab.
Much of the development can be
accomplished with the typical text editor like notepad. The development team will be using
some integrated development environments (IDE) such as Microsoft Expressions, Eclipse, and
Notepad++ to program the HTML and PHP required to generate the GUI. The CS350 git system
will provide a way to handle the versioning and the multiple programmer environments.
Lab II – EmVi Product Description
15
The prototype will simulate access to the CDN and Test rendering environment via an
API to a file server containing the files that will be stored in the database as a URL. A
demonstration of the functionality of EmVi will be accomplished with the use of the open source
MySQL database engine.
This is a fairly powerful database engine for smaller projects that
require database support. MySQL databases can be easily ported over to other larger database
engines such as Microsoft SQL and Oracle. MySQL will be used because it is free and will
work in small scale implementations of EmVi. Figure 5 provides a high level representation of
the database schema that is planned to be implemented for EmVi. It will hold the access control
parameters as well as build the structure needed to generate an approval flow through the system
and maintain data needed to generate the test email.
Figure 5 EmVi Database Schema
The EmVi development team will be building a custom framework on which to build the
rest of EmVi. It will be a structured MVC environment separating the logic from the visual
presentation to the end user. This will allow the tool to process in the back end while still
engaging the end user of the application. Play framework was considered as an initial starting
Lab II – EmVi Product Description
16
point but after looking into that found that the learning curve would be greater than just building
one from scratch. The MVC will be built using the PHP scripting language.
The prototype for EmVi in the web server software will not differ too much from what the real
application will provide. The Linux, Apache, MySQL, and PHP (LAMP) configuration will be
used to accomplish this. The difference will be in some of the scripting and API programming.
EmVi will deploy a User based access control system. Users will register with the site
and wait for an EmVi administrator’s approval before being allowed to log in. The EmVi
administrator will set the permissions for the end user based on the request and the role that user
plays in the campaign lifecycle. Access rights will be stored and managed in the database and
maintained via an administration page in the web application shown in Figure 3.
The development team will provide an API for EmVi to allow for seamless integration
into other systems. This will be publically available. This API will provide an interface from
which other developers can incorporate this tool into their environment. It will provide a list of
programming functions that will pass instructions into the EmVi environment.
The web page logic will not change drastically from what is proposed for a real world
product provided in Figure 3. The movement and PHP scripting will be the same and only the
API’s that determine where the data comes from will change in a real world implementation of
the tool. Testing functionality will need to be added to the prototype in order to fully test and get
automated feedback from the system.
This will not change the logic just provide more
information to the development team.
The interface with the MySQL database will be accomplished via the MySQL API
provided with PHP. The database will be prepopulated with test data to run a campaign from
inception to closure. The EmVi prototype will have existing campaigns in various stages of
Lab II – EmVi Product Description
17
completion and approvals to test every avenue of the system. The data that will be stored as part
of the prototype will be like data used in production so that a true representation of the tool can
be acquired.
EmVi will utilize a real SMTP server to generate email for both registration and email test
sends. These emails will then have to be parsed to generate images that the approvers will
review to allow them to make informed decisions to advance a campaign. EmVi will use the
sendmail application that can be setup on Linux and the PHP API mail, to send out the
notification and test email.
2.2. Prototype Functional Description
In the prototype, EmVi will simulate some of the features and capabilities that would be
programmed in the real world application. Some of the areas that will be simulated will be the
API to CDN and the email rendering environment. If the EmVi team has the bandwidth to add
these in as a non-simulated feature, then that will take place toward the end of the semester.
Some of the major features include authentication, storage of campaign data, the approval
workflow, and the email send-to test distribution. These will all be provided in the prototype of
EmVi either as a functioning part of the application or a simulation to assist in demonstration the
capabilities.
Authentication will be handled by the database and PHP scripts at a logon page. After a user
registers for access to the tool the EmVi administrator can then approve the registered user and
set that user’s roles in the system. Once this is complete, the user will be able to browse to the
EmVi logon page and present their credentials for authentication. If they are successfully
entered, the user will be granted access to the EmVi tool with the user access roles defined in
their account. At successful authentication, a cookie will also be issued for managing the current
Lab II – EmVi Product Description
18
session for the user and provide some security as the user moves through the site and the data
stored within the database.
The determination of what will be stored and how to store it is the first thing that needs to be
accomplished to make all of the parts of EmVi work as one fluent system. With a campaign,
there will be HTML, plain text and image files that will need to be stored. The plan is to store
the HTML and text files as long strings in the database and the image files on a simulated CDN.
The prototype will have the ability to interpret, parse and insert into the database or unpack files
and copy them to the file shares in the case of images. A file server will be used to simulate the
CDN, so there will be a URL pointing to the image that can be used when generating the
campaign email on send.
The workflow will not be simulated. Test users will be generated in the EmVi prototype to
allow the movement of a campaign from inception to final product through the system. This will
provide a workflow demonstration of the tool with each user role acting on the campaign in its
turn.
When a new campaign is generated, it is attached to an automatic test distribution list. The
campaign administrators (those creating the campaign instance) will have the option to add
additional email addresses to the campaign for sending to their own test accounts outside of the
tool. The send-to distribution will be an automated aspect of the tool and will be used to
generate the images of the campaigns in the different browsers and clients.
With any tool there needs to be a division of labor. The EmVi tool will separate the roles
into four major sections; campaign administrators, contributor, approver, and administrators.
Each of these groups will play different key parts in the tool and workflow.
Lab II – EmVi Product Description
19
Campaign Administrators will kick off the campaign and workflow. They are the catalyst for
this process. An administrator can generate a new empty campaign or kick off a new one from a
copy of an existing campaign that they already have access to.
Contributors will be able to edit the campaigns that they have access to allowing them to add
and remove content from the campaign. They will be able to copy content between campaigns
that they own and can set campaigns as ready for testing and approval. They will be able to
upload content to the campaign such as HTML and text files as well as content to display the
HTML properly such as photos.
An approver will be able to do all the contributor tasks as well as approve campaigns created
by any contributor. They will be able to reject active campaigns awaiting approval to send back
to the contributor for further editing. As an approver, they will be able to set the status of a
campaign based on their analysis of the tests. With the approver having the same capabilities as
a creator, a system of checks and balances needs to be in place, so an approver cannot approve a
campaign that is generated by self.
Administrators will be able to do all tasks that all of the other user types can do with the
addition of account maintenance and EmVi system configuration. Administrators will have the
ability to assign and remove contributor as owners of campaigns. Administrators can modify
access rights to campaigns assigning contributors and approvers to the campaign workflow that
they currently do not belong to. They can edit the status of campaigns. One of the major roles of
an administrator is access control. They will be responsible for the addition, approval and
modification of user accounts on the system.
Lab II – EmVi Product Description
20
Registration will be required in order to use this system. The data being housed could
potentially be proprietary in nature and needs to be protected and separated by a need to know
environment. There will be a registration page in the GUI with a link from the home logon page.
After a potential user registers for access, they will still be unable to log into the system until
they have been verified by an administrator who will, as described as part of their roll, approve
or reject the request for access. The user will receive an email that will be sent using the PHP
send mail function and the SMTP server. This email will contain information about the user’s
registration and the steps that the user can expect to happen next. After successful registration
and activation, the user will be able to log into the EmVi tool via a logon page that will generate
session information. They will be able to use the system as long as the session is active. The
session will have an inactive timer that will auto log out after a set amount of time. When the
user logs off or closes the browser, their session will be destroyed to prevent unauthorized
access.
The tool home page will be the logon page. The user will present their credentials to the tool.
If the credentials provided match what is stored in the database fir that user, they will be granted
access to the site. If not then they will receive a message stating that the account does not exist
and request that registration take place, that the account is not active, or that improper credentials
were provided. Once logged in the user roles kick in to allow them to perform their assigned
actions in the tool.
The ability to preview test email is an important aspect of this tool. The email preview will
allow the final inspection of an email campaign and the grounds for approval or rejection of a
campaign. After a campaign is sent to the test distribution list, a compilation of the images will
be provided that represent how the campaign email will look in different HTML browsers and
Lab II – EmVi Product Description
21
email clients to ensure that no mistakes were made and that it renders correctly for proper
viewing at the customer end of the chain.
These will be presented as thumbnails to the
contributors and approvers in the EmVi tool, where they will have the ability to sample as many
as is needed to verify correctness of the campaign before sending out to customer distribution.
The EmVi team along with the case study group will run through the features defined in this
prototype description. Test scripts will be used to verify the functionality of the GUI. This will
ensure that it is working and looks correct. Figure 6 is an example of the script that would be
used to test the user logon page.
Figure 6 User Log on Page Test Script
2.3. External Interfaces
External interfaces will be limited to standard computer hardware and software. EmVi will
provide a set of custom interfaces for the user, CDN, and email previews.
2.3.1. Hardware Interfaces
No hardware interfaces will be built for EmVi. The prototype will be accessible via an ODU
classroom or lab computer or an orange group member’s computer. The website for EmVi will
be hosted on the ODU CS department server and network.
Lab II – EmVi Product Description
22
2.3.2. Software interfaces
The group will interface with the MySQL database via a web interface tool called
PHPMyAdmin. The PHP and HTML pages will be created using standard text editors and IDEs.
There will also be a SMPT interface to allow for system notifications and sending campaigns to
test. Newly created pages will be uploaded to the production server via an FTP client of the
developer’s choice.
2.3.3. User Interfaces
The main user interface will be accessible via any internet-connected personal computer with
a web browser. The initial interface will be the logon page. The web site map is provided in
figure 3. This will be the only interface an EmVi user will have. As an EmVi administrator
there will be other user interfaces for CDN configuration and email preview configuration.
2.3.4. Communication Protocols and interfaces
Standard TCP/IP and UDP protocols will be used to interface with EmVi. No new protocol
or ports are required to access EmVi.
3. Specific Requirements
(Section three was provided as a separate deliverable)
Download