Problems, need help? Have a tip or advice? Post it here.
11 posts Page 1 of 2
hi,
As detailed in my previous post (viewtopic.php?f=4&t=10873), I'm building a page which relies a lot on 'On Page editing', and I was trying out what happens when you try to save a field when the connection fails. The popup which normally briefly shows a progress indicator does show up, but then freezes or keeps turning, and it becomes impossible to 'click it away'. When the connection is then restored, it doesn't seem to register, so the page is left in that state.

Has anyone else seen this, and/or figured out a way to change this?

It would be nice if you'd be able to wait until the connection is restored, maintaining the editability of the fields, if not the capacity to save right at that moment. An indication: no connection right now, please try in a moment, would be even better.
Is there anyone who could answer this? (Even if just to say whether or not this is the expected behaviour.)
Hi,

I agree, we should do something to cover this situation. I'll add it to my todo list.

That said, you mentioned -
I was trying out what happens when you try to save a field when the connection fails

That suggested to me that you were deliberately trying to create this situation, right?

Could you please let me know how often you happened to run into this in the normal course of things?
Losing connection, can of course, happen but it doesn't seem to be something that occurs so frequently that I'd lose sleep over it (and I am not in a country that can boast of sterling Internet services)..
I agree with @Thijs - this can happen. It is not an unusual situation in case of mobile internet as gsm can suddenly get lost in open air, as well as in tunnels, on the road between cities (railways have its white zones more frequently over paved roads), subway in cities.

@Thijs, I would ask for more information here - are the provided services so important that require to be managed via mobile devices every now and then? I could understand that if there are many admins or clients with member area.

Also, did you test 'lost connection' during form submitting, to get the situation where data saved only partially / cloned page created without essential info stored?

Please elaborate :)
@trendoman, you asked -
Also, did you test 'lost connection' during form submitting, to get the situation where data saved only partially / cloned page created without essential info stored?

The page save process in Couch is wrapped within a SQL transaction so it is a "all or nothing proposition" - either the page gets saved fully or not at all.

So, rest assured, this losing connection use-case will have no impact on database integrity.
It is a UX issue where we need to recover gracefully on the front-end.

As I already admitted, it is definitely something that needs to be looked into.
@KK, seems to be the case where technically it's far from top priority, but from marketing view it's a perfect point to PR. :lol:
Thanks for your replies.

Right, I am artificially interrupting my connection, to see what happens with the submitted changes.

Obviously in most form submissions it is only a matter of re-entering the same data (still known to the person who enters them into the fields), but it also means lost work if it goes wrong, and there is no way back to the form as it was right before submitting it, only to the last saved state.

Btw, this is still for the translation tool that I'm building (now moved to here: translate.thijsvissia.nl), so in my own case it means that I'll be working on a piece of text for a while, then saving occasionally, and moving to the next part (of the split-up full text, spread over several cloned pages). As long as I keep my browser running, I can also wait with saving and continue editing, or leave the page alone to save when there is a connection to do so. As soon as you're working in a richtext field, the editing can involve larger amounts of space and text, so the amount of work that can get lost is correspondingly bigger.

The same goes for a client, using inline edit to change texts on their website, working at it for a while, and not having all changes available to re-enter them a moment later if the submission fails due to a connection outage.
There should be a way to either click to stop the request, which is already failing or has left the page in frozen state, or there should simply be a notification after a timeout that the process has failed and to 'check your connection and try again'.

As far as the cause of the failure, it might be that if there is a real, momentary failure of connection the behaviour is different, and the submission will still succeeds. I haven't been able to test that. What I do now is simply shutting off my wifi, and turning it back on while the request seems to still be processing. Perhaps the request stalls at a certain point, and you're only looking at a spinning wheel? Or does it continue indefinitely?
Do you know any other ways I can test a connection failure or a resumption of the signal?

Either way thank you both for looking into this. It's by no means a crucial issue, but I thought it worth giving my thoughts on and to find if a solution is thinkable.

Edit: for clarity, my own use here is of no real priority, there's no client waiting. I'm building this app to uncover and learn more about what can be done with couch. So if you're aware of this that's all I meant to do. However if you get round to it on your to-do list, I'm interested in a solution.
then saving occasionally

I think, you would forget about 'lost connection' issue, if the input area is ajaxified. Thus, saving could be done in the background every minute (for instance) and without refreshing the page. I see a simple case here. If connection is lost, script pops up a notice and user takes action - restore connection, wait for a minute or click a button on the popup to resave manually, etc.
I never did such a thing with online editing combined, but hopefully there is no real problem there.
trendoman wrote:
then saving occasionally

I think, you would forget about 'lost connection' issue, if the input area is ajaxified.


It would be interesting to try this for another project, but I think for my current purposes I prefer a manual save instead of automatic.
You can keep it manual :) Saving without reloading of the page won't erase inputs, isn't this what you are looking for?
11 posts Page 1 of 2