Admin Tools

Goal
To streamline, standardize, and improve the daily, weekly, and one-time administrative tasks involved in setting up a Dreamwidth code installation.

Background
Currently, the administrative tools for both installing and configuring a LJ installation, and maintaining a LJ installation once it's installed and configured, are a byzantine mass of CLI options, badly-documented pages in /admin/, and (in the worst-case scenario) the need to have a programmer submit a patch to change an element of site configuration. All of this adds up to make administering a LJ-based code install tedious at best and an active nightmare at worst.

To facilitate adoption of the DW codebase, prepare for the eventual goal of federated DW sites, and to improve the overall usability of the DW code, our goal is to simplify and streamline these administrative operations. This lists all of the things that should be changed in the administrative workflow in order for this item to be considered finished.

This list is divided into two pieces: initial (and ongoing) site config, and administrative user management. After a period of gathering information on the Wiki, we'll migrate this to an actual written spec that can be moved into the appropriate Bugzilla item for inclusion in the code.

Site Config
Site configuration options that should be easily accessable through a GUI frontend:


 * Account level configuration (currently in ljprotocol.pl)
 * New-account defaults -- comment settings, screening settings, editor choice, ....
 * Whether adult-content screening is active site-wide (on for DW)
 * Whether ability to report adult content is active site-wide (off for DW)
 * Whether the ad module is active site-wide (off for DW)
 * Whether CAPTCA is active site-wide (on for DW)
 * Where CAPTCHA is required
 * How the navstrip behaves
 * Whether the clients list displays on profile (off for DW)
 * Whether post-by-email is active for the site
 * Setting up the payment system

User Management Config
Administrative user-management options that should be easily accessable through a GUI frontend:


 * Capability editing
 * Account status (suspended/not suspended)
 * Viewing statushistory
 * Viewing userlog