Esup-papercut est une (petite) servlet affichant les informations du compte Papercut de l'utilisateur.
Papercut est un outil payant de gestion d'impressions. Il propose notamment une gestion de quotas d'impressions.
En plus d'afficher le nombre d'impressions et le quota restant, esup-papercut peut permettre à l'utilisateur de recréditer son compteur Papercut, ce via un paiement Paybox ou/et IzlyPay.
Paybox est un service de paiement en ligne (commercial) permettant de se décharger de la procédure de paiement en ligne via cartes bancaires, e-carte bleues, comptes paypal et autres.
IzlyPay est la nouvelle solution poussée par les CROUS permettant aux établissements qui le souhaitent d'intégrer le paiement en ligne dans leurs applications institutionnelles depuis l'espace Izly et donc le crédit Izly de l'utilisateur.
Pour fonctionner, esup-papercut requiert :
https://github.com/EsupPortail/esup-papercut
La version 2.0.0 est disponible depuis août 2019 : https://github.com/EsupPortail/esup-papercut/
Le fichier src/main/resources/esup-papercut.properties contient l'ensemble des confgiurations applicatives : base de données, mail, configurations nécessaires à Papercut, Paybox et IzlyPay.
Le fichier src/main/resources/logback.xml quant à lui permet de configurer les logs.
Ce sont ces 2 fichiers que vous devrez modifier pour installer esup-papercut.
esup-papercut peut proposée au travers d'une même instance des contextes d'usages différentes avec des configurations différentes (un contexte de test et un de production par exemple).
Un contexte test est proposé par défaut ; il est défini dans src/main/resources/esup-papercut.properties comme l'ensemble des autres configurtations (mises à part les logs donc).
Concernant le logo, le plus simple est d'écraser directement le logo esup-portail donné dans le fichier src/main/resources/static/images/logo.png en y mettant le logo (png) de votre établissement.
esup-papercut utilise une base de données pour stocker (historiser) l'ensemble des transactions effectuées par l'utilisateur.
Les paramètres de la base sont à donner dans src/main/resources/esup-papercut.properties :
spring.datasource.driver-class-name=org.postgresql.Driver spring.datasource.url=jdbc:postgresql://localhost:5432/esuppapercut spring.datasource.username=esuppapercut spring.datasource.password=esup |
La base créée, la construction de la table peut se faire en démarrant une première fois esup-papercut avec dans src/main/resources/esup-papercut.properties le paramètre hibernate.hbm2ddl.auto à create.
Une fois ce premier démarrage effectué et donc la table créée, remettez hibernate.hbm2ddl.auto à update afin que la base ne soit pas écrasée à chaque redémarrage.
Une base postgresql est conseillée - ne serait-ce que par rapport aux requêtes utilisées pour réaliser les graphiques / courbes de statistiques ; par défaut ces requêtes sont propres à postgresql, cf ci-dessous.
Attention, les graphiques (courbes) des statistiques sont construits grâce à des requêtes SQL qui sont liées au SGBD : nous n'avons pas pu développer de requêtes SQL indépendant du SGBD utilisé.
Ces requêtes peuvent être paramétrées lors de la publication de la portlet via les préférences portlet. Si vous utilisez PostgreSQL, vous pouvez laisser ces préférences par défaut, sinon il faut les adapater en regardant https://github.com/EsupPortail/esup-papercut/blob/master/src/main/java/org/esupportail/papercut/domain/PayboxPapercutTransactionLog.java pour voir les requêtes postgresql à adapter.
Ainsi requeteNbTransactions correspond en postgresql à :
SELECT date_part('year',transaction_date) as year, date_part('month',transaction_date) as month, count(*) as count FROM pay_papercut_transaction_log WHERE papercut_context=:papercutContext GROUP BY year, month ORDER BY year,month |
Si vous adaptez ces requêtes à d'autres SGBD comme MySQL par exemple, n'hésitez pas à nous les partager. |
Dans src/main/resources/esup-papercut.properties :
cas.key=EsupPapercutCAsUnivVille cas.url=https://cas.univ-ville.fr cas.service=https://esup-papercut.univ-ville.fr |
Configurations par contexte
Mis à part esup.default-context qui permet de définir le contexte par défaut à afficher à l'utilisateur (sachant qu'un contexte n'est proposée que si l'utilisateur y a le rôle de USER, MANAGER ou ADMIN), toutes les autres configurations sont données par contexte.
esup.contexts.test.title correspond ainsi au titre à afficher par le contexte test de votre instance esup-papercut.
esupPapercutCasAttributeRuleAdmin.xy : règle permettant d'affecter le rôle ADMIN à l'utilisateur connecté. xy doit être un attribut utilisateur remonté par CAS, la valeur de cette configuration étant une regexp jouée sur la (ou les) valeur(s) de l'attribut (xy) remonté.
esupPapercutCasAttributeRuleManager.xy : comme esupPapercutCasAttributeRuleAdmin mais pour le rôle MANAGER
esupPapercutCasAttributeRuleUser.xy : comme esupPapercutCasAttributeRuleAdmin mais pour le rôle USER ; si tous les utilisateurs doivent pouvoir accéder au contexte on peut ainsi simplement mettre : "esup.contexts.test.esupPapercutCasAttributeRuleUser.uid=.*"
papercutSheetCost : coût d'une page (N&B) en centimes ; permet de donner une indication du nombre de pages par montant ; si -1 aucune indication n'est donnée.
papercutColorSheetCost : coût d'une page couleur en centimes ; permet de donner une indication du nombre de pages par montant ; si -1 aucune indication n'est donnée.
transactionNbMax : nombre de transactions maximal autorisé (les transactions 'archivées' ne sont pas comptées - l'archivage sert à celà ici) : si dépassé, le formulaire de paiement n'est plus accessible ; -1 correspond à ne pas poser de telle contrainte.
transactionMontantMax : montant cumulé des transactions maximal autorisé (les transactions 'archivées' ne sont pas comptées - l'archivage sert à celà ici) : si dépassé, le formulaire de paiement n'est plus accessible ; -1 correspond à ne pas poser de telle contrainte.
Sous-configurations de esup.contexts.test.paybox (avec test un contexte) ; si vous ne souhaitez pas proposer de formulaires de paiement via paybox, omettez simplement de configurer (commentez les ou supprimez les du fichier de configuration) l'ensemble de ces paramètres esup.contexts.test.paybox.*
legende : légende du formulaire paybox présentant les différents montants disponibles
site : numéro de SITE paybox (7 chiffres)
Sous-configurations de esup.contexts.test.izlypay (avec test un contexte) ; si vous ne souhaitez pas proposer de formulaires de paiement via izlypay, omettez simplement de configurer (commentez les ou supprimez les du fichier de configuration) l'ensemble de ces paramètres esup.contexts.test.izlypay.*
legende : légende du formulaire izlypay présentant les différents montants disponibles
key : clef fourni par izlypay
Si vous utilisiez esup-papercut version 1 en portlet, vous pouvez reprendre les données de l'ancienne version et les convertir pour qu'ils conviennent à la nouvelle version : renommage de table et colonnes.
Le script src/etc/migrate-v2-v3.sql permet cette migration de données.
http://www1.paybox.com/telechargement_focus.aspx?cat=3
Web Service API : http://www.papercut.com/products/ng/manual/apdx-tools-web-services.html
A noter que le logiciel papercut embarque une documentation plus usuelle avec code d'exemple (php et java notamment) à l'appui dans
[app-path]/server/examples/webservices/
Esup-Papercut est un des premiers services à proposer l'intégration de IzlyPay, Esup-Papercut fait ainsi figure d'exemple d'intégration d'IzlyPay dans un service institutionnel.
La documentation d'intégration d'IzlyPay est disponible ici : Documentation IzlyPay.docx
Pour tout questions à propos d'IzlyPay directement, merci de prendre contact avec departement-vem@cnous.fr
Voici une présentation interne d'esup-papercut à l'Université de Rouen Normandie - elle correspond à la version 1 d'esup-papercut, quand esup-papercut était portlet et donc lié à l'ENT EsupPortail/uPortal.
esup-papercut-presentation.pdf
Merci de vous abonner et d'utiliser la liste mail "esup-utilisateurs" pour nous contacter (problèmes techniques notamment) :
https://listes.esup-portail.org/sympa/info/esup-utilisateurs
Copyright (C) 2019 Esup Portail http://www.esup-portail.org
@Author (C) 2019 Vincent Bonamy <Vincent.Bonamy@univ-rouen.fr>
@Contributor (C) 2019 Jean-Pierre Tran <Jean-Pierre.Tran@univ-rouen.fr>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.