IRC/Cloaks/System

From Meta, a Wikimedia project coordination wiki
< IRC‎ | Cloaks

The IRC group contacts are looking for a developer to create and maintain a new cloak request system. The system will allow IRC users to request a cloak 24/7 without having to speak directly to a group contact. A cloak is an indication of an IRC user's onwiki identity. As such, cloaks must be unique and full details of cloaks set are stored in a mysql database (schema available to coder, of course!). Such a system used to exist, but our previous maintainer is presently unable to continue working on it and it is permanently disabled due to toolserver setup changes. Unfortunately the code for the earlier system is unavailable. Below are some general details about what the system should do:

  1. Web interface
    1. Request area - Where the users visit to request a cloak. This multi-page interface allows users to input information (their IRC nick, Wikimedia username, requested cloak type, etc.) and automatically checks for cloak eligibility. There are simple validation rules we can provide that have been tried and tested to meet the requirements. Some key features:
      1. List of potential cloaks should be a dropdown list for user-friendliness and to avoid mistakes.
      2. Automatically ensures that the username (which makes up the cloak) contains no illegal characters (ie, non-DNS characters). The system should also suggest alternatives where issues do exist (subject to avoiding conflicts, probably taking advantage of the presence of the anti-spoof extension)
      3. Ensures that Wikimedia account is registered in single-user login
      4. Performs on-wiki identity verification using a code for an edit summary and a database check (toolserver or api for latest revisions)/diff link
      5. Prevents duplicate cloaks
      6. Allows users to submit errors/issues (eg, the cloak they want is not available/non-UTF characters) which are presented in the admin area for GCs to resolve
    2. Admin area - Where the group contacts "work". A list of all requests with areas for comments: current, completed, staged (stages: in progress, on hold)
      1. Default viewing should be open requests. Options should be available to view archived requests, as well as requests labeled certain "stages" by the group contacts.
      2. Commands to pass to staff members are generated for copy/pasting.
  2. IRC interface (code for this remains but it could do with a re-write)
    1. Accepts codes given out by the web interface via /msg in order to verify IRC identity

If you would like to help out, get in touch with irc-contacts-owner@lists.wikimedia.org, and we can provide you with a more detailed specification.