User-editable program code in pages.
Instead of making the whole WikiEngine open for editing and thus harmful injection of malicious code, data corruption and server compromise like a CommunityProgrammableWiki, an engine could support an interpreted language to run in a sandbox. So people could add small programs into pages, without being able to do any harm to the server or installation at whole.
Preferably a language like JavaScript should be used, as users were familar with it. However, as there is not yet a JavaScript interpreter available for Perl, Python or PHP, other alternatives must be considered.
Scheme interpreters are available.
There is a Google Summer of Code project for making a sandboxed python interpreter.
A list of languages that could be possibly sandboxed and used to run user-submitted scripts:
With a well-defined interface to limited database access features, it was possible to have users code useful extensions like a specialized search function.
An API would then also allow to interchange code snippets between multiple engines, if they choosed a compatible language. This then also helped the AutomaticFeatureInstall idea (I’ve already mentioned the whole thing earlier there).
| status | wiki engines | |
| Implemented | - | |
| Developing | ErfurtWiki | |
| Intend to Develop | - | |
| Considering | - | |
| Rejected | - | |
MarioSalzer: I’m currently working on a JS-like interpreter for PHP, which looks promisingly easy to port to Perl then. Eventually it’s too early to announce it, but I can at least give out the idea right now ![]()
If it works, I will at least port it to PhpWiki and Wakka.
Stop, No! Wiki:JavaScriptEnabledWiki is about client side JavaScript; while this page discusses server-side scripting with a sandboxed language (with preferrably JS syntax).