#37: Handle CLOS object references ('foreign keys') in form renderers
--------------------------------------------------+-------------------------
Reporter: sakhmechet | Owner: sakhmechet
Type: enhancement | Status: new
Priority: critical | Milestone: 0.1
Component: weblocks | Version: pre-0.1
Keywords: renderers clos foreign key reference |
--------------------------------------------------+-------------------------
Currently form renderers don't handle non-inline CLOS object references
(effectively, foreign keys). We need to design a mechanism that will allow
users to select a foreign CLOS object in a form.
One option is to provide a generic function that will return a list of
CLOS objects that can be displayed in a form. The form renderer will then
grab a name of each of these objects and display it in a dropdown.
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/37>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks
#66: Navigation panes named with international characters cannot be accessed
----------------------------------+-----------------------------------------
Reporter: sakhmechet | Owner: sakhmechet
Type: defect | Status: new
Priority: high | Milestone: 0.1
Component: weblocks | Version: pre-0.1
Keywords: internationalization |
----------------------------------+-----------------------------------------
Naming a navigation pane with international characters (åäö) and
clicking on such a pane causes a 404 Not Found error.
Reported by Mats Westin.
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/66>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks
#57: Ensure all unit tests pass on all supported CL implementations
----------------------------------------+-----------------------------------
Reporter: sakhmechet | Owner: sakhmechet
Type: defect | Status: new
Priority: low | Milestone: 0.1
Component: weblocks | Version: pre-0.1
Keywords: unit tests implementations |
----------------------------------------+-----------------------------------
Currently many unit tests fail on implementations other than the main
development one (SBCL). We need to ensure all unit tests pass on all
supported implementations.
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/57>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks
#26: Don't hide validation error summary for long forms
--------------------------------------+-------------------------------------
Reporter: sakhmechet | Owner: sakhmechet
Type: enhancement | Status: new
Priority: medium | Milestone: 0.2
Component: weblocks | Version: pre-0.1
Keywords: long forms error summary |
--------------------------------------+-------------------------------------
Currently a validation error summary is rendered on top of a form but is
hidden via CSS. We should modify the code not to hide the summary for long
forms for better usability.
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/26>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks
#65: Default form submit action on W3C is broken
-------------------------------------+--------------------------------------
Reporter: sakhmechet | Owner: sakhmechet
Type: defect | Status: new
Priority: low | Milestone: 0.2
Component: weblocks | Version: pre-0.1
Keywords: W3C form default action |
-------------------------------------+--------------------------------------
Hitting C-c C-c in a form in W3C doesn't submit the form. We need to fix
default action to cooperate with W3C.
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/65>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks
#27: Customize widget printing to include their names (to ease debugging)
---------------------------------------+------------------------------------
Reporter: sakhmechet | Owner: sakhmechet
Type: enhancement | Status: new
Priority: medium | Milestone: 0.2
Component: weblocks | Version: pre-0.1
Keywords: widget printing debugging |
---------------------------------------+------------------------------------
When widgets are printed in the debugger their memory address is
displayed. We should customize the printer to output widget names - an
identifier much more useful to the programmer during debugging.
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/27>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks
#63: Fix improper web links on win32 (and possibly OSes)
------------------------------+---------------------------------------------
Reporter: sakhmechet | Owner: sakhmechet
Type: defect | Status: new
Priority: high | Milestone: 0.1
Component: weblocks | Version: pre-0.1
Keywords: win32 path links |
------------------------------+---------------------------------------------
On win32 machines pathnames are rendered with a backslash instead of a
forward slash. Other architectures will potentially render pathnames in a
manner unuseable for the web. This needs to be resolved either via
stepping away from using pathnames for the web, or using a logical system
that will render them properly.
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/63>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks
#36: Modify renderers to allow specialization on slot types
---------------------------------------------------+------------------------
Reporter: sakhmechet | Owner: sakhmechet
Type: enhancement | Status: new
Priority: high | Milestone: 0.1
Component: weblocks | Version: pre-0.1
Keywords: renderers slots types dropdown custom |
---------------------------------------------------+------------------------
Currently specializing renderers to output various types in a custom
manner (dropdowns for lists, checkboxes for booleans, etc.) is broken
because when slots are set to nil, type information is lost.
We need to modify renderers to accept one more argument 'slot-type', and
modify 'visit-object-slots' to pass this argument to renderers.
We also need to add common sense default specializations. Booleans should
output checkboxes in forms and true/false in data renderers (instead of
N/A which is done for nils now). Lists (sequences?) should render as
dropdowns (or local suggest snippets) in forms. We also need to add some
type aliases. For example 'one-of' types should render as radio buttons.
How will we render sequences in data renderers? Some options include
rendering each item in a comma separated list, having a link to datagrid,
etc.
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/36>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks
#60: Documentation should be changed so that symbols are presented in uppercase
--------------------------------------------+-------------------------------
Reporter: sakhmechet | Owner: sakhmechet
Type: enhancement | Status: new
Priority: low | Milestone: 0.2
Component: weblocks | Version: pre-0.1
Keywords: documentation symbol uppercase |
--------------------------------------------+-------------------------------
Having symbols wrapped by apostrophes is not as nice as having them be in
uppercase in documentation. We should make that change.
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/60>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks
#48: Validate against long input by default.
-------------------------------+--------------------------------------------
Reporter: sakhmechet | Owner: sakhmechet
Type: defect | Status: new
Priority: high | Milestone: 0.1
Component: weblocks | Version: pre-0.1
Keywords: validation length |
-------------------------------+--------------------------------------------
Create an input length validator and make it default for all fields.
Currently weblocks allows entering really long input.
Different field types should have different default length (multiline vs.
singleline elements, password elements, etc.)
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/48>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks
#53: Research switching from using slot's :type specifier to our own metaclass
--------------------------------+-------------------------------------------
Reporter: sakhmechet | Owner: sakhmechet
Type: defect | Status: new
Priority: medium | Milestone: 0.1
Component: weblocks | Version: pre-0.1
Keywords: slot type renderer |
--------------------------------+-------------------------------------------
Note, some implementations (like OpenMCL) enforce slot type
specializations. If we set a slot's type as integer, OpenMCL will not let
us assign nil. Currently we rely on default values of data types to be
nil, but in case of OpenMCL we're forced to set the default to some
integer value. For some types of data (like age, for example) this leads
to weird 'default' age of zero. In the future, we may want to rely on
boundp instead of checking for nil.
Additionally, some implementations (CLISP) don't return the value of type
declaration as is: if we define a new type alias 'age', set the type for a
slot, and then query the type of the slot, we may get back a different
value equivalent to age.
In light of these facts, we may want to consider creating a new metaclass
for datatypes and using a new slot specifier instead of 'type'.
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/53>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks