AMY: the Carpentries’ internal database¶
All the menus and a search bar are displayed across the top. The main page has three column view showing published workshops, uninvoiced workshops, and unpublished workshops.
This view can be filtered to show workshops assigned to the logged in administrator, unassigned workshops, or all workshops.
- Published workshops have a complete start and end date, a valid url, and a complete location.
- Uninvoiced workshops are those the invoice status is marked “Invoice not requested”.
- Unpublished workshops are all workshops that do not meet the criteria to be published.
Published workshops will show up on the Software Carpentry or Data Carpentry website, depending on how they are tagged.
From here you can also add new persons, events, organizations, or airports to the database.
Adding a new organization¶
If the site name is not already in AMY, add a new one by selecting “New Organization.” Do not enter
http:// or any slashes in the domain name.
Adding a new person¶
If a person’s record does not exist in the database, it can be added individually or as part of a bulk upload.
Adding an individual record¶
Select “New person” and enter in as much information as possible. At minimum a personal name is required. If the airport is not listed, it will need to be added in.
Adding bulk records¶
Person records can also be added in bulk from a
.csv file using the
Bulk add persons menu option in the regular
+ menu or the
More menu. Note: To bulk add records, the persons must have a role specified (instructor,helper,learner,host) associated with a specific event.
Use the blank template to generate a well formed csv noting each person’s personal name, family name, email address, role, and associated event.
The role must exactly match the instructions. The event slug must exactly match the slug for the event recorded in AMY.
This will take you to a screen where you can verify each record, correct any errors, and submit them for bulk upload.
Adding a new airport¶
Airports are used as approximate geographic identifiers for our instructors. Each airport is identified by its three digit IATA code which can be looked up using the link in AMY.
Enter in the airport’s IATA code, full name, country, and latitude and longitude.
Adding a new event¶
New events can be created one of several ways:
- By manually entering all information on the new event page
- By importing from URL on the new event page
- By accepting a workshop request
Creating a new event manually¶
- Create the workshop slug. This must be in the form
2018-01-01-hawkins. The same slug should be used for the workshop’s GitHub page and any other place the workshop is identified. If the exact date is not known,
XXcan replace the month and/or day (for example,
- If known, enter in the workshop dates.
- Select the host site name from the drop down menu. If the host site does not appear on the list, create a new organization.
- Select the administrator from the drop down menu. This will almost always be
Data Carpentry, or
- Select the name of the Carpentries administrator responsible for managing this workshop.
- Assign all appropriate tags to the event.
- Enter in the workshop’s url (to the GitHub page, not the repo). This is generally in the format
- Enter in the human language the workshop is taught in. This is especially important for the Carpentries to track workshops in languages other than English.
- If the workshop is using Carpentries Eventbrite for registration, enter the Eventbrite key. This is not needed if the host site is using their own Eventbrite account or any other internal system.
- If the event has a fee due to the Carpentries, enter it in and note when the invoice has been requested to be sent to the host site. If there is no fee due, note the reason why.
- After the event is over, record the total number of learners who attended the workshop.
- Enter only the email address for the main contact person for this event.
- Add in any other notes that may not be covered in any fields above.
- Add in the location including the country, venue name, address, and latitude/longitude coordinates.
Creating a new event from URL¶
If you already have the event’s URL with properly formatted metadata, the following information can automatically be imported:
- Slug (created from GitHub repo name)
- Start and end dates
- Location details
Instructor and helper names will be in the notes field but not assigned in the database. All people will need to be assigned to the event.
All other information will need to be entered in as above.
Creating a new event from a workshop request¶
A workshop can be requested from a host site, and this information can be used to create an event in AMY. Select “Workshop requests” from the “Requests” menu.
This page will show a list of all open workshop requests, with the name/email of the requestor, their affiliation, their preferred dates, the Carpentry type, and any other comments. Click on the “i” icon at the end of the line to view more details.
This will give the user the option to accept or discard the request. All requests should be accepted (unless spam or otherwise inappropriate) so the Carpentries can maintain a history of workshop requests. Events can later be marked as stalled or cancelled.
This will open a page with a side by side view of the request details and view to create a new event. The new event can be created manually or if available, from the URL, as described above.
Assigning people to events¶
Regardless of how events are created, adding the people associated with each event can not easily be automated. Name matching is hard.
People can be associated with events one by one or as a bulk upload.
Assigning people to events one by one¶
Go to the event page and click the “Edit” button at the top of the page. Select the “Tasks” tab. (Note the sponsor tab is not currently being used.)
To add a new person to the event, start typing the person’s name in the “Person” field. Auto-completed suggested names will appear.
Add the person’s role in the event (Helper, Instructor, Workshop Host, Learner, Workshop Organizer). “Contributed to Lesson Materials” is not used in this context. “Title” and “URL” are also not used in this context.
If a person’s name does not appear in the dropdown, they may need to be added to the database.
Below this form, a list of all people assigned to this event is displayed. A person’s role can not be directly changed. Instead, delete the item and enter a new one.
When done, go back to the “Event” tab at the top of the page, and click “Submit” at the bottom of the event page to save changes. All people should now appear at the bottom of the event page.
Accepting Trainee Applications¶
In addition to tracking workshops, AMY also allows us to track applications to instructor training events. The public facing application is here. Applicants are given a group name if participating in a member training event. Open applicants will likely not have a group name.
Once an individual submits the form, the record can be viewed by going to Requests –> Training Requests.
Applications can then be searched by individual name, email address, group name, status (pending, accepted, or discarded), affliliation, or location.
Some trainees will already be in AMY because they were formerly learners or helpers at Carpentries events. If there is a record with a matching name and email address, they will show up with a “matched trainee” when you search for them. If “matched trainee” is blank, you will need to create a trainee record for them.
To create a trainee record, click on the “i” icon at the far right of the individual’s line. If you know this person is in AMY under a different name or email address, look this person up here and click “Match to selected trainee account.” If this is a new person, click “Create new trainee account.”
This will return you to the search screen, and this person’s record will be updated with the new trainee account.
Continue doing this until all relevant applications have a new trainee account. This must be done individually; it can not be done in bulk.
Once all trainees for a given event have trainee accounts, we can assign them to a specific training event. This part can be done in bulk. The event must have already been created in AMY.
Check all the names to be assigned to the training event, and then select the training event from the drop down menu. Click “Match selected trainees to chosen training.” The search screen will then update to show that the trainees have been matched to this event. The event page will also update to list these trainees as learners at that event.
Tracking checkout progress¶
The above steps note that a trainee was accepted in to a training event. Completion of the training event and three steps towards trainee checkout can be tracked in AMY. Each person’s record will have a line for Instructor Training Progress.
Click on the plus sign in the Training Progress line. This will go to a screen where you can track the all steps towards certification.
Recording completion of training event¶
On the screen above, select ‘Training’ and note whether they passed or failed.
Recording completion of discussion session¶
On the screen above, select ‘Discussion’ and note whether they passed or failed.
Recording completion of teaching demo¶
On the screen above, select ‘DC Demo’ or ‘SWC Demo’ depending on which lesson they used for their demo, and note whether they passed or failed.
Recording completion of lesson contribution¶
On the screen above, select ‘DC Homework’ or ‘SWC Homework’ depending on which lesson they used for their contribution, and note whether they passed or failed. In the notes section, link to their lesson contribution.
AMY comes with several built in reporting features that can be accessed by clicking
Reports in the top menu. Most reports include an api link for further analysis.
- List of instructors by time period will generate a list of all instructors who have taught or will teach a workshop in a given time period and can be downloaded as a csv file. This is especially useful when inviting instructors to discussion sessions.
- Workshops over time, Learners over time, Instructors over time show cumulative numbers of workshops, learners, and instructors from the start of the Carpentries to present day.
- How often instructors have taught returns a list of all instructors who have taught at least once with the number of workshops they have taught.
- All activity over time returns data on the number of workshops, number of instructors, number of learners, and identifies gaps in data.
- Workshop issues and Instructor issues identify specific workshops and instructors with gaps in data.
- Find duplicates identifies persons that may be listed as duplicates due to having the same name or email address, and allows the user to merge them.
Roles in AMY¶
What you are able to edit or view depends on your assigned role in AMY.
Instructors can log in to AMY to view and update their own information. To do so, they must have a valid GitHub username in their profile. Instructors should visit the AMY login page and click on
Log in with your GitHub account.
If an instructor is having trouble logging in, an administrator can verify the following information.
- Be sure the GitHub user name is accurate.
- Click on
Change permissionsand be sure
Is activeis checked. No other permissions should be checked unless the instructor is also an otherwise authorized user.
Logging in allowedshould show next to the GitHub name in the profile. If it says
Allow logging in with GitHub, click this to allow logging in. This must be done after setting permissions to active above.
Merging duplicate persons or events¶
If duplicate persons or event records exists, they can be merged. Select “Merge persons” or “Merge events” from the “More” menu.
Choose the two Persons or Events to be merged, and click “Submit” to see merge options. Here you can choose to keep the value from Person/Event A, from Person/Event B, or to combine the values.
The quickiest and easiest way to search is using the search box in the top menu bar. This will perform a case insensitive search of any field in AMY, including searching for partial matches. For example:
12-12-will match any workshop slug containing that string (essentially any workshop on December 12 of any year.)
ola teswill match
stanfordwill match any one with a
stanfordemail address, with
stanfordin their name, any workshops with
stanfordin the slug, the site
Stanford Universityand any records with
stanfordin the notes.