Since these conversations a tool called tsapp has been created.
In conversation with eric and fnd it was suggested that in order to move TiddlySpace forward as a platform for applications it needs tools and concepts similar to couchapp to ease the development process and syncing an app to the TiddlySpace server.
I think this is likely a pretty good idea but in order to make it work we need to figure out the meaning of some things. The usage info from couchapp helps to identify some actions but it is what those actions mean on what entities that has me confused.
A TiddlySpace app is made up of 3-5 things:
An app can be reachable in its own space, or accessible via inclusion. If inclusion is to be used then it is wise for the CSS and JavaScript of the application to not be included in the bags of the space, but instead in extra bags. This limits the impact of the files on the user's space.
The naive process for making an app is:
A tsapp tool can provide templates for generation of a stub app, and can push/pull files to/from a server. These thing are relatively straightforward. Complication enters if we want to automate the process of rationalized paths.
For example, an HTML file may link to remote CSS and JavaScript which is at
Is there a reliable algorithmic transformation which can be done that doesn't require a bunch of ungainly mess?
One option, presumably, is to present an artificial server environment on the development side, but this really seems overkill.
What are the other options?
The above was written back in early Feb 2012. Since then:
In conversation with eric and fnd it was suggested that in order to move TiddlySpace forward as a platform for applications it needs tools and concepts similar to couchapp to ease the development process and syncing an app to the TiddlySpace server.
I think this is likely a pretty good idea but in order to make it work we need to figure out the meaning of some things. The usage info from couchapp helps to identify some actions but it is what those actions mean on what entities that has me confused.
A TiddlySpace app is made up of 3-5 things:
- an HTML page which acts as the starting point
- some CSS for the app
- the JavaScript which drives the app
- optional additional JavaScript libraries (jquery, chrjs, etc)
- optional additional bags
An app can be reachable in its own space, or accessible via inclusion. If inclusion is to be used then it is wise for the CSS and JavaScript of the application to not be included in the bags of the space, but instead in extra bags. This limits the impact of the files on the user's space.
The naive process for making an app is:
- make an HTML file
- link to local and remote JavaScript and CSS files
- tweak until things are working
- modify JavaScript and CSS paths (both in HTML and code) to be rational for server operation
- push the results to the server
A tsapp tool can provide templates for generation of a stub app, and can push/pull files to/from a server. These thing are relatively straightforward. Complication enters if we want to automate the process of rationalized paths.
For example, an HTML file may link to remote CSS and JavaScript which is at
http://tiddlyspace.com/bags/common/tiddlers/<something> and locally at a relative file.css. Neither of these are ideal if the file is hosted on the server (hostless URIs point to tiddlers in bags are best).Is there a reliable algorithmic transformation which can be done that doesn't require a bunch of ungainly mess?
One option, presumably, is to present an artificial server environment on the development side, but this really seems overkill.
What are the other options?
Since then
The above was written back in early Feb 2012. Since then: