proto-Web/manual.task - Instructions

    Basic use`
    - instructions to the programmer on how basically to use the resources of this project
    - requirements
        * a recent version of Chrome or Firefox
            - though any recent browser should work, only Chrome and Firefox are tested
        * XHTML
            - the runtime document is assumed to use XML syntax (XHTML)
                ( http://w3c.github.io/html/introduction.html#html-vs-xhtml
                ( http://w3c.github.io/html/xhtml.html
            - the alternative of HTML syntax has not been tested
                ( http://w3c.github.io/html/syntax.html
    - working example
        < http://reluk.ca/project/proto-waycast/way_declaration_document.js
    + program
        - in your program insert the equivalent of this:

            │  const s = document.body.appendChild(
            │    document.createElementNS( 'http://www.w3.org/1999/xhtml', 'script' ));
            │  s.setAttribute( 'src', 'http://reluk.ca/project/proto-Web/client_side.js' );
            │  s.addEventListener( 'load', ( _Event ) =>
            │  {
            │
            │   /// Library `client_side.js` now accessible at `ca_reluk_web_CSide` ///
            │
            │  });

            ( [COR]

    ────────────────────────────────────────────────────────────────────────────────────────────────────
    Configuration`
    - instructions to the programmer on how to configure the `client_side.js` library before using it
    + program
        - edit your program to include the equivalent of this:
            ( extending the example of § basic use § program

            │  ⋮
            │  s.addEventListener( 'load', ( _Event ) =>
            │  {
            │      const CSide = ca_reluk_wayic_read_WayDecDoc;
            │      CSide.setEnforceConstraints( true );
            │
            │   /// Library now configured and ready for use ///
            │
            │  });

        - for the available configuration options, see <./client_side.js § PUBLIC INTERFACE>

    ────────────────────────────────────────────────────────────────────────────────────────────────────
    Publication`
    - instructions to the project provider: how to Web serve this project
    + programmatic resource file
        - there is only the one at present, namely `client-side.js` -
        - it is served to the Web each with a special response header as detailed below
        - working example of a suitable header configuration for Apache HTTP Server
            < http://reluk.ca/sys/computer/server/etc/apache2/7_domain/reluk.ca/public/5_in_project_proto.conf
        * cross origin responses are enabled
            - project file `client-side.js` is served to the Web
              with a response header of `Access-Control-Allow-Origin: *` -
                ( https://fetch.spec.whatwg.org/#http-access-control-allow-origin
            - this header grants to programmatic requesters originating from all network domains (`*`)
              permission to read the file
                ( https://www.w3.org/TR/cors/
            - such requesters include those programs that use this project
                ( § basic use

    ────────────────────────────────────────────────────────────────────────────────────────────────────
    Troubleshooting`
    < see also `CSide_expo.toEnforceConstraints` in `client_side.js` -
    * console reporting
      - program library `client_side.js` reports problems it detects to the browser's debugging console
        ( https://console.spec.whatwg.org/


////////////////////////////////////////////////////////////////////////////////////////////////////////
// N o t e
/
   [COR]  Each request to `reluk.ca` requires that "cross origin responses are enabled".  § publication



                                          Copyright © 2019 Michael Allan and contributors.  Licence MIT.