view doc/implementation.txt @ 5988:39b8bc511ed7

Fix html generation errors for boolean options. Code was generating xhtml form for html4 output. In xhtml, Boolean attributes like 'disabled', 'required' are represented with a value that is the same as the attribute name. E.G. <input required="required" ...>. Html 5 (and 4) represents the same as <input required ...> . Recognize booleans in one of two ways: value is None value is the same as the attribute name Make html4 and xhtml variants of cgi_escape_attrs. Have input_htmlp4 and input_xhtml call the proper variant. Also set HTMLInputMixin property cgi_escape_atrs to select proper one similar to self.input definition. Then replace calls to cgi_escape_attr with self.cgi_escape_attrs to get correct output.
author John Rouillard <rouilj@ieee.org>
date Sat, 14 Dec 2019 16:18:15 -0500
parents 33a1f03b9de0
children 9ca128103a3a
line wrap: on
line source

====================
Implementation notes
====================

[see also the roundup package docstring]

There have been some modifications to the spec. I've marked these in the
source with 'XXX' comments when I remember to.

In short:
 Class.find() - may match multiple properties, uses keyword args.

 Class.filter() - isn't in the spec and it's very useful to have at the
    Class level.

 CGI interface index view specifier layout part - lose the '+' from the
    sorting arguments (it's a reserved URL character ;). Just made no
    prefix mean ascending and '-' prefix descending.

 ItemClass - renamed to IssueClass to better match it only having one
    hypderdb class "issue". Allowing > 1 hyperdb class breaks the
    "superseder" multilink (since it can only link to one thing, and
    we'd want bugs to link to support and vice-versa).

 template - the call="link()" is handled by special-case mechanisms in
    my top-level CGI handler. In a nutshell, the handler looks for a
    method on itself called 'index%s' or 'item%s' where %s is a class.
    Most items pass on to the templating mechanism, but the file class
    _always_ does downloading. It'll probably stay this way too...

 template - call="link(property)" may be used to link "the current item"
    (from an index) - the link text is the property specified.

 template - added functions that I found very useful: List, History and
    Submit.

 template - items must specify the message lists, history, etc. Having
    them by default was sometimes not wanted.

 template - index view determines its default columns from the
    template's ``tal:condition="request/show/<property>"`` directives.

 template - menu() and field() look awfully similar now .... ;)

 roundup_admin.py - the command-line tool has a lot more commands at its
    disposal

-----------------

Back to `Table of Contents`_

.. _`Table of Contents`: index.html


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