New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement uploaded image versioning & deletion #770

ssddanbrown opened this Issue Mar 27, 2018 · 3 comments


2 participants

ssddanbrown commented Mar 27, 2018

Just want to finish off the base drawing system implementation.

Currently two flaws in the drawing system to address:

  • Updating drawings will overwrite the old file, Even if the page is not saved.
  • No current way to delete drawings

Implementation details

  • Versions must be saved as separate versions on the file-system.
  • Upon delete all versions should be deleted.
  • Maybe abstract versioning to all images? Yep


  • New Model/Table - Image Revision
    • Has fields: id, image_id, path, url, revision#, uploaded_by, timestamps
  • On migration, migrate old paths & urls to new table before removal from images table.
  • Build in updating/revisioning into image manager.
  • Build drawings view into image manager.

@ssddanbrown ssddanbrown added this to the BookStack Beta v0.21.0 milestone Mar 27, 2018

@ssddanbrown ssddanbrown self-assigned this Mar 27, 2018

@ssddanbrown ssddanbrown changed the title from Implement proper drawing versioning & deletion to Implement uploaded image versioning & deletion Mar 30, 2018


This comment has been minimized.


ssddanbrown commented Mar 30, 2018

Updated title to reflect increase scope of this feature.


This comment has been minimized.


Abijeet commented May 12, 2018

For those slightly limited on resource, I would also like an option that states how many # of versions should be maintained by the system.


This comment has been minimized.


ssddanbrown commented May 27, 2018

This is now implemented in an alternative, simpler way to what's described in the above. See #837 for details.

The image manager can be used for drawings via a dropdown on the WYSIWYG drawing button or by Ctrl+Click'ing the 'Insert Drawing' option in the Markdown editor.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment