Hi Tim,
Latest Pool Doctors sources are available for download from our GitHub page
https://github.com/FourjsGenero/pool_doctors_server is for the Web Services supporting it
https://github.com/FourjsGenero/pool_doctors_web a quick enquiry program to view data on the back-end
https://github.com/FourjsGenero/pool_doctors the mobile app
re: the Urls
https://demo.4js.com/gas/ws/r/pool_doctors_server/service/getProducts returns data
and the Enquiry program should be
https://demo.4js.com/gas/wa/r/pool_doctors_enquiryI suggest editing your code to point to your own instance and then you aren't affected by system admins doing things to that server. (a while back they deleted it, I suspect the PDF was not updated when it was put back with slightly differently URL's hence why you can't find it.). We should probably just point at the GitHub page rather than having .zip available for download on the Genero Mobile site.
My advise is get web services side running first and use this to sync the mobile app. Then when you look at the mobile program, in Studio look at the dependency diagram with the filters set so you don't see the libraries. This will give you a mental picture that relates to the screen navigation. Secondly note the patterns I repeat, the *list 4gl/per that show rows of data, and the *grid 4gl/per that show or edit one row of data.
With 3.0 I modified it to use STACK where possible. If and when I get time I'd like to sub in a different web component (this one
https://github.com/FourjsGenero/wc_signature) to capture signatures as that web component has a mean to view the signature as in image, and also alter the way the web services sync the large photo files.
Re: SOAP or JSON, it is really a SOAP vs REST decision, and then within REST supporting XML and/or JSON and/or other decision. My advise is to look around at public facing API's and note the worldwide trend. Also consider what happens with the passage of time, ask yourself what would happen if you need to include an extra field in the sync, how do you manage that, do you need multiple versions of the sync running to support clients using v1 and other clients using v2 etc, or can one version of the sync process run that supports multiple versions of the client.
Reuben