Superwiki
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 aw 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.
Book–chapter–verse
Superwiki is the concept that unifies Simbel and Precursor to achieve version control and literate programming. Since Simbel may create a variety of output formats, some of which may either break the pagination or not have paging at all, we must leverage a more concise system of organisation. The Biblical book–chapter–verse system is ideal for this, and the correspondence across software is like so:
Wiki | Simbel | Precursor |
---|---|---|
Article/page | Book | Folder |
Major section | Chapter | File |
Subsection/paragraph | Verse | Slice of file |