Hi Everybody,

Im running a Software web application - www.physioplustech.com

My clients are asking for an offline version, where they can Access previous data and they can add new data even without internet connection.

I wish I can create a desktop icon for my application, which when offline opens a limited version of my web application and make atleast few forms availbale offline and few data's they have entered to be availble offline just like Outlook.

When connected to intenet again, those datas stored offline can be pushed to online tables.

IM not a technical geek, IM a medical professional owning this software, anyway even if you speak jargans and I can communicate with my developers.

Kinhdly suggest me a good solution.

Thank you.

Recommended Answers

All 7 Replies

Member Avatar for iamthwee

This question is gaining quite some popularity.

My initial thoughts would be to save the offline data in a text file or create a replica offline server that exists in the company office.

Then you could use dataforge to compare the offline and online databases when an internet connection is made then happily connect.

However, what if the user is on a mobile device, using an app?!

This model of goes out the window. Further research points to using the web browsers cache or a library called persistence.js

I believe that to be the best route to go/explore.

Some suggestions on this topic:
Click Here

This is probably going to be more than a simple add-on to what you already have. You may not be able to justify the extra cost and complexity unless your customers have a legitimate requirement for high reliability and availability; and, the internet connections to some / all customers are pretty unreliable. They have to be willing to pay to get it. If it is strictly data entry, that's not too bad but as soon as you have to do local validation of the data (in an offline mode), you will need to keep a subset of your central data in each location and then the complexity starts to increase significantly. If you discover entry errors when you are trying to sync the data later (possibly hours later), how will the sync program handle that? You may find that low tech solutions (like keeping local manual records and entering the data later) may be more practical.

Thanks for the tips and links to iamthwee & chrishea, I'll forward both your solutions to my developers, and will get back to you for the feedback. :) Thank you again.

Member Avatar for diafol

From looking at your site, I'm assuming a pretty intricate relational database. If you need to say enter a record for an existing patient, then you'd probably need patient ids and details, and maybe past history available locally in order to proceed. Or are you concerned with trivial 'one table' records with no foreign keys?
If the latter, you have many options available, including Chrome/File API for creating files without the need to install a webserver with php or similar. You can then upload (and process) the local file when connection resumes.

Hi Diafol,

you are exactly on the point, To make it little clear, I'll give you more detail about our database and our software.

Although we have many features like, Appointment Scheduling, Medical Documentation, Billing, and practice management. We are planning to provide the clients only with Medical docuemtnation & Billing in the Offline version.

As you have said, in the offline version, Our client should be able to access previous pateint records including patinet ID, previous medical history and previous billing information. So It should be like as we use the offline version of Google Docs, where we can access all the previous data's entered. At the same time my client should be able to add new data to the patient ID's Should be able to generate new patinet ID's in coherrence to the last patient ID, should be able to generate new invoices with coherrent bill numbers and once the internet is connected, the new data's entered in offline should be pushed to the online database.

As far as now, there should be two way communcation, the online records should be downloaded into the clients system and the offline records should be uploaded into the software's databae.

I remember I have made such synchronization with Dropbox. Is it possible to do this with my web application.

Member Avatar for diafol

Is it possible? Maybe. Remember that files are not records, as in your Dropbox experience. Imagine a number of clients create a new patient and related records in other tables. When it comes time to add these records, then there will be an issue with PK values and then FK values in the related tables. That's just one issue.

Yes I can understand, files are different from recods, we are researching on the possible options. Thank you, will update once the work is completed. Untill then you people can give your input & suggestions.

Thanks in advance.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.