There is some confusion as to whether 'Archive' means 'Delete'. Case in point: Archiving a group means it is removed from the Explore results, but is still accessible to a user.
Should the group:
be deleted completely (i.e. not even visible to admin)?
be accessible only to admin?
be accessible to a user?
To be consistent with how project and version behave, we should just do complete delete. Unlike project and version, group is just a database entry with collection of versions mainly for statistics.
Complete soft delete, right? As in, we don't really delete it, but we mark it, and filter it out, just like projects and versions.
Actually I was thinking really deleting it. I don't see there is any need to keep the group's record (just a group of maintainers, its slug, and the collection of project versions). All the attached information are still in Zanata and we can recreate the group again. Unlike project version where we still need the translations for TM and user statistics.
Well, from a performance perspective, at least we won't have to go through and delete huge amounts of data, because it's just a collection of links to project versions.
But curating that collection (and its maintainer list) can still represent a fair amount of work. Given that we don't have an export feature, hard-deleting seems a bit extreme, given that Zanata doesn't normally hard-delete anything large.
We really need to work out what we want our deletion story to be, and decide on a consistent approach that works throughout. It might save a lot of time too, since we would be following a principle instead of deciding from scratch each time.
Delete = hard delete (applies for user, project, version, group delete)
archive = soft delete
Like project/version delete, we should change the "archive" in version-group to delete. When performing delete, we need to have the same confirmation dialog as project delete.