MeatballWiki | RecentChanges | Random Page | Indices | Categories

ActiveWikiPages allow server side scripting to be inserted into a page when the page is edit. The proof of concept implementation at http://wiki.slowass.net - TinyWiki - uses Perl, and uses the sandbox facility of Opcode, a lower level interface to the sandbox provided by Safe. Scripting may suck in other pages as modules, read arbitrary pages, and append to the current page. The bulk of the features of TinyWiki are implemented in "user land", this way.

Some interesting ideas from [TinyWiki:ActiveWikiPages]'s implementation section:

Some applications of this have cropped up. I'm seeing it used to armour email addresses by entity encoding them, to change TinyWiki's idea of the base document so that streetches of cut and paste Wiki markup continue to link to where they're from, and as a simple news blogger. I have my Wiki''Footer hacked to record HTTP Referer (sic) information in the itself, automatically linking back to anywhere that links to ie. Unanticipated uses rule.

See http://wiki.slowass.net/?ActiveWikiPages, http://wiki.slowass.net/?TinyWiki

PhpWiki has plugins you can embed into a wiki page. It's not really a scripting facility but as it defines a "safe mode" to run server side scripts, it might be quite easy to implement a kind of "script" plugin where a user would be able to enter server side script as an argument. I'll try to code such a plugin ... -- ArnaudFontaine

MarioSalzer?: is currently developing a scripting language interpreter (PHP/JS) implemented in a scripting language (PHP) - http://erfurtwiki.sourceforge.net/phpjs/. It allows to run user-contributed code safely in a sandbox. While claiming so, it does not provide much JavaScript feeling right now; and it is very limited in functionality and rather slow of course. Also it has yet no Wiki interface/binding, but what I had in mind was a bunch of javascript alike APIs (which also may partially match with the WikiXmlRpc? functions):

The interpreter is currently only a toy, but if ready probably portable to other languages (Perl at least) - and with a standard set of wiki.* functions, it could eventually allow for Wiki implementation independent and exchangeable feature plugins. (An idea discussed in the WikiFeatures wiki.)

See also ExtensibleWikis


MeatballWiki | RecentChanges | Random Page | Indices | Categories
This page is read-only | View other revisions | Search MetaWiki