Dear Danny,

Here are some resources to help you get started on the code for managing the AIM workshop surveys.

Our current workshop surveys:
(may need to login as "aim" with password "arcc")

http://aimath.org/sitevisit2011/WorkshopEvaluationForm.pdf

http://aimath.org/sitevisit2011/WorkshopProgressForm.pdf

The current form we use to record and view surveys.
(Do not take this as a model of how we want the new form to work.)

old version

Input to the program

The program you will write accept a parameter (which is a positive integer) that is the "WorkshopCode" of a workshop. In addition to connecting the surve to the workshop, the WorkshopCode is used to look up the title of the workshop in a database. Here is a dump from a mysql database of the table containing information about workshops:

workshoptable.mysql

Probably you only need the WorkshopCode and WorkshopName fields from that table. The WorkshopAbbrev is a short string that encodes the workshop name, which may also be useful for something.

You will use that data to seed a MongoDB database with a collection containing the workshop data. This will ensure that when we change from mysql to Mongo at AIM, your program will continue to work with minimal changes.

The other information your program knows about the workshop is the survey(s) associated to it. A survey has questions, and responses from each person surveyed to those questions. The questions, and the responses to the questions are stored in a MongoDB database that you will set up. Note that there can be multiple surveys for a workshop.

Basic actions

These are the basic functions a user might wish to access. See the basic layout mockup for how these activities are available in the navigation box on the left side of the web page.

View the information that has been entered for a survey.

Once the survey forms for a particular workshop have been described, and the answers on the completed surveys have been uploaded, people will want to browse the responses.

Choose/create a survey to use for a workshop.

A given workshop might use a completely new survey, a modification of a previous survey, or a survey that was used before.

Uploading survey data

Click "new response" under "Add" in the navigation box to upload the data from one survey. This gives a form with the appropriate fields, and a "Save" button at the bottom. (something like this can be seen in the "old version" link above)

Note: before clicking "new response", the user has to first select a survey to use. This is done at the top of the navigation box. After selecting a survey, the title of the survey appears at the bottom of the top banner. That is the "active" survey until another is selected.

To edit information, there should be an "edit" link next to every response when viewing "by person" and next to every text response when viewing "by question". This should bring up an edit-in-place form. The main reason we need to edit old responses is to fix typos in the entered data. Once the new program is working and you load all the old survey data, we will go back and fix a lot of typos.)

Other

There is a "login" link shown on the mockup page. You don't need to implement user logins now. But please set up the code so that in the future is is easy to have (at least) 3 levels of users: privileged users who can upload and edit data, semi-privileged users who can view but not edit, and non-users who are not allowed to view anything until the log in.

I'll let you know as I think of more things.