This patch is a proof-of-concept of Koha as a Mojolicious application This has several benefits: - Development setup is easier. No need for apache or nginx. Just run `morbo bin/intranet` or `morbo bin/opac` and go to http://localhost:3000 (URL rewrites and static files are handled by the app) - apache2/nginx configuration is simpler too (an example of nginx configuration is included in the patch) - starman and plack middlewares can still be used for debug or gzip compression for instance (see app.psgi) - Using Test::Mojo we can test the whole application, as we do with the REST API (which is a Mojolicious application too) - It opens a way for converting CGI scripts into Mojolicious controllers and actions (even if that's not possible at the moment because of the authentication code) It uses the same mechanism as Plack::App::CGIBin to deal with CGI scripts, so it should be equivalent in terms of performance How to test ? - Run `morbo bin/intranet`, then go to http://localhost:3000/ and try to find bugs. Check the REST API at http://localhost:3000/api/v1 - Run `morbo bin/opac`, then go to http://localhost:3000/ and try to find bugs. Check the REST API at http://localhost:3000/api/v1 - Run `starman -l :5000 -l :5001` and verify that intranet (http://localhost:5000) and opac (http://localhost:5001) work normally - Read the code (and the comments), it's not very long Signed-off-by: Jerome Charaoui <jcharaoui@cmaisonneuve.qc.ca> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
43 lines
1.5 KiB
Perl
Executable file
43 lines
1.5 KiB
Perl
Executable file
#!/usr/bin/env perl
|
|
|
|
# Copyright 2020 BibLibre
|
|
#
|
|
# This file is part of Koha.
|
|
#
|
|
# Koha is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# Koha is distributed in the hope that it will be useful, but
|
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with Koha; if not, see <http://www.gnu.org/licenses>.
|
|
# Copyright 2020 BibLibre
|
|
#
|
|
# This file is part of Koha.
|
|
#
|
|
# Koha is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# Koha is distributed in the hope that it will be useful, but
|
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with Koha; if not, see <http://www.gnu.org/licenses>.
|
|
|
|
use Modern::Perl;
|
|
|
|
use FindBin;
|
|
use lib "$FindBin::Bin/..";
|
|
|
|
use Mojolicious::Commands;
|
|
|
|
Mojolicious::Commands->start_app('Koha::App::Intranet');
|