annotate doc/tracker_templates.txt @ 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 00fe67eb8a91
children 6985f0ff3df3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2133
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1 =========================
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
2 Roundup Tracker Templates
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
3 =========================
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
4
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
5 The templates distributed with Roundup are stored in the "share" directory
2826
eb0015a2caa5 template contents description changed to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2133
diff changeset
6 nominated by Python. On Unix this is typically
eb0015a2caa5 template contents description changed to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2133
diff changeset
7 ``/usr/share/roundup/templates/`` (or ``/usr/local/share...``) and
6727
3f3ce3004013 issue2551206 - remove mention of roundup installer, fix up windows docs
John Rouillard <rouilj@ieee.org>
parents: 5762
diff changeset
8 on Windows this is ``c:\python27\share\roundup\templates\``.
2133
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
9
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
10 The template loading looks in four places to find the templates:
2826
eb0015a2caa5 template contents description changed to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2133
diff changeset
11
2133
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
12 1. *share* - eg. ``<prefix>/share/roundup/templates/*``.
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
13 This should be the standard place to find them when Roundup is
6728
f83e19465b70 Add new location where templates and locales are found.
John Rouillard <rouilj@ieee.org>
parents: 6727
diff changeset
14 installed running setup.py from source.
f83e19465b70 Add new location where templates and locales are found.
John Rouillard <rouilj@ieee.org>
parents: 6727
diff changeset
15 2. ``install_dir``/../<prefix>/share/....``, where prefix is the
6739
00fe67eb8a91 Update locations templates and locale files are stored
John Rouillard <rouilj@ieee.org>
parents: 6728
diff changeset
16 Python's ``sys.prefix``. ``sys.base_prefix`` or
00fe67eb8a91 Update locations templates and locale files are stored
John Rouillard <rouilj@ieee.org>
parents: 6728
diff changeset
17 `sys.base_prefix/local``. This finds templates (and locales)
6728
f83e19465b70 Add new location where templates and locales are found.
John Rouillard <rouilj@ieee.org>
parents: 6727
diff changeset
18 installed by pip. E.G. in a virtualenv located at (``sys.prefix``):
f83e19465b70 Add new location where templates and locales are found.
John Rouillard <rouilj@ieee.org>
parents: 6727
diff changeset
19 ``/tools/roundup``, roundup would be at:
f83e19465b70 Add new location where templates and locales are found.
John Rouillard <rouilj@ieee.org>
parents: 6727
diff changeset
20 ``/tools/roundup/lib/python3.6/site-packages/roundup``. The
f83e19465b70 Add new location where templates and locales are found.
John Rouillard <rouilj@ieee.org>
parents: 6727
diff changeset
21 templates would be at:
f83e19465b70 Add new location where templates and locales are found.
John Rouillard <rouilj@ieee.org>
parents: 6727
diff changeset
22 ``/tools/roundup/lib/python3.6/site-packages/tools/roundup/share/roundup/templates/``.
6739
00fe67eb8a91 Update locations templates and locale files are stored
John Rouillard <rouilj@ieee.org>
parents: 6728
diff changeset
23 3. ``<roundup.admin.__file__>/../../share/roundup/templates/*``.
2133
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
24 This will be used if Roundup's run in the distro (aka. source)
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
25 directory.
6728
f83e19465b70 Add new location where templates and locales are found.
John Rouillard <rouilj@ieee.org>
parents: 6727
diff changeset
26 4. ``<current working dir>/*``.
2133
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
27 This is for when someone unpacks a 3rd-party template.
6728
f83e19465b70 Add new location where templates and locales are found.
John Rouillard <rouilj@ieee.org>
parents: 6727
diff changeset
28 5. ``<current working dir>``.
2133
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
29 This is for someone who "cd"s to the 3rd-party template dir.
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
30
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
31 Templates contain:
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
32
2826
eb0015a2caa5 template contents description changed to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2133
diff changeset
33 - modules ``schema.py`` and ``initial_data.py``
eb0015a2caa5 template contents description changed to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2133
diff changeset
34 - directories ``html``, ``detectors`` and ``extensions``
eb0015a2caa5 template contents description changed to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2133
diff changeset
35 (with appropriate contents)
5762
b76be13e027e issue2551029: Jinja2 template install error.
John Rouillard <rouilj@ieee.org>
parents: 4557
diff changeset
36 - optional ``config_ini.ini`` file. It is structured like a tracker's
b76be13e027e issue2551029: Jinja2 template install error.
John Rouillard <rouilj@ieee.org>
parents: 4557
diff changeset
37 ``config.ini`` but contains only headers (e.g. ``[main]``) and
b76be13e027e issue2551029: Jinja2 template install error.
John Rouillard <rouilj@ieee.org>
parents: 4557
diff changeset
38 *required* parameters that are different from defaults:
b76be13e027e issue2551029: Jinja2 template install error.
John Rouillard <rouilj@ieee.org>
parents: 4557
diff changeset
39 e.g. ``template_engine = jinja2`` and ``static_files =
b76be13e027e issue2551029: Jinja2 template install error.
John Rouillard <rouilj@ieee.org>
parents: 4557
diff changeset
40 static``. These settings override the default values saved to the
b76be13e027e issue2551029: Jinja2 template install error.
John Rouillard <rouilj@ieee.org>
parents: 4557
diff changeset
41 tracker's ``config.ini``.
2826
eb0015a2caa5 template contents description changed to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2133
diff changeset
42 - template "marker" file ``TEMPLATE-INFO.txt``, which contains
eb0015a2caa5 template contents description changed to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2133
diff changeset
43 the name of the template, a description of the template
eb0015a2caa5 template contents description changed to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2133
diff changeset
44 and its intended audience.
2133
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
45
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
46 An example TEMPLATE-INFO.txt::
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
47
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
48 Name: classic
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
49 Description: This is a generic issue tracker that may be used to track bugs,
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
50 feature requests, project issues or any number of other types
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
51 of issues. Most users of Roundup will find that this template
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
52 suits them, with perhaps a few customisations.
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
53 Intended-For: All first-time Roundup users
f01befe8a7fe *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
54

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