Les nouveautés...

Version 2.1 du 3 juillet 2018

Corrections de bugs :

- lors de l'édition d'un contenant, le type de contenant n'était pas affiché s'il contenait une apostrophe
- lors de la création du mail de récupération du mot de passe, le nom de l'application n'était pas correctement initialisé

Évolutions :

- support complet de l'anglais dans l'ensemble du logiciel
- une nouvelle variable doit être renseignée dans Administration > Paramètres de l'application : APPLI_title, qui doit contenir le titre de l'application qui est affichée

Version 2.0.1 du 25 mai 2018

Corrections de bugs :

- les listes de choix étaient illisibles sur de petits terminaux
- quand l'interface était positionnée en anglais, la création d'un nouvel utilisateur générait une erreur de gestion de dates
- la génération du fichier pour imprimer des étiquettes (export CSV) ne traitait pas correctement les métadonnées, qui étaient mal positionnées dans les colonnes
- le script col_alter_1.2-1.2.3.sql pouvait générer des erreurs dans certains cas de figure
- si une requête de recherche des échantillons déclenchait une erreur de la base de données, l'écran restait blanc sans pouvoir savoir ce qu'il se passait

Évolutions :

- ajout d'un mode d'affichage restreint de la liste des échantillons, soit pour des usages spécifiques, soit pour les petits écrans (seuls quelques colonnes sont affichées). La bascule s'opère via un bouton
- ajout d'une précision pour gérer correctement les droits dans col_alter_1.2.3-2.0.sql
- l'export des échantillons vers une autre base crée des colonnes dédiées pour chaque métadonnée, préfixée par md_

Version 2.0 du 4 mai 2018

Évolutions :

- mise à jour du framework et de la base de données
- possibilité de générer l'étiquette de l'échantillon en cours de visualisation
- lors de la création d'un nouvel échantillon, les informations présentes dans l'étiquette pré-existante (format Json) sont récupérées automatiquement après son scannage
- ajout d'un filtre pour supprimer les caractères parasites lors de la lecture des codes barres 1D de type EAN128
- lors de la saisie d'un mouvement à partir d'un petit terminal, ajout du dernier statut de l'objet scanné (présent/absent) et d'une temporisation pour limiter les interrogations du serveur
- ajout d'auto-complétion dans quelques boites déroulantes
- en recherche d'échantillon, il est maintenant possible de rechercher jusqu'à 3 critères de métadonnées, qui fonctionnent soit en mode "et" (champs différents), soit en mode "ou" (champs identiques). Pour des questions de performance, les champs utilisables pour la recherche doivent avoir été décrits comme tels (création d'index)
- le terme "projet" a été renommé en "collection", tant dans l'application que dans la base de données
- meilleure définition des dates associées aux échantillons : création dans la base de données, prélèvement, et ajout d'une date d'expiration
- il est maintenant possible de rechercher un échantillon par date (de création, de prélèvement, d'expiration)
- il est possible de générer automatiquement l'identifiant métier à partir des informations saisies (code à définir par type d'échantillon)
- les informations liées aux lieux de prélèvement ont été complétées par des coordonnées GPS et un code. Les coordonnées sont reportées dans l'échantillon si celui-ci n'en dispose pas.
- il est possible de définir des lieux de prélèvement qui sont uniquement attachés à une collection
- lors de l'importation externe, les champs de métadonnées peuvent être indiqués dans des colonnes séparées, préfixées par "md_"
- l'importation externe fonctionne maintenant en mode "remplace ou crée", ce qui permet de mettre à jour des échantillons manipulés dans des bases externes
- lors de l'importation externe, la filiation d'un échantillon est maintenant conservée (si le parent a été créé au préalable)
- en génération des étiquettes, il est maintenant possible d'imprimer le champ dbuid-origin
- il est possible d'accéder directement à un échantillon à partir de son lien d'accès
- de nouveaux scripts sont disponibles pour faciliter l'installation d'un nouveau serveur ou mettre à jour une base de données

Corrections de bugs :

- en recherche d'échantillons, correction de la recherche sur les métadonnées
- en création des étiquettes, un bug empêchait l'affichage des champs de métadonnées
- l'importation de métadonnées externes ne récupérait pas correctement le champ Json
- correction du message de réinitialisation du mot de passe
- harmonisation des libellés concernant les conteneurs
- ajout de contrôles supplémentaires lors de l'importation externe, avec test de cohérence des dates
- la sortie des échantillons, depuis le détail d'un échantillon, n'aboutissait pas
- en création de mouvements de masse, les échantillons externes n'étaient pas reconnus
- lors de la procédure d'importation externe, l'appariement était fait en tenant compte de la casse, ce qui a été supprimé
- en création de mouvements de masse, le logiciel ne savait pas gérer correctement le fait que le même container était scanné plusieurs fois
- le lien "retour à la liste" ne ramenait pas toujours à la liste d'origine, si l'utilisateur avait basculé de la consultation d'un échantillon à un conteneur et vice-versa
- le basculement entre le français et l'anglais posait des problèmes de gestion de la date

Version 1.2.4 du 5/12/2017

Correction de bugs :

- la création d'un compte de connexion ne fonctionnait plus : le mot de passe n'était jamais enregistré

Version 1.2.3 du 22/11/2017

Évolutions :

- l'import de masse accepte maintenant l'UID de l'échantillon parent
- le droit "import" est créé, il permet d'autoriser un utilisateur à importer les informations via des fichiers csv (import de masse ou d'une autre instance)
- l'écran d'import de masse a été remanié, en affichant les boîtes de dialogue en haut d'écran
- les performances lors de la recherche d'un échantillon sont optimisées par l'utilisation d'un nouveau type d'index

Corrections de bugs :

- lors de l'import de masse, les métadonnées n'étaient pas correctement reconnues (bug introduit en version 1.2)
- la suppression d'un login ou d'un compte dans la gestion des droits a été améliorée, elle supprime également les dépendances croisées (login, compte déclaré, présence dans les groupes)
- dans certains cas, la recherche globale de mouvements ne permettait pas de visualiser les mouvements créés dans la journée (borne haute)

Version 1.2.2 du 15/11/2017

- corrections de bugs divers concernant les métadonnées
- amélioration des performances en recherche des échantillons

Version 1.2.1 du 03/11/2017

Évolutions et nouvelles fonctionnalités :

- la taille de la police est augmentée pour les terminaux de petite taille (smartphones)
- le menu disparait sur les smartphones et est remplacé par le bouton de sélection du menu
- le module de création des mouvements sur petit terminal comprend maintenant la lecture optique par l'intermédiaire de la caméra

Version 1.2 du 20/10/2017

Mise à jour du schéma de la base de données nécessaire (schéma COL, contenant les données, par défaut). Script à utiliser :

- col_alter_1.1-1.2.sql si vous êtes déjà en version 1.1 ou 1.1.0. Si ce n'est pas le cas, exécutez les scripts de montée de version successivement
- gacl_create_1.1.sql et col_create_1.2.sql successivement pour créer un nouveau jeu de données, ou bien init_by_psql.sql en ligne de commande dans un serveur Linux, qui exécutera les deux scripts automatiquement

Corrections de bugs :

- une erreur SQL survenait lors de la validation des scans multiples
- la fenêtre permettant les scans multiples était mal dessinée
- la recherche d'échantillons était déclenchée, même si aucun critère n'était renseigné
- en affichage des mouvements, l'emplacement de rangement était affiché même pour les mouvements de sortie
- les libellés étaient incohérents sur les pages de modification des motifs de déstockage
- les libellés ont été harmonisés en containers, le logiciel affichait soit conteneur, soit container au gré des pages
- lors de la création d'un utilisateur, la saisie du mot de passe était entachée de quelques bugs qui pouvaient aboutir à l'absence de la création du mot de passe
- dans la saisie des modèles de métadonnées, certains noms de champs utilisés pour les déclarer étaient soit en français, soit présentaient des fautes d'orthographe
- la documentation d'installation a été revue pour mieux isoler le cas d'un serveur mono-instance

Évolutions et nouvelles fonctionnalités :

- le code de l'instance est maintenant stockable dans la base de données
- en scan de code-barre, le programme peut lancer la recherche sur des identifiants secondaires (pré-sélection nécessaire)
- il est possible d'importer une liste des lieux de prélèvement plutôt que de les saisir manuellement
- il est possible de visualiser les entrées-sorties réalisées par un opérateur
- un lexique a été rajouté dans le menu d'aide
- il est possible de générer des QR-codes ne contenant qu'un identifiant métier (QR-codes de très petite taille)
- l'impression des étiquettes vers une imprimante reliée au serveur fonctionnait avec la commande linux lpr. Pour les Raspberry (entre autres), le programme supporte maintenant la commande lp
- un nouveau module de scan a été rajouté. Il permet de visualiser où est un échantillon, où il était avant d'être sorti du stock, et autorise la création d'un nouveau mouvement d'entrée (à l'ancien emplacement ou non) ou de sortie

Version 1.1 du 01/09/2017

Collec devient Collec-Science.

Mise à jour des schémas de la base de données nécessaire (schémas GACL et COL par défaut). Scripts à utiliser :

- col_alter_1.0.8-1.1.sql, si vous êtes déjà en version 1.0.8. Si ce n'est pas le cas, vérifiez votre version et exécutez les scripts de montée de version successivement
- gacl_create-1.1.sql et col_create_1.1.sql successivement, pour toute nouvelle installation.

Corrections de bugs :

- le script col_alter_1.0-1.0.4.sql contenait un nom de schéma en dur

Évolutions et nouvelles fonctionnalités :

Import de masse :

- il est possible d'indiquer maintenant des informations complémentaires, comme les coordonnées géographiques ou les métadonnées associées à un échantillon

Gestion du stockage :

- il est maintenant possible d'indiquer, pour un type de container, le nombre de lignes et de colonnes disponibles
- lors d'un mouvement d'entrée, il est possible d'indiquer le n° de ligne et de colonne de rangement
- la visualisation d'un container permet d'afficher la grille d'occupation

Gestion des échantillons :

- il est possible d'exporter une liste d'échantillons, pour pouvoir la réimporter dans une autre base. L'interface permet d'indiquer les valeurs à appliquer localement par rapport aux données initiale (projet, type d'échantillon, localisation...)

Impression des étiquettes :

- il est possible d'intégrer la localisation (lieu de prélèvement des échantillons)

Gestion des métadonnées associées à un échantillon :

- il est possible de décrire des métadonnées, et les associer avec des types d'échantillons
- en modification d'un échantillon, il est possible de saisir les métadonnées
- celles-ci peuvent être intégrées à un modèle d'étiquette, et figurent dans le fichier CSV exporté pour impression hors collec-science
- les descriptions de métadonnées peuvent être exportées pour être réimportées dans une autre base

Consultation des protocoles :

- les protocoles doivent maintenant être associés à des projets
- seuls les membres du projet (et les administrateurs de l'application) peuvent télécharger le fichier PDF contenant sa description

Gestion des droits et des habilitations :

- installation d'une nouvelle version du moteur de l'application
- pour les utilisateurs identifiés dans la base de données locale, il est maintenant possible pour eux de demander une réinitialisation du mot de passe (nécessite au préalable que l'adresse mail a été renseignée, et que le serveur supporte l'envoi des mails)
- l'accès aux modules d'administration nécessite une réidentification
- en cas d'échecs répétés de connexion, un mail d'alerte est envoyé aux administrateurs (leur mail doit avoir été déclaré préalablement, le serveur doit autoriser l'envoi des mails)
- la connexion auprès d'un serveur CAS a été corrigée. L'ensemble de la procédure d'identification a été revue

Version 1.0.8 du 02/06/2017

Mise à jour de la base de données nécessaire

Correction de bugs :

- en modification d'un type d'opération, le protocole déjà saisi n'était pas affiché correctement
- dans la liste des opérations, le tri ne fonctionnait pas
- une fois un container ou un échantillon supprimé, la boite de recherche prenait comme arguments les paramètres de l'objet supprimé
- en codage standard de la base de données (utf-8), dans les boites de recherche des échantillons ou des containers, si une liste déroulante était utilisée, le temps de recherche était très long. Le problème a été réglé en supprimant le nombre maxi d'objets affichés et en obligeant à indiquer au moins un critère de recherche

Nouvelle fonctionnalité :

- au lancement de l'application, la version de la base de données est maintenant vérifiée
- un script de génération automatique de la base de données est maintenant disponible, pour les nouvelles installations

Version 1.0.7a du 12/05/2017

Correction de bugs :

- les étiquettes générées n'étaient pas triées
- si l'échantillon provenait d'une autre base de données, le tri sur l'UID dans le tableau n'était plus numérique, mais alphabétique (déplacement de l'UID d'origine dans la colonne Autres identifiants)

Version 1.0.7 du 10/05/2017

Corrections de bugs :

- dans l'import de masse, les statuts des containers ou des échantillons sont obligatoires, mais ce n'était pas précisé
- depuis le détail d'un container, la liste des échantillons n'affichait pas les données pour l'ensemble des colonnes, dont les identifiants secondaires
- en génération d'étiquettes, si un champ n'était pas indiqué dans le QRcode, il n'était pas disponible pour l'affichage dans le corps de l'étiquette

Nouvelles fonctionnalités ou améliorations :

- il est maintenant possible de créer un nouvel échantillon ou un nouveau container sans lancer une recherche préalable (cela perturbait les utilisateurs)
- étiquettes : il est possible d'afficher le produit utilisé pour la conservation (colonne storage_product)
- impression des étiquettes : il est maintenant possible d'utiliser un autre modèle que celui qui est associé au type de container

Version 1.0.6a du 03/04/2017

Correction d'un bug :

- en saisie d'un mouvement depuis le détail d'un objet, la liste des containers associés à un type n'était pas affichée

Version 1.0.6 du 03/03/2017

Mise à jour de la base de données nécessaire (script install/col_alter_1.0.5-1.0.6.sql)

Corrections d'anomalies :

- la modification des sous-échantillonnages ne fonctionnait pas
- plusieurs anomalies empêchaient le changement d'un mot de passe par l'utilisateur. Après modification, l'écran était vierge.
- en import de masse, si le champ container_parent_id était renseigné, et qu'aucun container n'était indiqué, le mouvement n'était pas généré
- le programme permettant la lecture des scans supprime les espaces potentiellement rajoutés par la douchette avant le libellé lu
- la colonne storage/range a été renommée en storage/storage_location

Nouvelles fonctionnalités et améliorations :

- dans le tableau des échantillons, l'échantillon parent est maintenant affiché
- le tableau des échantillons peut maintenant être exporté dans divers formats
- il est maintenant possible d'indiquer l'identifiant de la base de données d'origine d'un échantillon. Cela permet de scanner une étiquette générée par une autre implémentation de l'application, pour faciliter les échanges. Champ rajouté : sample/dbuid_origin, format attendu : db:uid
- dans le détail d'un échantillon ou d'un container, l'utilisateur a maintenant accès simultanément à la saisie des mouvements d'entrée ou de sortie (auparavant, seule l'opération inverse était possible)
- en saisie d'un mouvement d'entrée depuis le détail d'un objet, le nom du container est affiché si son uid est saisi manuellement

Version 1.0.5a du 08/02/2017

Correction d'un bug empêchant la suppression d'un container

Version 1.0.5 du 02/02/2017

Mise à jour de la base de données nécessaire (script install/col_alter_1.0.4-1.0.5.sql)

Correction d'anomalies :

- lors de l'attribution des droits de gestion aux projets, les groupes LDAP ou hérités n'étaient pas correctement traités
- en entrée rapide d'échantillons, le container n'était pas correctement relu après le premier mouvement. En cas d'erreur de code, l'uid n'était pas correctement effacé
- le modèle d'étiquettes n'était pas supprimé après génération dans le dossier temporaire, ce qui interdisait les phases de mise au point

Améliorations :

- rajout d'une table des zones de prélèvement : il est maintenant possible de rattacher un échantillon à une zone géographique définie préalablement (utilisable en recherche d'échantillons)
- il est maintenant possible de scanner des codes-barres qui contiennent des identifiants métiers, et qui n'ont pas été générés par l'application (soit code barre 1D avec l'identifiant, soit qrcode avec l'identifiant ou une adresse http)
- l'export csv (pour générer les étiquettes avec un logiciel tiers) comprend maintenant les coordonnées xy

Documentation :

- rajout de la procédure d'installation de PHP7 avec Debian 8

Version 1.0.4 du 18/01/2017

Mise à jour de la base de données nécessaire (script install/col_alter_1.0-1.0.4.sql)

Corrections d'anomalies :

- la lecture d'un QRCODE à partir d'une caméra ne fonctionnait pas si l'appareil utilisé ne disposait pas d'une caméra arrière (caméra d'environnement)
- la sélection du type de container ne fonctionnait pas s'il n'y en avait qu'un dans une famille de containers
- la recherche de containers ne fonctionnait pas en saisie d'un mouvement
- en saisie d'un échantillon, le type de container n'était pas assez explicite

Améliorations :

- la date du dernier mouvement des objets est affichée dans les listes
- la date de création des objets a été passée en date/heure
- il est maintenant possible d'intégrer la position gps d'un objet dans une étiquette ou dans le QRCODE
- il est maintenant possible d'intégrer la date de création d'un objet dans une étiquette ou dans le QRCODE
- en modification d'un objet, la carte est maintenant affichée, et il est possible de positionner l'emplacement de l'objet en cliquant dessus
- en modification d'un objet, il est possible de positionner l'objet à partir de la position estimée du terminal (soit en utilisant les coordonnées GPS pour les smartphones ou tablettes, soit l'emplacement calculé à partir du réseau informatique)

Paramétrage :

- 3 nouveaux paramètres peuvent être définis, qui concernent le pré-positionnement de la carte quand aucune coordonnée n'a été rentrée : $mapDefaultX et $mapDefaultY centrent la carte sur le point indiqué, $mapDefaultZoom est le facteur de zoom par défaut

Documentation :

- le manuel d'installation et de configuration contient une nouvelle annexe qui explique comment mettre en place la synchronisation de deux serveurs postgresql, pour éviter de perdre des informations
- une nouvelle section a été rédigée, pour expliquer les opérations à réaliser lors d'une mise à jour du logiciel

Version 1.0.3 du 08/12/2016

Corrections :

- script de génération des tables : la table project_group était mal nommée
- fichier param.inc.php.dist : les schémas pour la connexion à la base de données principale étaient incomplets (variable $BDD_schema)

Version 1.0.2 du 02/12/2016

Documentation :

- correction des paramètres à indiquer pour une bonne gestion du multi-bases (accès au fichier param.ini)
- ajout de la configuration pour une identification en mode HEADER

Améliorations :

- le titre de l'onglet est maintenant configuré à partir du titre donné à l'application dans les variables (fonction nécessaire pour le multi-bases)
- ajout de la possibilité de connexion en mode HEADER (login transmis dans une variable d'entête HTML par un serveur proxy d'identification, comme LemonLdap, par exemple)

Corrections :

- il est maintenant possible de déclarer plusieurs fois le même groupe LDAP pour lui donner des droits différents

Version 1.0.1 du 24/11/2016

Améliorations :

- affichage de la dernière connexion de l'utilisateur
- ajout d'un contrôle sur la durée absolue de la session
- ajout de logs dans syslog pour la connexion et la déconnexion

Corrections :

- ajout de l'enregistrement des logs lors de la reconnexion par token
- correction d'un bug d'affichage du menu en mode production
- le lien vers les réservations ne fonctionnait pas dans le détail d'un conteneur ou d'un échantillon

Divers :

- remplacement de la version de Smarty par la 3.1.30

Version 1.0 du 25/10/2016

Première version de production

Fonctionnalités intégrées :

- saisie des objets (containers, échantillons)
- création des mouvements avec motif de sortie du stock si nécessaire
- réservation d'un objet
- création d'un échantillon issu d'un autre échantillon (pièces extraites, p. e.)
- gestion de sous-échantillons : entrée, sortie de sous-échantillons d'un échantillon
- ajout de pièces jointes à un objet (photos p.e.), affichage de la photo la plus récente dans la liste des objets
- import de masse
- génération des étiquettes intégrant un QRCODE, scan à partir d'une douchette ou d'un terminal de type tablette ou smartphone et génération rapide d'un mouvement d'entrée ou de sortie
- génération en masse des mouvements d'entrée ou de sortie (scan par douchette en mode différé)