Fork of WebGUI 7.10, maintained by Oqapi https://git.oqapi.nl/oqapi/webgui
Find a file
Doug Bell 7389128d99 must have a width/height in order to set width/height
Failing to give a proper width/height will cause ImageMagick to die
with an assertion error
2011-05-03 17:09:14 -05:00
docs Move the WebGUI 8 install docs to docs/install.txt but leave a brief 2011-04-27 20:02:27 -04:00
eg Add a missing newline. 2010-06-24 08:43:12 -07:00
etc add template toolkit to the default template parsers 2011-04-13 17:09:22 -05:00
lib must have a width/height in order to set width/height 2011-05-03 17:09:14 -05:00
sbin missing required module App::Cmd for WebGUI::Command 2011-04-11 13:33:46 -05:00
share default www_edit now returns template. add errors to edit template 2011-04-20 17:49:49 -05:00
t "the old API was to pass the asset into process(), but that had some problems" according to preaction, re: WebGUI::AssetHelper::Cut->new now requiring an asset parameter. 2011-05-03 02:26:08 -04:00
www only drag handles should drag asset 2011-04-22 18:05:56 -05: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
.proverc adding proverc file 2010-06-13 06:15:34 -05:00
app.psgi Mount the app at the gateway, instead of at the root with downstream gateway handling. 2011-01-13 13:33:31 -08: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 Move the WebGUI 8 install docs to docs/install.txt but leave a brief 2011-04-27 20:02:27 -04: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:

 0) Start from WebGUI 7.10.4 or the example .conf and create.sql that comes with WebGUI 8
 1) Run testEnvironment.pl to install Plack
 2) Get a new wgd from http://haarg.org/wgd
 3) $ wgd reset --upgrade
 4) $ cd /data/WebGUI (or whereever you unpacked it)
 5) $ rsync -r -a (or cp -a) /data/WebGUI/www/extras /data/domains/www.example.com/public/
 6) $ export PERL5LIB='/data/WebGUI/lib:/data/WebGUI/t/lib'

To start it:

 7) $ plackup app.psgi

See docs/install.txt for more detailed installation instructions.

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)