http://hg.code.sf.net:8000/p/roundup/code/atom-log/tip/doc/reference.txt Mercurial Repository: p/roundup/code: doc/reference.txt history 2026-01-28T15:21:02-05:00 doc: fix typo and error in check command http://hg.code.sf.net:8000/p/roundup/code/#changeset-0e712d67a783d192425976031e95546756398e31 John Rouillard rouilj@ieee.org 2026-01-28T15:21:02-05:00 2026-01-28T15:21:02-05:00
changeset 0e712d67a783
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: fix typo and error in check command

change or -> for

In check command replace:

if user.organisation == issue.organisation:
return True

with

return user.organisation == issue.organisation

which returns a real False (not just a falsy None) and is more
pythonic than if X: return True, just return X if False is a valid
value.
files
doc: fix typo. http://hg.code.sf.net:8000/p/roundup/code/#changeset-b99c40b40f18b6365f95b0c5fd41bc9f194aa910 John Rouillard rouilj@ieee.org 2025-12-22T00:08:26-05:00 2025-12-22T00:08:26-05:00
changeset b99c40b40f18
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: fix typo.
files
doc: removed line referencing API change in 1.6 http://hg.code.sf.net:8000/p/roundup/code/#changeset-bc3d3c54e1f01b9e732f933e99077906f10de218 John Rouillard rouilj@ieee.org 2025-11-08T00:40:39-05:00 2025-11-08T00:40:39-05:00
changeset bc3d3c54e1f0
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: removed line referencing API change in 1.6

Removed sentence:

This may be fixed in Roundup 1.6 by introducing
``init_web(client)`` callback or a more flexible extension point
mechanism.

as I think RegisterAction can be used for both cgi/html
interface (action inherits from roundup.cgi.actions.Action) and
rest/xmlrpc interface (action inherits from roundup.actions.Action).
files
doc: spelling correction. http://hg.code.sf.net:8000/p/roundup/code/#changeset-5346abcf429ea5791af8f9097f5286f48d0319e1 John Rouillard rouilj@ieee.org 2025-11-07T22:14:01-05:00 2025-11-07T22:14:01-05:00
changeset 5346abcf429e
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: spelling correction.
files
doc: add check for db.tx_Source to Reauth examples http://hg.code.sf.net:8000/p/roundup/code/#changeset-056061cfe135390799ef5bf4cfa32c7eef8e10ac John Rouillard rouilj@ieee.org 2025-08-25T20:30:51-04:00 2025-08-25T20:30:51-04:00
changeset 056061cfe135
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: add check for db.tx_Source to Reauth examples

Otherwise it triggers on roundup-admin et al
files
[reauth-confirm_id] feat: finish reauth docs, enhance code. http://hg.code.sf.net:8000/p/roundup/code/#changeset-0663a7bcef6c1ac3ff2d11bdbcff893231151377 John Rouillard rouilj@ieee.org 2025-08-13T23:52:49-04:00 2025-08-13T23:52:49-04:00
changeset 0663a7bcef6c
branch reauth-confirm_id
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description feat: finish reauth docs, enhance code.

Decided to keep name Reauth for now.

admin_guide.txt:
add reference mark to roundup admin help. Used for template command
reference in upgrading.txt.

customizing.txt:
added worked example of adding a reauth auditor for address and password.
Also links to OWASP recommendations.

Added link to example code in design.doc on detectors.

glossary.txt:
reference using roundup-admin template command in def for tracker
templates.

pydoc.txt:
Added methods for Client class.

Added class and methods for (cgi) Action, LoginAction and ReauthAction.

reference.txt
Edited and restructured detector section.

Added section on registering a detector and priority use/execution order.
(reference to design doc was used before).

Added/enhanced description of exception an auditor can
raise (includes Reauth).

Added section on Reauth implementation and use (Confirming the User).
Also has paragraph on future ideas.

upgrading.txt
Stripped down the original section. Moved a lot to reference.txt.

Referenced customizing example, mention installation of
_generic.reauth.html and reference reference.txt.

cgi/actions.py:
fixed bad ReST that was breaking pydoc.txt processing

changed doc on limitations of Reauth code.

added docstring for Reauth::verifyPassword

cgi/client.py:
fix ReST for a method breaking pydoc.py processing

cgi/templating.py:
fix docstring on embed_form_fields

templates/*/html/_generic.reauth.html
disable spelling for password field

add timing info to the javascript function that processes file data.

reformat javascript IIFE

templates/jinja2/html/_generic.reauth.html
create a valid jinja2 template. Looks like my original jinja
template got overwritten and committed.

feature parity with the other reauth templates.

test/test_liveserver.py
add test case for Reauth workflow.

Makefile
add doc.
files
[reauth-confirm_id] feat(security): Add user confirmation/reauth for sensitive changes http://hg.code.sf.net:8000/p/roundup/code/#changeset-ef1ea918b07a9a4febcb511cb4b18690324d81cd John Rouillard rouilj@ieee.org 2025-08-11T14:01:12-04:00 2025-08-11T14:01:12-04:00
changeset ef1ea918b07a
branch reauth-confirm_id
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description feat(security): Add user confirmation/reauth for sensitive changes

Auditors can raise Reauth(reason) exception to require the user to
enter a token (e.g. account password) to verify the user is performing
the change.

Naming is subject to change.

actions.py: New ReauthAction class handler and verifyPassword() method
for overriding if needed.

client.py: Handle Reauth exception by calling Client:reauth() method.
Default client:reauth method. Add 'reauth' action declaration.

exceptions.py: Define and document Reauth exception as a subclass of
RoundupCGIException.

templating.py: Define method utils.embed_form_fields().

The original form making a change to the database has a lot of form
fields. These need to be resubmitted to Roundup as part of the form
submission that verifies the user's password.

This method turns all non file form fields into type=hidden inputs.
It escapes the names and values to prevent XSS.

For file form fields, it base64 encodes the contents and puts them
in hidden pre blocks. The pre blocks have data attributes for the
filename, filetype and the original field name. (Note the original
field name is not used.)

This stops the file content data (maybe binary e.g. jpegs) from
breaking the html page. The reauth template runs JavaScript that
turns the encoded data inside the pre tags back into a file. Then
it adds a multiple file input control to the page and attaches all
the files to it. This file input is submitted with the rest of the
fields.

_generic.reauth.html (multiple tracker templates): Generates a form
with id=reauth_form to:

display any message from the Reauth exception to the user (e.g. why
user is asked to auth).

get the user's password

submit the form

embed all the form data that triggered the reauth

recreate any file data that was submitted as part of the form and
generate a new file input to push the data to the back end

It has the JavaScript routine (as an IIFE) that regenerates a file
input without user intervention.

All the TAL based tracker templates use the same form. There is also
one for the jinja2 template. The JavaScript for both is the same.

reference.txt: document embed_form_fields utility method.

upgrading.txt: initial upgrading docs.

TODO:

Finalize naming. I am leaning toward ConfirmID rather than Reauth.
Still looking for a standard name for this workflow.

Externalize the javascript in _generic.reauth.html to a seperate file
and use utils.readfile() to embed it or change the script to load it
from a @@file url.

Clean up upgrading.txt with just steps to implement and less feature
detail/internals.

Document internals/troubleshooting in reference.txt.

Add tests using live server.
files
doc: better document the template property in the request object. http://hg.code.sf.net:8000/p/roundup/code/#changeset-e0e3212c1e80dfdc2878a530010cd2afa2be81d1 John Rouillard rouilj@ieee.org 2025-07-12T17:25:03-04:00 2025-07-12T17:25:03-04:00
changeset e0e3212c1e80
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: better document the template property in the request object.
files
doc: update doc on tal:replace and tal:content http://hg.code.sf.net:8000/p/roundup/code/#changeset-628794414f5fb9b7ca56db6e1ab17646e4ff1c52 John Rouillard rouilj@ieee.org 2025-07-12T17:07:50-04:00 2025-07-12T17:07:50-04:00
changeset 628794414f5f
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: update doc on tal:replace and tal:content

Describe use of tal:replace for XSS and how to execute a replaced tag
with <tal:x> and tal:content.
files
docs: fix doc for registerUtilMethod; style tweak for internal docs. http://hg.code.sf.net:8000/p/roundup/code/#changeset-586e49dda652a8f4797105596837c9134350c68e John Rouillard rouilj@ieee.org 2025-07-03T13:23:36-04:00 2025-07-03T13:23:36-04:00
changeset 586e49dda652
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description docs: fix doc for registerUtilMethod; style tweak for internal docs.

Pul the list pseudoheader style spacing tweat ot the stylesheet used
to generate the released docs.

Fix doc on arg to function defined with registerUtilMethod.
files
Add "form" parameter for Date field method http://hg.code.sf.net:8000/p/roundup/code/#changeset-3ba8078843dbecc2c25e1341b7e7a9970220ef27 Ralf Schlatterbeck rsc@runtux.com 2025-02-19T12:50:07+01:00 2025-02-19T12:50:07+01:00
changeset 3ba8078843db
branch
bookmark
tag
user Ralf Schlatterbeck <rsc@runtux.com>
description Add "form" parameter for Date field method

Allow the specification of a "form" parameter for Date fields to make
the popup calendar work when the enclosing form has a name different
from "itemSynopsis".
files
Make native date and number elements configurable http://hg.code.sf.net:8000/p/roundup/code/#changeset-b99e76e764967599da7978a4d57365a155f8827e Ralf Schlatterbeck rsc@runtux.com 2025-02-19T12:38:06+01:00 2025-02-19T12:38:06+01:00
changeset b99e76e76496
branch
bookmark
tag
user Ralf Schlatterbeck <rsc@runtux.com>
description Make native date and number elements configurable

Now for Number() and Integer() properties the browser-native number
format can be configured with the use_browser_number_input config item
in seciont [web]. The default is 'yes'. For Date() properties the config
item is use_browser_date_input (also in section [web]) but the default
is 'no'.

In addition when defining Date() properties, these now have a parameter
'display_time' which defaults to 'yes' and a 'format' parameter which
defaults to None. These set defaults for the field() method of the
DateHTMLProperty which have the same parameters (but the display_time
parameter of field() takes a boolean, not 'yes'/'no').
files
fix: issue2551390 - Replace text input/calendar popup with native date input http://hg.code.sf.net:8000/p/roundup/code/#changeset-2bf0c4e7795e383a6722e70d071361bb3db45b2c John Rouillard rouilj@ieee.org 2025-01-18T12:23:23-05:00 2025-01-18T12:23:23-05:00
changeset 2bf0c4e7795e
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description fix: issue2551390 - Replace text input/calendar popup with native date input

Docs, code and test changes for the changeover to a native date
element.

See issue for details.
files
docs: clarify wording, fix index, add superseder link http://hg.code.sf.net:8000/p/roundup/code/#changeset-09e8d1a4c796f8d2f363a02cec012b3a06d16d83 John Rouillard rouilj@ieee.org 2025-01-08T11:39:54-05:00 2025-01-08T11:39:54-05:00
changeset 09e8d1a4c796
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description docs: clarify wording, fix index, add superseder link

Make superseder, messages etc. properties index entries point to the
right place.

Link to description of using Superseder in the original overview.

fix bad wording on boolean properties.
files
docs: link to Client and TemplatingUtils class/method docstrings http://hg.code.sf.net:8000/p/roundup/code/#changeset-78b13272d41bb3602602e155e8a5e6f6254f14f7 John Rouillard rouilj@ieee.org 2025-01-07T23:00:35-05:00 2025-01-07T23:00:35-05:00
changeset 78b13272d41b
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description docs: link to Client and TemplatingUtils class/method docstrings

pydoc.txt:
new page. Has two example autodoc invocations: automethod and autoclass.

docs.txt
Added pydoc.txt as a hidden page in a new toc in docs.txt. Added
includehidden in toc directive.Not sure what it does, but was part
of a recipie to hide the pydoc from the main TOC.

conf.py:
added sphinx.ext.autodoc to get it pulling in the docs.

reference.txt:

added references to the pydoc using :py:meth: for templating utils
methods like set-http_response and :py:class: for Client as the
existing docs referenced the docstrings.

Changed table formatting for the TemplatingUtils methods from table
to list-table. The length of the references to the methods was too
large to exist in the first column of a drawn table.


For right now the pydoc stuff is only referenced via links from the
main docs. Currently it is ugly, but the additional info on tempating
utils and their arguments can be helpful.

Added sphin
files
feat: add templating utils method dynamically; method to set http code http://hg.code.sf.net:8000/p/roundup/code/#changeset-2a7c3eeaf167484beb05fecb7348f43d10cf8a7e John Rouillard rouilj@ieee.org 2025-01-07T20:22:33-05:00 2025-01-07T20:22:33-05:00
changeset 2a7c3eeaf167
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description feat: add templating utils method dynamically; method to set http code

Added new utils.set_http_response(integer) to set the HTML response
code from a template. Useful for error handling inside template.

Also noted that a real TemplatingUtils (like set_http_response) method
gets the TemplatingUtils object instance, but there is no way to do
this with registerUtil() from an extension file.

Added new instance.registerUtilMethod() method to register a function
in an extension as a method passing the client instance in as the first
parameter (aka self).
files
docs: doc new types in user_guide; alphabetize types in reference. http://hg.code.sf.net:8000/p/roundup/code/#changeset-7d72b9a9fe9c70cdfbf410228e338bc5b1d80506 John Rouillard rouilj@ieee.org 2025-01-01T15:48:01-05:00 2025-01-01T15:48:01-05:00
changeset 7d72b9a9fe9c
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description docs: doc new types in user_guide; alphabetize types in reference.

user_guide.txt:

Removed Number from String and Number Properties. Added new Integer
and Number Properties sections to the user guide. Number Proprty
formats defined: no thousand separators, '.' decimal separator,
supports scientific 2E4 style input. Ordered in rough order of use.

reference.txt:

Alphabetized the types in the reference manual for easy lookup.
Fixed sentence on quiet property.
files
Merge permission-performance branch http://hg.code.sf.net:8000/p/roundup/code/#changeset-25950b6202467467b33753a22aeccc213630d1c5 Ralf Schlatterbeck rsc@runtux.com 2024-11-26T12:33:17+01:00 2024-11-26T12:33:17+01:00
changeset 25950b620246
branch
bookmark
tag
user Ralf Schlatterbeck <rsc@runtux.com>
description Merge permission-performance branch

This fixes issue2551330:
Add an optional 'filter' function to the Permission objects and the
addPermission method. This is used to optimize search performance by not
checking items returned from a database query one-by-one (using the
check function) but instead offload the permission checks to the
database. For SQL backends this performs the filtering in the database.
files
[permission-performance] Document that filter() can return more than just filterspec params http://hg.code.sf.net:8000/p/roundup/code/#changeset-dd60d604a85233a5a7a801cb6e795247c1c1e608 John Rouillard rouilj@ieee.org 2024-11-20T09:34:56-05:00 2024-11-20T09:34:56-05:00
changeset dd60d604a852
branch permission-performance
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description Document that filter() can return more than just filterspec params

Document that filter() can return retired and exct_match_spec
parameters as well.

Also that the filter() params are incorporated in the database query
rather than filtering the data after it is returned from the database.
Ralf can you verify that this rewite is correct?
files
[permission-performance] unwrap examples; clarify text http://hg.code.sf.net:8000/p/roundup/code/#changeset-d3a1094b15eb7948d7dff3211235db5ca35fce85 John Rouillard rouilj@ieee.org 2024-11-20T09:28:08-05:00 2024-11-20T09:28:08-05:00
changeset d3a1094b15eb
branch permission-performance
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description unwrap examples; clarify text

some examples were overflowing the box when displayed as
html. Reformat to prevent overflow/wrap.

Also clarify some example text.
files
[permission-performance] clarify filter text. http://hg.code.sf.net:8000/p/roundup/code/#changeset-f7037cb913965b30d44288041e523af84d59028c John Rouillard rouilj@ieee.org 2024-11-20T09:26:13-05:00 2024-11-20T09:26:13-05:00
changeset f7037cb91396
branch permission-performance
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description clarify filter text.

Ralf verified this rewording of his original text. Also added hyperlinks to
some items.
files
[permission-performance] markup fixes and word typo fix. http://hg.code.sf.net:8000/p/roundup/code/#changeset-3f720edd95945206bb7dd59b93f680aec6250088 John Rouillard rouilj@ieee.org 2024-11-12T11:52:40-05:00 2024-11-12T11:52:40-05:00
changeset 3f720edd9594
branch permission-performance
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description markup fixes and word typo fix.

Now passes 'make html' in website/www.
files
[permission-performance] Improve section on filter function http://hg.code.sf.net:8000/p/roundup/code/#changeset-67a0fc4f99346b84c6ae376488644cd1ea9eae54 Ralf Schlatterbeck rsc@runtux.com 2024-11-11T11:25:55+01:00 2024-11-11T11:25:55+01:00
changeset 67a0fc4f9934
branch permission-performance
bookmark
tag
user Ralf Schlatterbeck <rsc@runtux.com>
description Improve section on filter function

The security Permission now can have a filter function, document the
usage in more detail.
files
doc: fix typo. http://hg.code.sf.net:8000/p/roundup/code/#changeset-0692740e9b56506060adb80935defe0f11755e85 John Rouillard rouilj@ieee.org 2024-10-23T17:49:23-04:00 2024-10-23T17:49:23-04:00
changeset 0692740e9b56
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: fix typo.
files
doc: document Search permission ignores a check clause. http://hg.code.sf.net:8000/p/roundup/code/#changeset-f5aa7853abda7fa9a2e116c4211d2369dc587a36 John Rouillard rouilj@ieee.org 2024-10-23T13:26:18-04:00 2024-10-23T13:26:18-04:00
changeset f5aa7853abda
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: document Search permission ignores a check clause.

Also update formating and add a couple of missing User permisions to
list for classic tracker. There are more missing.
files
[permission-performance] Add documentation for the filter function http://hg.code.sf.net:8000/p/roundup/code/#changeset-7b6615fb37fc3f9dc7efab9cfae3bc8c37f818f2 Ralf Schlatterbeck rsc@runtux.com 2024-10-23T14:49:45+02:00 2024-10-23T14:49:45+02:00
changeset 7b6615fb37fc
branch permission-performance
bookmark
tag
user Ralf Schlatterbeck <rsc@runtux.com>
description Add documentation for the filter function
files
docs: replace redirecting url's with target http://hg.code.sf.net:8000/p/roundup/code/#changeset-394f72021dad0d3968066d769c7b29bce8c2d157 John Rouillard rouilj@ieee.org 2024-09-25T21:18:37-04:00 2024-09-25T21:18:37-04:00
changeset 394f72021dad
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description docs: replace redirecting url's with target
files
docs: fix typo extra backquote. http://hg.code.sf.net:8000/p/roundup/code/#changeset-98ad6d786bef87629215eb47b41c26820289c3d7 John Rouillard rouilj@ieee.org 2024-07-17T00:31:35-04:00 2024-07-17T00:31:35-04:00
changeset 98ad6d786bef
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description docs: fix typo extra backquote.
files
docs: issue2550961 - required attribute incorrectly shown when using field() http://hg.code.sf.net:8000/p/roundup/code/#changeset-c6030fa9362ebb5d23440474aae01e6e6ff12ad9 John Rouillard rouilj@ieee.org 2024-07-17T00:31:04-04:00 2024-07-17T00:31:04-04:00
changeset c6030fa9362e
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description docs: issue2550961 - required attribute incorrectly shown when using field()

Document how to use field(required=None) so input has just the
bareword required rather than required=X in the tag.
files
docs: list/describe macros defined in page.html http://hg.code.sf.net:8000/p/roundup/code/#changeset-14a10cc9b7b474c067455d37d27f1f594bd931a7 John Rouillard rouilj@ieee.org 2024-06-05T20:55:22-04:00 2024-06-05T20:55:22-04:00
changeset 14a10cc9b7b4
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description docs: list/describe macros defined in page.html
files
fix: issue2551347 - make _generic.help.html work without property settings http://hg.code.sf.net:8000/p/roundup/code/#changeset-c05ea62b4c7a71d9c300592ada956f997e2a3095 John Rouillard rouilj@ieee.org 2024-05-02T22:11:37-04:00 2024-05-02T22:11:37-04:00
changeset c05ea62b4c7a
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description fix: issue2551347 - make _generic.help.html work without property settings

This lets the classhelp() method run in read only mode to provide
information on a Link property without updating the property.

Updating the property can be done by selecting the proper value using
the drop-down.

Update classic and minimal templates to allow this to work.

Update upgrading and reference docs.
files
doc: use generated config.ini in reference.txt http://hg.code.sf.net:8000/p/roundup/code/#changeset-6aa0525187cd1616f586a32a92fd1b3872cea637 John Rouillard rouilj@ieee.org 2024-04-29T04:17:10-04:00 2024-04-29T04:17:10-04:00
changeset 6aa0525187cd
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: use generated config.ini in reference.txt

Deleted the manually maintained config.ini reference items.

Lost a few nice index references along the way but...

Updated configuration.py with longer descriptions from the manually
maintained items where appropriate.

Checking in the generated tracker_config.txt and the Makefile used
to generate the config and the man pages and then generate local
documentation using setup.py build_docs.
files
doc: clarify use of DEFAULT section and interpolation in config files. http://hg.code.sf.net:8000/p/roundup/code/#changeset-d4f6ba8e3c1e665b47fd7ca4bb97646c519b259e John Rouillard rouilj@ieee.org 2024-04-14T20:08:29-04:00 2024-04-14T20:08:29-04:00
changeset d4f6ba8e3c1e
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: clarify use of DEFAULT section and interpolation in config files.
files
doc: vale corrections and some rewriting. http://hg.code.sf.net:8000/p/roundup/code/#changeset-6c219034bf31d7b566f703537c1332e6db52e814 John Rouillard rouilj@ieee.org 2024-04-07T23:16:58-04:00 2024-04-07T23:16:58-04:00
changeset 6c219034bf31
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: vale corrections and some rewriting.
files
doc: vale fixes, update TAL repeat object section. http://hg.code.sf.net:8000/p/roundup/code/#changeset-1774fdf2010a97e17e18c3e61d92465c3c3c30f9 John Rouillard rouilj@ieee.org 2024-04-07T20:58:58-04:00 2024-04-07T20:58:58-04:00
changeset 1774fdf2010a
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: vale fixes, update TAL repeat object section.

For repeat object/variable, added back first() and last() methods now
that they are fixed. Moved start/end properties to separate property
table along with index.

Added details on how even works (e.g. even() is True when number() is
1 because the index is 0 which is even). Document returns from methods
are mostly truthy and not true.
files
doc: add documention for boolean field() arguments. http://hg.code.sf.net:8000/p/roundup/code/#changeset-ee586ff074ed58b81e60af76445235fb969c0241 John Rouillard rouilj@ieee.org 2024-04-07T15:33:33-04:00 2024-04-07T15:33:33-04:00
changeset ee586ff074ed
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: add documention for boolean field() arguments.
files
fix: document/fix wrapped HtmlProperty method. http://hg.code.sf.net:8000/p/roundup/code/#changeset-b080cdb8b19909930f738068151224d8f93bf787 John Rouillard rouilj@ieee.org 2024-04-07T15:27:18-04:00 2024-04-07T15:27:18-04:00
changeset b080cdb8b199
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description fix: document/fix wrapped HtmlProperty method.

The wrapped method was not documented in reference.txt.

It is now documented in reference.txt. The docstring documented that
it would not break up long words. Fixed by adding
break_long_words=False to prevent breaking string longer than the wrap
length. Wrapping was breaking the hyperlinking of long urls.

Added columns argument to set the wrap length (default 80 columns).
files
doc: vale fixups; clarifications http://hg.code.sf.net:8000/p/roundup/code/#changeset-5cf8a7027595407638e6e24eb408e712fdd323b0 John Rouillard rouilj@ieee.org 2024-04-07T13:55:01-04:00 2024-04-07T13:55:01-04:00
changeset 5cf8a7027595
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: vale fixups; clarifications

clarify modal workflow, move bulk edit workflow from middle of edit
item worflow to after.

Clarify postfix expression use with Link items.

Add rst() and markdown() to stext() and mark stext as depricated
(maybe even this release cycle).

More TAL examples.

Refill some paragraphs to 65 character lines.

Various other fixes pointed out by vale.
files
doc: Add a missing line fix sphinx error. http://hg.code.sf.net:8000/p/roundup/code/#changeset-90abf3721fcccc9ce575433346345e7e5ca8db73 John Rouillard rouilj@ieee.org 2024-04-07T11:25:15-04:00 2024-04-07T11:25:15-04:00
changeset 90abf3721fcc
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: Add a missing line fix sphinx error.
files
doc(lint): address more vale complaints. http://hg.code.sf.net:8000/p/roundup/code/#changeset-376f70513242e720dea7db2e79e1dd178209cbb6 John Rouillard rouilj@ieee.org 2024-04-03T16:53:13-04:00 2024-04-03T16:53:13-04:00
changeset 376f70513242
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc(lint): address more vale complaints.

Also restructured a couple of section to clean them up or alphabetize
the section (e.g. for properties or url parameters).

Also fixed up list of url's to include a home url and make items 1-6
in the explantion match items 1-6 in the example url's. Hopefully this
makes things clearer.
files
doc(lint): use vale to rewrite things to be clearer. http://hg.code.sf.net:8000/p/roundup/code/#changeset-047c02dfa267987ea0eafa32b67560afe5c78a3f John Rouillard rouilj@ieee.org 2024-04-01T18:57:11-04:00 2024-04-01T18:57:11-04:00
changeset 047c02dfa267
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc(lint): use vale to rewrite things to be clearer.

Also some formating/whitespace changes.
files
issue2551328/issue2551264 unneeded next link and total_count incorrect http://hg.code.sf.net:8000/p/roundup/code/#changeset-03c1b7ae3a6827724ecf71b9674ebb50541f0648 John Rouillard rouilj@ieee.org 2024-04-01T09:57:16-04:00 2024-04-01T09:57:16-04:00
changeset 03c1b7ae3a68
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description issue2551328/issue2551264 unneeded next link and total_count incorrect

Fix: issue2551328 - REST results show next link if number of
results is a multiple of page size. (Found by members of
team 3 in the UMass-Boston CS682 Spring 2024 class.)

issue2551264 - REST X-Total-Count header and @total_size
count incorrect when paginated

These issues arose because we retrieved the exact number of rows
from the database as requested by the user using the @page_size
parameter. With this changeset, we retrieve up to 10 million + 1
rows from the database. If the total number of rows exceeds 10
million, we set the total_count indicators to -1 as an invalid
size. (The max number of requested rows (default 10 million +1)
can be modified by the admin through interfaces.py.)

By retrieving more data than necessary, we can calculate the
total count by adding @page_index*@page_size to the number of
rows returned by the query.

Furthermore, since we return more than @page_size rows, we can
determine the existence of a row at @page_size+1 and use that
information to determine if a next link should be
provided. Previously, a next link was returned if @page_size rows
were retrieved.

This change does not guarantee that the user will get @page_size
rows returned. Access policy filtering occurs after the rows are
returned, and discards rows inaccessible by the user.

Using the current @page_index/@page_size it would be difficult to
have the roundup code refetch data and make sure that a full
@page_size set of rows is returned. E.G. @page_size=100 and 5 of
them are dropped due to access restrictions. We then fetch 10
items and add items 1-4 and 6 (5 is inaccessible). There is no
way to calculate the new database offset at:
@page_index*@page_size + 6 from the URL. We would need to add an
@page_offset=6 or something.

This could work since the client isn't adding 1 to @page_index to
get the next page. Thanks to HATEOAS, the client just uses the
'next' url. But I am not going to cross that bridge without a
concrete use case.

This can also be handled client side by merging a short response
with the next response and re-paginating client side.

Also added extra index markers to the docs to highlight use of
interfaces.py.
files
issue2551270 - Better templating support for JavaScript http://hg.code.sf.net:8000/p/roundup/code/#changeset-219fc5804345cfe3775b2613e96185c719dcc270 John Rouillard rouilj@ieee.org 2024-03-26T14:15:46-04:00 2024-03-26T14:15:46-04:00
changeset 219fc5804345
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description issue2551270 - Better templating support for JavaScript

Add (templating) utils.readfile(file, optional=False) and
utils.expandfile(file, token_dict=None, optional=False). Allows
reading an external file (e.g. JavaScript) and inserting it using
tal:contents or equivalent jinja function. expandfile allows setting
a dictionary and tokens in the file of the form "%(token_name)s"
will be replaced in the file with the values from the dict.

See method doc blocks or reference.txt for more info.

Also reordered table in references.txt to be case sensitive
alphabetic. Added a paragraph on using python's help() to get
method/function/... documention blocks.

in templating.py _find method. Added explicit return None calls to all
code paths. Also added internationalization method to the
TemplatingUtils class. Fixed use of 'property' hiding python builtin
of same name.

Added tests for new TemplatingUtils framework to use for testing existing
utils.
files
doc: document how to set the Content-Type for a template. http://hg.code.sf.net:8000/p/roundup/code/#changeset-6405bead6f47af82b5615e61a5350cc99ff40653 John Rouillard rouilj@ieee.org 2024-03-13T18:16:51-04:00 2024-03-13T18:16:51-04:00
changeset 6405bead6f47
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: document how to set the Content-Type for a template.
files
doc: fix formatting for indexarg_url. http://hg.code.sf.net:8000/p/roundup/code/#changeset-74771afca2b648144b6f3c88a5f0062103e1e7d9 John Rouillard rouilj@ieee.org 2024-03-05T09:04:08-05:00 2024-03-05T09:04:08-05:00
changeset 74771afca2b6
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: fix formatting for indexarg_url.
files
doc: make top of table columns align http://hg.code.sf.net:8000/p/roundup/code/#changeset-191a91f6a7c91e9030fe98c68e8c703ea3271e2f John Rouillard rouilj@ieee.org 2024-03-04T20:08:11-05:00 2024-03-04T20:08:11-05:00
changeset 191a91f6a7c9
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: make top of table columns align

Added:

.. table::
:class: valign-top

in multiple places. It adds the valign-top class to each table to make
the left hand column (label/index) align with the top of the
description in the right hand column.

This prevents the label from being 1/2 way down the screen when there is
a large description that starts at the top of the screen.

This needs to be done throughout the docs. rest.txt already has it done.
files
doc: fix repeat section first -> start, last -> end http://hg.code.sf.net:8000/p/roundup/code/#changeset-315f40fd0e674aecaf956b0f35e41ef3805a5a34 John Rouillard rouilj@ieee.org 2024-02-28T21:40:41-05:00 2024-02-28T21:40:41-05:00
changeset 315f40fd0e67
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: fix repeat section first -> start, last -> end

The repeat documentation for TAL states there are first and last
methods. They do exist, but don't work as documented. Replace with
first and last methods that match current TAL and PHPTal method
documentation.

Also create a simple example of using end.
files
doc: clean table for "the request variable" http://hg.code.sf.net:8000/p/roundup/code/#changeset-2b0164ac5cfadf5d3e970abce0040a5554708810 John Rouillard rouilj@ieee.org 2024-02-13T13:07:57-05:00 2024-02-13T13:07:57-05:00
changeset 2b0164ac5cfa
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: clean table for "the request variable"

alphabetize the keys, also remove second form key from first table.
files
doc: fix typo http://hg.code.sf.net:8000/p/roundup/code/#changeset-f14409a760e3fd8248b44991c0e2e431b2a55572 John Rouillard rouilj@ieee.org 2024-02-12T14:59:06-05:00 2024-02-12T14:59:06-05:00
changeset f14409a760e3
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: fix typo
files
feat: issue2550852 - support using a specified PostgreSQL db schema http://hg.code.sf.net:8000/p/roundup/code/#changeset-3071db43bfb6d957b2dab43ae0f9df0e98f86002 John Rouillard rouilj@ieee.org 2023-12-27T22:52:14-05:00 2023-12-27T22:52:14-05:00
changeset 3071db43bfb6
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description feat: issue2550852 - support using a specified PostgreSQL db schema

Finally after 7 years this is closed.

roundup/backends/back_postgresql.py:
Support use of schema when specified in RDBMS_NAME. Stuart McGraws
code is finally merged 8-).

test/test_postgresql.py, test/conftest.py:
Run all postgresql tests in the schema db as well.
Also make sure that db_nuke raises an error when trying to delete
the schema test database. Conftest defines pg_schema mark that can
be used to exclude schema tests with pytest -m "not pg_schema".

roundup/configuration.py:
change doc on RDBMS_NAME to include db.schema form.

.travis.yml, .github/workflows/ci-test.yml:
create schema test db; add user for testing with schema; grant new
user create privs for schema.

doc/installation.txt:
Reference to roundup-admin init deleting schema added.

doc/mysql.txt doc/postgresql.txt:
New documentation on psql/mysql commands to set up a production db.

doc/upgrading.txt:
mention schema support, also document service setting for
selecting connection from pg_service.conf.

doc/reference.txt:
update config.ini documentation for RDBMS_NAME.
files
feat(db): support using postgresql service connection file http://hg.code.sf.net:8000/p/roundup/code/#changeset-4af0d235b5709fef74ad266a14fe243260d48199 John Rouillard rouilj@ieee.org 2023-11-07T12:11:37-05:00 2023-11-07T12:11:37-05:00
changeset 4af0d235b570
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description feat(db): support using postgresql service connection file

Add new service rdbms config option to set the service name to be used
with a postgresql service connection file.

This can be done using the PGSERVICE environment variable for a single
instance tracker server. For a multi-instance server this per-tracker
config option is needed.

Note that settings (host, user, (db)name...) in config.ini file will
override the service connection file setting. Also setting PGSERVICE
and service will use the service setting.
files
doc: add statement on less stable nature of using interfaces.py http://hg.code.sf.net:8000/p/roundup/code/#changeset-c09192e21faa778ae165eeb9a82643220d152d9b John Rouillard rouilj@ieee.org 2023-10-29T14:54:32-04:00 2023-10-29T14:54:32-04:00
changeset c09192e21faa
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description doc: add statement on less stable nature of using interfaces.py
files
clarify doc on dispatcher_email config setting. http://hg.code.sf.net:8000/p/roundup/code/#changeset-d30e534b078aafaf5d497a4e5f14ad84f07ed087 John Rouillard rouilj@ieee.org 2023-10-10T20:33:22-04:00 2023-10-10T20:33:22-04:00
changeset d30e534b078a
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description clarify doc on dispatcher_email config setting.

An issue was brought up on the mailing list.

https://sourceforge.net/p/roundup/mailman/message/43383465/

The description of dispatcher_email sounds like it should be sent
email on issue creation. That's not it's role. Try to make it's role
more obvious.

Fix config.ini and reference.txt description.

Add the newissuecopy.py detector to send email on the creation of an
issue
files
docs: add "roles" to list of required user object properties. http://hg.code.sf.net:8000/p/roundup/code/#changeset-f58582135861d4e7c3686e02ec3bfbb333b9615d John Rouillard rouilj@ieee.org 2023-09-24T00:36:20-04:00 2023-09-24T00:36:20-04:00
changeset f58582135861
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description docs: add "roles" to list of required user object properties.

Not sure why it wasn't there before. Without the "roles" property the
authorization system kind of fails.
files
Fix typo in index reference http://hg.code.sf.net:8000/p/roundup/code/#changeset-b5dff5dd47638339f8ffda8f3372e3c87f4b19fc John Rouillard rouilj@ieee.org 2023-07-22T22:05:44-04:00 2023-07-22T22:05:44-04:00
changeset b5dff5dd4763
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description Fix typo in index reference
files
rework a confusing sentance. http://hg.code.sf.net:8000/p/roundup/code/#changeset-b8f012c7c5a766cd4f2eff080a07fd0c306f2e2c John Rouillard rouilj@ieee.org 2023-07-10T01:19:38-04:00 2023-07-10T01:19:38-04:00
changeset b8f012c7c5a7
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description rework a confusing sentance.

I'm not sure it's beter, but it's shorter.
files
Change customizing to customising in all variants. http://hg.code.sf.net:8000/p/roundup/code/#changeset-a072331c843b55ed5458029b147f4dd5e16d7507 John Rouillard rouilj@ieee.org 2023-06-18T11:35:16-04:00 2023-06-18T11:35:16-04:00
changeset a072331c843b
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description Change customizing to customising in all variants.

Make the spelling of customizing follow the British (also Australian
since Richard Jones is from there) spelling. Non-native English
speakers will see a consistent spelling of the word. The filename is
still customizing.txt/html (US spelling) though.
files
Fix bad index reference. Add new ones. http://hg.code.sf.net:8000/p/roundup/code/#changeset-82a0adad2ae6ca39480772a9385d503518341f34 John Rouillard rouilj@ieee.org 2023-06-11T23:06:50-04:00 2023-06-11T23:06:50-04:00
changeset 82a0adad2ae6
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description Fix bad index reference. Add new ones.
files
Add section on schema integrity, use of schema table in rdbms backends http://hg.code.sf.net:8000/p/roundup/code/#changeset-2e3b5c10c502c21ff50f809ced94e6bf5517eb85 John Rouillard rouilj@ieee.org 2023-06-07T11:10:46-04:00 2023-06-07T11:10:46-04:00
changeset 2e3b5c10c502
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description Add section on schema integrity, use of schema table in rdbms backends

Also record commands I need to dump the table and extract version field.
files
Fix another xhtml reference. http://hg.code.sf.net:8000/p/roundup/code/#changeset-d17e3dce28bc15a3582d33bbe833a4663f317742 John Rouillard rouilj@ieee.org 2023-06-06T12:13:06-04:00 2023-06-06T12:13:06-04:00
changeset d17e3dce28bc
branch
bookmark
tag
user John Rouillard <rouilj@ieee.org>
description Fix another xhtml reference.

This time in the config file.
files