• Jérome Perrin's avatar
    ERP5: rework frontend instance parameter · cb78214e
    Jérome Perrin authored
    This change the format or the (mostly) unused frontend parameter to
    support requesting more than one frontend and also enable the request of
    a frontend by default, so that requesting a frontend separately is no
    longer needed.
    
    The `frontend` parameter now also supports requesting frontends for
    specific paths on the ERP5 backend, the example below requests a
    frontend serving directly a web site, with the necessary rewrite rules:
    
    ```js
    {
      "frontend": {
        "default": {
          "internal-path": "/erp5/web_site_module/renderjs_runner/"
        }
      }
    }
    ```
    
    The example below requests a default frontend to the erp5 root, to
    access the ZMI or erp5_xhtml_style interface and two web sites:
    
    ```js
    {
      "frontend": {
        "default": {},
        "erp5js": {
          "internal-path": "/erp5/web_site_module/renderjs_runner/"
        },
        "crm": {
          "internal-path": "/erp5/web_site_module/erp5_officejs_support_request_ui/"
        }
      }
    }
    ```
    
    The example below has an explicit definition of the zope families using
    `zope-partition-dict` parameter, because there is more than one zope
    family, no frontend is requested by default:
    
    ```js
    {
      "zope-partition-dict": {
        "backoffice": {
          "family": "backoffice"
        },
        "web": {
          "family": "web"
        },
        "activities": {
          "family": "activities"
        }
      }
    }
    ```
    
    Continuing this example, to have frontends for backoffice and web
    families, the frontend request can specify the families, like it is
    demonstrated in the example below. In this example, we don't specify an
    entry for "activities" family, so no frontend will be requested for
    this family.
    
    ```js
    {
      "frontend": {
        "backoffice": {
          "zope-family": "backoffice"
        },
        "web": {
          "zope-family": "web",
          "internal-path": "/erp5/web_site_module/web_site/"
        }
      }
      "zope-partition-dict": {
        "backoffice": {
          "family": "backoffice"
        },
        "web": {
          "family": "web"
        },
        "activities": {
          "family": "activities"
        }
      }
    }
    ```
    cb78214e
test_erp5.py 43 KB