Copy Annotations to a New Course

This article is intended primarily for instructors who have created a scaffold of initial annotations over multiple Hypothesis assignments in one course, and wish to reuse this scaffolding across other courses and academic terms.

The ability to copy annotations from one course into another is not yet a feature in our LMS app, though we are working to include this in a future version. You can accomplish this same task, however, using a prototype utility developed by our Director of Integrations, Jon Udell.

Note: These instructions involve using the advanced browser developer tools, and require a high level of comfort navigating and copy-pasting between multiple browser panes. We highly recommend scheduling a meeting with a member of our Support team before attempting this for this first time.

Locate your LMS username and API key

1. Log on to your LMS, navigate to the new course into which you want to copy previous annotations, and launch any existing Hypothesis assignment

2. In the Hypothesis sidebar, click the question mark icon in the upper right, then click “About this version

Hypothesis sidebar with question mark icon and About this version link shown

3. Locate and copy your LMS user ID

Find the information shown next to the Account section. You will see listed your full name, followed by an ID that looks like a long email address. Copy the string of characters between acct: and @lms.hypothes.is. You will need to refer to this ID later.

For instance, if the user ID as shown is:

  • acct:abcdefgh12345678@lms.hypothes.is

you should only copy abcdefgh12345678 from the full address.

Hypothesis client system info with the user ID highlighted

4. Open the Developer Tools utility for your browser:

  • Chrome: From the View menu, select Developer > Developer Tools
  • Firefox: From the Tools menu, select Browser Tools > Web Developer Tools
  • Safari:
    1. Open Safari preferences and select the Advanced tab
    2. Check the box to Show Develop menu in menu bar
    3. Close the preferences window, and from the now-visible Develop menu select Show Web Inspector

5. With the Developer Tools now enabled, reload the tab containing Hypothesis assignment

6. In the Developer Tools window, select the Network tab

(Note that screenshots are from the Chrome browser, but other browsers look similar.)

Chrome developer tools panel with Network tab shown

7. Locate the Filter field, and paste in the following text (syntax varies somewhat from browser to browser)

  • Chrome: //token/
  • Firefox: regexp:/token
  • Safari:
    1. Select the gear icon in the upper right corner of the Developer Tools to open the settings
    2. Select the General tab, and scroll down to check the box next to Regular Expression
    3. Click the Network tab, and in the Filter Full URL field paste: /token

There should now be only one row showing in the Developer Tools Network tab: token

Chrome developer tools panel with the filter field shown filled in

8. Click on the token row and select the Response tab

Locate the long string of characters after “access_token”: and copy everything between the quotation marks. This is your API key, which you will need later.

For instance, if the full response text you see listed is:

  • {“access_token”: “abcdefghijklmnopqrstuvwxyz_0123456789”, “expires_in”: 3600.0, “token_type”: “Bearer”, “refresh_token”: “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”}

you should only copy abcdefghijklmnopqrstuvwxyz_0123456789 from the full text.

Chrome developer tools panel with the Hypothesis access token shown

Use the Copy Annotations tool to copy between courses

1. Open the Copy Annotation tool at https://jonudell.info/h/CopyAnnotations/ and enter the following:

  • user
    • Paste your LMS user ID (copied from step 3 above) into this field
  • lmsMode
    • Check this box
  • Hypothesis API token
    • Paste the API key (copied from step 8 above) into this field

If you do not see a field for Hypothesis API token, click the link at the bottom of the page to reset API token. Note: your LMS API token is reset every hour to a new value. If too much time has elapsed since you copied it last you will need to go back and follow the instructions above to get the new token.

Copy Annotations tool with user and API key filled in

2. After pasting the API key, hit the return key and wait a few seconds for the group drop-down fields to populate

Enter the following:

  • sourceGroup
    • Select the course that you wish to copy the annotations from
  • destinationGroup
    • Select the course that you wish to copy the annotation to
  • maxAnnotations
    • Make sure to enter a number large enough to include all the annotations in the course

Copy Annotations tool with source group, destination group, and max annotations shown

Copy Annotations tool with check settings button and review selected annotations link shown

4. A new tab will load a page listing all the annotations that will be copied to the new course

Double check that this list is correct.

5. Return to the prior tab and click the copy notes button

Wait for the annotations to finish copying.

6. Return to your LMS and open the destination course that you copied the annotations into

Confirm that all annotations have copied successfully.

Was this article helpful?

Related Articles