Usability issue/Maintenance script name

From Meta, a Wikimedia project coordination wiki

Poorly named and documented maintenance scripts[edit]

See also usability issue for interface problems and usability generally.

Inconsistent use of "delete/d", "permanently delete", "archive/d", "purge", "remove", old"[edit]

While relatively good overall official instructions exist [1] and truly clear and excellent user descriptions, the maintenance procedures around spam removal in particular are astonishingly unclear. Many pages exist all over the net with version-specific SQL manipulations that should never be attempted by any user at all no matter how sophisticated or how certain they are using the same version as those instructions allegedly worked on (Mediawiki has many tables that change with every version and some extensions too... the odds of doing SQL purging correctly are low).

Term usage is extremely inconsistent

  • delete, to an ordinary user, means permanent removal, while "archive" means "put in some user-visible place that is harder to access", such as talk page archives
  • to administrators, it has a parallel but quite different meaning: A "delete" moves the page to a place harder to access. When the time comes to truly eradicate these pages, typically spam, they invoke "deleteArchivedVersions" (?!?!) to permanently remove (or "purge") them. The script should be "purgeDeletedVersions" obviously, regardless of the unfortunate names of the SQL tables.

The purge/delete/archive terminology horror gets worse with each release, e.g. a shell tool that purges deleted versions is called deleteArchivedVersions.php which is deeply confusing especially as "purge" already exists in the lexicon in the options that these scripts take, and "remove" (the Unix-y term) is already in the names of removeUnusedAccounts.php etc.). Worst, "old" has totally different meaning in purgeOldText (where it means "purged") vs. deleteOldRevisions (where it means "archived" or "deleted" revisions). One word, one semantics regardless of permission and account powers!

WORKAROUND: Write a shell script "purgeDeletedVersions" that invokes the options you think appropriate for shell users, and hide or rename deleteArchivedVersions so no one invokes it or is confused by it's absurd name. Similarly script around "Old" term so it's clear what level of "old" is targetted. Probably reserve "purge" prefix for scripts that actually irrevocably purge things, or perhaps use prefix "irrevocably"?