[Koha-devel] POC of a new plugin system

Julian Maurice julian.maurice at biblibre.com
Mon May 16 19:13:33 CEST 2016


Hi all,

A couple of months ago, we talked about how great it would be to have a
more powerful plugin system (thread subject was "Country-specific forks"
[1]).

The current implementation have some problems. For instance, it's not
possible to properly manage plugins with a VCS (bug 15879 [2] try to
address this issue)

Alex and I have started to write a new plugin system, as an attempt to
fix the problems of the current implementation. It's still in a very
"alpha" status, but we would like to hear what you think of it.

Code is in BibLibre repository, branch koha-module-poc:
  http://git.biblibre.com/biblibre/kohac.git

Features:
* VCS-compatible (every directory under the modules directory and
containing a module.yaml file is a module)
* Allow modules to define custom "URL routes" (see module/router.pl)
* Allow modules to modify the intranet top menu (so they can add a link
to their custom routes)
* Allow modules to have their own TT include files and TT plugins

A sample module was made to demonstrate these features:
  http://git.biblibre.com/biblibre/koha-module-LoremIpsum.git

This module creates a new page which display some "lorem ipsum" text
fetched from loripsum.net, and add a link to this page in the intranet
top menu. Very basic but it shows how it works.

Quick start:
1. git remote add biblibre http://git.biblibre.com/biblibre/kohac.git
2. git checkout -b koha-module-poc biblibre/koha-module-poc
3. installer/data/mysql/updatedatabase.pl
4. misc/devel/update_dbix_class_files.pl
5. mkdir /path/to/modules
6. Edit $KOHA_CONF and add a line
     <modules_dir>/path/to/modules</modules_dir>
7. cd /path/to/modules && git clone
http://git.biblibre.com/biblibre/koha-module-LoremIpsum.git LoremIpsum
(note: the directory's name is important)
8. Go to Administration > Modules
9. Enable the module LoremIpsum
10. You should now see a new link in the top menu

Final note: we would like to work on it during the hackfest in
Thessaloniki, so if you are interested, let us know!


[1]
http://lists.koha-community.org/pipermail/koha-devel/2016-February/042382.html
[2] https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=15879

-- 
Julian Maurice <julian.maurice at biblibre.com>
BibLibre


More information about the Koha-devel mailing list