wiki:PasteStack

Version 7 (modified by lawrence, 12 years ago) (diff)

--

Paste Stack

I think the middleware cascade should be something like

  • lint (check's wsgi compliance)
    • log (set up logging)
      • selector/routes
        • config file load
          • page-setup and cookie grab
            • gatekeep (authorisation)
              • browse
              • WMS
              • WCS
              • WPS
              • WFS
              • CSML-API
            • discovery (NDG)
            • discovery (CSW) (!)
            • login

Of course not all bits will be present in any particular implementation .... so configuration is key.

URLS

  • discovery
  • view, e.g.
    • http://domainName/ndg/view/uri is the html version laid out "nice"
    • http://domainName/ndg/view/uri?format=xml is an html version of the xml
    • http://domainName/ndg/retrieve/uri returns the raw document in xml.
  • login, e.g.
    • http://domainName/ndg/login?r=url will login and redirect back to url
  • logout,e.g.
    • http://domainName/ndg/logout?r=url will kill cookies and redirect back to url
  • wms/wcs
    • http://domainName/ndg/wms/uri is a wms endpoint for a csml_granule uri
    • http://domainName/ndg/wcs/uri is a wcs endpoint for a csml_granule uri
  • csml api
    • http://domainName/ndg/csml/uri is the csml api endpoint for a document
  • gui, we expect to post a shopping cart to the gui, or allow a user to save the shopping cart and upload it ...
    • http://domainName/ndg/viz
  • do we need to worry about an ftp/wget interface?

This will be encoded in the routing.py file in the pylons config directory!

Reality

So, getting started with this, I

  • did an easy_install of csml from svn:
    easy_install $SVN/TI02-CSML/trunk
    
  • and then I went into the delivery code to set up the ows framework egg
    cd TI05-delivery/ows_framework/trunk/ows_common
    python setup.py develop
    
  • and now I try to run pylons:
    cd ../ows_server
    paster serve --reload development.ini