Hi All,
OK, we’re underway with the next version update for Copper, and we’re working on something that we really want some feedback on, for the first time in about seven years we’re going to overhaul the permissions model. It’s not a huge departure, but we think its really going to simplify things, and allow us to bring you a host of new resource management tools that will blow your socks off.
Why are we doing this?
One thing I’ve learnt over the past decade building this software (yes we’re coming up to 10 years!) is that its much harder to reduce complexity than it sounds. In essence, a good project management software tool should allow you to manage two hemispheres: 1. A bunch of stuff that needs to get done, 2. A bunch of people that can get it done.
One of the consistent pieces of feedback we get is that the permissions model is too confusing, and to be honest, I agree with you all. We want something that doesn’t get in the way and allows you to go about setting up your Clients/Projects/Tasks and attaching your People too them without too much fuss.
We’re going to take the lead from operating system permissions models. The Copper permissions model currently allows you to give read/write/deny access to a module, a client, or a project, and also allows you to allocate users to a task. Deny, as a concept is a redundancy and a complication. Often people get confused as to why they have write access on a whole module but can’t see the things in it.
Another regular redundancy we find is that there are a whole bunch of ‘People’ or ‘Group’ objects in Copper. Check it out: there is a User, a Group, a Client, an Account manager, a Project Owner, a Project participant, a Task Owner, a Task Allocatee, and a Contact. Woah, shouldn’t there just be a bunch of people and groups?
So, how are we doing this?
We’re going to remove the contacts module, remove users/groups from admin, remove Project/Task owners, redesign how permissions work, and create a new module called ‘People’. This new People module will be home to all of your users and contacts (some of whom you can give login access), as well as your groups.
From then on, you’ll simply add people/groups to your projects/tasks/modules. You can give your READ or READ+WRITE access to a module, a client, a project, or a task. This will be hierarchical, so that if I have READ+WRITE access to the Clients module, I can see ALL clients that exists inside Copper (and ergo all projects that relate to that client and all tasks that relate to that project). We will have a separate UI item that will allow you to show/hide modules from users/groups. It’s not a huge departure from what we currently have, but its a simplification.
When you create or edit a Client/Project/Task, you’ll be able to add people to that object there and then, and rather than set an Account owner (for a client), or a Project Owner (for a project) or a Task owner (for a task) we’ll simply allow you to flag one Person as the ‘responsible’ party (previously known as ‘Owner’ but theres simply no need for a separate field called owner, it gets confusing).
So that’s what we have planned, thanks for reading if you’ve got this far down, but in effect we’re looking forward to simplifying an area that has been a support bug-bear for quite some time. Let me know if you have any comments/questions.
Ben.