Per-project role-based access control system

Hey, beautiful people.

I've been working on a per-project role-based access control system, and it's finally in place now. You may have guessed yesterday when the site was having some downtime that something was happening, and we were working out the final kinks of the system then.

Side note: Technically, this is per-repository and not per-project, but the mainline repository defines users' permissions in a project.

What this means:

Instead of just Project leader and authors, we can have multiple roles, e.g. Translators, QA, Documenters, Authors, Managers, and really anything that we can think of.

The way the system works:

There is a set of roles that we administrators define. Each role has a set of permissions attached to it.

Each repository has a set of role assignments which grant a user to one or more roles (Yes, you could be both QA and a Translator at the same time).

Each user would then have a set of permissions on a repository defined by the set of permissions of all their roles on that repository.

Here's the set of permissions:

  • Abandon project
  • Clone closed repository
  • Commit to code repository
  • Delete repository
  • Manage english project translations
  • Manage files
  • Manage project components
  • Manage project pages
  • Manage project reward splits
  • Manage project milestones
  • Manage project images
  • Manage project tickets
  • Manage project ticket templates
  • Manage relationships
  • Manage remote sync
  • Manage roles
  • Merge project
  • Resubmit project for approval
  • View code repository
  • Manage repository
  • Manage project

As it stands, we only have Manager (which has all permissions) and Author (which doesn't have as many permissions).

We do want to work on adding more roles, but we need good ideas on what is wanted as far as that is concerned. So if you have some good ideas, feel free to contact us or just leave a comment here.

Currently, all managers are also authors, and any new projects will have the owner be both a manager and an author. Note that the manager can unassign himself as an author.

You must login to post a comment. Don't have an account? Register to get one!

  • 5 comments
  • Avatar of StormFX StormFX Sat, 27 Dec 2008 04:08:44

    Sounds great, CK. I can't wait to be able to assign translators instead of having to stick their names everywhere to credit them. It'll also let them be more a part of the project, in a sense. :)

  • Avatar of ckknight ckknight Mon, 08 Dec 2008 17:14:04

    Loki, there's actually a localization app that we're working on (not completed yet). It's web-based, will allow anyone with the "Manage english project translations" to specify translations, but allow normal translators to fill in their localized equivalents. It's not dealing with the repos themselves.

    Technically, the permissions are repository-based, but the project's mainline repository dictates project permissions and the like. i.e. the mainline repository's manager is the project's manager.

  • Avatar of LokiCoyote LokiCoyote Sun, 07 Dec 2008 06:18:38

    Thank you for these permissions, but what does each permission mean? They appear to be based around actions available on each project, but are per-repository?

    Particularly, how does "Manage english project translations" work? Will (is) there a means to identify files or directories as translation related?

  • Avatar of Kaelten Kaelten Sat, 06 Dec 2008 18:45:23

    it's a number in the html and links they provide.

    WowAce.com & CurseForge.com Adminstrator
    Developer of Ace3, OneBag3, and many other addons and libraries
    Project lead and Mac developer for the Curse Client

  • Avatar of ethancentaurai ethancentaurai Sat, 06 Dec 2008 09:36:34

    Awesome job guys! :)
    I've also noticed a new "Edit Donations" link, did that come with the maintenance also?

    EDIT: I just had a go making a PayPal button for the site, where would I find the hosted_button_id number I need?

  • 5 comments

Facts

Date created
05 Dec 2008
Last updated
05 Dec 2008

Author