punchcard icon indicating copy to clipboard operation
punchcard copied to clipboard

Content Creator: Allow content to be `archived`

Open ineedsubstance opened this issue 9 years ago • 5 comments
trafficstars

As a Content Creator, I want to be able to archive a piece of content so that duplicate or irrelevant content can be removed from the CMS display.

Feature: Archive content
  As a Content Creator,
  I want to be able to `archive` a piece of content
  So that duplicate or irrelevant content can be removed from the CMS display.

  Scenario: Allow for content to be archived
    Given that, I will be creating and editing content
      And that duplicate or relevant content exists
     When I view a list of content
     Then I will see the ability to archive that content
      And that will remove the content from display in the CMS
      And that the `archived` content will remain in the database

  Scenario: Allow archived content to be deleted
    Given that, content will be archived
      And that archived content will need to be permanently removed from the system
     When I view a list of archived content
     Then I will see the ability to delete that content
      And that will permanently remove the content from the display in the CMS
      And that will permanently remove the content from the database

  Scenario: Tie archiving content to a user role
    Given that, content can be archived
      And that only certain user roles should have this ability
     When I go to archive a piece of content
     Then I will not be able to archive content if my user role does not match
      And that I will be able to archive content if my user role matches

  Scenario: Tie deleting content to a user role
    Given that, content that is archived can be deleted
      And that only certain user roles should have this ability
     When I go to archive a piece of content
     Then I will not be able to delete content if my user role does not match
      And that I will be able to delete content if my user role matches

Archive content:

  • [ ] Allow for content to be archived
  • [ ] Allow archived content to be deleted
  • [ ] Tie archiving content to a user role
  • [ ] Tie deleting content to a user role

ineedsubstance avatar Aug 16 '16 17:08 ineedsubstance

Although I like the word remove here, I think archive is more transparent, since we aren't actually removing the content, just moving the content so it doesn't display in the list. I'm open to testing this, though.

joshkimmell avatar Aug 16 '16 18:08 joshkimmell

Archive makes it seem like the user can get it back or find it somehow. Is that what we want?

ineedsubstance avatar Aug 16 '16 18:08 ineedsubstance

This story in general needs to be made more clear:

  • If content is sunset, it's not available to the user interface. That "removes" it
  • These scenarios need to be much more fleshed out (what a user is doing, what actions they taking, what their expectations are, etc…)
  • I'd recommend that if we are going to allow deletion from the database, it should follow the Slack model for deleting channels, where content is archived first, then from the archive it can be deleted. Moreover, I don't think we should allow for outright removal from the DB, instead it should be removed from display, in order to provide for a real audit trail

Snugug avatar Aug 16 '16 19:08 Snugug

OK. Here are my notes, and to make sure we are all on the same page. Also, a few questions.

  • We what Content Creators to have the ability to archive content
  • Once content is archived, it removes it from the CMS interface but not from the DB
  • Once content is archived, it can be deleted from the DB from the archive. Do we want to only allow a certain user type to be able to do this, like admins only?
  • Should published content be allowed to be archived? If so, does it remove it from the UI?

ineedsubstance avatar Aug 16 '16 19:08 ineedsubstance

@Snugug @joshkimmell - I took another stab at this. Can you guys please provide feedback?

ineedsubstance avatar Aug 18 '16 19:08 ineedsubstance