Hi Alan,

I think this is somewhat a matter of style and preference.   While I
have little experience directly with session fields, I have seen
anecdotal evidence that sessions can sometimes cause strange things to
happen in the app, and therefore I tend to shy away from them.  These
strange things are not due to anything in the Mark Logic implementation,
but due to the nature of sessions.  For example, there can be problems
if you have multiple browsers on the same computer looking at the same
application (this is pretty common actually--think how often people have
multiple browser tabs open to different google searches, for example).
In those cases, the sessions will often get confused, and one browser's
state will be used in both browsers.  Also, there might be some browser
bugs and cross browser issues you need to deal with.  From what I can
tell, sessions have come out of favor in the last 5 years.

I would say that URL parameters (ie, the ones you access using
xdmp:get-request-field) are a good, reliable way to keep some level of
state in an application, but like I said, it is a matter of preference.
URL parameters also tend to be good for bookmarking to get you back to
that same state.  Storing things in the database also works well,
especially, as you said, if things start getting too complex for URL
parameters.

I expect different people will have different opinions.   

-Danny  

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Alan
Darnell
Sent: Thursday, December 20, 2007 3:52 PM
To: General Mark Logic Developer Discussion
Subject: [MarkLogic Dev General] xdmp:set-session-field

I'm wondering if there are any best practice recommendations with  
using this function to pass content between pages rendered with  
XQuery.  Is it better to pass data between pages as URL parameters or  
in HTML form elements rather than use session variables?  If the data  
is complex (e.g. a list of uris of documents a user has selected  
during a session), is it better to store this in the database and  
delete it later (e.g. after a user "logs out") rather than try to  
maintain it in a session variable?

Alan

Alan Darnell
University of Toronto

_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general

Reply via email to