Why do my changes sometimes fail to save in discussions?

The Canvas discussion redesign saves content differently than other content types, but Cidi Labs is working on a solution.

Cidi Labs recently discovered that when you click Save on a new Canvas discussion redesign, it saves the content from the last entry in the editor's undoManager data and NOT the content that is actually in the HTML of the editor. 

What does this mean?

When you make changes to the HTML or text content in the editor, it creates undo points so that if you need to revert changes then it has stored previous versions of the page you're editing.  However, certain DesignPLUS functions, such as changing certain styles that only manipulate the HTML class or style attributes, do not generate an undo point.  Therefore, if the last actions you did before saving the page were changes from the sidebar that did not register an undo point event in the undoManager, then none of those changes will be saved. 

What is Cidi Labs doing about it?

Cidi Labs is working on a resolution to this issue in two ways:

  1. We are going to work through our code base to make sure that all actions in which the sidebar makes any level of change to the editor content will clock an undo point in the undoManager.  This will take some time but is a worthwhile endeavor to make sure a.) discussions save properly and b.) any action performed by the sidebar can be undone easily.
  2. We are reaching out to Canvas to see if there's anything they can do with the discussion redesign so that it behaves like other content types and saves the current HTML content (not the last undo point).

What can you do in the meantime?

If you find your DesignPLUS changes being lost in discussions, try this suggested troubleshooting method:

  1. After losing the DesignPLUS changes upon saving, edit the discussion again.
  2. Repeat the changes you lost.
  3. Click inside the rich content editor and that should register a new undo point in the undoManager that will include the DesignPLUS changes you made.
  4. Now save the page and your DesignPLUS changes should be saved.

If that doesn't work, you can try this:

  1. After losing the DesignPLUS changes upon saving, edit the discussion again.
  2. Repeat the changes you lost.
  3. Now, in the rich content editor, place your cursor somewhere in the text and add a space or other character.  Perhaps at the end of a paragraph, but it can be anywhere in the editor.
  4. You should see the undo count in the top right of the sidebar increment by 1.  This indicates that the character you just added has registered a new undo point in the undoManager that will include the DesignPLUS changes you made.
  5. You can remove the character you added if you want.
  6. Now save the page and your DesignPLUS changes should be saved.