Main Koha release repository https://koha-community.org
Find a file
Julian Maurice 57ff9af3bb Bug 20582: Turn Koha into a Mojolicious application
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>
2020-10-06 12:00:04 +02:00
acqui Bug 17458: Remove use of datereceived from order receive page 2020-09-28 16:09:10 +02:00
admin Bug 22417: Remove list of pending jobs 2020-10-05 15:26:36 +02:00
api Bug 22343: API routes for SMTP servers CRUD 2020-10-02 10:54:40 +02:00
authorities Bug 24663: Remove authnotrequired if set to 0 2020-09-03 10:40:35 +02:00
basket Bug 22343: (QA follow-up) Wrap email creation inside the try/catch block 2020-10-02 10:54:41 +02:00
bin Bug 20582: Turn Koha into a Mojolicious application 2020-10-06 12:00:04 +02:00
C4 Bug 22343: (QA follow-up) Fix some comments 2020-10-02 10:54:41 +02:00
catalogue Bug 24155: Apply weights if not advanced search 2020-10-01 10:33:10 +02:00
cataloguing Bug 24155: Make weighting an option on advanced search 2020-10-01 10:33:10 +02:00
circ Bug 25261: (QA follow-up) Prevent server error on bad barcode 2020-10-01 10:33:10 +02:00
clubs Bug 24663: Remove authnotrequired if set to 0 2020-09-03 10:40:35 +02:00
course_reserves Bug 14648: Batch remove reserve items 2020-10-01 10:33:10 +02:00
debian Bug 22417: Remove batch_record_modification from the non-plack list 2020-10-05 17:21:26 +02:00
docs Bug 26425: Update history.txt 2020-09-30 17:30:13 +02:00
errors Bug 24545: Fix license statements 2020-02-24 13:31:26 +00:00
etc Bug 20582: Turn Koha into a Mojolicious application 2020-10-06 12:00:04 +02:00
ill Bug 23173: (follow-up) Small improvements in efficiency 2020-04-06 11:05:09 +01:00
installer Bug 22417: Correct DBRev bug number 2020-10-05 15:32:21 +02:00
Koha Bug 20582: Turn Koha into a Mojolicious application 2020-10-06 12:00:04 +02:00
koha-tmpl Bug 22417: Remove list of pending jobs 2020-10-05 15:26:36 +02:00
labels Bug 24663: Remove authnotrequired if set to 0 2020-09-03 10:40:35 +02:00
members Bug 26269: Fix variable name mismatch for cash_register in paycollect 2020-09-18 10:38:04 +02:00
misc Bug 22417: Process the jobs even if the message broker is not reachable 2020-10-05 15:26:36 +02:00
offline_circ Bug 24663: Remove authnotrequired if set to 0 2020-09-03 10:40:35 +02:00
opac Bug 22343: (QA follow-up) Wrap email creation inside the try/catch block 2020-10-02 10:54:41 +02:00
patron_lists Bug 24663: Remove authnotrequired if set to 0 2020-09-03 10:40:35 +02:00
patroncards Bug 24663: Remove authnotrequired if set to 0 2020-09-03 10:40:35 +02:00
plugins Bug 24663: Remove authnotrequired if set to 0 2020-09-03 10:40:35 +02:00
pos Bug 26418: Fix translatability of REFUND credit type 2020-09-28 15:07:27 +02:00
reports Bug 17801: Use issuedate for limits in Most Circulated Items 2020-09-03 14:18:23 +02:00
reserve Bug 24663: Remove authnotrequired if set to 0 2020-09-03 10:40:35 +02:00
reviews Bug 24663: Remove authnotrequired if set to 0 2020-09-03 10:40:35 +02:00
rotating_collections Bug 24663: Remove authnotrequired if set to 0 2020-09-03 10:40:35 +02:00
serials Bug 24663: Remove authnotrequired if set to 0 2020-09-03 10:40:35 +02:00
services
skel
suggestion Bug 11176: Add active switch on budgets select in suggestions 2020-09-28 16:09:11 +02:00
svc Bug 25261: (QA follow-up) Add confirmation to issues table 2020-10-01 10:33:10 +02:00
t Bug 22417: Add exec flag on .t file 2020-10-05 16:36:03 +02:00
tags Bug 24663: Remove authnotrequired if set to 0 2020-09-03 10:40:35 +02:00
tmp/modified_authorities
tools Bug 22417: Remove record_type from BatchUpdate* 2020-10-05 15:23:08 +02:00
virtualshelves Bug 22343: (QA follow-up) Wrap email creation inside the try/catch block 2020-10-02 10:54:41 +02:00
xt Bug 26384: Add .t extension to make the script executed by CI 2020-09-28 11:08:03 +02:00
.editorconfig Bug 24774: Set JSON indentation of 2 spaces in .editorconfig 2020-03-19 09:24:52 +00:00
.eslintrc.json
.gitignore
.htaccess
.mailmap Bug 26394: Update .mailmap 2020-09-11 09:56:56 +02:00
.perlcriticrc Bug 21395: Make perlcritic happy 2020-06-29 12:37:02 +02:00
.scss-lint.yml
about.pl Bug 22417: Add rabbitmq status indicator on the about page 2020-10-05 15:26:36 +02:00
app.psgi Bug 20582: Turn Koha into a Mojolicious application 2020-10-06 12:00:04 +02:00
changelanguage.pl
cpanfile Bug 22417: Add new Net::Stomp dependency 2020-10-05 15:23:08 +02:00
fix-perl-path.PL Bug 21395: Make perlcritic happy 2020-06-29 12:37:02 +02:00
gulpfile.js Bug 20168: (follow-up) Add automatic creation of RTL CSS 2020-09-09 14:13:09 +02:00
help.pl
INSTALL
Koha.pm Bug 15032: DBRev 20.06.00.045 2020-10-05 15:30:08 +02:00
koha_perl_deps.pl Bug 24545: Fix license statements 2020-02-24 13:31:26 +00:00
kohaversion.pl Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
LICENSE
mainpage.pl Bug 24663: Remove authnotrequired if set to 0 2020-09-03 10:40:35 +02:00
Makefile.PL Bug 26290: Make Makefile.PL aware of SMTP configs 2020-10-02 15:27:18 +02:00
MANIFEST.SKIP
package.json Bug 20168: (follow-up) Add automatic creation of RTL CSS 2020-09-09 14:13:09 +02:00
README
README.md
README.robots
rewrite-config.PL Bug 26290: Make Makefile.PL aware of SMTP configs 2020-10-02 15:27:18 +02:00
yarn.lock Bug 20168: (follow-up) Add automatic creation of RTL CSS 2020-09-09 14:13:09 +02:00

Koha is a free software integrated library system (ILS).

Koha is distributed under the GNU GPL version 3 or later.

Note: This is a synced mirror of the official Koha repo.

Note: Koha does not accept pull requests from git hosting sites.

Note: This project has its own bug tracker, to report a bug or submit a patch visit http://bugs.koha-community.org.

For guidelines on submitting patches for Koha please visit https://wiki.koha-community.org/wiki/SubmitingAPatch

The developers handbook can be found at https://wiki.koha-community.org/wiki/Developer_handbook

http://koha-community.org/

Koha Logo