Marketing Survey Project Outline
Abstract: The objective of this project is to produce an application that serves pre-written survey forms to clients and collect / process the results in a meaningful manner.
For this project we will use an outside application to develop the actual HTML form. We have decided to do this for simplicity and flexibility. There are many applications that generate HTML forms so there is no need to expend extra time producing yet another one. It also allows the look of the form to be customized to suite what ever the clients needs are. To accomplish this however we will have to have a few requirements for the generated forms.
1. The form fields must be within a <FORM> tag with the following attributes
2. This form must contain the following element:
<input type="hidden" name="GUID" value="$GUID" />
3. There must be a submit button with the following attributes:
There are several optional fields that can be included in the HTML form. Anywhere where "$NAME" appears in the form it will be replaced with the clients name. Also anywhere "$PRODUCT" appears it will be replaced with the product name when it is viewed by the client.
for fields to show up in the database, they need to have the name attribute set to something useful. For example if your question is about How could we improve this form?, your input tag should look something like:
<input type="text" name="ImprovementSuggestions" />
Uploading the survey template
Once the survey templates have been created they are uploaded to a directory specified in the web.config file of the project. The program will read the listing of this directory to determine which survey templates are available to be sent or viewed by clients. All of the files for the survey should be stored in a single directory named with an abbreviation of the survey name. This folder must contain a HTML file called "survey.html" which is the main page for the form. Users will be able to add their form to this directory using shares (Drag and Drop)
Sending the forms to clients
Once the template has been added to the directory, the abbreviated name will show up on the web interface. Clicking the send link for this template will bring up a page with the following fields:
- Product Name
- Product ID (Job #)
- From Name and Address
- Email message (same substitutions as HTML form for $NAME and $PRODUCT)
- The text $LINK in the message will be replaced with the actual link text.
- Client list - this will be a field that allows the user to enter an e-mail address and corresponding first and last name
On clicking the send button on this page, an e-mail is sent to each client in the client list with the given email message and CC'd to the sender. The URL sent will be /ATDMarketingSurveyForm/Survey.aspx?GUID. The GUID is used to make sure that only clients can submit results to the server.
Receiving form posts
When the server receives a post from one of the forms it first checks the GUID is valid and then simply reads the data off into tblSurveyPosts. For each key/value pair it adds a record containing the SurveyID, client email, Key, Value, date.
Results are acquired through using specially named stored procedures in the database. Any procedure who's name starts with "RPT_" will be listed in the staff center. Apon clicking the link, the user is prompted for any parameters required by the stored procedure, and then any results that the stored procedure returns are output as an Excel file.