#22: Consider lazy session initialization
-----------------------------------------+----------------------------------
Reporter: sakhmechet | Owner: sakhmechet
Type: enhancement | Status: new
Priority: low | Milestone: 0.2
Component: weblocks | Version: pre-0.1
Keywords: lazy initialization session |
-----------------------------------------+----------------------------------
Currently when a session is initialized in 'init-user-session', all
widgets are instantiated at once. We should make this process lazy and
instantiate widgets as necessary (perhaps via hooks from the navigation
widget?) Additionally, we should consider freeing hidden widgets for
garbage collecting.
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/22>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks
#6: Handling and reporting errors
------------------------------------+---------------------------------------
Reporter: sakhmechet | Owner: sakhmechet
Type: enhancement | Status: new
Priority: medium | Milestone: 0.1
Component: weblocks | Version: pre-0.1
Keywords: error handling failure |
------------------------------------+---------------------------------------
Currently when errors occur on AJAX requests (in both debug and release)
there is a simple !JavaScript popup. When errors occur on regular requests
(in release) there is a plain old error 500 page.
We need to show debug information on AJAX requests in debug mode. Should
we modify the popup (perhaps redirect to error page) when an error occurs
on AJAX requests in release? For regular requests we need a prettier error
page.
We also need special handling of session timeout errors. When a session
times out we should probably refresh the page and show a popup/flash
saying a new session has been created.
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/6>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks
#21: Allow multiple search tokens in grid searchbar
--------------------------------------------+-------------------------------
Reporter: sakhmechet | Owner: sakhmechet
Type: enhancement | Status: new
Priority: low | Milestone: 0.2
Component: weblocks | Version: pre-0.1
Keywords: grid searchbar tokens multiple |
--------------------------------------------+-------------------------------
Currently it's possible to search for only one token in the searchbar. The
search mechanism should be made more intelligent. It should be possible to
separate tokens with delimiters, use quotes to turn off delimiting tokens,
etc.
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/21>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks
#28: Rename 'datagrid' widget to 'grid'
----------------------------------+-----------------------------------------
Reporter: sakhmechet | Owner: sakhmechet
Type: defect | Status: new
Priority: low | Milestone: 0.1
Component: weblocks | Version: pre-0.1
Keywords: rename datagrid grid |
----------------------------------+-----------------------------------------
There is no reason to call datagrid widget 'datagrid'. 'Grid' is a much
better name. We should rename the widget.
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/28>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks
#23: Create renderers for lists of items
--------------------------------------------+-------------------------------
Reporter: sakhmechet | Owner: sakhmechet
Type: enhancement | Status: new
Priority: medium | Milestone: 0.2
Component: weblocks | Version: pre-0.1
Keywords: renderers snippets lists items |
--------------------------------------------+-------------------------------
We should create renderers (or snippets?) to render lists of items
(ordered, unordered, etc.) as this is a fairly common operation.
We should consider rewriting current widgets that use lists to take
advantage of this functionality.
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/23>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks
#42: Sorting and regex filtering should be refactored out of datagrid
-----------------------------------------------------------------+----------
Reporter: sakhmechet | Owner: sakhmechet
Type: enhancement | Status: new
Priority: medium | Milestone: 0.2
Component: weblocks | Version: pre-0.1
Keywords: sorting filtering searching regex refactor datagrid |
-----------------------------------------------------------------+----------
Currently sorting and regex filtering/searching mechanisms are specific to
the datagrid. It seems like these mechanisms could be used in other
widgets. We should refactor these components and make them generic for use
by other widgets.
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/42>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks
#8: Back button rules should be respected
---------------------------------+------------------------------------------
Reporter: sakhmechet | Owner: sakhmechet
Type: defect | Status: new
Priority: low | Milestone: 0.1
Component: weblocks | Version: pre-0.1
Keywords: back button history |
---------------------------------+------------------------------------------
We should consider improving the consequences of hitting the back button.
Currently only navigation control actions are recorded in the browser's
history. We can get around this by updating AJAX actions with an anchor at
the end of the URL and support proper back button this way. Is this the
right thing to do?
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/8>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks
#7: Widgets should be able to optionally expose state on the URL
----------------------------------+-----------------------------------------
Reporter: sakhmechet | Owner: sakhmechet
Type: enhancement | Status: new
Priority: medium | Milestone: 0.1
Component: weblocks | Version: pre-0.1
Keywords: navigation state URL |
----------------------------------+-----------------------------------------
Currently the only widget that can expose state on the URL is Navigation.
Widgets like Grid cannot expose state. This makes the user run into very
annoying issues similar to the ones common to Expedia/Travelocity -
someone sends a link to a hotel to a friend, but the friend sees a
completely different page.
As an example, grid controls should be able to optionally expose which
column they're sorted on.
People should be able to navigate to a product page by product name/id on
the URL.
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/7>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks
#20: Offer user an option to turn off AJAX and other effects when unsupported
browsers are detected
-------------------------------------------------------------+--------------
Reporter: sakhmechet | Owner: sakhmechet
Type: enhancement | Status: new
Priority: critical | Milestone: 0.1
Component: weblocks | Version: pre-0.1
Keywords: simple HTML unsupported browsers degrade option |
-------------------------------------------------------------+--------------
When weblocks detects an unsupported browser it should cooperate with the
application to give the user an option to turn off advanced effects or to
proceed at their own risk. We could do this via a flash widget or a modal
dialog widget.
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/20>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks
#33: Refactor, document, and unit test 'handle-client-request'
----------------------------------------------+-----------------------------
Reporter: sakhmechet | Owner: sakhmechet
Type: defect | Status: new
Priority: medium | Milestone: 0.2
Component: weblocks | Version: pre-0.1
Keywords: refactor 'handle-client-request' |
----------------------------------------------+-----------------------------
Currently 'handle-client-request' is a complex function that's somewhat
poorly tested and documented. We should refactor it into more manageable
pieces, provide better tests and document its behavior more therally.
--
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/33>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks