Para::Frame::Manual::Overview - Overview and Introduction


Design philosophy

Execution path

1. Apache gets the request from a browser client

1.1. Apache looks in the translated path, finds a .htaccess directing the request to Para::Frame::Client

1.2. Para::Frame::Client looks for the port configuration. Packs the request data and sends it to the socket at the port.

2. Para::Frame catches the request in main_loop(), retrieve the data in get_value() and calls handle_request()

2.1. Para::Frame::Reload->check_for_updates() and reloads any updated code found.

2.2. A new Para::Frame::Request object is created from the request data.

2.3. The user class is used for identify_user and authenticate_user.

2.4. If this was a redirection and the page already has been generated, sends teh page and stops here.

2.5. $req->setup_jobs determine the actions requested

2.6 Initiates the response property of the req by calling Para::Frame::Request/reset_response that will set the response page to the Para::Frame::Request/original_url_string that was given by the Para::Frame::Client

2.7 This URL is given by Para::Frame::Request::Response/new to Para::Frame::File/new and is then normalized by Para::Frame::File/normalize

3. $req->after_jobs looks for things to do for the request

3.1 Take a planned action unless an error has been encountered. If there are more actions planned, go back to point 3.

3.2 If an error occured, plan to redisplay the previous page

3.3 If the $req>response is a redirection, send_redirection

3.4 Do $resp->render_output

3.4.1 Para::Frame::Request::Response/render_output looks up the Para::Frame::Request::Response/renderer and calls it's render_output. See Para::Frame::Request::Response/set_renderer

3.4.2 The default renderer is Para::Frame::Renderer::TT. That renderer will lookup the template for the given page by calling Para::Frame::File/template. This will use a template finder that can be given by dirconfig find but will defaults to Para::Frame::Template/find.

3.5 If the $req>response is a redirection, send_redirection

3.6 Do $resp->sender>send_output

4. Finishing up and closing the connection

Implementation layers

Module layout


Reserved names

Object heiarcy

  User --> Session --> Request

The left object has a longer life than the right. Each pair in the heiarchy has a one to many relationships.