The following notes were collected in December 2001:
Caching:
- If the shared array exists in the server, use it and trigger on it.
- This would be better for the special "tequila" array, for example.
- It also would allow tying into server-based code (stored procedures).
Turn persistence off, optionally:
- If the shared array exists in the server, we can avoid using actual data storage. A simple mem-only vs. stored trade-off.
Automatic logging:
- Option to log all state changes on file, for specific arrays.
- Logged info can be batched and time-stamped by the server.
Batching, and snapshots:
- Add mechanism to send out changes periodically instead of right away.
- Can also have the option to only send final state, ignoring intermediate.
VFS interface:
- Create a tequila driver for VFS, this would make it possible to create a caching client. Think about replication and detached use.
Hierarchical globally shared arrays:
- Consider tying namespaces to a tree-structured file system.
- Taken to extremes, a namespace could *be* a file system.
- The result: concpetual simplicity and optional transparent persistence.
Script storage:
- Fold script storage into this design, so that script changes can also be propagated through Tequila (always scripted-doc compatible of course).
- Map server procs/namespaces for client access and replication
- Explore distribution scenario's, and non-stop server use
- Also look at minimalistic server, and how to improve it without taking it down
Language neutrality:
- With a simple Tcl-list extension, Perl and Python could also use Tequila.
Performance:
- Think about performance and asynchronous designs (not a top priority).
Security and authorization:
- Implement a model to provide limited access (r/o and r/w).
- Consider a mechanism to only allow connections to authorized clients.
- Think about encrypted (SSL?) sessions.
Multiple user contexts:
- Allow different client groups to use distinct areas, even if names overlap.
- Could be implemented on top of the above hierarchical extension.
Wiki-like designs:
- Tequila + WiKit might be a fascinating project, with replication and the local-style Tk interface making it all very very flexible and powerful.
Automatic termination:
- Stop when the last client disconnect
- Or stop after a certain amount of idle time
- Consider uses and requirements when running under/with CGI