https://github.com/opusvl/opusvl-appkit
OpusVL::AppKit - Catalyst based application
https://github.com/opusvl/opusvl-appkit
Last synced: 10 months ago
JSON representation
OpusVL::AppKit - Catalyst based application
- Host: GitHub
- URL: https://github.com/opusvl/opusvl-appkit
- Owner: OpusVL
- Created: 2016-02-26T16:05:45.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2018-08-02T09:57:57.000Z (almost 8 years ago)
- Last Synced: 2025-03-13T22:11:22.612Z (over 1 year ago)
- Language: JavaScript
- Size: 1.32 MB
- Stars: 1
- Watchers: 8
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README
- Changelog: Changes
Awesome Lists containing this project
README
#####################################################################################################################
#-------------------------------------------------------------------------------------------------------------------#
# 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)