Submission Description

In this submission you will continue your website enhancement by making the following additions/changes:

A Note About the Feedback Form
You will note that if you submit the form and then go back to the form (to make another submission, perhaps) or if there is a problem of some kind with the submission and you want to go back to the form and start over, you may have to "really" start over, in the sense that the values you previously entered into the form may no longer be there. If this happens, it can obviously be bit of a pain for the user. Browsers seem to be getting better at "remembering" recent form data, so it may or may not be a problem. In any case, as a web developer you can arrange that the form data is retained after an attempted submission that may or may not have succeeded, and we will see more about this later.

Required File(s)

In addition to all of the directories and files from version 2 of your website, this third version must also have the following additions/changes:

  1. A new PHP script file in your scripts subdirectory to get the random daily quotation from the MongoDB database. This script replaces the one that got the random daily quotation from the JSON file in the previous version of your website.
  2. A new file in your pages subdirectory containing your feedback form, and a new PHP script file in your scripts subdirectory to process the data from this form when it is submitted.
  3. A new file in your resources subdirectory called quotes_mongo.json containing your quotes in the JSON format that you used to load them into your MongoDB database. [Of course, once the quotes have been so loaded, the file containing them is no longer necessary, but since it is an "original" resource for your site, it should be retained, and the resources subdirectory would thus seem to be the logical place to keep it.]
  4. A new subdirectory called data containing a new file called feedback.txt. This is the file that contains the stored-on-disk information, in chronological order, of the feedback information from every site visitor who filled out and submitted your feedback form.
  5. A new readme.txt file, in the usual place, with the usual contents.

File Placement for Submission

Submit the required directories and files by copying them into the submission03 subdirectory of the submissions subdirectory in the public_html directory of your personal Linux account u##, where the ## are the last two digits in your Linux account username for this course.

Be sure to develop outside the submission03 directory and copy your directories and files to the submission03 directory when you are ready to submit, so that there is nothing in the submission03 directory but the directories and files required for the submission. And be sure to test again after the copy to make sure everything still works.

Additional Notes, Requirements, Specifications and/or Hints (if any)

Best Practice

Develop your files and directories in the directory submissions/03, and when you're finished, copy the contents of this directory to submissions/submission03 and test/revise to make sure everything is still working in the new location.

Submission 03 Checklist

Files and directories

  1. Is there a new readme.txt file in the home directory?
  2. Is there a quotes_mongo.json file in the resources subdirectory containing quotes in an appropriate JSON format?
  3. Is there a form feedback page in the pages subdirectory?
  4. Is there a PHP script to process the feedback form in the scripts subdirectory?
  5. Is there a data subdirectory containing a feedback.txt file?

Home page appearance

  1. There are no new home page display requirements, but you may wish to revise some aspects of your home page based on feedback.

Home page functionality: Feedback Form link now active

  1. Does the Feedback Form link under About Us go to a feedback form analogous to the AS3 feedback form?

Other pages: Feedback Form page now functional

  1. If the user clicks on the Send Feedback button without entering any information, do all of the form controls highlight in red (except for the telephone number box), indicating that all information except possibly the telephone number must be supplied?
  2. Do all the fields requiring text entry have the required popups indicating how to fill them in, or simply that they must be filled in?
  3. When the form is completed with valid input and then submitted by clicking on the Submit Feedback button, does an HTML confirmation page appear?
  4. When the form is completed with valid input and then submitted by clicking on the Submit Feedback button, does the user receive an email confirmation of the feedback submission?
  5. When the form is completed with valid input and then submitted by clicking on the Submit Feedback button, does the "business" (as represented by your uxx account, and eventually by the u50 account in the case of the marker) receive an e-mail confirmation of the feedback submission?
  6. When the form is completed with valid input and then submitted by clicking on the Submit Feedback button, is the data/feedback.txt file updated with this latest feedback information? [Note that although the "business e-mail" will be to the u50 account for testing purposes, the feedback.txt file will be the one in the account where the website is located.]

Behind the scenes

  1. Is the website now accessing its daily random quote from a collection of quotations of appropriate size in the MongoDB database associated with the student account?
  2. Do the First Name, Last Name, E-mail Address, and Phone Number entry boxes on the Feedback Form validate their entries as required by using the pattern attribute and an appropriate regular expression in each case?
  3. Are all files well formatted?

Final questions

  1. Are "look and feel", responsiveness, and validation maintained across the website?
  2. In addition to the above new features, are there any clearly outstanding issues from the previous version of the website that have not yet been resolved?
  3. Did the readme.txt file adequately describe the state of the website?