You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by ri...@hyperreal.org on 1999/01/01 20:43:14 UTC
cvs commit: modperl-site/embperl Changes.pod.1.html Embperl.pod.6.html
richter 99/01/01 11:43:14
Modified: embperl Changes.pod.1.html Embperl.pod.6.html
Log:
Embperl Webpages - Changes
Revision Changes Path
1.31 +8 -0 modperl-site/embperl/Changes.pod.1.html
Index: Changes.pod.1.html
===================================================================
RCS file: /export/home/cvs/modperl-site/embperl/Changes.pod.1.html,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- Changes.pod.1.html 1998/12/31 14:01:54 1.30
+++ Changes.pod.1.html 1999/01/01 19:43:13 1.31
@@ -18,6 +18,9 @@
<blockquote>
[<a href="index.html">HOME</a>] [<a href="Changes.pod.cont.html">CONTENT</a>] [<a href="Changes.pod.cont.html">PREV (Revision History - Content)</a>] [<a href="Changes.pod.2.html">NEXT (1.2b3 (BETA) 22 Nov 1998)</a>] <br><hr>
<P>
+Last Update: Fri Jan 1 20:41:24 1999 (MET)
+
+<P>
NOTE: This version is only available via <A HREF="CVS.pod.1.html#INTRO">"CVS"</A>
@@ -46,6 +49,11 @@
will not warn anymore about unsupported CLEAR operation.
- Added tests for session management (%udat, %mdat)
- Added more tests to see that $req_rec is correctly setup
+ - Added module Apache::Session::epDBI which is a subclass of
+ Apache::Session::DBI and corrects a problem with locking and
+ cares of serializing requests, so %mdat works correctly.
+ Please read IMPORTANT NOTE under Session Management in
+ Embperl.pod
</PRE>
<p>[<a href="index.html">HOME</a>] [<a href="Changes.pod.cont.html">CONTENT</a>] [<a href="Changes.pod.cont.html">PREV (Revision History - Content)</a>] [<a href="Changes.pod.2.html">NEXT (1.2b3 (BETA) 22 Nov 1998)</a>] <br>
<font color="#808080">___________________________________________________________________________________<br>
1.4 +33 -10 modperl-site/embperl/Embperl.pod.6.html
Index: Embperl.pod.6.html
===================================================================
RCS file: /export/home/cvs/modperl-site/embperl/Embperl.pod.6.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Embperl.pod.6.html 1998/11/10 09:35:45 1.3
+++ Embperl.pod.6.html 1999/01/01 19:43:13 1.4
@@ -20,18 +20,19 @@
<P>
From 1.2b1 and higher Embperl is able to handle per user sessions for you.
You can store any data in the <EM>%udat</EM> hash and if the same user request again an Embperl document, you will see
-the same values in that hash again.
+the same values in that hash again. (see <STRONG>IMPORTANT NOTE:</STRONG> below for using DBI as storage)
<P>
From 1.2b2 and higher Embperl is able to handle per module/page persitent
data for you. You can store any data in the <EM>%mdat</EM> hash and if any request comes to the same Embperl document, you will see
-the same values in that hash again.
+the same values in that hash again. (see <STRONG>IMPORTANT NOTE:</STRONG> below for <CODE>%mdat</CODE> storage)
<P>
To configure Embperl to do session management for you, you must have
-installed Apache::Session and loaded it before you load Embperl and you
-must tell Embperl which storage you would like to use for Apache::Session,
-by setting the environement variable EMBPERL_SESSION_CLASS. You may have a <STRONG>startup.pl</STRONG> for your httpd which looks like this:
+installed Apache::Session (0.17 or higher) and loaded it before you load
+Embperl and you must tell Embperl which storage you would like to use for
+Apache::Session, by setting the environement variable
+EMBPERL_SESSION_CLASS. You may have a <STRONG>startup.pl</STRONG> for your httpd which looks like this:
<P>
<PRE> $ENV{SESSION_FILE_DIRECTORY}='/tmp/sessions' ;
@@ -49,13 +50,16 @@
<PRE> PerlSetEnv SESSION_FILE_DIRECTORY /tmp/sessions
PerlSetEnv EMBPERL_SESSION_CLASS File
PerlModule Apache::Session::File
- PerlModule HTML::Embperl ;
+ PerlModule HTML::Embperl
</PRE>
<P>
-NOTE: You can use all the environement variables recognized by
+NOTE 1: You can use all the environement variables recognized by
Apache::Session to configure it.
<P>
+NOTE 2: Do not use SetEnv, use PerlSetEnv instead in your httpd/srm.conf
+
+<P>
Now you are able to use the <CODE>%udat</CODE> and <CODE>%mdat</CODE> hashs
for your user/module sessions. As long as you don't touch
<CODE>%udat</CODE> or <CODE>%mdat</CODE> Embperl will not create any
@@ -69,9 +73,28 @@
<P>
<STRONG>NOTE: In the current version (1.2b2) the per user session handling works only under mod_perl,
-CGI will come in one of the next releases</STRONG>. The per module session handling works in all operating modes.
-
-
+CGI will come in one of the next releases</STRONG>. The per module session handling works in all operating modes.
+
+<STRONG>IMPORTANT NOTE for DBI and %mdat usage:</STRONG> The storage of <CODE>%mdat</CODE> requires a proper serialization of the
+access. Apache::Session (version 0.17) is not able to provide this. While
+this is no problem when using the Apache::Session::Win32 as storage class,
+this will be a problem for all other storage medias. The Embperl
+distribution comes with a patch for that purpose. This works only for
+Apache::Session::DBI, so if you like to use %mdat, currently you can only
+do so when using Apache::Session::Win32 or Apache::Session::DBI as storage
+class. To use <STRONG>Apache::Session::DBI</STRONG> together with Embperl you need to use <STRONG>Apache::Session::epDBI</STRONG> (which comes with Embperl) instead. Apache::Session::epDBI has two
+enhancements over standard Apache::Session::DBI. 1.) It serialzies all
+requests. 2.) It corrects a problems which will lead locks to not releases
+with normal Apache::Session::DBI. So your configuration for storing session
+data via DBI might look like the following: PerlSetEnv
+SESSION_DBI_DATASOURCE dbi:mysql:session PerlSetEnv EMBPERL_SESSION_CLASS
+epDBI PerlModule Apache::Session::epDBI PerlModule HTML::Embperl
+
+<P>
+<PRE>
+While usage of B<Apache::Session::File> works ok for the %udat storage, it does B<not> work for the %mdat
+storage, because of the not working locking and serialization.
+</PRE>
<p>[<a href="index.html">HOME</a>] [<a href="Embperl.pod.cont.html">CONTENT</a>] [<a href="Embperl.pod.5.html">PREV (Predefined variables)</a>] [<a href="Embperl.pod.7.html">NEXT ((Safe-)Namespaces and opcode restrictions)</a>] <br>
<font color="#808080">___________________________________________________________________________________<br>
HTML::Embperl - Copyright (c) 1997-1998 Gerald Richter / ECOS