10.2. Lifecycle of a PyBlosxom Request

This is the life cycle of a single PyBlosxom request. It involves the following "entities":

The PyBlosxom request lifecycle starts with the web-server executing pyblosxom.cgi.

  1. pyblosxom.cgi loads config.py

  2. pyblosxom.cgi instantiates a Request object

  3. pyblosxom.cgi instantiates a PyBlosxom object passing it the Request object

  4. pyblosxom.cgi calls run() on the PyBlosxom instance

    1. PyBlosxom instance, run method: calls initialize

      1. PyBlosxom instance, initialize method: imports the plugins

      2. PyBlosxom instance, initialize method: calls the entry parser callback to get a map of all the entry types we handle

    2. PyBlosxom instance, run method: calls the start callback to allow plugins to do any initialization they need to do

    3. PyBlosxom instance, run method: calls the handle callback allowing plugins to fully handle the request.

      If a plugin handles the request, the plugin should return a 1 signifying it has done so. At that point, PyBlosxom will stop trying to handle the request. FINISHED

      If no plugin handles the request, then PyBlosxom will handle the request using the blosxom_handler.

    4. PyBlosxom instance, run method: calls the end callback to allow plugins to do any cleanup they need to do