view doc/_static/style.css @ 6814:3f60a71b0812

Summary: Support selecion session/otk data store. Add redis as data store. Allow admin to select the backend data store. Compatibility matrix: main\/ session>| anydbm | sqlite | redis | mysql | postgresql | anydbm | D | | X | | | sqlite | X | D | X | | | mysql | | | | D | | postgresql | | | | | D | --------------------------------------------------------------+ D - default if unconfigured, X - compatible choice DETAILS roundup/configuration.py: add config.ini section sessiondb with settings: backend and redis_url. CHANGES.txt, doc/admin_guide.txt, doc/installation.txt, doc/upgrading.txt: doc on config of session db and redis. Plus some other fixes: admin - clarified why we do not drop __words and __testids table in native-fts conversion. TYpo fix. upgrading - doc how you can keep using anydbm for session data with sqlite. Fix dupe sentence in an upgrading config.ini section. roundup/backends/back_anydbm.py, roundup/backends/back_sqlite.py: code to support redis, redis/anydbm backends respectively. roundup/backends/sessions_redis.py new storage backend for redis. roundup/rest.py, roundup/cgi/actions.py, roundup/cgi/templating.py redis uses a different way of calculating lifetime/timestamp. Since expiration of an item occurred if its timestamp was more than 1 week old, code would calculate: now - 1 week + lifetime. But this results in faster expiration in redis if used for lifetime/timestamp. Convert code to use the lifetime() method in BasicDatabase that generates the right timestamp for each backend. test/session_common.py: added tests for more cases, get without default, getall non-existing key etc. timestamp test changed to use new self.get_ts which is overridden in other tests. Test that datatypes survive storage. test/test_redis_session.py: test redis session store with sqlite and anydbm primary databases test/test_anydbm.py, test/test_sqlite.py add test to make sure the databases are properly set up sqlite - add test cases where anydbm is used as datastore anydbm - remove updateTimestamp override add get_ts(). test/test_config.py tests on redis_url and compatibility on choice of sessiondb backend .travis.yml: add redis db and redis-py
author John Rouillard <rouilj@ieee.org>
date Thu, 04 Aug 2022 14:41:58 -0400
parents 515ab1749b14
children b5b1f2830e23
line wrap: on
line source

/* layout*/
body 
{
  font-family: sans-serif, Arial, Helvetica;
  background-color: white;
  color: #333;
  margin:0;
  padding: 0 3em 0 14em;
}
body > .header { margin: 0 0 0 -14em;}
body > .footer { margin: 1em 0 1em -14em; clear:both;}
body > .navigation 
{
  margin-left: -14em;
  width: 14em;
  float: left;
}
body > .content 
{
  width: 100%;
  margin: 0;
}
body > .header > #searchbox { position: absolute; right: 1em; top: 1em;}

/* style */

:link { color: #bb0000; text-decoration: none;}
:visited { color: #770000; text-decoration: none;}
a.toc-backref { color: #000000; }

.header h1 { margin-left: 1em; }

body
{
  font-family: sans-serif, Arial, Helvetica;
  background-color: #f5f5f5;
  color: #333;
}

.menu 
{
  margin-right: 1em;
  padding: 2pt;
  border: solid thin #dadada;
  background-color:#ffffff;
}
.menu ul { list-style-type:none; padding: 0;}
.menu ul ul { padding-left: 1em;}
.menu li { border-top: solid thin #dadada;}
.menu li:first-child { border-top: none;}

/* related */

div.related 
{
  width: 100%;
  font-size: 90%;
}
div.related-top { border-bottom: solid thin #dadada;}
div.related-bottom { border-top: solid thin #dadada;}

div.related ul 
{
  margin: 0;
  padding: 0 0 0 10px;
  list-style: none;
}

div.related li { display: inline;}

div.related li.right 
{
  float: right;
  margin-right: 5px;
}

.footer
{
  font-size: small;
  text-align: center;
  color: lightgrey;
}

.content
{ 
  padding: 1em;
  border: solid thin #dadada;
  background-color: #ffffff;
}

/* This is a little hack to inject a 'news' block into the title
   page without having to set up a custom directive. */
#roundup-issue-tracker .note
{
  float: right;
  width: auto;
  border: solid thin #dadada;
  background-color:#f5f5f5;
  padding: 1em;
  margin: 1em;
}
#roundup-issue-tracker .note .admonition-title { display: none; }

table
{ 
  border-collapse: collapse;
  border-spacing: 1px;
  background-color: #fafafa;
}

a.headerlink {
  font-size: 0.8em;
  margin-left: 0.3em;
  color: #c99;
}

Roundup Issue Tracker: http://roundup-tracker.org/