Cette extension WordPress permet de mettre simplement à jour les membres, les équipes, les thématiques, les publications (extraites de HAL ou d’une autre base de donnée) des pages internet d’un laboratoire sans aucune connaissance en programmation web.
Voici les informations principales sur l’extension. Pour avoir de l'aide sur la syntaxe des shortcodes, rendez-vous sur la page aide.
Cette extension WordPress libre permet, sur une interface unifiée, de gérer les pages des équipes et des personnels d’une structure de recherche. Elle simplifie la mise à jour des membres et équipes, de leurs informations et leur liste de publication (extraite de HAL ou d’une base de donnée maison comme celle de Paris Descartes). L’extension génère et met à jour automatiquement, en totalité ou en partie, nombre de pages web (pages de membres, d’équipes, listes, organigrammes ou tableaux de membres). L’extension permet en outre d’intégrer automatiquement les publications issues d’une base extérieure pour une mise à jour centralisée.
wp-admin/plugin-install.php
)
git clone https://git.renater.fr/anonscm/git/monlabo/monlabo.git .
wp-admin/plugins.php
wp-admin/admin.php?page=MonLabo_config
)Vous pouvez vous abonner aux listes de diffusion suivantes :
Il y a désormais 339 scénarios de tests uitaires qui vérifient 10484 assertions (version 5.0).
Voici la procédure d'installation et de lancement des tests :
cd wp-content/plugins
mkdir MonLabo_tests
cd MonLabo_tests
git clone https://git.renater.fr/anonscm/git/monlabo/MonLabo_tests.git .
./install_unit_tests.sh
(possibilité de regénérer une version complète en cas de soucis avec le script
./regenerate_unit_tests.sh
)cd ../MonLabo
phpunit
phpunit --coverage-html coverage
Les sources du logiciel sont examninées par plusieurs outils d'analyse statique:
[publications_list2]
shortcode - complete rewrite of [publications_list]
using HAL API V3 exclusivelyAccess_Data -> Access_Data\{ Access_Generic, Access_Data, Core\Data_Accessor, Core\Data_Creator, Core\Data_Remover }
Html -> { Html, Person_Or_Structure_View, Shortcodes\Generic_View, Shortcodes\Chart_view, Shortcodes\Table_view, Shortcodes\List_view }
Edit_Members -> Edit_Members\{ Edit_Members, Edit_Members_Generic, Edit_Members_Comment, Edit_Members_Advanced }
Forms_Processing -> Forms_Processing\{ Forms_Processing, Forms_Processing_Generic, Forms_Processing_Advanced }
Admin_Ui -> { Admin_Init_Pages, Forms_Processing_Generic, Forms_Processing_Advanced }
Page -> Wordpress_Page
Admin -> { Admin, Admin_Init }
Admin_Render -> Admin_Menu
esc_attr(), esc_js(), wp_kses_post(), esc_html()
)??
) - requires PHP 7.0+ that has been already required in former versions.?p=
to ?page_id=
format( isset(a) && !empty(a) )
by !empty(a)
[publications_list2]
[members_chart]
remove persons that are marked as not visible.[teams_list]
- directors names are no more simple texts but links to their pages[members_list]
[members_table]
[members_chart]
[former_members_list]
[former_members_table]
[former_members_chart]
[teams_list]
[publications_list]
[alumni_list]
into [former_members_list]
[alumni_table]
into [former_members_table]
[alumni_chart]
into [former_members_chart]
[members_list_automatic], [get_members_list], [custom_publications_list], [publications_automatic], [perso_panel_automatic], [alumni]
[perso_panel]
, [members_list]
, [members_table]
, [alumni_list]
, [alumni_table]
$_(POST|GET)
datas[almni_table]
, Quand l'année de départ n'était pas fournie, affichage parfois maladroit.[members_list team="X"]
pouvait indiquer un team leader erroné si une personne était team leader de deux équipes[publications_list lang="xx']
: La langue des publications n'était pas toujours respectée[members_list]
et [alumni_list]
n'affichent plus de puce par défaut devant chaque personne.[team_panel]
: Ajoute l'option "team" à ce shortcode.[members_chart]
, [members_table]
, [alumi_chart]
et [alumni_table]
: Ne plus faire de lien vers la page perso d'un membre alumni (seulement un lien vers son site exterieur s'il existe). Les listes de personnes fonctionnent déjà comme cela.[members_list]
: Suppression du titre lorsque l'option uniquelist="YES" est activée. C'est plus logique car il est difficile d'imaginer l'usage.[almni_table]
: affiche l'ancienne fonction plutôt que l'ancienne catégorie. C'est plus précis et plus logique.[team_panel]
: Les noms des leaders faisaient apparaître du code HTML.[members_list]
et [alumni_list]
n'affichent plus de puce par défaut devant chaque personne.[publications_list]
)[perso_panel]
[custom_publications_list]
est devenu obsolète (Incorporation de ses paramètres dans [publications_list]
)
[publications_list]
: Hal_struct, Hal_idHal, Descartes_alias, Descartes_auteurid,
Descartes_unite, Descartes_equipe, Descartes_typePub, Descartes_nohighlight, Descartes_orga_types,
Descartes_format, Descartes_debug[alumni_list]
, [alumni_table]
et [alumni_chart]
du paramètre years= 0.93 = (SVN r.469) *Release Date - 23 November 2016* * ÉVOL: Ajout de l’option d’affichage des publications = 0.92 = (SVN r.464) *Release Date - 17 October 2016* * CODE: Remplace tous les echo par des retour de variable (plus propres) dans inc-lib-forms.php et MonLabo_edit_members.php. * BUG: Corrections d’effets de bord dans les formulaires d’édition de membres, équipes... * BUG: Le formulaire d’édition des équipes ne se mettait plus à jour quand on sélectionnait une équipe. * ÉVOL: Formulaire d’édition de membres: Séparer l’affichage des membres entre actif et alumni dans les sélecteurs * BUG: Repair [alumni_list] shortcode * CODE: Refactoring de nombreuses fonctions = 0.91 = (SVN r.437) *Release Date - 30 August 2016* * CODE: Corriger orthographe pannel => panel * ÉVOL: Ajout d’un champs color dans la table des équipes * ÉVOL: Ajout d’une classe correspondant à la catégorie dans chaque colonne des compact tables * ÉVOL: Ajout d’une classe correspondant à l’équipe' dans chaque colonne des chart tables = 0.90 = (SVN r.405) *Release Date - 20 Jully 2016* * CODE: Refactoring of all shortcode and access to database = 0.70 = (SVN r.312) *Release Date - 27 June 2016* * CODE: Refactoring complet de l’accès à la base de donnée * CODE: Ajouts de tests unitaires pour toutes les couches bases = 0.68 = (SVN r.262) *Release Date - 10 June 2016* * CODE: Création d’un environement de tests unitaires * BUG: La fonction activate_MonLabo ne mettait pas les valeurs par défaut des options si la base était vide * BUG: Supprime le cache d’accès à certaines requêtes car il donnait des mauvais résultats lors de mises à jour intermédiaires. * BUG: Supprime de nombreux caches de requete qui posaient problèmes en cas de mise à jour de la base entre deux requêtes. * CODE: Ajout d’une classe MonLabo_db et son test unitaire = 0.67 = (SVN r.253) *Release Date - 9 June 2016* * DOC: Improve readme.txt * DOC: Corrige quelques fautes d’orthographe et imprécisions de la documentation * CODE: Renomme MonLabo_help_lib.php en MonLabo_doc.php (nom plus logique) * CODE: Supprimer fichiers et dossiers inutiles: admin/includes/images et Database.class.php * ADMIN: Supprime MonLabo_help.php après avoir autorisé les simples utilisateurs à accéder à la documentation * CODE: Rajouter index.php dans les dossiers manquants * DOC: Allège documentation (Met les onglets de la documentation en popup) = 0.66 = (SVN r.242) *Release Date - 31 May 2016* * ÉVOL: Amélioration de la page d’ajout/modification des membres * Quand on supprime la personne, passer sa page en brouillon * Adapater les champs et boutons en cas d’ajout de membre plutôt que modification * DOC: Ajout d’un dossier documentation = 0.65 = (SVN r.241) *Release Date - 30 May 2016* * CODE: Conversion de tous les tabs en espaces et reprise de la forme du code * CODE: Suppression des librairies inutiles: Boostrap, Parsley, Select2 * ÉVOL: Delphine rajoutée dans les crédits = 0.64 = (SVN r.240) *Release Date - 30 May 2016* * ÉVOL: Suppression de phpMyEdit pour l’édition des membres, équipes, thématiques, unités = 0.63 = (SVN r.237) *Release Date - 12 May 2016* * BUG: Les pages des nouveaux membres utilisaients des anciens tags = 0.62 = (SVN r.236) *Release Date - 12 May 2016* * BUG: MonLabo_teams et MonLabo_members ne sont pas remplies à l’activation de l’extension * NLLE FONC: Ajout du shortcode organigrame * ÉVOL: Permet d’afficher une liste d’alumni * ÉVOL: Ajoute l’aide des nouveaux shortcodes (alumni_*, members_table et members_chart) = 0.61 = (SVN r.234) *Release Date - 1 April 2016* * BUG: Adresse de l’équipe mauvaise quand la page est traduite par polylang * BUG: Nouvel auteur crée: Si titre vide remplacé par erreur par "0". * ÉVOL: Plus besoin de désactiver et réactiver l’extension pour mettre à jour les paramètres en cas d’évolution. = 0.60 = (SVN r.228) *Release Date - 15 mars 2016* * NLLE FONC: Rajout du shortcode Alumni_table * BUG: Débugge affichage des équipes en tableaux * TABLE CHANGE: Ajout des champs statuts et tuteur dans la table des personnels * ÉVOL: Organise tous ajouts de fonctionnalités de l’extensions en cochant (plus de décochage pour ajouter) * ÉVOL: Check version number to ask deactivate plugin * BUG: Le calcul du nombre de chef d’équipe est mauvais, 1 au lieu de 0 quand il n’y a personne * ÉVOL: Unifie le nom des shortcodes * members_table * members_list (au lieu de members_list_automatic) * members_chart (futur) * alumni_table (futur) * alumni_list * publications_list (au lieu de publications_automatic) * custom_publications_list (au lieu de get_publications) * perso_panel (au lieu de perso_panel_automatic) * NLLE FONC: Ajout de custom fields pour les Personnels * NLLE FONC: Personnels: Ajout de la date de départ (utile pour les alumni) * BUG: Second titre décalé dans la liste des utilisateurs * ÉVOL: Mise sous forme d’onglets de l’aide. * NLLE FONC: Rajout de l’option code css custom * ÉVOL: Permet de désactiver les fonctions de publications * BUG: MonLabo_thematiques et MonLabo_unites ne sont pas remplies à l’activation de l’extension * ÉVOL: Affichage correct des listes d’équipes d’une thématique = 0.50 = (SVN r.195) *Release Date - 8 March 2016* * NLLE FONC: Permet de configurer et de changer l’adresse du serveur de publications * NLLE FONC: Ajoute la liste de thématiques * NLLE FONC: Béta shortcode get_thematic_teams_list = 0.49 = (SVN r.194) *Release Date - 23 February 2016* * NLLE FONC: Possibilité d’utiliser une adresse alternative pour un utilisateur = 0.48 = (SVN r.193) *Release Date - 23 February 2016* * NLLE FONC: Add shortcode get_members_table * NLLE FONC: Add "Visitors" category * ÉVOL: Manage language en-GB = 0.47 = (SVN r.191) *Release Date - 23 February 2016* * ÉVOL: Sépare les options Fonctionnalités et Coordonnées = 0.46 = (SVN r.189) *Release Date - 23 February 2016* * EVOL: Table MonLabo_teams : Ajout des colonnes unite, logo et thematiques = 0.45 = (SVN r.187) *Release Date - 22 February 2016* * ÉVOL: Table MonLabo_teams : La colone page_id devient page_id_or_url = 0.44 = (SVN r.184) *Release Date - 22 February 2016* * BUG (regression): Ne peut cas créer une nouvelle fonction pour un nouvel utilisateur * ÉVOL: Permet d’indiquer si un utilisateur est responsable d’équipe à sa création * BUG: Lien invalide vers les équipes d’un membre = 0.43 = (SVN r.183) *Release Date - 22 February 2016* * ÉVOL: Les responsables des équipes sont désormais stoqués dans les équipes = 0.42 = (SVN r.177) *Release Date - 11 February 2016* * ÉVOL: New CSS for user list = 0.41 = (SVN r.176) *Release Date - 11 February 2016* * ÉVOL: Utilise la nouvelle API "annee=-[durée]" = 0.40 = (SVN r.169) *Release Date - 11 February 2016* * ÉVOL: Le tag [perso_publications_automatic] devient [publications_automatic] (car il peut désormais être utilisé aussi sur les pages des équipes) * ÉVOL: Le tag [get_members_list] devient [members_list_automatic] (pour une question d’uniformité) * NLLE FONC: [members_list_automatic] peut être mis sur les pages des équipes (nouvelle colonne "Descartes pubmed equipe ID" dans la liste des équipes) = 0.33 = (SVN r.164) *Release Date - 10 February 2016* * BUG: Mauvaise sélection des membres des équipes si le champs "Team leader" n’était pas renseigné = 0.32 = (SVN r.158) *Release Date - 5 January 2016* * BUG: Création d’un tilisateur inversait nom et prenom. = 0.31 = * IMPROVE: Ajoute un lien vers la liste consultable des auteurs dans la base Descartes PubMed * BUG: Corrige la base d’ajout d’un membre du personnel qui ne fonctionnait pas = 0.30 = (SVN r.153) *Release Date - 23 November 2015* * IMPROVE NLLE FONC: Amélioration du formulaire d’ajout d’un membre du personnel = 0.29 = (SVN r.149) *Release Date - 20 November 2015* * NLLE FONC: Formulaire d’ajout d’un membre du personnel = 0.28 = (SVN r.148) *Release Date - 19 November 2015* * ÉVOL: Si un utilisateur ne fourni pas d’image, mettre une silouette * NLLE FONC: Permettre de choisir la silouhette par défaut = 0.27 = (SVN r.147) *Release Date - 19 November 2015* * NLLE FONC: Ajoute une colone "visible" à MonLabo_members pour éventuellement une personne n’apparaisse pas sur le site. = 0.26 = (SVN r.146) *Release Date - 18 November 2015* * NLLE FONC: Permet de désactiver la gestions des membres et des groupes = 0.25 = (SVN r.145) *Release Date - 16 November 2015* * BUG: Hote de la base de donnée n’est pas forcément localhost! (Remplacé par DB_HOST) = 0.24 = (SVN r.144) *Release Date - 16 November 2015* * NLLE FONC: Config - Permit to chose width of Bandeau Personnel and wdth of address block = 0.23 = (SVN r.139) *Release Date - 25 October 2015* * NLLE FONC: Separate options into tabs. * ÉVOL: Options settings storage name in database change name * DEV: Reorganize option functions = 0.22 = (SVN r.136) *Release Date - 23 October 2015* * NLLE FONC: Permit to fix radius of members image. * NLLE FONC: Permit to zoom name of people in perso panel. * NLLE FONC: Permit to fix size of address in perso panel. = 0.21 = (SVN r.135) *Release Date - 23 October 2015* * BUG: Suppress AUTO_INCREMENT of id for table MonLabo_teams in order to chose the Number * BUG: Prevent use of polylang function when this plugin is not activated = 0.20 = (SVN r.134) *Release Date - 23 October 2015* * ÉVOL: Ajust alumni display and permit parameter "external_link" * BUG: Version of CSS is now appliy = 0.19 = (SVN r.127) *Release Date - 22 October 2015* * ÉVOL: Rempli avec des valeurs par défaut les paramètres et les tables si ils sont vides = 0.18 = (SVN r.125) *Release Date - 22 October 2015* * ÉVOL: Update CSS of MonLabo in order to fix sise of bandeau-personnel * ÉVOL: Suppress unecessary shortcode [end_perso_panel] * BUG: Display again "Titre" (Dr. Pr....) in perso_panel = 0.17.1 = (SVN r.124) *Release Date - 22 October 2015* * ÉVOL: unactivate Add members forms * NLLE FONC (PRE ALPHA): Add members forms * BUG: Suppress reference of obsolete shotcode fin_perso_panel * NLLE FONC: When a full phone number (begining with +) is entered, do not write prefix * BUG: Correct Alter table when reactivate plugin = 0.16 = * ADMIN BUG: Correct absence of display of first line of tables * NLLE FONC : Permit the use of several Page_ID numbers separated by , * TABLE CHANGE: page_id field of table MonLabo_teams is now type varchar = 0.15.2 (SVN r.114) = *Release Date - 8 October 2015* * BUG: Correct bug that crash site on old version of PHP * NLLE FONC: [get_members_list] finds automatically the team of the current page * FEAT: Translate into english all name of shortcodes and option = 0.14 (SVN r.110) = *Release Date - 7 October 2015* * NEW ADMIN FEAT: Add color picker when chosing color * ADMIN: Optimize display of help for members and team tables. * BUG: Correct alphabetic order of list of members = 0.13 (SVN r.108) = *Release Date - 6 October 2015* * NLLE FONC: Can change colors of members list = 0.12 (SVN r.107) = *Release Date - 6 October 2015* * DEV: Reorganize options page calls * INTERFACE: uses tabs in config pages * BUG: Correct bad display of members tables in old version of PHP = 0.11 (SVN r.98) = *Release Date - 2 October 2015* * DEV: Change architechture of files (add includes dir) * NLLE FONC: Add shortcode [ancien_membre] = 0.10 (SVN r.95) = *Release Date - 1 October 2015* * DEV: Manage activation hooks * ÉVOL: rename tag get_team_members into get_members__list * NEW EARLY FEAT: Add possibility to use several labs * BUG: Support UTF8 for phpmyedit. * DEV: Autoincrement new tables. = 0.9 (SVN r.84) = *Release Date - 25 September 2015* * NLLE FONC: Incorporate management of publications * NLLE FONC: Embed edition of tables = 0.8 (SVN r.73) = *Release Date - 21 September 2015* * NLLE FONC: Rename in MonLabo. Add admin menu. = 0.1 (SVN r.28) = *Release Date - 27 December 2014* * Initial release.
Cette extension est déclarée utilisé par :
Voici le poster présenté en juillet 2017 aux JDEV de Marseille (Journées du DEVeloppement logiciel):
Voici les présentations "Lightning Talk" données (avec un peu d'humour) aux JRES 2019 et JRES 2024 :
Code source :
https://git.renater.fr/anonscm/git/monlabo/monlabo.git
ou lien de navigation sur le dépot.
Tests unitaires :
https://git.renater.fr/anonscm/git/monlabo/MonLabo_tests.git
Licence libre : GPLv3 ou ultérieure