Skip to content

UAL-RE/data-viz-evaluations

Repository files navigation

Data Visualization Challenge evaluations

Code for processing data visualization submissions

Steps for use

  1. Create folder for the year in the data folder (e.g. "data/2023")
  2. Create an images folder inside that year folder ("data/2023/images")
  3. Download information from the Google Sheet and save it as "responses.csv" in the data/YYYY folder. The file should have the following columns (these should all be included in a CSV export of the Google Form Responses sheet):
  • Timestamp
  • First Name
  • Last Name
  • Email Address
  • UA NetID
  • College
  • Department/Unit
  • Student Level
  • Title
  • Abstract
  • Attach static file
  • Link to additional information
  • Agree to license terms
  • Publication in UA Research Data Repository
  • Certification of Submission
  • How did you hear about the Data Visualization Challenge?
  1. On Google Drive, make a folder in this year's challenge called "Evaluations" and create a folder inside Evaluations called "images". Copy the following documents from the prior year's folder (and remove the "Copy of" prefix):
  • Results
  • Image links IGNORE
  • Evaluations
  1. Make a copy of each image file and rename using the first two letters of the first name and first two letters of the last name (Bob Sanchez = BoSa.png). Put these images in the Evaluations/images folder on Google Drive. 4.1. If there are collisions, consider adjusting approach to either enumerate the duplicate names (e.g. BoSa1, BoSa2) or add a third letter to last name abbreviation (e.g. BoSan, BoSal)
  2. In the Image links IGNORE file, open the script editor (Extensions > Apps Script). There should be one script (Data Viz Evals); update the folder ID in the call to DriveApp.getFolderById() to the folder ID for the Evaluations/images folder on Google Drive. Note this ID will be the URL ID for the images folder, not the share link ID. Save the script (Save Project) and run (may be prompted for authorization, which is OK). Instructions for this approach are at https://webapps.stackexchange.com/questions/88769/get-share-link-of-multiple-files-in-google-drive-to-put-in-spreadsheet
  3. In a spreadsheets editor, open the data/YYYY/responses.csv. Paste the links to image files from (5) into the "Attach static file" column. Double-check to make sure the right images line up with the right person. It helps to sort by first, then last name and (temporarily) paste the abbreviated file name into the file. This replaces the link to the original file. 6.1 In some cases, the file on Google Drive is not an image that can be displayed by Google Drive. This can happen with interactive apps (generally HTML files) or images hosted on specific platforms (I'm looking at you, Adobe). In these cases, replace the value (which may be a Google Drive link) in the responses.csv "Attach static file" column with a link directly to the interactive app or url.
  4. Download the renamed image files into the local data/YYYY/images folder. Only include those image files that can be represented in the resulting PDF (e.g. png, pdf, jpg files). For entries that rely on an interactive or animated entry, do not include those files in the data/YYYY/images folder. This way, evaluators will be directed to those non-static versions for evaluation.
  5. Update the value for eval_year in prepare-evaluations.R and run the prepare-evaluation.R script. See
  6. Upload the resulting pdf (output/YYYY/Entries.pdf) to the Evaluations folder on Google Drive.
  7. Use output/YYYY/evaluations.csv to update the Evaluations Google Sheet with this year's participants' abbreviated names.

Many entries

If there are so many entries that it would be too much to ask each judge to evaluate each entry (we want to keep it to 12-16 entries for each judge to have to evaluate), there is a separate script to run, prepare-evaluation-mult.R. The one additional step this script requires is

  1. Create a csv file with a column called 'name' at data/YYYY/judges.csv. There can be additional columns, but the 'name' column is required.

This script will:

  • Determine how many entries each judge will have to evaluate based on the number of entries and the minimum number of evaluations required for each entry (see min_evals in the script);
  • Randomly assign that many entries for each judge to assign;
  • Create the same evaluations.csv sheet as in step 10 above;
  • Create a assignments csv (output/YYYY/assignments.csv) with the FiLa that each judge is to evaluate for pasting into individual score sheets on Google Drive; and
  • Create one evaluation pdf for each judge to use; each pdf will likely (ideally) have a unique set of entries (the sets will be unique, not the entries).

About

Code for processing data visualization submissions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages