[sldev] Scripting the client

Argent Stonecutter secret.argent at gmail.com
Thu Aug 2 14:25:16 PDT 2007


Lawson English:
> Is there a design team or thread for how to add scripting to the  
> client,
> ala Lua and/or Python and/or Perl etc?
>
> What should be scriptable by such an interface? How it should
> accomidate/facilitate plug-ins?
>
> And so on and so on and so forth?
>
> *Etcetera, etcetera, etcetera... --spoken with best royal Yul Brynner
> accent

There's several different things that people might be looking for in  
scripting the client, and they probably don't have the same solution.

1. More control over the client from LSL, this includes things like  
HTML notecards, improved dialogs (including notecard-driven HTML  
dialogs, my favorite), as well as communication between LSL and local  
executing programs and pushing scripts into the client from LSL.

2. More control over the client from local software, plugins, and so on.

3. Extending the user interface with scripted extensions to the XML  
user interface, similar to Firefox extensions, Konfabulator or  
Dashboard widgets, and so on.

I think that the first section should be severely limited in scope,  
for security reasons, and a separate extension from the other two.  
The same language and interpreter could be used (and there's already  
a Javascript interpreter in the client from Gecko), but there should  
be a separate instance of it that doesn't have access to any  
extensions available to locally installed software. Best would be to  
make it something like "Safe Tcl", where the symbol table available  
to the untrusted interpreter doesn't even provide entry points for  
any routine that isn't either fully internal (like math functions) or  
restricted to only allow safe operations.



More information about the SLDev mailing list