5 ms·
How is this being implemented? Is it a server side database and client communicate to it using HTTP Get request? Does it use POST and PUT requests too for modif
by anujkk 15y ago
How is this being implemented? Is it a server side database and client communicate to it using HTTP Get request? Does it use POST and PUT requests too for modifying it(as in the case of REST?
Also, I'm confused about "spreadsheet is all done in pure canvas". Are you talking about canvas of HTML5?
- david927 15y agoIt has two components: server-side in NodeJS (parsing), C++ transaction server, TokyoCabinet. Yeah, it's (roughly) RESTful. The UI is spreadsheet in HTML5 Canvas: http://kayia.org http://kayia.org (but this is for development -- it's very early) The project is hosted on Github: https://github.com/david927/Kayia https://github.com/david927/Kayia
- anujkk 15y agoAs far as I am getting it the UI is nothing but an online spreadsheet application. It is just one way to use the actual database, say an example product. The actual database can be accessed through any language through http calls to create other kind of products. Basically a webDB that can be accessed using RESTful API.
- david927 15y agoYou're right, but the UI is more than that. In the version coming in a few more weeks, there will be two more objects on the right side: a property box and another smaller spreadsheet. The smaller spreadsheet is the editor of the current cell. Ctrl-click on any cell and it will zoom in (make that smaller spreadsheet the main one), and the query goes fromm, say, Person to Person.C3. Shift-click on any cell and it will do a filter/QBE for all rows with that value, etc. The spreadsheet is the data editor, but it's much more powerful than what you currently see. Otherwise, you're right, you can create what you want; one app I want to do is a better version of Google Wave once the authorization module is plugged in.
- david927 15y agoI should add, the syntax is also "spreadsheet-like." You can do an anonymous insert and it will assign the next free row ID (say 4) and column name (say G), if needed. You can refer to any data point, say Person column Age, row ID of 5 as: Person.Age5 or Person.C5 if that's the third column (it adds column names by default).