Fago,

I have run across an interesting problem. I did it first with mine, then with your demo (Just to be sure i wasn't messing things up on my own site)

when you have a node that can have multiple entries (adresses in you example and mine) then i am able to lock up the pageroute.

enter your name and personal info, then click next or continue. goto addresses, and enter the first. choose to add the address, and then choose to add an additional address. once you are on the new address page, try to leave it (without entering info). unless you enter an address, there is no way out of the pageroute. so if a user clicks that tab, he gets stuck entering an address that must later be deleted.

i tried to make my address fields non-required, but the title field is still required and will cause the same problem.

maybe there should be a 'cancel entry' button or something.

thanks!

j

CommentFileSizeAuthor
#6 85442_pageroute_back_link.patch3.23 KBBèr Kessels

Comments

fago’s picture

Status: Active » Closed (works as designed)

yeah, this is the desired behaviour.
If the user has pressed the "add address" button, he has shown that he wants to add an adress. So he has to do so. This also saves users from pressing the wrong button and loosing all the data, they have filled on the last form, as this form doesn't get submitted.

There is only one case where it behaves different. If there is no address and the page is configured to show an add form in this case. Then filling out the form is optional (does the user want to add an address?) and so every other button doesn't submit the add form - however this might be lead inattentive users to filling out the add form and clicking the wrong button, so that their data is lost. This danger should be kept in mind, if one uses this feature.

jbhan’s picture

that makes sense, but no back, cancel, or undo button eh?

i suppose i can add some help text such as:

'if you chose to add an address in error, please enter the required fields and you will have the opportuinity to delete the entry later.'

i am thinking of the novice computer users who may get lost, frustrated, or confused.

j

bluecobalt’s picture

Category: bug » feature
Status: Closed (works as designed) » Active

Hey Fago,

I agree with jbhan, ideally there should be a way for a user to cancel out or back up if they have accidentally pressed the "add address" button, without losing the previous address info that they have already put in. We all have users that will occasionally make this mistake, and it seems the most user-friendly method would be to provide the ability to get out of the situation smoothly. I know that I would be annoyed if it happened to me, and I had to enter in info, only to have to go and delete it afterward.

I'm just barely beginning to wrap my mind around the incredible pageroute/nodeprofile/usernode/nodefamily family of modules. Is it even possible to accomplish this?

And, thank you so much for these amazing modules. You have made so many things possible.

peace,
blue

fago’s picture

Status: Active » Postponed

yeah, you are right. this would be a really nice feature.

Unfortunately I've currently not the time for looking at it. In the meanwhile I set this to postponed.

Bèr Kessels’s picture

The problem is rather simple: Back is a button that POSTs.
People don't expect Back to insert the data into the database, yet it does, and it causes the validation errors.

Can we nog use something else then a POSTing button? E.g. a back link?

Oh, and before people start discussing Cancel buttons as solution, please read this excellent post for background info: http://www.useit.com/alertbox/20000416.html.
IMO the back button makes the mistkes lined out in Nielsens post.

Bèr Kessels’s picture

Status: Postponed » Needs work
StatusFileSize
new3.23 KB

This patch hacks a link in there instead of the button. Its a starter.

Bèr Kessels’s picture

This path only solves the 'back' issue, and not some cancel feature.

As I see it (ande IMO most end-users) we have
* go a page back
* go a page forward
* insert the current filled in data
* don't inser the current filled in data.

What we see now is that buttons combine these features. We have:
* Insert the data -- and proceed to the next form (shown as 'forward')
* Insert the data -- and go back to the previous form (shown as 'back')

The first combined action may make sense, the second does not.

My patch rips the 'insert the data' -- 'and go back' apart and only shows the user the 'and go back' part.

Bu IMO, we should find a way to cover all four actions, and to not hardwire them into two buttons.

fago’s picture

hm, yep I agree with you that on pages where a node creation form is shown, the back button is a bit misleading. It shouldn't save there.

But I think that "* Insert the data -- and go back to the previous form (shown as 'back')" does make sense too, so that a user can also update a profile page and go a page back.

So I think best it would be to introduce a new cancel link or something on all "adding" forms. I'll have a look at this.

fago’s picture

Status: Needs work » Fixed

I've just added the option to add a "Cancel" link to each page to pageroute 5.x.
This link enables the user to cancel filling out the form and so to step forward without submitting the form.
-> fixed for 5.x-dev.

dries’s picture

Status: Fixed » Closed (fixed)