Jump to content

Wikipedia:Workflow improvements

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Enterprisey (talk | contribs) at 05:59, 24 October 2021 (Shared functionality: User:SD0001, I added some ideas). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Wikitext forms are awful! If I have to fill out another form that has {{subst:void}} or HTML comments everywhere, I'm going to get extremely irritated.

Let's replace wikitext forms with real forms. WP:RFPP is an example of this. You used to have to fill out this form, but now you can fill out this form.

There are multiple ways to proceed. We could go individually, process by process, making custom scripts for each. We could also try to come up with a way to let people specify a form in JSON, so that creating and editing forms would be easier. (Yes, this has been done before: for example, mw:Extension:FormWizard. But that's sort of stalled.)

We could go even further with the JSON idea: once you've specified a form, there should magically be a script that lets you review requests; there should be an archiving bot; and there should be a tool that lets you search through requests. Right now, for each process, these four things (requesting, responding, archiving, searching) all need to be done from scratch. That's a big waste of time.

So let's talk about this! The talk page is open for business.

Potential venues

Timeline

(Leaving out many previous attempts to do this, I'm sure...)

Shared functionality

  1. Live preview. Perhaps have the user write a function to create the wikitext for the submission given the current state of the form inputs, then provide activatePreview(/* jQuery object */ previewContainerElement, /* function */ createSubmissionWikitext);?
  2. Automatically add signature where possible - and indicate this clearly in preview. ensureSignaturePresent()?
  3. Input validations.
  4. beforeunload handler: you shouldn't be able to accidentally navigate away from the form and lose any entered text. activateBeforeUnloadHandler() (the handler goes through each form input and checks if any have non-default values)?
  5. Gracefully handling failures: If the browser crashes, you should be able to retrieve the "lost" content from the browser localStorage. If the submission failed for an unexpected reason, again the form contents entered should be recoverable. activateFormPersistence() (every N seconds, or every keystroke (TBD), form inputs saved to localStorage)?
  6. ...

See also

  • mw:Flow (RIP - because this was in the original spec somewhere)