Lab II - Product Specification Outline CS 411W Lab II

advertisement
Lab II - Product Specification Outline
CS 411W Lab II
Prototype Product Specification
For
PHP EmVi
Prepared by: Keith Walsh, Orange Team
Date: 10/8/2013
1
Table of Contents
3.
SPECIFIC REQUIREMENTS............................................................................................. 3
3.1 Functional Requirements ................................................................................................................ 3
3.1.1
Logon Experience, Account Maintenance and Security (David Wise) ..........Error! Bookmark not
defined.
3.1.2
Work Flow Process (Tamara Jones) ............................................... Error! Bookmark not defined.
3.1.3
Content Creation Experience (Yolanda Quinones) ........................ Error! Bookmark not defined.
3.1.4
Content Storage, Retrieval, Version Control and Validation (Keith Walsh) ................................ 3
3.1.5
Content Distribution Network (CDN) Interface (Richard Truchanowicz) .....Error! Bookmark not
defined.
3.1.6
Email Previews (Chris Dashiell) ...................................................... Error! Bookmark not defined.
3.2
Performance Requirements ............................................................................................................ 9
3.3
Assumptions and Constraints ......................................................................................................... 9
3.4
Non-Functional Requirements ........................................................................................................ 9
APPENDIX............................................................................................................................. 9
List of Figures
Figure 3-1 Registration and logon flow chart ....................Error! Bookmark not defined.
Figure 3-2 Campaign Creation Flow Chart .......................Error! Bookmark not defined.
Figure 3-3 Campaign Modification Flow Chart ................Error! Bookmark not defined.
Figure 3-4 Campaign to Content Relationship ................................................................... 4
List of Tables
Table 3-1 User Table .........................................................Error! Bookmark not defined.
Table 3-2 Message Table ...................................................Error! Bookmark not defined.
Table 3-3 Campaigns Table ...............................................Error! Bookmark not defined.
Table 3-4 Workflow Table.................................................Error! Bookmark not defined.
Table 3-5 Reviewer’s Table ...............................................Error! Bookmark not defined.
Table 3-6 Campaign to Content Example..........................Error! Bookmark not defined.
Table 3-7 Content Table ..................................................................................................... 8
Table 3-8 Content to Campaigns Mapping Table ............................................................... 8
Table 3-9 Content to CDN Mapping Table .......................Error! Bookmark not defined.
2
Table 3-10 Content Types Mapping Table ......................................................................... 8
3. Specific Requirements
3.1 Functional Requirements
3.1.4 Content Creation, Storage, and Version Control (Keith Walsh)
Content is a file that goes into making up an email. Content can be an
image, an HTML file or a plain text file. Emails are made up of an HTML file, a
text file and zero or more image files. Any user of EmVi can create content, but
once it exists it must only be updated or removed by a user who has explicit
permission to do so. Figure 3-4 and Table 3-6 depict the relationship between
content and emails. For content storage, retrieval and version control, the
following functional requirements must be met:
3
Figure 3-1 Email to Content Relationship
Table 3-1 Email to Content Example
3.1.4.1.
Content Creation
All content files, along with their defined properties, must be
stored by the application.
4
3.1.4.1.1.
The application must provide the capability to upload
content files from the user’s desktop.
3.1.4.1.2.
Acceptable file formats must be defined within the table
tbl_contentTypes.
3.1.4.1.3.
When a user adds content to the application, that content
file must be saved to disk.
3.1.4.1.4.
All property data for that content must be saved to the table
tbl_content.
3.1.4.1.5.
Once content is created, the user with permission to update
or delete that content must be identifiable within the table
tbl_content.
3.1.4.1.6.
When updates are made to content, the identity of the user
who made the update must be stored in the table tbl_content.
3.1.4.2.
Email Creation
Email content consists of one HTML and one text file.
Additionally, it may contain images that appear within the HTML
content.
3.1.4.3.1.
The application must provide the capability to associate
HTML content with an email.
3.1.4.3.2.
The application must provide the capability to associate
text content with an email.
3.1.4.3.3.
The application must provide the capability to associate
zero or more image contents with an email.
5
3.1.4.3.4.
The application must provide the capability to associate a
subject line with an email.
3.1.4.3.5.
The application must provide the capability to associate a
from name with an email.
3.1.4.3.6.
The application must provide the capability to associate a
from address with an email.
3.1.4.2.1.
The application must provide the capability to view both
the HTML and text files in a browser.
3.1.4.3.
Content Version Control
The system must have a way of ensuring that a user’s updates do
not overwrite another’s in an unpredictable way. For version
control, the following functional requirements must be met:
3.1.4.3.1.
The user who creates content is the only user who can edit
or delete that content provided that content is not associated with
an email.
3.1.4.3.2.
A user who creates an email and associates content to that
email is the only user can edit or delete any associated content
provided that the email is not associated with a campaign and the
content is not associated with any other emails.
3.1.4.3.3.
A user who creates a campaign and associates email to that
campaign is the only user who can edit or delete any associated
emails or content provided that the campaign is not associated
with any other emails, campaigns or workflows.
6
3.1.4.4.2.
A user assigned the current task in the workflow may edit
or delete any emails associated with the campaign provided that
email is not associated with any other campaigns.
3.1.4.4.3.
A user assigned the current task in the workflow may edit
or delete any content associated with any emails in the campaign
provided that content is not associated with any other emails or
campaigns.
3.1.4.4.4.
Any user can view content.
3.1.4.4.5.
Any user can copy, or “clone,” content.
3.1.4.4.6.
Any user can view an email.
3.1.4.4.7.
Any user can copy, or “clone,” an email.
3.1.4.6.
Content Database
The database must store all necessary information (metadata) about
campaign content. The actual files that make up the content must
be stored as files outside of the database. Tables 3-7 to 3-10 depict
the schema for the content tables.
Table Name: tbl_content
Field Name
Data Type
contentID
int, autoincrement, key
contentName
text
contentDescriptio
text
n
contentKeyWord
text
s
contentType
Description
Unique identification for each
content file.
Name for content element.
Description for content element.
int, foreign key to tbl_contentType
7
Keywords associated with content.
Comma separated string.
Distinguishes between different file
types.
createdDate
datetime
updatedDate
datetime
createdBy
int, foreign key to User
updatedBy
int, foreign key to User
fileLocation
text
canEdit
int
cdnID
in
When the content file was saved for
the very first time.
Most recent saved time.
User who saved the content file for
the very first time.
User who saved the content file
most recently.
Local path to the file contents.
User who can make changes to the
content.
ID of the CDN if published.
Table 3-2 Content Table
Table Name: tbl_contentToCampaigns
Field Name
Data Type
contentID
int, foreign key to tbl_content
campaignID
int, foreign key to
tbl_campaigns
Description
Content ID
Campaign ID
Table 3-3 Content to Campaigns Mapping Table
Table Name: tbl_contentTypes
Field Name
Data Type
typeID
int, autoincrement, key
typeName
text
typeFormat
text
Description
Unique identifier for each content
type.
Name of type for each content type
(i.e. “image,” “text”)
The file extension for the image (i.e.
“html,” “gif,” “png”).
Table 3-4 Content Types Mapping Table
Table Name: tbl_emailContent
Field Name
Data Type
emailID
int, autoincrement, key
emailName
emailDescription
emailHTMLID
emailTextID
emailSubject
emailFromName
emailFromAddress
text
text
int
int
text
text
text
Description
Unique identifier for each content
type.
Maps to content table
Maps to content table
8
canEdit
Int
Maps to userID
Table 3-5 Email Content Mapping Table
Table Name: tbl_emailImages
Field Name
Data Type
emailID
int, autoincrement, key
contentID
int
Table 3-6 Email Images Mapping Table
3.2 Performance Requirements
3.3 Assumptions and Constraints
3.4 Non-Functional Requirements
Appendix
9
Description
Unique identifier for each content
type.
Maps to content table
Download