List of news

Version v24.1.4 of 18/04/2024
-----------------------------
Bug fixes :
- with only view rights, an error message was generated when displaying the list of samples
- when creating label templates, the application would crash if the server was protected by a reverse proxy using mod_security and filtering XML data
- searching for samples using the identifiers zone crashed the application
- in the lists of samples and containers, the display of samples or child containers no longer worked in consultation mode
- the API for writing samples did not function correctly in update mode
- in batch movements, labels containing only the UID were not processed correctly

New features:
- in sample selection (metadata tab), it is now possible to add a filter to display only one metadata in the metadata column. Only works for metadata marked as "searchable".

Version v24.1.3 of 26/3/2024
----------------------------
Bug fixes:
- when importing externally, creating a new sample did not work
- in the list of samples, the storage conditions were not indicated

Version v24.1.2 of 22/2/2024
-----------------------------
Bug fixes :
- If a sub-sampling was not entered with a quantity, the display of the sample would crash the application
- deleting a sample would fail if gps coordinates were entered

Version v24.1.1 of 14/2/2024
-----------------------------
Bug fixes :
- in some cases, the display of samples did not work
- when changing the password, the e-mail was not sent correctly

Version v24.1.0 of 5/2/2024
-----------------------------
Bug fixes :
- after creating a sub-sampling, the sample was no longer displayed if the quantity taken had not been entered
- in the query module, SQL error messages are now displayed in the event of a problem during execution
- in the query module, collection selection was no longer available
- in the 'small terminal' movement creation module, scanning qrcodes from cameras was not working
- in labels, the object's storage location was not correctly displayed if the label related to a container
- the display on the portable terminals was illegible

New features:
- it is now possible to search for samples in several collections at the same time
- for sample management, it is now possible to define write rights attached to sampling campaigns: in this case, a user who is not one of the authorised groups will no longer be able to modify the attached samples
- it is now possible to attach one or more documents to an event. The documents are then also attached to the object
- from the list of samples, it is now possible to assign the same document to several samples. Technically, the document is duplicated in each sample

Version 24.0.0 of 3/1/2024
-----------------------------
Bug fixes:
- deleting a sample no longer worked correctly
- the display of columns in the list of samples was no longer saved
- exporting files could fail
- management of export templates has been improved; it is now possible to integrate templates created in other instances
- modification API: it was possible to create stations, campaigns or referents even without having the appropriate rights to the collection concerned
- the size of the icon in emails has been reduced
- in sample searches: selecting a collection did not update the list of possible event types
- administration accounts received emails, even if they were deactivated
- after modifying a metadata template, a blank page was displayed
- when duplicating a label template, the barcode type was empty
- when importing data, if the encoding of the file does not seem to correspond to the one selected, an alert message is displayed
- from the details of a sample, the creation of events for derived samples did not work
- when creating a sample, if the metadata entry form was displayed, it did not disappear if another type of sample without associated metadata was selected
- it is no longer possible to create an event without a completion date or due date
- exporting containers with included objects did not work if nothing was selected
- in some cases, certain metadata were set as mandatory, but it was possible to save without filling them in
- in the creation API, it was possible to create stations, campaigns or referents even if it was not possible to create the sample (insufficient rights for the account used)
- the calculation of GPS coordinates (transformation from degrees/minutes) was not correct in some cases
- metadata management has been corrected to take better account of checkboxes and radio buttons
- changing the status of samples from the list no longer worked
- searching by metadata did not work in some cases
- metadata was not updated when imported externally

New features :

new functionalities :
- it is now possible to specify a collection for a container, and to search for containers belonging to a collection
- reminder emails can now be sent automatically to inform you when samples have expired or when events are due (see doc)
- status labels can be modified (take care not to change the meaning)
- event list: the display table has been improved to make filtering easier, and it is now possible to modify or delete events en masse
- it is now possible to import a list of campaigns from a CSV file
- it is now possible to force the main business identifier to be unique for each collection (set in the collection)
- a mechanism to ensure that the main business identifier of containers is unique has been introduced (general settings)
- sub-menus are displayed when clicked

API :
- in APIs, it is now possible to specify a 'local' variable to indicate the language in which messages are returned
- an API for deleting samples is now available
- the API for creating a sample can now automatically generate the input movement
- it is now possible to retrieve a list of samples (UID only, or complete list) from the search criteria used in the sample search module

System :
- various improvements and corrections to the framework
- the date management component has been replaced by the bootstrap component
- alert messages to administrators now include the IP address of the workstation concerned
- the "last_movement_id" field has been added to the object table, to speed up queries

Version 2.8.3 of march 13th, 2023
---------------------------
Fixed bugs:
- the search from an event type was no longer successful
- the search by uid was not working anymore
- increased the width of the sample search area to display correctly the entered UID
- reactivation of the search for samples by column (check box to choose the desired mode)
- various corrections related to the support of PHP version 8.1

Version 2.8.2 of January 23th, 2023
----------------------------
Bug fixes:
- In some cases, deleting a label did not work, without the user knowing why. An explanatory error message is now displayed
- with the consultation right, an error message was generated when displaying the sample list
- with the consultation right, it was possible to search for samples from the metadata, even though the metadata was not visible
- if the metadata were created with a date type field, they can no longer be modified (component crash). The "date" type must be replaced by the "text" type in the metadata description. The "date" type has been temporarily disabled
- when modifying a sample, the attachment to a parent did not work anymore. The metadata were, moreover, overwritten

New features:
- it is now possible to assign a parent to a whole batch of samples (function added from the list of samples)
- it is possible to set up the software to give to any user having the "consult" right the possibility to consult the metadata or to carry out research from them (consult the documentation directly in the software)
- the display of the list of samples has been revised: it has been enlarged, and a slider allows to reduce its size quickly
- it is possible to search for several samples from their main business identifier, separating the list of identifiers by a comma

Version 2.8.1 of December 1st, 2022
----------------------------
Bug fixes :
- the creation of a movement by the "small terminal" interface did not work anymore
- list of samples : the list of columns displayed was not correctly saved
- when the double identification was activated, an alert email was systematically sent when accessing the administration functions
- the emails concerning the anomalies of access to modules did not contain coherent information
- in the list of containers, the comment was not displayed
- in the APIs, the initialization of the language did not work correctly and could block their operation
- in the list of collections, the list of available sample types was not sorted. This was also the case for the associated event types
- it was possible to query tables containing confidential information
- in some cases (tab boxes), the lists were badly formatted, with a gap between the header and the list of information
- when editing samples, metadata were not displayed
- printing labels was not working with a Chrome browser. To correct this problem, the labels are now displayed in the current browser window
- in the list of samples, the form for creating a mass event did not contain the due date
- in some cases, the call to an admin module did not ask for the user's re-identification
- with recent versions of postgresql (from version 13), SQL mode backups may not work anymore, due to indexes that used an old type
- importing samples from another instance (external import) did not work with PHP version 8.1

New features:
- it is possible to limit the number of samples brought back during a selection. An information message is then displayed, specifying the total number of samples concerned by the request
- the sending of emails has been revised. They are now formatted in HTML and include the application's logo
- when unlocking a locked account, an email is now automatically sent to its owner
- the display of the list of samples and containers has been revised: the header is fixed, and the list can be scrolled independently of the window (experimental)
- various improvements have been made to the identification in HEADER mode (identity federation - SAML)
- in the identification in HEADER mode, it is possible to define a group which will allow, if the user belongs to it, to assign him directly and to allow him to connect without needing an activation by an administrator

Version 2.8.0 of September 26th, 2022
----------------------------
Bug fixes :
- from the details of a container, the printing of labels for the samples present did not work if the user did not have the "collection" rights
- the modification of the general parameters (table dbparam) did not work anymore (fixed in 2.7.1)
- an error occurred at logout in some cases (fixed in 2.7.1)
- the mechanism for blocking accounts has been changed, the previous mechanism was not satisfactory
- when creating derived samples, all the information was not necessarily replicated in the child sample from the parent
- when the identification is in HEADER mode, the creation of identification tokens remained activated and caused a crash of the application
- in some cases, the list of collections accessible to a user, during modification or creation operations, was incomplete (corrected, but not tested in real case)

New features:
- it is now possible to indicate a "date" field in the metadata, with a calendar display
- an API allowing to create movements is now available
- a new identification mechanism is now possible: CAS-BDD. From the connection screen, if this mode is activated, a button allows to call the CAS server
- it is possible to define, for a collection, particular types of samples. From then on, these sample types will no longer be proposed for the collections to which they do not belong. The same mechanism has been implemented for event types
- it is now possible to define a due date for an event, and a new interface allows to search for upcoming events, completed or not, etc.
- in the mass import, it is now possible to indicate the full name of the country instead of its code
- in the sample search map, the business identifier is now displayed in addition to the UID
- it is now possible to search for samples that are not placed in a container
- in the sample or container search interface, the UID field has been separated from the IDENTIFIER field, to avoid returning irrelevant objects

Technical:
- the application now works with PHP 8.1, but remains compatible with version 7.4

Version 2.7.0 of June 20th, 2022
---------------------------
Bug fixes:
- the password reset was not working anymore
- sample list: the vertical bar on the left of the list has been removed, to avoid it ending up in the middle of a column when adding columns to the display. The list of selected columns is now correctly saved in the browser
- log display: the list of accounts has been moved to a new line, to avoid it being hidden by a too long label in the previous dropdown list
- in the menu, the ? module did not lead to anything
- in the rights management module, the deletion of a group was not working
- fixed a broken link in the readme.md file
- rights management module: the list of rights assigned to an application was no longer displayed
- the group functions on samples, from the container details, were not working
- deleting a sample failed if sub-sampling had been performed
- from the list of samples, the "CSV export" button did not fill the column corresponding to the parents

New features:
- the referent's organization has been added in the referent table
- it is now possible to search for samples by collection, even if the user only has the right to consult or if he is not part of a collection
- a sheet explaining the rights that can be used in the software has been added in the documentation > administration menu
- addition of the UUID number of the campaign in the batch exports
- manual SQL queries can be executed by users (rights assigned by collection), but they cannot modify them for security reasons
- it is now possible to execute complex manual queries, as the original "SELECT" has been removed. However, only SELECT queries remain accessible
- when subsampling, it is possible to indicate which laboratory receives the extract
- in the mass import module, it is now possible to import a comment
- some options available on the list of samples were hidden, such as batch export if the collection is not filled in. These options are now visible but not selectable
- it is now possible to generate labels with 1D barcodes (EAN 128)
- added documentation on batch export
- in mass import, parents are now searched by default only in the child's collection
- it is now possible to associate files stored in a folder tree structure accessible to the server with a sample (see doc)
- in the details of a sample the link "new sample" has been duplicated on the right, so that it is more visible and accessible
- in the form for adding documents, the maximum file size, determined by the server settings, is now displayed


Version 2.6.1 of February 11, 2022
--------------------------
Bug fixes:
- entering accounts used for web services could not be re-entered without generating an error
- querying the samples by the web service did not work correctly anymore
- adding a sample with the web service did not work anymore, due to an error on the geographical point

Version 2.6.0a of August 4, 2021
--------------------------------
Bugs fixes:
- Identification with a CAS server didn't work correctly (file to change: framework/identification/login.class.php)

Version 2.6.0 of June 24, 2021
-----------------------------
What's new :
Samples:
- it is now possible to indicate the country of origin, in addition to the country of collection (useful information in the context of APA regulations)
- it is now possible to search for samples that have been reserved during a period or by type of event encountered, or by country of origin
- in the sample search module, the country can be searched by typing its name
- In the list of samples, when hovering over a sample, the remaining available samples are displayed. It is possible to search for samples according to the quantity available (sub-sampling)
- in the list of samples, it is now possible to choose the list of columns to display
- the metadata are now displayed in the list of samples
- in the sample list display screen, the total number of records is now displayed at the beginning of the list, not at the bottom
- it is possible to change the status of samples in bulk
- when displaying metadata, the unit is now displayed for numeric types

Mass import:
- it is possible to use the name of parameters instead of their value (e.g., sample_type_name instead of sample_type_id)
- it is now possible to create parents and children in a single import, using the sample_parent_identifier column (the parent sample must exist beforehand or be present higher in the file). Same for creating the input movement, with the container_parent_identifier field

Miscellaneous:
- a web API for creation/update is now available (experimental)
- user identification can be completed by a double identification (TOTP)
- it is possible to assign a referent to a list of containers
- in the movement list, the comment is now displayed, as well as the link to the concerned sample
- documentation is now available online

Bug fixes :
- changes in error messages
- deleting a list of containers no longer causes an error if no container is selected
- restructuring of the regulations display screen: some information was not visible
- correction of the rights for the modification of collections
- the first name of the referent was not displayed everywhere
- added an error message when importing, if the reading of the metadata is not successful
- added an error message if the deletion of a status is not successful
- from the detail of a sample, it was not possible to delete a derived sample from the list
- when importing a list of stations, in case of an error on a column name, an unspecified error was displayed instead of the name of the column in error
- the reset button in the sample search window did not reset the metadata correctly
- the CSV export button, from the table, did not display correctly the name of the columns
- in mass import, the country code was not taken into account
- the import of the sampling locations was in error if the country code was not filled in
- when creating a new instance, the GIN indexes were not created (wrong syntax)
- in the SQL query module, if the query did not return any record, the software did not report it and the user could have doubts about its operation
- Logins are now systematically processed in lower case, to limit problems related to CAS servers that work differently for the same users (case encountered with the Renater federation)
- when modifying a parent sample containing metadata, the child samples disappeared from the list: the "trashed" attribute was no longer correctly positioned

Version 2.5.0 of November 13, 2020
---------------------------------
New features:
- the database structure now displays the views
- reorganization of the menu, to have a main entry dedicated to imports/exports
- it is now possible to indicate a collection country for a sample (full table provided). The country can be assigned for a set of samples
- in the rights management module, it is now possible to move a group in the tree structure
- in the labels, it is now possible to insert the referent
- it is now possible to search for containers by referent
- when displaying a sample, if the code of a secondary identifier is not filled in, the name of the secondary identifier is displayed. The code becomes non mandatory, if the identifier is not used in research.
- for collection campaigns, it is possible, for each regulation applied, to indicate the authorization number and the date. Samples can be searched by authorization number.
- added a function to search for the containers contained in them
- when creating a derived sample containing sub-samples, creation of the sub-sampling if the derived sample contains sub-samples itself
- added uniqueness constraints on the labels of a certain number of parameter tables
- modification of the display of a sample: addition of a "quick access" link, which allows to display the search box from IUD or IDENTIFIER
- corrections of some labels
- added the license table to indicate the license to distribute a collection
- added tabulation input in textareas (multi-line input fields). Implemented in xsl transformation input (export datasets and label templates)
- it is now possible to save searches performed on samples, available either for the user or at the collection level
- it is now possible to specify keywords or explicit wording for a collection (used for exports)
- the first name of the referent is now possible, as well as the link to his academic file
- Added consistency checks on sample loan and return dates, as well as for reservations
- in the menu, when there is a submenu, the menu entry is duplicated in the submenu
- added a lexicon to the hover : in the labels, hovering over a question mark icon (when it exists), displays the corresponding lexicon entry
- Administrators can now trigger a manual backup of the database, which is downloaded to the browser (possible limitations depending on the size of the database).
- it is now possible to add a comment to an object
- added functionality to export samples from a collection to third party information systems (customizable content and format)

Bug corrections:
- in the detail of a container, in the list of containers, the number of slots was not displayed
- in the detail of a container, the referent was displayed incorrectly
- in the rights management module, the deletion of a group was not successful if the group was assigned to a collection
- the display of the sample grid, in detail, was wrong if the first column was on the left side of the grid
- in mass import, importing UUIDs did not work
- in the list of containers, the display of the grid of contained objects was badly drawn
- removed the lc_messages function, which should have allowed to change the language of Postgresql error messages: it only worked if the collec account was super-administrator of the database server
- the quick access link, available for samples, has been added for containers
- if the Internet address of the workstation changed during the day, it was no longer possible to re-identify without manually deleting the identification cookie or closing the browser
- bugfix of the menu generation module : in some cases, the symbol >, which allows to know that there are sub-menus, was not displayed
- the export of the database structure did not work properly

Version 2.4.1 of June 15, 2020
------------------------------
Bug fixes:
- the generation of the samples file in CSV format didn't result anymore
- from the sample table, starting the label printout generated an error if no sample was selected
- when searching for samples from the map, the re-launch of the search lost the previous criteria
- changing the password might not be in English
- the message indicating that the password was about to expire was not reset correctly on the day it was changed
- the tab for displaying the sample location map was not selected by default if it was the last tab selected
- redesigning the display of tabs to make them more readable

Version 2.4.0 of February 17, 2020
--------------------------------
Bug fixes:
- when modifying a password, the information message about the length of the password was wrong.
- the wording regarding the referent of a container was incorrect
- creating an output transaction from the detail of a sample did not work
- Resetting the sample search form was incomplete.
- multi-value metadata entry was not working. The management mechanism was taken over
- deletion of samples could result in unclear messages or messages that do not reflect the problems encountered
- when searching for samples, in some cases, the list returned could be too large and saturate the browser
- the creation of events by batch of samples was not possible as the list of event types was not available
- in the sample list, the "date-time" fields are now displayed on a single line, without carriage return.
- in the protocols, it was not possible to delete the uploaded document
- correction of installation and database backup scripts

What's new:

Containers :
- it is possible to define a maximum number of available slots. The list of containers allows you to view the number of available locations.
- the display of the content object grid allows to view all content objects, not only the last one.
- the starting point for the number of rows and columns can now be positioned to the right (only to the left in previous versions)
- in the list of containers, hovering over the identifier with the mouse displays the grid of contained objects
- it is now possible to delete a batch of containers

Samples:
- it is now possible to add a description to a sample type
- The list of sample types can be exported in CSV.
- when the status "destroyed" is set on an object, an exit movement is automatically generated
- the call to the https://collec.local/index.php?module=sampleDetail&uid=928 function allows to retrieve the details of a sample in JSON format, without prior identification, if the collection has been defined as public (prefiguration of web services)
- in the list of samples, hovering with the mouse over the identifier displays a summary of the sample
- in the details of a sample, the list of secondary identifiers is displayed, without having to position oneself in the ad-hoc tab to view them
- when creating a derived sample, the business identifier is duplicated
- in the list of samples, each column can be subject to a dedicated automatic filter
- the different possibilities of searching for a sample are now organized in thematic tabs
- it is possible to carry out a spatial search of the samples, by drawing a rectangle on a map
- on the home page, the number of samples per collection and the date of last modification is displayed. The list is limited to collections for which users have management rights.
- the list of samples is supplemented by a map showing their location
- it is possible to attach a sample to a sampling campaign. This can be associated with one or more regulations, and it is possible to attach additional documents to it
- it is now possible to search for samples by metadata without first selecting the sample type

Objects:
- an object can be trashed (functionality provided for automatic exchanges)
- the precision of the location of an object can be defined from a table
- objects are now equipped with a Postgis field, facilitating spatial search or visualization with third party tools such as QGIS
- The date of the last change to an object is recorded
- addition of a field of type UUID, to facilitate exchanges
- From the lists of samples or containers, it is now possible to generate the input or output movements for the selected objects

Imports/Exports/Downloads :
- the result of the imports (UIDs generated, number of rows processed) is now stored in the log table
- it is possible to import multi-valued data into the individual metadata fields (md_)
- on an experimental basis, addition of a module to export part of the database in JSON format. Importing such a file in another instance allows to reconstruct the records concerned.
- the mime types of the downloadable files are now modifiable or extensible

Miscellaneous:
- administrators can now directly consult the log table
- a module for writing and executing SQL selection queries is available (required right: param)
- for a collection, it is possible to define whether incoming or outgoing flows are allowed. Similarly, a collection can be defined as public: all samples could be viewed without prior identification. This is a feature prefiguring web services.
- the display windows for containers and samples have been redesigned to make them easier to understand
- it is possible to assign a laboratory number to a borrower
- sorting in tables is now case- and accent-independent
- the database structure can be viewed from the interface
- the software now supports Shibboleth identification (HEADER mode)
- when creating label templates, it is now possible to save changes and stay on the current page, to facilitate fine-tuning (displaying the label in another browser, for example)
- the website https://wwww.collec-science.org has been updated
- the comments in the database have been switched to English
- for users identified from the local database, their account is blocked after three logins without changing the password. The status of their account is now displayed.

Translated with www.DeepL.com/Translator (free version)

Version 2.3.1 of September 6, 2019
---------------------------------
Bug fixes:
- in mass import, dates were refused if they were in the format hh:mm (no seconds)
- the search for samples failed if the only search criterion was based on dates
- the deletion of samples from the detail of a container did not work
- after creating a movement, the software could be blocked for several seconds
- the detail of the objects (containers or samples) has been improved: the last visited tab is now displayed by default, and it is possible to activate a function to view the content of the tabs when hovering with the mouse
- in the list of contained objects, the row and column number was not displayed
- the search by referent now takes into account the referent declared globally for the collection in question
- from the detail of a container or sample, opening a new object did not work with the use of the business identifier
- ergonomic corrections: deletion of three-point (ellipsis) in some labels in some Chrome browsers, correction of some others labels

Version 2.3 of August 14, 2019
---------------------------------
Bug fixes:
- harmonization of certain labels in the application (Save/validate or Select/Choose for example)
- in the detail of a container, the contents and products used were poorly displayed
- the tables were not working well, especially when displaying pages from the navigation buttons
- correction when searching by date: the current date was not systematically taken into account
- during imports, some incorrect dates passed through the consistency checks
- the search for containers only by status (out of normal state) did not work

Evolution of existing functionalities:
- upgrading the framework to add security controls. The Framework now meets the requirements of ASVS v4 (total level 1, partial level 2).
- ergonomics: the sample and container display screens have been partially redesigned: the data are now organized by tabs. It is also possible to open a new object directly from the detail page, without returning to the list
- it is now possible to attach a sample to a parent
- a function to duplicate a sample with its parent is now available
- in the administration module, it is no longer possible to create a new right (but this can be reactivated with an option in the param.inc.php file)
- when entering metadata models, the "Unit of measurement" field is proposed by default with the value N/A
- metadata models can now be viewed without switching to edit mode
- it is now possible to search for a sample by destocking reason
- in the description of a protocol, it is possible to indicate the number and date of the sampling authorisation
- sample search: it is now possible to scan a label

New features :
- it is possible to generate an export of one or more containers, which include both the containers and the included samples, for import into another database
- sample loan management: it is possible to register the loan of containers or samples to borrowers

Version 2.2.3 of february 22, 2019
----------------------------------
Bug fixes:
- the deletion of a group of users was not possible under certain conditions
- it was not possible to print a label since the detail of a sample
- the kinematics of the application was not correct when deleting a sample
- the deletion of a sample failed if secondary identifiers, reservations, ... existed
- when entering sample types, container types were not sorted
- in the table of logins stored in the database, the information "account used for a web service" was not displayed
- the transformation of the sexagesimal GPS coordinates into decimal coordinates failed if they were not completed. Moreover, the algorithm used was wrong
- when creating a derived sample, the referent was not retrieved

Evolutions:
- when entering the GPS coordinates of a sample or container, the point is automatically generated on the map, and the map is centered on the point
- it is now possible to add the referent during a mass import
- in tables displayed per page, the number of items displayed is now stored, and becomes the default value for future displays
- the name of the scripts used to create the database is now generic, to facilitate the automatic installation (especially docker components)
- in the label templates, it is now possible to include the identifier of the parent sample


Version 2.2.2 of november 26, 2018
----------------------------------
bug fixes:
- identification in CAS mode did not work, due to an evolution of the library used
- the global assignment functions for a sample list did not work since the detail of a container

Enhancements:
- it is possible to create an event for a series of samples and no longer individually. This function that can be used to indicate an event that occurred for a container (eg fridge failure)
- in the lists of containers or samples, the checkboxes, which allow to select or deselect objects, have been moved to the first column: they are thus more visible
- adding a "modify" button in the list of metadata types or label templates, to avoid false manipulation (duplication instead of modification)

Version 2.2.1 of october 5, 2018
--------------------------------
bugs fixes:
- in mass import, if the sample had to be associated with a container, the creation of the movement failed as well as the import of the whole file
- a database query failed when a subsampling move was displayed
- if the table containing the version numbers was not accessible, the application displayed an incorrect message
- if the parameter table was not accessible, the application crashed with an error message
- exporting, then importing a list of samples (for exchange with other databases) did not take into account the referent
- when consulting a sample, after having clicked a second time in the reference zone, the display was replaced by the label undefined

Version 2.2 of september 6, 2018
---------------------------
Bugs fixes:
- The addition of PDF files to the protocols could fail due to limitations placed in the server as to the size of the files. In this case, no error message was displayed
- the title of the application, which appears next to the icon, disappeared just after the disconnection
- if the title of the application was updated, it was necessary to wait for the reconnection for the new value to be displayed
- the removal of a family of containers could give the impression that it was proceeding correctly, but this was not the case if container types were attached to it
- the application didn't work with PHP 7.2

Enhancements:
- new parameter variables are now attached to the database and overwrite the data in the param.xxx files: mapDefaultX, mapDefaultY, mapDefaultZoom
- the error messages are now displayed in red. Database-related anomalies (including failed deletes due to integrity constraints) are now better explained
- it is now possible to describe a URL type metadata field. The link is directly displayed in the browser during the consultation of the sample
- metadata fields can accept now a default value
- multiple deletion of samples: from the list of samples, it is now possible to perform various operations on those that are checked, including their removal. The function requires a "collection" right
- adding the notion of referent in the application. A referent can be attached to a collection as a whole, or to a particular object (sample or container). For samples, the displayed referent is either the one in the collection or the one assigned in particular.
- multiple assignment of a referent: from the list of samples, it is possible to automatically assign a referent to those which are checked
- admins can display the database structure in HTML or LATEX format

Version 2.1 of July 3, 2018
---------------------------
Bug fixes:
- when a container was edited, the container type was not displayed if it contained an apostrophe
- when creating the password recovery mail, the application name was not correctly initialized

Enhancements:
- full English support in all software
- a new variable must be entered in Administration> Application Settings: APPLI_title, which must contain the title of the application that is displayed

Version 2.0.1 of May 25, 2018
--------------------------
Bug fixes:
- the choice lists were illegible on small terminals
- when the interface was set to English, creating a new user generated a date management error
- the generation of the file to print labels (export CSV) did not treat correctly the metadata, which were badly positioned in the columns
- The col_alter_1.2-1.2.3.sql script could generate errors in some cases
- if a request to search for samples triggered an error in the database, the screen remained blank without being able to know what was happening

Enhancements:
- addition of a restricted display mode of the list of samples, either for specific uses or for small screens (only a few columns are displayed). The flip-flop is operated via a button
- added precision to properly handle rights in col_alter_1.2.3-2.0.sql
- exporting samples to another database creates dedicated columns for each metadata, prefixed by md_

Version 2.0 of May 4, 2018
--------------------------
Enhancements:
- update of the framework and the database
- possibility of generating the label of the sample being viewed
- when creating a new sample, the information present in the pre-existing label (Json format) is automatically retrieved after its scanning
- addition of a filter to remove stray characters when reading 1D barcodes type EAN128
- when entering a movement from a small terminal, adding the last status of the scanned object (present / absent) and a timer to limit server queries
- addition of auto-completion in some drop-down boxes
- In search of a sample, it is now possible to search up to 3 metadata criteria, which operate either in "and" mode (different fields) or in "or" mode (identical fields). For performance reasons, the fields that can be used for the search must have been described as such (index creation)
- the term "project" has been renamed "collection", both in the application and in the database
- better definition of the dates associated with the samples: creation in the database, sampling, and adding an expiry date
- it is now possible to search for a sample by date (creation, sampling, expiration)
- it is possible to automatically generate the business identifier from the information entered (code to be defined by type of sample)
- The information related to the picking locations has been supplemented by GPS coordinates and a code. The coordinates are reported in the sample if it does not have one.
- it is possible to define picking locations that are only attached to a collection
- during the external import, the metadata fields can be indicated in separate columns, prefixed by "md_"
- the external import now works in "replace or create" mode, which allows to update manipulated samples in external databases
- during external importation, the parentage of a sample is now preserved (if the parent was created beforehand)
- in the generation of labels, it is now possible to print the dbuid-origin field
- it is possible to directly access a sample from its access link
- new scripts are available to facilitate the installation of a new server or update a database

Bug fixes:
- in search of samples, correction of research on metadata
- when creating labels, a bug prevented the display of metadata fields
- importing external metadata did not correctly retrieve the Json field
- correction of the password reset message
- harmonization of the wording concerning containers
- addition of additional controls during external import, with consistency check of dates
- the output of the samples, since the detail of a sample, did not succeed
- in the creation of mass movements, the external samples were not recognized
- during the external import procedure, the matching was case-sensitive, which was deleted
- in the creation of mass movements, the software did not manage correctly the fact that the same container was scanned several times
- the "back to list" link did not always return to the original list, if the user had switched from consulting a sample to a container and vice versa
- the switchover between French and English posed problems of managing the date

Version 1.2.4 of December 5, 2017
---------------------------
Bugfix :
- creating a login account was no longer working: the password was never registered

Version 1.2.3 of November 22, 2017
---------------------------
Enhancements:
mass import now accepts the UID of the parent sample
- the "import" right is created, it allows to authorize a user to import information via csv files (mass import or another instance)
- the mass import screen has been reworked, displaying the dialogs at the top of the screen
- the performances during the search of a sample are optimized by the use of a new type of index

Bug fixes:
- during mass import, the metadata were not correctly recognized (bug introduced in version 1.2)
- the deletion of a login or an account in the management of the rights has been improved, it also removes the crossed dependences (login, declared account, presence in the groups)
- in some cases, the global search for movements did not allow to visualize the movements created during the day (upper bound)

Version 1.2.2 of November 15, 2017
---------------------------
- various bug fixes concerning metadata
- improved performance in sample search

Version 1.2.1 of November 03, 2017
---------------------------
Enhancements and new features:
- the font size is increased for small terminals (smartphones)
- the menu disappears on smartphones and is replaced by the menu selection button
- the module for creating movements on a small terminal now includes optical reading via the camera

Version 1.2 of October 20, 2017
---------------------------
Updated schema of the required database (COL schema, containing the data, by default). Script to use:
- col_alter_1.1-1.2.sql if you are already in version 1.1 or 1.1.0. If it is not, run the version upgrade scripts one after the other
- gacl_create_1.1.sql and col_create_1.2.sql successively to create a new dataset, or init_by_psql.sql from a command line in a Linux server, which will execute both scripts automatically

Bug fixes:
- SQL error occurred when validating multiple scans
- the window allowing multiple scans was poorly drawn
- the search for samples was triggered, even if no criterion was specified
- in display of movements, the storage location was displayed even for the movements of exit
- the labels were inconsistent on the pages of modification of the destocking reasons
- the labels were harmonized in containers, the software displayed either container or container according to the pages
- when creating a user, the password entry was tainted by some bugs that could lead to the absence of the creation of the password
- when entering metadata templates, some field names used to declare them were either in French or had spelling errors
- the installation documentation has been reviewed to better isolate the case of a single-instance server

Enhancements and new features:
- the code of the instance is now storable in the database
- in barcode scan, the program can start the search on secondary identifiers (pre-selection required)
- it is possible to import a list of sampling locations rather than manually entering them
- it is possible to visualize the input-output made by an operator
- a lexicon has been added to the help menu
- it is possible to generate QR-codes containing only a business identifier (QR-codes of very small size)
- Printing labels to a printer attached to the server was working with the linux lpr command. For Raspberry (among others), the program now supports the lp command
- a new scan module has been added. It allows to visualize where is a sample, where it was before being out of stock, and authorizes the creation of a new input movement (at the old location or not) or removal

Version 1.1 of September 01, 2017
---------------------------
Collec becomes Collec-Science.

Updated schemas of the required database (default GACL and COL schemas). Scripts to use:
- col_alter_1.0.8-1.1.sql, if you are already in version 1.0.8. If it does not, check your version and run the version upgrade scripts one after the other
- gacl_create-1.1.sql and col_create_1.1.sql successively, for any new installation.

Bug fixes:
- the col_alter_1.0-1.0.4.sql script contained a hard schema name

Enhancements and new features:
Mass import:
- it is now possible to indicate additional information, such as geographic coordinates or metadata associated with a sample

Storage Management:
- it is now possible to indicate, for a type of container, the number of rows and columns available
- during an input movement, it is possible to indicate the row and column number of storage
- the visualization of a container makes it possible to display the occupation grid

Sample management:
- it is possible to export a list of samples, to be able to re-import it into another database. The interface allows to indicate the values to be applied locally compared to the initial data (project, type of sample, localization ...)

Printing labels:
- it is possible to integrate the localization (sampling location)

Managing the metadata associated with a sample:
- it is possible to describe metadata, and associate them with types of samples
- by modifying a sample, it is possible to enter the metadata
- these can be embedded in a label template, and are included in the exported CSV file for off-collec-science printing
- the metadata descriptions can be exported to be reimported to another database

Consultation of the protocols:
- protocols must now be associated with projects
- only members of the project (and the administrators of the application) can download the PDF file containing its description

Rights and Entitlements Management:
- installing a new version of the application engine
- for the users identified in the local database, it is now possible for them to request a reset of the password (requires in advance that the email address has been filled in, and that the server supports the sending of mails)
- access to administration modules requires re-identification
- in case of repeated failures of connection, an email alert is sent to the administrators (their email must have been declared beforehand, the server must authorize the sending of mails)
- the connection to a CAS server has been corrected. The entire identification procedure has been reviewed

Version 1.0.8 of June 02, 2017
---------------------------
Update of the necessary database

Bugfix :
- when modifying a type of operation, the protocol already entered was not displayed correctly
- in the list of operations, sorting did not work
- once a container or sample deleted, the search box took as arguments the parameters of the deleted object
- in the standard coding of the database (utf-8), in the search boxes of samples or containers, if a drop-down list was used, the search time was very long. The problem has been fixed by deleting the maximum number of objects displayed and requiring to indicate at least one search criterion

New feature:
- when launching the application, the version of the database is now verified
- an automatic database generation script is now available for new installations

Version 1.0.7a of May 12, 2017
---------------------------
Bugfix :
- generated tags were not sorted
- if the sample came from another database, the sort on the UID in the table was no longer numeric, but alphabetical (moving the original UID in the Other identifiers column)

Version 1.0.7 of May 10, 2017
---------------------------
Bug fixes:
- in mass import, the status of containers or samples are mandatory, but it was not specified
- since the detail of a container, the list of the samples did not display the data for all the columns, whose secondary identifiers
- in label generation, if a field was not specified in the QR Code, it was not available for display in the body of the label

New features or Enhancements:
- it is now possible to create a new sample or a new container without launching a preliminary search (this disturbed the users)
- labels: it is possible to display the product used for storage (column storage_product)
- printing labels: it is now possible to use another model than the one associated with the type of container

Version 1.0.6a of April 03, 2017
---------------------------
Fixed a bug:
- when entering a movement from the detail of an object, the list of containers associated with a type was not displayed

Version 1.0.6 of March 03, 2017
---------------------------
Updating the necessary database (script install / col_alter_1.0.5-1.0.6.sql)
Bug fixes:
- the modification of the subsamples did not work
- Several anomalies prevented the user from changing a password. After editing, the screen was blank.
- in mass import, if the container_parent_id field was filled, and no container was specified, the movement was not generated
- the program allowing the reading of the scans removes the spaces potentially added by the hand shower before the wording read
- the storage / range column has been renamed to storage / storage_location

New features and Enhancements:
- in the sample table, the parent sample is now displayed
- the sample table can now be exported in various formats
- It is now possible to indicate the identifier of the original database of a sample. This makes it possible to scan a tag generated by another implementation of the application, to facilitate exchanges. Added field: sample / dbuid_origin, expected format: db: uid
- in the detail of a sample or a container, the user now has simultaneous access to input or output movements (previously, only the opposite operation was possible)
- when entering an input movement from the detail of an object, the name of the container is displayed if its uid is entered manuallyainer est affiché si son uid est saisi manuellement

Version 1.0.5a of February 08, 2017
----------------------------
Fixed a bug preventing the deletion of a container

Version 1.0.5 of February 02, 2017
---------------------------
Updating the necessary database (script install / col_alter_1.0.4-1.0.5.sql)
Bug fixes:
- When assigning management rights to projects, LDAP or inherited groups were not properly processed
- Fast entry of samples, the container was not properly read after the first movement. In case of code error, the uid was not correctly erased
- the label model was not deleted after generation in the temporary folder, which precluded the development phases

Enhancements:
- addition of a table of sampling zones: it is now possible to attach a sample to a previously defined geographical area (usable in search of samples)
- it is now possible to scan barcodes that contain business identifiers, and that have not been generated by the application (either 1D barcode with the identifier, QR Code with the identifier or an http address)
- csv export (to generate labels with third party software) now includes xy coordinates

Documentation:
- Adding the installation procedure of PHP7 with Debian 8

Version 1.0.4 of January 18, 2017
---------------------------
Updating the necessary database (script install / col_alter_1.0-1.0.4.sql)
Bug fixes:
- reading a QR Code from a camera did not work if the camera used did not have a rear camera (environment camera)
- the selection of the type of container did not work if there was only one in a family of containers
- the search for containers did not work in capturing a movement
- when entering a sample, the type of container was not explicit enough

Enhancements:
- the date of the last movement of the objects is displayed in the lists
- the creation date of the objects was passed in date / time
- it is now possible to integrate the GPS position of an object in a label or in the QR Code
- it is now possible to integrate the creation date of an object in a label or in the QR Code
- by modifying an object, the map is now displayed, and it is possible to position the location of the object by clicking on it
- In modification of an object, it is possible to position the object from the estimated position of the terminal (either by using the GPS coordinates for smartphones or tablets, or the location calculated from the computer network)

Setting :
- 3 new parameters can be defined, which concern the pre-positioning of the map when no coordinates have been entered: $ mapDefaultX and $ mapDefaultY center the map on the indicated point, $mapDefaultZoom is the default zoom factor

Documentation:
- the installation and configuration manual contains a new appendix that explains how to set up the synchronization of two postgresql servers, to avoid losing information
- a new section has been written to explain the operations to be performed during a software update

Version 1.0.3 of December 08, 2016
---------------------------
Bug fixes:
- table generation script: the project_group table was incorrectly named
- file param.inc.php.dist: the schemas for the connection to the main database were incomplete (variable $ BDD_schema)

Version 1.0.2 of December 02, 2016
---------------------------
Documentation:
- correction of the parameters to indicate for a good management of the multi-bases (access to the param.ini file)
- adding configuration for identification in HEADER mode

Enhancements:
- the title of the tab is now configured from the title given to the application in the variables (function necessary for multi-databases)
- addition of the possibility of connection in HEADER mode (login transmitted in an HTML header variable by an identification proxy server, such as LemonLdap, for example)

Bug fixes:
- it is now possible to declare the same LDAP group multiple times to give it different rights

Version 1.0.1 of November 24, 2016
---------------------------
Enhancements:
- display of the last user connection
- addition of a control on the absolute duration of the session
- addition of logs in syslog for connection and disconnection

Bug fixes:
- addition of the recording of the logs during the reconnection by token
- Fixed a menu viewing bug in production mode
- the link to reservations did not work in the detail of a container or sample

Various:
- replacement of Smarty version by 3.1.30

Version 1.0 of October 25, 2016
-------------------------
First production version
Built-in features:
- seizure of objects (containers, samples)
- creation of movements with reason for leaving the stock if necessary
- booking an object
- creation of a sample from another sample (extracted documents, p.
- subsample management: input, output of subsamples of a sample
- adding attachments to an object (photos p.e.), displaying the most recent photo in the list of objects
- mass import
- generation of labels incorporating a QR Code, scan from a handheld shower or a tablet or smartphone type terminal and rapid generation of an input or output movement
- mass generation of input or output movements (delayed mode spray)