Hi All

An architectural question: What is the the recommended approach (and harbour friendly way) to populate a LocalStorageDB on the Jolla with data from an external source?

Some background to the question:

My app Landed depends on a LocalStorageDB. It was always clear to me that Landed would be a readonly client of the DB, and the business of populating the DB would fall to "something else". Until recently that something else was a companion app LandedSettings.

But I was never happy with that solution, and it now seems to me that a Qt Desktop app would be much better suited to configuring / populating the DB. (more screen, better keyboard etc.).

This raises the question: How best to transfer the data populated in the Desktop app to the DB on the Jolla?

The Jolla's Documents folder (or a sub directory thereof) could clearly be used as as staging area. This is the approach that Wim takes with his Harbour-approved Checklists app.

But exactly how should this work? I see several possibilities, all with pros and cons.

a) The Desktop app creates a LocalStorageDB, and the entire DB is transferred to the Jolla. This means that Landed would have to deploy the DB on a file level, then access it via the LocalStorage api as normal.

b) The Desktop app dumps a human readable exchange file (csv, xml, json) which is picked up by Landed, parsed and converted to SQL INSERTS then called via the LocalStorage API

c) The Desktop app dumps an SQL script (a list of INSERT INTO statements) which Landed then executes

d) The Desktop app dumps an SQL script in the form of a javascript file, which is then dynamically loaded by Landed using dynamic QML

e) something I have not thought of ...

As further background, I tend to favour QML over C++, but use the latter where necessary (and am beginning to feel uncomfortably comfortable in that language ...).

I am aware that for any kind of file manipulation from QML I will probably have to resort to a C++ plugin. (Even this http://www.developer.nokia.com/community/wiki/Reading_and_writing_files_in_QML example from Nokia which sets out to provide file access without a plugin describes an implementation that is to my mind a c++ plugin!)

At the moment I favour option b) as the most likely to work and be accepted, with option d) as the wildcard probably wont't work, but might turn out to be the easy option.

Thanks in advance for your thoughts,

Chris






_______________________________________________
SailfishOS.org Devel mailing list

Reply via email to