Superwiki

From XionKB
Revision as of 19:04, 7 March 2023 by Alexander (talk | contribs) (Created page with "'''Superwiki''' is a software project concept for leveraging the MediaWiki user experience structure to host and disseminate more than just wiki content in a single permissions model. ==Overview== Concept stage: * Define areas of MediaWiki that constitute a stable API ** Subdivide this into user areas (e.g. article names, magic words) and software areas (concept of namespaces, document model) * Expand the page content model idea to incorporate source code Outlining exe...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Superwiki is a software project concept for leveraging the MediaWiki user experience structure to host and disseminate more than just wiki content in a single permissions model.

Overview

Concept stage:

  • Define areas of MediaWiki that constitute a stable API
    • Subdivide this into user areas (e.g. article names, magic words) and software areas (concept of namespaces, document model)
  • Expand the page content model idea to incorporate source code

Outlining execution stage:

  • Leverage PostgreSQL and SQLite as database options
  • XHTML browser interface, using HTTP-backed HTML forms
    • Uses general HTTP API patterns that can also be leveraged by a native application
  • C* based backend
  • Create a general systems model that accounts for most of the Special page functionalities
  • Integrate OpenPGP into authorship commission
  • Define a generous subset of MediaWiki's wikicode language, and formally specify it
  • Create an extension for transcluding source code line-by-line into the mainspace for literate programming
  • Expand upon the oldid MediaWiki database item for referencing histories
    • Perhaps make it cryptographic? We can get a little creative, as long as it passes the duck test to MediaWiki

Goals

MediaWiki as it works now is very good. It eschews most of the 'modern' fads of web programming promulgated by FAANG and their various appendages since c. 2010. It is non-'responsive', information-first in its user experience design. We need to keep this and lean into it by designing an XHTML-based frontend that leverages the classic HTTP+HTML forms interactivity paradigm.

From a mechanicalist standpoint it also presents a huge hidden opportunity to be the basis of hosting software source code. Perhaps there could be added a special Source: namespace that leverages an extension to display the files with proper syntax highlighting while also mixing with other wiki facilities in doc comments (e.g. doc comments are parsed as wikicode). With a little bit of modifications to support hash-based histories, cryptographic signatures as well as the source dissemination itself, the software could provide a centralised version control system that is just as performant and legible as other tool-centric VCSes.