welcome: please sign in

The following 162 words could not be found in the dictionary of 7 words (including 7 LocalSpellingWords) and are highlighted below:
advanced   along   also   altogether   an   and   anonymous   any   are   args   As   automatically   available   be   between   but   By   cache   can   cfg   change   checked   class   code   Code   configuration   configured   cookie   currently   Data   data   def   Default   default   Dependencies   descending   details   dict   different   domain   Domain   enable   example   execute   extension   farm   features   file   filesystem   for   forever   formatter   fractional   framework   from   functionality   get   Handler   handler   Help   Here   hours   How   if   If   ignore   implemented   import   in   includes   instance   is   It   lifetime   like   Loaded   macro   managing   me   more   new   non   None   not   Not   of   On   or   order   other   pages   Path   path   possible   programmer   py   randint   random   recommended   related   remember   Replacing   request   restored   return   run   saved   see   See   send   session   Session   Sessions   sessions   set   Set   setting   share   Should   Some   somewhere   special   state   storage   store   stored   storing   Super   superuser   test   Tests   text   than   that   the   there   this   time   to   trail   undefined   until   usage   use   used   User   user   users   uses   using   value   values   variables   visited   want   wiki   wikis   wish   with   work   you   zero  

Clear message
Page Locked


1. How sessions work in MoinMoin

Sessions in MoinMoin are implemented using a special session handler that can be configured in cfg.session_handler. By default, an instance of the class MoinMoin.session.DefaultSessionHandler is used for managing sessions.

Code using the session framework currently includes:



Domain used in the session cookie.



Path used in the session cookie.



=0: forever, ignore user 'remember_me' setting; >0: n hours, or forever if user checked 'remember_me'; <0 -n hours, ignore user 'remember_me' setting



Set this to a non-zero value to enable anonymous sessions (can be fractional) [hours].

(!) If you run a wiki farm and you want to share the session cookie between farm wikis, you want to change cookie_domain and/or cookie_path.

(!) If you want anonymous users to get session features (e.g. a trail), set anonymous_session_lifetime.

1.2. Replacing session storage

Should you wish to store session data somewhere other than the filesystem cache Moin uses, you can use the DefaultSessionHandler along with a different class descending from DefaultSessionData. See MoinMoin/session.py for more details.

It is also possible but not recommended to use a different session handler altogether.

1.3. Session example code

As an extension programmer, in order to use session variables, you can use request.session like a dict, values stored there are automatically saved and restored if a session is available. Some more advanced usage is possible, see MoinMoin.session.SessionData in the file MoinMoin/session.py.

Here's an example macro using the session code:

   1 # -*- coding: iso-8859-1 -*-
   3 """
   4     Tests session state.
   5 """
   7 Dependencies = ['time']
   9 def execute(macro, args):
  10     if macro.request.session.is_new:
  11         return macro.formatter.text('Not storing any state until you send a cookie.')
  12     if 'test' in macro.request.session:
  13         return macro.formatter.text("Loaded value %d" % macro.request.session['test'])
  14     import random
  15     value = random.randint(1, 100000)
  16     macro.request.session['test'] = value
  17     return macro.formatter.text("Set to value %d" % value)