ProductCart E-Commerce Solutions Homepage
Forum Home Forum Home > ProductCart > Customizing ProductCart
  New Posts New Posts RSS Feed - Retaining Session before a product is in the cart
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

Retaining Session before a product is in the cart

 Post Reply Post Reply
Author
Message
mattprice View Drop Down
Senior Member
Senior Member


Joined: 03-June-2007
Location: United Kingdom
Status: Offline
Points: 0
Post Options Post Options   Thanks (0) Thanks(0)   Quote mattprice Quote  Post ReplyReply Direct Link To This Post Topic: Retaining Session before a product is in the cart
    Posted: 22-June-2009 at 8:08am
Hi everyone,
 
I have purchased the excellent Session Saver add on from Greybeard Design which does a fantastic job at retaining a users cart contents if they leave a session ideal.  I would recommend it to anyone.
 
However, I have one specific instance which I think requires a different solution.  I have lots of BTO products that require the user to spend a long time entering information into a  multiline custom input field box.  The customer will invariably take longer than the 20 minute server session time to fill in this page so is in danger of losing the information typed.  At this point the customer has not added the product to their cart so Greg's add on does not come into play here.
 
I am also thinking that even if I modified Greg's add on to keep the session alive before a poduct is added to the cart then the session saver add on would still not help with my unique scenario because text in an input text box is nothing until it has been executed in a script or form.
 
What I figured I needed was a way to keep the session alive indefinitely when the user is on the configprd.asp only.  i.e the page that displays the custom field input box for my BTO products.  I have been searching around on the net and found somebody in another forum who overcome this problem (for a different application) by adding an invisible 1px x 1px iframe that pulls in an html page with a header meta refresh command in it.  This would mean that the Configprd.asp page would be kept alive all the time the customer is on it playing around with their custom input details.
 
The problem is I just cant get this to work.  Here is the forum entry I found with the iframe idea (the last reply has the session saving page idea !)
 
 
Can anyone help with this idea or offer any alternative ideas ?
 
Matt
 
 
 
Back to Top
Hamish View Drop Down
Admin Group
Admin Group


Joined: 12-October-2006
Location: United Kingdom
Status: Offline
Points: 56
Post Options Post Options   Thanks (0) Thanks(0)   Quote Hamish Quote  Post ReplyReply Direct Link To This Post Posted: 22-June-2009 at 9:00am
Hi Matt,
     I would start by talking nicely to your hosting company and ask them to change the default time-out from 20 mins to, say, 30 or 40 mins, although it must be a devilishly complicated product to take more than 20mins!
See the Inactivity and IIS sections on : wiki.earlyimpact.com/developers/timeout-issues 
Back to Top
mattprice View Drop Down
Senior Member
Senior Member


Joined: 03-June-2007
Location: United Kingdom
Status: Offline
Points: 0
Post Options Post Options   Thanks (0) Thanks(0)   Quote mattprice Quote  Post ReplyReply Direct Link To This Post Posted: 22-June-2009 at 9:24am
Hi Hamish,
 
Thanks for your quick reply.
 
It is not so much complicated but time consuming.  The wording is typically wording for a wedding invitation or service wording for an Order of Service.  It is something a customer will start typing up and then think "how do you spell Mendelssohn's Wedding March ? ( had to check myself :-) )" or do research of wording etiquette etc.  They can ponder their input for ages before adding to their cart or simply wonder off to do something else to return later.
Because it can take them a fair amount of time and thought to enter this text the result of a lost session can be more severe than somebody who has just lost the widgets they added to their basket.
 
I do not want to extend the default server time because for any other product the 20 min default time with Greg's great add on will do the job perfectly.  I just want to hold the session alive long enough for a customer to submit their custom input text.
 
Cheers
Matt
 
Back to Top
Hamish View Drop Down
Admin Group
Admin Group


Joined: 12-October-2006
Location: United Kingdom
Status: Offline
Points: 56
Post Options Post Options   Thanks (0) Thanks(0)   Quote Hamish Quote  Post ReplyReply Direct Link To This Post Posted: 22-June-2009 at 10:13am
Hi Matt,
  It seems to me a possible route to go would be to take this thinking time out of the equation, they could take hours over it and would probably want to. Perhaps a better route would be to use email.
Either send an email with headings for them to fill in the blanks, or perhaps a "downloadable product"  in the form of a document template, which again they would fill in and return via email.  
Just my two cents on alternate approaches :-) 
Back to Top
Greg Dinger View Drop Down
Certified ProductCart Developers
Certified ProductCart Developers
Avatar

Joined: 23-September-2006
Location: United States
Status: Offline
Points: 238
Post Options Post Options   Thanks (0) Thanks(0)   Quote Greg Dinger Quote  Post ReplyReply Direct Link To This Post Posted: 22-June-2009 at 10:39am
Hi Matt,

I would agree with Hamish - if the product you have defined takes so long to configure, you probably need to ask the host to lengthen your session timeout, but then we would need to alter the timer on the session saver to reflect that longer period so that it won't kick in until 35 minutes or so.

Just to clarify, until the configureprd.asp page is submitted with the "add to cart" button, the entries/selections are not seen by the instConfigurePrd.asp page (in the case of BTO products) or instPrd.asp (in the case of any other products.)  It is those two scripts that cause the items to be "added to the cart" which actually means dropping all of the data into an array which is maintained by the system as a session variable.  And it is precisely that session variable that we are protecting with Session Saver. 

As you have gathered, until the shopper submits the page, the entries/selections on the page do not exist in memory.  So no lengthing of the session is going to help address your particular situation, and my utility is targeted at a slightly different scenario than what you are trying to resolve.

I recall seeing web forms that take a great time to complete (college applications and such), and by the time one completes them some session variable is lost - click to submit and the whole mess is lost.  The best strategy in that case was to prepare the text entries for such a form was to prepare it in a Word doc or other such external document.  Then copy/paste to the form in a prompt manner so as to not let the web page get the best of us the next time.  Without seeing your site I cannot say if such a strategy could help, but it may give you some ideas?


Back to Top
mattprice View Drop Down
Senior Member
Senior Member


Joined: 03-June-2007
Location: United Kingdom
Status: Offline
Points: 0
Post Options Post Options   Thanks (0) Thanks(0)   Quote mattprice Quote  Post ReplyReply Direct Link To This Post Posted: 22-June-2009 at 11:31am
Thanks Greg / Hamish,
 
An email / form collection of data is an option we would like to try and avoid because most of these products are drop shipped so it is nice to have the data for our suppliers in place without having to amend the order in the backend.
 
I actually have the iframe page refresh on the ConfigPrd.asp page working so I will test this further and see how I get on.  The "invisible" iframe refreshes in the background without refreshing the ConfigPrd.asp page and clearing the custom input text fields. 
 
Thanks for your help.
 
Matt
 
 


Edited by mattprice - 22-June-2009 at 11:33am
Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 12.04
Copyright ©2001-2021 Web Wiz Ltd.

This page was generated in 0.074 seconds.