This issue should serve as the central discussion for notes / needs for the script engine upgrade.
Mandatory Requirements for the New Scripting Engine:
- Security Context
- Be able to give/take away permissions for scripts by targeting their source.
- ...
- Security Sandboxing
- Scripts can have a small form of storage on the filesystem and network stores.
- (elaborate...)
- Script Versioning
- every script should define its version, if they do not have a version we assume it's a legacy script. This allows us to have the old scripting API and a newer one. With each round of updates we upgrade the script version and so if scripts want to use the API in different ways, they will have to now define that at the top of the file.
- If there are incompatibilities that are too drastic between API versions (1.0 to 3.3) where it might cause some breakage in how things are handled on a domain... a domain can enforce that only certain script versions can / should be used on it. Using a custom client that rejects that and causes issue can/would be seen as griefing.
This issue should serve as the central discussion for notes / needs for the script engine upgrade.
Mandatory Requirements for the New Scripting Engine: