Fork of WebGUI 7.10, maintained by Oqapi https://git.oqapi.nl/oqapi/webgui
Find a file
Doug Bell 2c51e6d4fd move core profile fields into users table
this change will fix the problems with the userProfileData table being
way too big. it also simplifies many basic user search tasks, not
needing to join the userProfileData table
2010-12-03 22:36:30 -06:00
docs Move ifModifiedSince into WebGUI::Session::Request 2010-11-22 09:53:03 -08:00
eg Add a missing newline. 2010-06-24 08:43:12 -07:00
etc Remove URL handlers from config files, and from the default config file. Add a stub to the migration notes that URLHandlers are now done as Plack Middleware. 2010-11-21 17:24:32 -08:00
lib move core profile fields into users table 2010-12-03 22:36:30 -06:00
sbin Document minimum version of HTTP::BrowserDetect needed for mobile method and recent browsers. 2010-11-03 10:29:01 -07:00
share move core profile fields into users table 2010-12-03 22:36:30 -06:00
t move core profile fields into users table 2010-12-03 22:36:30 -06:00
www Better integration of Fork into AssetHelpers, fork startup 2010-11-08 07:55:42 -06:00
.gitignore Fixed #10967: Using a round bracket (parenthesis) in a macro. Unbalanced parentheses can now be escaped in macro calls using the backslash character. 2009-09-14 14:27:14 -04:00
.perltidyrc perltidyrc now placed where it can do the most good 2009-05-29 18:50:01 +00:00
.proverc adding proverc file 2010-06-13 06:15:34 -05:00
app.psgi Better integration of Fork into AssetHelpers, fork startup 2010-11-08 07:55:42 -06:00
asset_status.ods Add a sheet to track Roles. 2010-03-05 15:17:05 -08:00
benchmark.pl Logging fallback 2010-04-13 17:46:43 -04:00
README some documentation additions/fixes 2010-05-10 17:00:48 -05:00
TODO Minor improvements 2010-04-18 14:51:24 -04:00
WebGUI-Session-Plack.pm Added WebGUI::Requestion/Response 2010-04-06 19:35:06 -04:00

This is the PSGI branch of WebGUI8

To try this out:

 1) Run testEnvironment.pl to install Plack
 2) $ cd <WebGUI directory>
 3) $ plackup app.psgi

Currently, the best performance is achieved via:

 plackup -E none -s Starman --workers 10 --disable-keepalive

You can benchmark your server via:

 ab -t 3 -c 10 -k http://dev.localhost.localdomain:5000/ | grep Req

I'm currently getting 370 requests/second, whereas I'm getting 430/second on the non-PSGI WebGUI8 branch.

= ARCHITECTURE =

* The root level app.psgi file loads all the config files found and
  loads the site specific psgi file for each, linking them to the
  proper host names.
* The site psgi file uses the WEBGUI_CONFIG environment variable to find the config.
* It instantiates the $wg WebGUI object (one per app).
* $wg creates and stores the WebGUI::Config (one per app)
* $wg creates the $app PSGI app code ref (one per app)
* WebGUI::Middleware::Session is wrapped around $app at the outer-most layer so that it can open and
  close the $session WebGUI::Session. Any other wG middleware that needs $session should go in between
  it and $app ($session created one per request)
* $session creates the $request WebGUI::Session::Request and $response WebGUI::Session::Response
  objects (one per request)