pylonscomposite-application

How can I move multiple Pylons Applications into a single Composite Application?


We have several single Pylon websites running but would like to make these more easily reusable.

There is a concept of a "Composite Application" inside pylons, but there seems to be limited instructions on how to achieve this.

Has anyone done this or is aware of a good tutorial on "How to convert multiple pylons apps into a composite app?" ?

I've tried - perhaps too optimistically - to simply copy an existing app into another app and fiddle with the development.ini file, but this does not seem to work. (I'm getting the error "pkg_resources.DistributionNotFound: wiki" in that case)

Thanks


Solution

  • This is done by modifying the WSGI pipeline to dispatch a request to different applications based on request properties (usually URL). The simplest way to modify the pipeline is by PasteDeploy (the package that controls your INI files).

    [composite:main]
    use = egg:Paste#urlmap
    /foo = foo
    /bar = bar
    / = baz
    
    [app:foo]
    use = myapp#main
    
    [app:bar]
    use = yourapp#main
    
    [app:baz]
    use = myapp#baz
    

    This creates a composite application that dispatches to different endpoints based on the URL prefix.