view roundup/web/NOTES.md @ 4943:7920d700e580 routing

Add support for extensions to provide custom pages to Roundup and update CHANGES.txt 1. Added registerHandler() extension point to instance.Tracker to register URL handlers for specific routes 2. Added processing of extension routes to client.cgi 3. Added example plugins/extensions/custompage.py
author anatoly techtonik <techtonik@gmail.com>
date Tue, 25 Nov 2014 17:29:38 +0300
parents 355ce349df42
children
line wrap: on
line source


Engineering notes for Roundup components for web.


### Logical structure of web components

An attempt to see what components are present in
web request processing.

    +-----------+
    |           |
    | Router    |
    └─----------+                     (pure logic)
    ----------------------------------------------
    +-----------+    
    |           |    
    | Login     |    
    └-----------+   (logic + templates + messages)
    ----------------------------------------------
    +-----------+
    ¦           ¦
    ¦ User DB   ¦
    └-----------+                       (messages)


Every component consists of messages (data), logic
(code) and representation (templates). Message
definition (data) also takes into account actions
that make component work. Templates are mostly
needed for human readability. 


### Router

Roundup URL map check for backward compatibility:

    [ ] check urlpath values for
      [ ] example.com
      [ ] example.com/
      [ ] example.com/tracker
      [ ] example.com/tracker/
      [ ] example.com/tracker/item
      [ ] example.com/tracker?anything
      [ ] example.com/tracker/?anything
      [ ] example.com/tracker/item?anything

    [x] get full list of url handlers
        (1.5.0, entrypoing: cgi.client.main)
      [x] /xmlrpc     - hardcoded xmlrpc endpoint
      [x] /           - main home page
          /index
          /home
      [x] /_file      - static resources
          /@@file
      [x] /<class>    - dynamic handler based on db

    [ ] check url handling for db scheme paths

      [ ] example.com/tracker/class
      [ ] example.com/tracker/class/
      [ ] example.com/tracker/class1
      [ ] example.com/tracker/class1/

    [ ] check url handling for static files

    /_file/(.*) 
      StaticFileHandler
       [x] /_file       - 500 TypeError: join()
       [x] /_file/      - 404
       [x] /_file/name  - 200 from STATIC_FILES or
                              TEMPLATES
    /@@file/(.*)
      StaticFileHandler
       [x] /@@file      - 500 TypeError: join()
       [x] /@@file/     - 404
       [x] /@@file/name - 200 from STATIC_FILES or
                              TEMPLATES 


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