Fork of WebGUI 7.10, maintained by Oqapi
https://git.oqapi.nl/oqapi/webgui
Conflicts: docs/gotcha.txt docs/previousVersion.sql lib/WebGUI/Asset/Wobject/GalleryAlbum.pm lib/WebGUI/Asset/Wobject/Navigation.pm lib/WebGUI/AssetLineage.pm lib/WebGUI/Config.pm lib/WebGUI/Form/Template.pm lib/WebGUI/Group.pm lib/WebGUI/VersionTag.pm lib/WebGUI/Workflow/Activity/TrashExpiredEvents.pm t/AdSpace.t t/Asset/AssetExportHtml.t t/Asset/AssetLineage.t t/Asset/Story.t t/Asset/Template/HTMLTemplateExpr.t t/Asset/Wobject/Gallery/00base.t t/Asset/Wobject/GalleryAlbum/00base.t t/Asset/Wobject/GalleryAlbum/ajax.t t/Asset/Wobject/InOutBoard.t t/Asset/Wobject/StoryArchive.t t/Asset/Wobject/Survey/ExpressionEngine.t t/Asset/Wobject/Survey/Reports.t t/AssetAspect/RssFeed.t t/Auth/mech.t t/Group.t t/Mail/Send.t t/Operation/AdSpace.t t/Session/ErrorHandler.t t/Session/Scratch.t t/Session/Url.t t/Shop/Cart.t t/Shop/Pay.t t/Shop/Ship.t t/Shop/ShipDriver.t t/Shop/TaxDriver/Generic.t t/Shop/Vendor.t t/VersionTag.t t/lib/WebGUI/Test.pm |
||
|---|---|---|
| docs | ||
| eg | ||
| etc | ||
| lib | ||
| sbin | ||
| share | ||
| t | ||
| www | ||
| .gitignore | ||
| .perltidyrc | ||
| .proverc | ||
| app.psgi | ||
| asset_status.ods | ||
| benchmark.pl | ||
| README | ||
| TODO | ||
| WebGUI-Session-Plack.pm | ||
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)