LiveWiki is a practical, intranet-oriented WikiWikiWeb concept that would have the following feature set:
- No CamelCase - we'd use case-InSeNsItIvE links instead
- HTML subset for markup
- XML storage
- Versioning
- Page ACLs (drwxrwxrwx-like, with d being reserved for sysadmin override)
- Comments
- Attachments - each attachment a named Wiki node, referenced by {attachment name} or similar markup
- Some sort of basic rendering pipeline (for applying stylesheets or filters to the page contents,scaling,etc.)
- Built-in "World Domination" button.
Davi's Notes:
- PHP!
- With directories (http://livewiki.org/davi/weblog/20030101.html)
- Permissions - per default, guests can only add comments (unless he is are black-listed)
- /davi is owned by davi (and created probably by admin) and he chooses to set it written only by him. Permissions are recursive unless redefined - /davi/trash can be writen by everyone, or even written by guests
- Permissions by user - You say which users can edit that page (and its childs), or everyone
- Simple markup and xml markup - "View Simple", "View XML" to satisfy normal persons and geeks
- Markup permissions configurable - for example, guests can use "style markup" (b,i,u), editors can use links, powerusers can include <code> (eval anyone?)
- DB in filesystem: /davi is $DATA/davi/index.xml, /davi/weblog/20030101 is $DATA/davi/weblog/20030101/index.xml, /davi/imagem com espaços.jpg is $DATA/davi/imagem%20com%20espa%e7os.xml (%e7 might be changed by UTF8 if defined)
- Private entries - either personal or with access to other users
- rcs backend (index.xml,v for latest revisions). XXX Must think about binary revisions
- url extension optional. Either /davi, or /davi/, or /davi.html
- application generates XML (XXX to be defined) and uses several XSL's for output
- uses extension for XSL....
- uses my getResources for virtual-hosting
Filesystem layout (draft)
~user -+--- web <- HTTP-accessible stuff | +--- etc <- configuration files (site.ini and whatnot) | +--- xsl <- XSLs and derivatives | +--- log <- application log file | +--- cache <- pre-processed stuff (subtree) | +-+- lib <- PHP code root | +--core <- core (generic) libraries (debugging, config file parsing, database, etc.)