##################################################################################################################### #-------------------------------------------------------------------------------------------------------------------# # OpusVL::AppKit # #-------------------------------------------------------------------------------------------------------------------# ##################################################################################################################### --------------------------------------------------------------------------------------------------------------------- !! This Catalyst Application is to be inherited using AppBuilder. !! --------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------- Using this for the 1st time? --------------------------------------------------------------------------------------------------------------------- Please see any POD documentation for details of how to use/test. Start by having a read of lib/OpusVL::AppKit.pm, trying running: bash$ perldoc ./lib/OpusVL/AppKit.pm bash$ perldoc ./lib/OpusVL/AppKit/Builder.pm bash$ perldoc ./lib/OpusVL/AppKit/Base/Controller/GUI.pm bash$ perldoc ./lib/OpusVL/AppKit/Controller/Root.pm bash$ perldoc ./lib/OpusVL/AppKit/Plugin/AppKit.pm Run the tests as detailed below, a high level, will-it-complete test might be: bash$ prove -l -I t/lib You can start the TestApp in the like so: bash$ PERL5LIB="$PERL5LIB:./lib:./t/lib" perl ./t/lib/script/testapp_server.pl --port=3006 -r -d The above command will be enough, to run a test server for browsing, development and the all important testing: bash$ CATALYST_SERVER="http://localhost:3006" prove -l ./t/02-testapp-toplevel.t --------------------------------------------------------------------------------------------------------------------- Authenication Details --------------------------------------------------------------------------------------------------------------------- To populate the authenication db I have done this before: bash$ rm t/lib/auto/TestApp/root/db/appkit_auth.db bash$ sqlite3 t/lib/auto/TestApp/root/db/appkit_auth.db < lib/auto/OpusVL/AppKit/root/db/appkit_auth.sql As the passwords are now encrypted there is a script to help set the passwords in the TestApp bash$ PERL5LIB="$PERL5LIB:./lib:./t/lib" perl ./t/lib/script/testapp_setpassword.pl --user appkitadmin --password password Database - The AppKitAuthDB is a strange beast.. you can use the model available from within AppKit.. or you can make your model AppKitAuthDB compatible. To recreate the AppKitAuthDB result files I have done the following before (it works from the TestApp db) bash$ ./scripts/appkit_create.pl model AppKitAuthDB DBIC::Schema OpusVL::AppKit::Schema::AppKitAuthDB create=static components="TimeStamp" "dbi:SQLite:./t/lib/auto/TestApp/root/db/appkit_auth.db" "" "" --------------------------------------------------------------------------------------------------------------------- TestApp --------------------------------------------------------------------------------------------------------------------- Alot of development has been done using a TestApp to test against. So here are some notes about it. Set up the TestApp/TextX::ExtensionB BookDB sqlite database: bash$ rm t/lib/auto/TestX/CatalystX/ExtensionB/root/db/bookdb.db bash$ sqlite3 t/lib/auto/TestX/CatalystX/ExtensionB/root/db/bookdb.db < t/lib/auto/TestX/CatalystX/ExtensionB/root/db/bookdb.sql To display a chart of the TestApp componants to help you see how an app is built, try this: bash$ perl ./t/lib/script/display_componant_chart.pl (you can give 'dot' as the first argument to the above command to produce TestApp.png chart)