Before everyone here completely reinvents the wheel, here's a copy of the text in a long email that Larry sent to a whole ton of people about two years ago that shows evidence of a lot of thought:
OK, as far as the automated editor application, here's what I'd like to have (i.e., requirements & desirements).
Requirements for an absolute minimal system (that is, if you want to do anything like this at all):
A checkbox added to Special:RequestAccount, clearly separated, visually, from the other fields, which people can check if they want to be considered as an editor, which
Generates an e-mail to an address (
personnel@citizendium.org in our case) when an editor-checked application is received (not approved, but simply received).
That's it! If (a) you can do this right away with minimal trouble, and (b) if you think the rest of the system will take more than, say, a week to work up, then can you do it? Note that the e-mail to
personnel@citizendium.org would have to be turned off later after you coded the more complicated system.
Desirements for a minimal system (these two go together, and are applicable only if you don't want to create the "more automated system" below):
If editor application checkbox is checked, then confirm that either there is a document uploaded (a CV) or a link (to a CV). Do not let the person submit the application without one or the other.
Give a way for us to access people's CVs easily. So either (1) Create a new permission/right (CZ might call it "epa" or Editorial Personnel Administration) within the system. In this case, only an account with that permission can approve an editor-checked account. Or (2) do item #2 on
http://www.mediawiki.org/wiki/Extension_talk:ConfirmAccount#Feature_requests_from_the_Citizendium , i.e., allow sysops to view uploaded CVs/links after an account has been approved, which stay there until deleted from the system by a bureaucrat.
Seriously, if you don't want to go to the trouble of the more automated system, the above minimal system would help us a lot! Really!
Requirements for a more automated system (this would really help get editors involved with editorial personnel administration, or epa--which is something we badly need):
As above: a checkbox added to Special:RequestAccount, clearly visually separated from the other fields, which people can check if they want to be considered as an editor.
When the editor application checkbox is checked and the account request is completed, the account request/editor application is placed in a special queue very similar to Special:ConfirmAccounts. As to who can access the queue, see below under "desirements."
As to the different acceptance & rejection functions: replace "Accept (create account)" with two new choices: (a) "Create account and make editor" and (b) "Create account but do not make editor".
Upon (a)-type acceptance by an epa (editorial personnel administrator...or sysop, if you don't make a new user group), of course there will be a new kind of e-mail preferably from the epa. Similarly, upon (b)-type acceptance-and-rejection, there will be a new kind of e-mail from the epa.
Note that "hold" has its own queue separate from the regular application queue. (By the way, Aaron, the existing hold queue works well, well done on that.)
Completely rejected account requests (both author and editor) could go in the main rejected account queue, if that's consistent with your system.
There must be a way for epas to indicate workgroups. Multi-select drop-down boxes (with the lists editable by epas) are a "desirement," but at least we need multiple text fields (give us at least three).
When an epa accepts an application, at least one workgroup must be indicated. If it isn't, the epa is prompted for one. This needn't be checked against a master list, but again, a desirement is that epas be forced into pre-set choices in a drop-down box. Note that the workgroups are included in the acceptance e-mail sent to the new editor.
Then, when an epa accepts an application, in addition to sending out the acceptance mail and creating the account, the system adds [[Category:CZ Editors]] and [[Category:____ Workgroup]] for all workgroups listed and adds {{ewelcome}} to the editor's user talk page.
Desirements:
Create a new right/user group (CZ might call it "epa" or Editorial Personnel Administrator) within the system. Only an account in that user group can approve an editor-checked account. It's barely acceptable (though it is acceptable at this point) that all sysops be able to do this (constables who are not epas would just have to be instructed to stay out of the editor application queue), but we'd prefer to have the different user group.
Create another, normally greyed-out checkbox, for "mark me as author, too." This is ungreyed-out if someone checks the editor application checkbox. When "mark me as an author, too" is checked, then (and only then) do we add [[Category:CZ Authors]] to the editor's user page and {{awelcome}} to the editor's user talk page. No need to add anything extra or special to the e-mail sent to the editor, though (that's overkill...).
Allow applicants to indicate their workgroups when applying. Use multi-select drop-down boxes (with the lists editable by epas). List one drop-down box as "main request" and then list two more as "secondary requests (optional: indicate only if you have real expertise in the area)" Let these lists be editable by epas: we might want to accept someone for one requested workgroup, but not another.
There is no need for a "rejection" queue for account requests that were turned down for editorship. However, Editorial Personnal Administrators should be able to see the information (wherever you save the archived CV, links, and comments info) that a person did apply, and was rejected (and when and by whom).
The following would be really cool, and we will have to do it at some point...and this might be a good time to do it: create a new user group (but with no special permissions at this point), for all accepted editor apps. As a name for the user group, we'd prefer "editor" (not "wikieditor").
Heroic efforts:
Create different application queues (application and hold) for different workgroups or supergroups--by the latter I mean things like "Natural Sciences," "Social Sciences," etc. See
http://en.citizendium.org/wiki/CZ:Workgroups . Then allow bureaucrats to assign narrowly-focused rights to narrowly-focused epas. For example, then I might make biology editor Chris Day an epa, and give him special epa rights over a special "Natural Sciences" application queue. To make this work, we'd need (epa-editable) drop-down boxes, multi-select, for workgroups, and assign workgroups to supergroups.
If you do the latter, however, then it would be great to put the workgroups into the database, and make them editable there...something that eventually we will want to do...but this opens another whole can of worms...
Make the system fully extensible. Allow a zillion queues to serve a zillion different application and permission types in the system. (This is probably more trouble than it's worth at this point, but it's worth thinking about a little, just for planning purposes.)
You should probably be aware that at some point, we are going to want to give editors, as a (new) user group, the right to approve articles via a new, more efficient approval system. This would require that the system keep track of which editor is in what workgroup, however. We will also want to let authors put articles into a queue, such that the articles in the queue are sent out by mail, for review, to everyone in the relevant workgroups. These functions will make both epa and editor user groups very convenient, if not practically required.