This is some kind of proposal to all the wiki engine developers. I expect Alex to read this.
The proposal
Wiki engines should agree how certain features shall be designed in order to provide:
- Interoperability. You can switch a wiki engine without problems.
- Compatibility. Other programs depending on a wiki would work with others to some extent.
- Consistency. It's just good to have.
I want engines that are called ‘lightweight’ to follow the convention. MediaWiki et al should continue doing things the way they are now.
Wiki storage
Phoebe uses files but they do not comply fully. Mycorrhiza, starting with 0.10, complies.
- Wiki pages shall be stored as simple files on a filesystem.
- File extensions shall indicate what type of content is there, e/g a png image must be saved as a .png file.
- If a page consists of several media types, the content shall be split into several files containing the same stem (the page name) but different extensions.
- What if the parts are ordered?
Interwiki
- If a wiki implements the interwiki mechanism, it shall use the same format for interwiki maps as moinmoin:
http://moinmo.in/InterWikiMap
- The syntax of interwiki links is left unspecified.
History
- It shall be possible to see some history of any page.
- The exact mechanism of history tracking is left unspecified.
- It is unspecified how many versions of a page can be viewed, it just has to be more than 1.
Pages
- Pages must be able to be written in a markup language. WYSIWYG editors may be a handy feature but still optional.
Examples
- Running a compliant wiki engine on a directory with some images and other documents will usually result in a working wiki.
- It will be possible to run multiple wikis on the same directory.
Discussion
October 2020