cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Warn before overwriting page content

Warn before overwriting page content

0 Kudos
(1)

I am a professor who teaches and researches about software engineering, and I often co-teach courses. This leads to problems because Canvas does not warn if multiple people are editing the same content (e.g., the same page) at the same time and overwrite each other's edits.

For instance, consider the following sequence of events:

  1. At 10:00 am Pacific time, person A starts editing page P.
  2. At 10:10 am Pacific time, person B starts editing the same page. P.
  3. At 10:20 am Pacific time, person A saves their changes to P.
  4. At 10:30 am Pacific time, person B saves their changes to P. 

The result is that B's changes will overwrite A's changes without any warning. I cannot speak to how irritated I and my colleagues been when that has happened. It causes confusion, leads to inconsistencies, and loses potentially valuable content. And I have no idea how often this might have happened!

Here's what I'd like to see, informed by the Pages API https://canvas.instructure.com/doc/api/pages.html:

  1. Assume that the Page object for page P has version_id == 7.
  2. At 10:00 am Pacific time, person A starts editing page P with version_id == 7.
  3. At 10:10 am Pacific time, person B starts editing the same page. P with version_id == 7.
  4. At 10:20 am Pacific time, person A tries to save their changes to P. This causes their Canvas session to first check the current version_id of page P in the cloud. It is still 7, so the changes get saved. The version_id of page P in the cloud is now 8.
  5. At 10:30 am Pacific time, person B tries to save their changes to P. This causes their Canvas session to check the current version_id of page P in the cloud. It is now 8, which is different from what it was when B started their editing session. Canvas warns B that person A (available in Page P's object's last_edited_by person value) saved changes at 10:20 am Pacific time (available in Page P's object's updated_at value) that will be overwritten if B saves their changes. Person B may choose to cancel their edits (I'd first copy the changes to file on my computer so I could compare them with the new version), or overwrite A's edits. 

This change would dramatically reduce the likelihood of changes silently being lost.

Based upon my 20+ years in software development, it seems like a fairly low-cost and low-risk change to make.

1 Comment
Stefanie
Community Team
Community Team
Status changed to: Open for Conversation
 
About Idea Conversations
In the Instructure Community Ideas space, you can share, converse, and rate idea conversations related to software improvements to Instructure products.