Skip to content

Instantly share code, notes, and snippets.

@reedstrm
Last active August 29, 2015 13:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save reedstrm/9395601 to your computer and use it in GitHub Desktop.
Save reedstrm/9395601 to your computer and use it in GitHub Desktop.
The new workspace: what the heck is it?

#Possible models of the new workspace

  • Everything I could possibly edit (everything I have rights to edit - problematic for prolific authors, org accounts, and managers)
  • Everything I could possibly edit that currently has a draft in flight
  • Everything I have expressed an interest in editing (permissions + another bit)

Does new content have a diff. set of conditions?

  • I don't thing so: adding an new editor (acl change) is the same for either, and is not a role request
  • N.B. We do not display to the public in any place who is allowed to edit a given piece of content.

The model of 'leaving' a workgroup would map to revoking your own ACL from that draft, but not from the published work per se. How to get back onto a draft? If it's unpublished content, you'll need to ask someone to add you back (share ...) If it's a draft of published, you just go to the published version, and hit 'edit'

So there are 3 kinds of content that I can edit:

  • drafts I'm currently editing
  • drafts I could be editing but am not now (I have the right (acl) to edit the published version, but am not on the current draft)
  • published content that does not have a draft (either I can edit directly (create a a draft) or I can fork (create new content draft)

I'd propose Workspace shows the first of these. Search returns all three, w/ some indication of the draft status od a particular entry. No need to return/show both the draft and the published, I think. (or is there? Do we need to be able to create a colletcion w/ the current version of a module that you hae edit right on, while there is a draft in flight?)

BTW, this solves an existing problem w/ copies of popular content: hard to find the master copy that I can edit - if we favor 'stuff I have acl rights on' then the OpenStax editor sees the OpenStax Physics book, and Bob sees Bob's Own Copy of OpenStax Physics

At publish time, we send the ACL list for 'can edit this in the future' as well, probablty default to the 'can edit the draft' as the set.

#DELETE in this context

  1. DELETE /content/[UUID}@draft/users/me -> 200 success # Not last
  2. DELETE /content/[UUID}@draft/users/me`` -> 303 Location /content/{UUID}@draft # would be last
  3. DELETE /content/{UUID}@draft (after "this will discard work! warning) # This one would error if other users on content

Perhaps a DELETE /content/{UUID}@draft?force=true, as an admin interface, allowing deletion even if other users on board.

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