Attendance2 new CSV import and backup features

This post (repost to fix URL link) discusses new features in version 7.0 of my iOS/iPadOS Attendance2 app released August 18, 2020.

These new features for my iOS/iPadOS Attendance2 app work on iOS 13 and higher. The old import and Dropbox backup features continue to work on earlier iOS versions and the old import/backup options can still be used on iOS 13 and higher. Importing your roster is probably the most difficult thing to do since there are so many different ways a file with the roster might be formatted. I’ve added a new option for importing comma-separated-value (CSV) files (for iOS 13 and higher) that hopefully is easier to use and also less likely to crash on files with bad data. Details on how it works are below. If you want to continue using the old import options, they are still there. I’ve also added the option to automatically backup a course to iCloud Drive instead of Dropbox. I, like some of you I’ve heard from, have become frustrated with some of Dropbox’s changes the last year or two and would prefer to use iCloud Drive instead.

Specifying iCloud Drive folder for photo import and auto-backup

Since this feature is used both for importing CSV files that contain paths to photo files, I’ll cover it first. Use the iOS Files app to make a folder in your iCloud Drive folder; if you want to make a subfolder in it for Photos, do that. Launch Attendance2, scroll down and select Pick iCloud folder for Photos/Backups and select the folder you made in the Files app and choose the Done option. If you want Attendance2 to backup course files you modify, turn tap the option that says iCloud Auto backup is off. Tapping this option toggles between off and on. Next time you open a course and modify the data for that course and close the course file (either by opening a different course, or going all the way back to the main menu with the list of courses), and then go back to the home screen or the display sleeps, Attendance2 will backup the course file to that folder as a file with a .adz file extension. To restore from this .adz file (either on a different device using the same iCloud account or the same device if you’ve deleted the file), use the Files app. In the Files app, tap and hold the .adz file, choose the Share option, and then choose Copy to Attendance2. This will import the course into Attendance2. If the course already exists, the existing course will have a -backup suffix and the data restored from the .adz file will be restored.

New CSV import option

On iOS 13 and higher, after opening a course, there is a New CSV Import/Update option. To use it, select that option. If you have copied the contents of a CSV file, you can press the Paste option, but more likely you will want to use the Select File option. From here you can select a comma-separated-value (CSV) file with either a .csv or .txt extension. If you have an Excel .xls or .xlsx file, use Excel’s option to export it as a CSV file. This file may have a header line (or multiple extra lines before the student data) or the first line may contain student data.

After selecting the file, the interface will show you the data for the first line and the number of lines in the file. You may use the + and - buttons to switch between different lines to see each line of the file. The contents of a line is shown as list. Each row in the list corresponds to a column of the CSV file and which field that column will import into. To change which field that item will import into, select a row and tap the field you want it to import into. If the file contains one mo more header lines, tap the + button in the top section to indicate the number of header lines and these lines will not be imported.

If your first line headers match the names of the fields in Attendance2, you may choose the option to Auto Match Columns By Header or if you’ve previously imported a file with the same columns into this course, you may choose the option to Auto Match Columns By Previous Import.

Once you have the columns matched up, you can press the Import button at the top right to import the data from the file. A dialog will show you how many new names were inserted, how many updated with new data, and how many were ignored. You are given the chose to Save or Cancel (such as if you accidentally imported the header line or realize you made another mistake). If you have a unique identifier value for each student/person, you may re-import the same file or updated file (with updated information such as a phone number or email address you didn’t have initially) and it will use the identifier field to match the data from the file to an existing student/person and update them with the new data from the file rather than inserting a duplicate person. I use this feature as I collect cell phone numbers and some other information such as their major and advisor the first day using a web form that creates a CSV file and update my data with that information.

If you have photo files (.jpg, .tiff, or .png) of the students, you may import them along with the CSV file. Put the photo files in the iCloud Drive directory you chose for Photos/Backup as described in the previous section. One of your CSV columns must contain the name of the photo for that student. If the files are in that folder, just specify the name of the photo file. If you made a Pictures subfolder in that folder, the CSV column for the photo should be Pictures/photo-name.jpg where photo-name.jpg is the photo file for that person. Match that column with the import photo path choice when picking the field for that column. The photos will be imported along with the other data from the CSV file as long as the folder containing the photos is the one you picked for the Photos/Backup option.

I think this version has a nicer interface and is less likely to crash due to missing columns in a file or a bad file format and allows you to put the files in iCloud Drive. But if you prefer the old version to import a CSV file from Dropbox, you may continue to use it.

Updating roster from existing course

I often have the same student for multiple classes over multiple semester. To copy their photo and the other demographic data I collected the first time I had them as a student, I added a new option Import from existing course option. Choose that option, then select a previous course that contained some of the students. Next, select Update Enrolled People and tap the Copy option at the top right. This will find any people in the old course with the same identifier value and copy the data for that person from the old course to new course. It will not add any new names to the course so it doesn’t matter if the old course contained people who are not in this course. You can repeat this process for multiple old courses.


Here’s a video showing how to use the new CSV import option and restore a backed-up course file from iCloud.