On the Tau Technologies github platform, projects rhostore(ruby-on-rails backend server) and store-server (rhoconnect server app) have been updated with examples on how to sync binary files. However, the store project (rhodes application) has not been updated to handle binary files and sync them.
Will you be updating that sample app? If so, when can the update be expected?
Hi Vladimir, After a close analysis of Tau Technologies sample projects: inventoryDemo-backend, inventoryDemo-mobileApp, inventoryDemo-rhoconnect-server, I would like to clarity about the following. 1) In inventoryDemo-backend, the attributes photoUri and signatureUri have types string. 2) In inventoryDemo-mobileApp, the attributes photoUri and signatureUri have types blob.
However in inventoryDemo-rhoconnect-server, the query method does not explicitly set the blob attributes.
The issue I am having is the fact that synchronization from backend to mobileApp is not working (perhaps due to type differences). However, When I changed the type of attributes photoUri and signatureUri to string in inventoryDemo-mobileApp, synchronization works.
1) Could you please confirm the fact in order to have proper synchronization, the attributes types in backend have to match those in mobileApp? 2) Does the configuration you have in the sample project work from your side out of the box?
Post by Vladimir Musulainen on Apr 3, 2017 7:14:23 GMT
On mobile, a field declared as blob stores path to the file that located at db/db-files/.
When rhoconnect-client synces this record from the device to the server, the client uploads the file to the rhoconnect-server.
The rhoconnect-server must implement special method "store_blob" that handles blob file storing.
The store_blob method in Inventory-Demo-Rhoconnect-Server stores files at Amazon S3 and returns the url for file downloading.
This url is stored in the backend. The url will be used later, when the record will be synced from the server to the client.
When rhoconnect-client will sync the record from the server to the mobile device, the file will be tried to download by this url.
Rhoconnect-server may implement various approaches for storing blob fields (public file server, database, etc).
So the answers on your questions are: 1. No, the backend should not have the same attributes types as on the mobile app. It depends on how the rhoconnect-server and the backend implement blob storing strategy. 2. Yes, it works out-of-box. Note: you must use the latest stable version of rhoconnect-client and rhoconnect gems - several issues connected with storing blobs were fixed.
Hi, I have downloaded and installed rhomobile suite version 5.5.18 for windows. However, I can't run rhosimulator. I am getting the following error: Cannot find RhoSimulator: 'C:/RhoMobileSuite5.5.18/ruby/lib/ruby/gems/1.9.1/gems/rhodes-5.5.18/platform/win32/RhoSimulator/rhosimulator.exe' does not exists
On the other hand, I can run my app on the android device. And I am still experiencing the same synchronization issue. Here are my configurations: 1) On the rails backend server, I have: create_table "site_visits", force: :cascade do |t| t.string "monitoring_and_evaluation_specialist_signature" t.string "monitoring_and_evaluation_manager_signature" end
2) On the rhodes app, I have: class SiteVisit include Rhom::FixedSchema
set :schema_version, '1.0' property :monitoring_and_evaluation_specialist_signature, :blob, :overwrite property :monitoring_and_evaluation_manager_signature, :blob, :overwrite end
On my rhoconnect server, the query method does receive data from backend. However, no data is being created on the mobile app. What I noticed is: If I change the property type to string to match backend, data is created. Could you please assist? Does using FixedSchema have anything to do with it?
Hi, I found the root cause of the issue. Using Rhom::FixedSchema causes the synchronization issue. Using Rhom::PropertyBag works. I have tested both on the sample app and on app. The results are the same.
Furthermore, the Rhomobile Suite exe for windows does not install the RhoSimulator.
Post by Konstantin Rybas on Apr 4, 2017 8:35:50 GMT
RMS 5.5.18 is a development version of Rho. Dev version is good for development. For produciton usage please use stable versions. At the moment we are testing 18.104.22.168(stable). Seems our build system didn't add RhoSimulator into 5.5.18. But 5.5.19 will be published soon. At the moment as a quick solution I suggest to get all the missing binaries from github. Please see link below github.com/rhomobile/rhodes/tree/master/platform/win32/RhoSimulator
Post by Vladimir Musulainen on Apr 4, 2017 10:22:11 GMT
>On my rhoconnect server, the query method does receive data from backend. > However, no data is being created on the mobile app. > What I noticed is: If I change the property type to string to match backend, data is created. Could you please assist? Does using FixedSchema have anything to do with it?
Do "monitoring_and_evaluation_specialist_signature" and "monitoring_and_evaluation_manager_signature" at the backend store public uri for file downloading?
I think, sharing source code with us is the best way for assist. Can you sharing code of mobile app, rhoconnect server and the backend?.