Pushing device data...

So RhoElements seems to solve a lot of problems and Version 2  (sometime in the first half of next year) seems to solve even more issues (device compatability / sync services) - but there is the problem today of "I wrote a data collections app. How do I get this data to a PC and able to be synchronized with other devices?"

It seems like you don't have very many options if you're working in a disconnected environment using Web SQL on the device:

1) Web Services : when you do have connectivity - you send data to a web services page and load it into a master DB.

2) FTP : You could FTP the sqlite database, but you then need to read it on the other side, reconcile it, and then have a way to push it down to the devices again.

3) ?

Does RhoElements support the File IO parts of HTML5 ?

Any other ideas on how you could tackle the data sync issues today?

Anonymous (not verified)
Hi, you're right that RE

Hi, you're right that RE version 2 will add a lot more powerful synchronisation with your backend server.

With RE 1 you can use the networkEvent to detect whether you have network connectivity or not.  When you are offline you can store data locally using ODAX or (preferably) WebSQL; when you regain your network connection you can read out of this database and send the data to your back end (e.g. via AJAX to a Web Service).

Like you say, you could also FTP the .db file but that would be a lot more work.

RhoElements does not currently support the File IO parts of HTML5 and will not do in the next version.  We are looking at integrating this functionality before version 2 is released.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Darryn Campbell
Yes, but if you use

Yes,

but if you use Rhoelements in conjunction with another JS framework that manage HTML5 File IO, you should still be able to do whatever you want.

I do not see Rhoelements as a full JS framework, as many of them exists, and they are of very good quality.

But using RE as a JS layer to the Moto device feature, is how i see it useful.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Darryn Campbell
Got'cha. We'd like to use

Got'cha. We'd like to use RhoElements to also do smaller applications where a full blown web server/database server may not be part of the picture. For example : We develop an application that could scale up to a web server environment - but we'd also like to scale down to where the 'application' is stored on the devices, using WebSQL for the backend and then find a way to communicate with another smaller database platform on the PC that helps with the exchange and management of that data between devices.

hmmm....

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Darryn Campbell
In a potential customer

In a potential customer application for RE, we have a location with no wireless connectivity(very noisy rf environment).  The application would work offline using WebSql to store data and then the terminal would be placed in an ethernet cradle and make a web service call to update a database on a server.  You said "you can use the networkEvent to detect whether you have network connectivity or not".  Will this event detect the available cradle ethernet connection while the device is in the cradle?

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Ronald Diemicke
This is a similar

This is a similar circumstance to what we run into all the time.

So - I *think* you can use the 'Network Module' in RhoElements to check and see if the server is there. If the device is docked and has permission to access the network - it should be successful and then you can initiate the communication with the web service.

You just need to make sure that not only are your users docking the device, but that they pair/setup the device with mobile device center (if you're using vista or 7) or 'connect without setting up device'.

That *should* work.

EDIT- My hope is that in the future we'll be able to detect an activesync connection (which we may be able to do - I need to experiment) and write a CSV/Excel file to the PC from RhoElements. That would help us significantly.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Anonymous (not verified)
Just to add the network

Just to add the network module will detect if a connection is available to a server, regardless of how that connection is made (cradle / wireless).

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Ronald Diemicke
Darryn - What if there is no

Darryn - What if there is no 'server'? What if I just want to detect that it has been connected by a cradle to a PC? Could I use the network library to detect that connection somehow?

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


John Heywood
If you have a router or

If you have a router or switch on your network that runs a web server for web management you could use its IP address and web server port.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


John Heywood
Hi Ronald, No, the Network

Hi Ronald, No, the Network module verifies that a connection can be made to a given physical networked machine, but this could be the IP address of any machine on your network that accepts network (TCP) connections.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Darryn Campbell
Ok - but if you connect it

Ok - but if you connect it via activesync - shouldn't you be able to check the ip address of the machine it's connected to?

Ronald P. Diemicke

Sent from my iPhone

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Darryn Campbell
Yes.  If the machine your

Yes.  If the machine your device is ActiveSync’ing with is itself on a network, then as long as it has a fixed IP address, or it’s host name can be resolved by your DNS, AND the machine has some sort of server (ftp, web server etc) running on a known TCP port then you can use this combination of IP Address or hostname along with the server port to check for an ActiveSync connection.  If the machine is not on a network then it gets a bit more tricky as you would need to use the IP address assigned to the ActiveSync adapter (which you can find from its network properties while the device is connected).  But I've never tried running a server on an ActiveSync IP address.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Log in to post comments