Commit bd9d79ea authored by Hugo Hörnquist's avatar Hugo Hörnquist

Add README.

parent 5191da2b
MediaWiki Filesystem
====================
Here are three separate attempts to mount a MediaWiki page as a filesystem under
fuse. (https://datorhandbok.lysator.liu.se to be exact).
Versions
--------
All three versions work, but with the following problems:
### C++
Fuse works great, but fetching and decoding data is clumsy in C++ to say the
least.
### Python
The fuse library i tried to use *required* python that all callbacks returned
python strings instead of byte-vectors. It then took the length of the string
(?) instead of the length in bytes, breaking just about everything.
### (Chicken) Scheme
The most working version. Sensible fuse bindings, C-style strings. Downloading
and parsing of XML works wonders. However...
XML & Json
----------
MediaWiki has for some reason deprecated the XML api, and wants everyone to use
their json api. This would be fine, except that the actual wiki-page is still
presented as XML. The XML is also far from satisfactory. Instead of nesting the
document through namespaces the inner is HTML-encoded (`&lt;` for every `<`).
Design problems
---------------
This prototype work, and getting a fully featured read-only version wouldn't be
to far away. One big problem is however that MediaWiki isn't inherently
hierarchical, making the mapping to a filesystem a bit harder. These current
versions make some attempt to fetch indices, but mostly fall back to showing
those pages it knows exists, from the user explicitly opening a (as of then)
non-existant file.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment