Add-ons
Un add-on est simplement un plugin Koha qui implémente un ou plusieurs hook(s) appelés par le plugin principal.
Un add-on est utilisé pour prendre en compte des cas spécifiques qui ne peuvent pas être configurés par la configuration du plugin comme les correspondances complexes ou les transformations de données non habituelles.
Créer un add-on
Premièrement, créer le dossier du plugin. Cela doit respecter la structure: my-plugin-name/Koha/Plugin/Com/Biblibre/MyPluginName.pm.
Une bonne pratique est de nommer dossier du plugin comme « koha-plugin-myplugin-patron-import ».
koha-plugin-myplugin-patron-import/Koha/Plugin/Com/Biblibre/MyPlugin.pm
Créer ce dossier à un endroit que Koha peut lire/accéder.
Votre plugin doit contenir au minimum ce code afin qu’il soit installé par l’installation de plugin Koha: Ici le début d’un plugin nommé “Exemple”:
package Koha::Plugin::Com::Biblibre::Example;
use base qw(Koha::Plugins::Base);
our $VERSION = '1.0';
our $metadata = {
name => 'Example Add-on for Patron Import plugin',
author => 'Joe Bar <joe.bar@foo.com>',
description => 'Example Add-on for Patron Import plugin',
date_authored => '2022-10-30',
date_updated => '2020-10-30',
minimum_version => '21.11',
maximum_version => undef,
version => $VERSION,
};
sub new {
my ( $class, $args ) = @_;
$args->{'metadata'} = $metadata;
$args->{'metadata'}->{'class'} = $class;
my $self = $class->SUPER::new($args);
return $self;
}
1;
Hooks
Un hook est appelé plusieurs fois durant un import. Chaque hook correspond à un moment spécifique de l’import. Voir la section “Hooks disponibles” ci-dessous afin d’apprendre quand ils sont appelés et comment les implémenter.
Pour implémenter un hook, ajouter le dans l’add-on:
sub patron_import_mapping_preprocess {
my ($self, $data, $borrower) = @_;
# your specific code here.
}
Hooks disponibles:
Astuce
Pour les utilisateurs autorisés, vous pouvez regarder l’add-on d’exemple <https://git.biblibre.com/Add-on-patron-import/koha-plugin-example-patron-import/src/branch/master/Koha/Plugin/Com/Biblibre/Example.pm>`__.
Ici sont listés les hooks disponibles et la manière dont ils doivent être manipulés.
patron_import_mapping_postprocess
$borrower
est le futur adhérent Koha.sub patron_import_mapping_postprocess {
my ($self, $borrower) = @_;
}
patron_import_patron_update
$patron
est l’adhérent entrant$extended_attributes
contient les attributes étendus de l’adhérent entrant$stored_patron
est l’adhérent courant$stored_extended_attributes
contient les attributs étendus de l’adhérent courantsub patron_import_patron_update {
my ($self, $patron, $extended_attributes, $stored_patron, $stored_extended_attributes) = @_;
}
patron_import_patron_updated
$borrowernumber
est le borrowernumber de l’adhérent mis à jour.sub patron_import_patron_updated {
my ($self, $borrowernumber) = @_;
}
patron_import_patron_create
$patron
est l’adhérent entrant$extended_attributes
contient les attributes étendus de l’adhérent entrantsub patron_import_patron_create {
my ($self, $patron, $extended_attributes) = @_;
}
patron_import_patron_created
$borrowernumber
est le borrowernumber de l’adhérent mis à jour.sub patron_import_patron_created {
my ($self, $borrowernumber) = @_;
}
patron_import_to_skip
$patron
id de l’adhérent entrant correspondant.sub patron_import_to_skip {
my ($self, $patron) = @_;
}
patron_import_patron_exists
$patron
est l’adhérent correspondant entrant. $borrowernumber
est le borrowernumber trouvé (ou non) suite au dédoublonnagesub patron_import_patron_exists {
my ($self, $patron, $borrowernumber) = @_;
}
Maintenant que vous avez crée votre add-on, vous devez l’installer.
Installation
Cloner ou mettre à jour l’add-on sur le serveur
Ajouter le dans le fichier de configuration Koha
Lancer l’installeur de plugin
Activer l’add-on
Lier l’add-on à un import configuré
Cloner ou mettre à jour l’add-on sur le serveur
Placer vos dossiers d’add-ons de façon à ce que Koha puisse accéder à ceux-çi
koha@koha:~$ cd /home/koha/lib/
koha@koha:~$ git clone https://git.biblibre.com/Add-on-patron-import/koha-plugin-example-patron-import.git
Ajouter le dans le fichier de configuration Koha
Editer le fichier koha-conf.xml et ajouter un élement <pluginsdir>
<config>
<pluginsdir>/home/koha/lib/koha-plugin-example-patron-import</pluginsdir>
A présent, redémarrer les services Koha et nettoyer le cache.
Lancer l’installeur de plugin
Aller dans le code de Koha et lancer la commande:
koha@koha:~$ /home/koha/src/
koha@koha:~$ perl misc/devel/install_plugins.pl
Vous devriez voir ceci lorsque votre plugin s’est correctement installé:
Installed Example Add-on for Patron Import plugin version 1.0
All plugins successfully re-initialised
Activer l’add-on
Actions
et sur le bouton Enable
.