egovernment / eregistrations

Base framework for eRegistrations applications
http://help.eregistrations.org/
MIT License
2 stars 0 forks source link

Throbber and message for server data sync #866

Open medikoo opened 8 years ago

medikoo commented 8 years ago

As reported in https://github.com/egovernment/eregistrations-salvador/issues/1150

vianneyl commented 8 years ago

@medikoo @melux We can also have this in the Part B for each process role, and, for the revision role, have it for each document validation.

medikoo commented 8 years ago

@vianneyl yes we'll assure it automatically appears for every form

medikoo commented 8 years ago

@vianneyl I thought more about that, and I'm not sure whether proposed solution is indeed the best one. There are some factors that need to be taken into account:

User should not feel blocked if data has not been saved to server. He may continue with saving other forms, navigating to other pages, and even closing his browser. As data he input, is saved in local storage of browser, and will be propagated to server as soon as server is accessible again, even if it's in another session.

By providing a throbber we may make him feel blocked to proceed with next section, and I'm not sure if it's right idea, concerning how technically this application works.

It might be better to put some global indicator somewhere in header of a page, some green/yellow/red light bulb that will indicate states: "Some saved data not propagated to the server" (red), "Data in process of propagation" (yellow), "All data propagated" (green). In normal connection it will be just yellow and green indicators, but when there would be problems with connections (or our server would be down) it'll be red.

Such approach, if provided well to user, will give better sense on how this application works.

Let me know.

vianneyl commented 8 years ago

@medikoo We decided on displaying those 2 messages when applicable:

We would like also to have a throbber when we click on the save button.

medikoo commented 7 years ago

Implementation notes: It requires front-end handling