From: Doug B. <dou...@gm...> - 2013-12-20 14:02:10
|
Devs, Looking for feedback on the following issues related to the webapp: 1) A discussion on Rootsdev this past week was about APIs for genealogy data, and pointed to "The Lie of the API" by Ruben Verborgh: http://ruben.verborgh.org/blog/2013/11/29/the-lie-of-the-api/ The extreme view of that post is "let content negotiation [1] determine what format to provide". But as a practical issue, it is often easier to slightly alter the URL. Currently, you can get to a server webapp to get HTML with something like: http://localhost:8000/person/c2811ec40a201177fc6 I'm proposing adding ?format=json on the end to get a JSON/XML/etc representation. Does that sound fine? (Or course, this respects the authentication of the site). We could also add content negotiation, too. 2) The webapp server could also have a stand-alone query API, something like: http://localhost:8000/query/?table=person&primary_name.first_name="John" which could query the data, giving results back in JSON/XML/etc. Sound ok? 3) Once you have your Gramps data on a server, one immediately would like Gramps Gtk to be able to interact with it (import from it, export to it, sync, backup to it, etc.) This will require Gramps Gtk to know the URL, id, and password for your gramps-connect installation. Shall I add a Preference tab with these items? May need more than one connected sites. FYI, I've started to put some client-side code in master/gramps/webapp/ so that a few of those files can be included in Gramps Gtk for communicating with webapp servers. 4) If a webapp server was associated with Gramps Gtk, there is quite a bit of functionality that we could eventually build in: * The following items have been updated on the server; sync now? * When you edit an object in Gramps gtk, it could push the changes up to the webapp through an interface similar to one of the above) Any other ideas? -Doug [1] http://en.wikipedia.org/wiki/Content_negotiation |