As already discovered in this thread, “share” might not be a fitting name for what actually happens. Simply renaming it is not a proper solution, though. I therefore propose to instead add two functions: copy and move.
Implementation
- copy simply creates a complete duplicate of the selected cipher. This can on one hand make it easier to replicate a template but it can also be used to duplicate an entry that is then moved into an organization.
-
move is basically the current “share”, but generalized. It allows a user to move the selected cipher into any collection - his/her own or an organization. It does not matter, if the cipher is currently in his/her own collection or already an organization.
- it should be possible to move ciphers into and out of organizations
- it should be possible to move between organizations as well
- the rule should simply be: if a user can delete the item, the user should also be allowed to move it (since the endresult is the same - the cipher is no longer part of the organization)
Covered Usecases
- If you delete an organization, you might lose all ciphers. By moving them beforehand, they can be saved without having to be manually re-created (and thereby losing data like password history).
- If you restructure organizations, you might need to move entries around.
- If you want to re-claim a cipher, you no longer need to recreate it and then delete it.
- If you want to share a (trimmed down) cipher, you can create a copy, modify it and move that to the organization (or vice-versa).
- If you have a complex cipher (e.g. server data, license data, whatever) you can copy it to just modify the differing fields.