GGCE 2022.7 update
I’m happy to announce the availability of the 2022.7
release of GGCE!
Please check the complete list of changes at:
- Announcement #213 (closed)
- Web https://gitlab.croptrust.org/grin-global/grin-global-ui/-/releases/v2022.7
- API https://gitlab.croptrust.org/grin-global/grin-global-server/-/releases/v2022.7
- Label Printer app https://gitlab.croptrust.org/ggce/ggce-label-printer/-/releases/v2022.1.1
2022.7
brings a major update to GGCE with a new implementation of the user authentication mechanism. It is now possible to configure GGCE for single sign-on with Azure, Google, Octa, Keycloak and a number of other OpenID login providers.
Access to printers on mobile devices (Android, iOS) and from web applications is restricted by browsers and operating systems. Label Printer is a companion app for GGCE that runs natively on a user's device. More on that below.
We added several improvements to how the API handles incoming data, making it a bit easier for clients to interact with it. Reading of dates received special attention and we will be able to provide better API responses for date queries based on the custom X-Timezone HTTP request header.
New features:
- Implemented single sign-on with OpenID and disabling of local accounts
- Updated GGCE Server Administration user interface
- New endpoints in the Trait API
- Deactivation (not deletion) of user accounts
- Client timezone as X-Timezone HTTP header for API calls
- Curator Tool detects GGCE as a valid GG server when ”testing" connection settings
Improvements and bug fixes:
- Barcode is automatically minted for every new Inventory
- Split inventories have availability status NOT-SET by default
- Improved font support in generated PDFs
- JSON deserialization with improved resolution of entities referenced by only their ID
- Improved date handling
- Improved handling and display of server errors
- Software libraries updated to latest versions (Spring, Jetty, etc.)
Database changes:
-
SysUser
with provider:sys_user
table gets a new columnprovider
that specifies which login service is used by each user. It defaults tolocal
.
Important other notes:
-
config.file
configuration variable is renamed toCONFIG_FILE
- New indexes added to inventory and accession tables for even faster lookups
Single sign-on
Single sign-on can be configured by your Administrator, and the standard login form can be completely disabled. But the default remains the same: users login with their usernames and passwords as defined in GGCE. GGCE user accounts can be deactivated, but not fully deleted (to keep referential integrity of the database). Compatibility with the Curator Tool is enhanced so that the CT now detects GGCE as a valid server.
The documentation on how to configure GGCE for single sign-on is available as PDF.
The login form moved from GGCE Web to the GGCE Server. This allows the Server to handle OpenID authentication with Azure, and still create user records, and handle group and user permissions. The Password reset function remains available on the login screen.
Generating PDF for selected inventories
If generating PDFs was possible for a while with GGCE, there were no examples bundled with the default installation. 2022.7 includes one example PDF template that generates inventory labels (with QR codes) for printing on laser printers.
Start by first filtering for and selecting the Inventory records of interest. Hit “Generate PDF document” in the action button:
Generate PDF dialog allows you to select which template to use. In the example below, only one template is available:
“Generate PDF document” may take a while to process. When the PDF for selected inventories is ready, it will open in a new tab. Make sure you allow popups for GGCE Web when prompted!
The labels in this example A4-sized PDF are organized in 3 columns and each includes (top to bottom): the species name, accession number, preferred name, inventory number, human-readable value of the barcode (bottom left) and the form type code:
The QR contains the inventory barcode and when scanned will bring you to the appropriate inventory record. When the inventory does not have a barcode assigned, the QR code is not included.
The InventoryLabels.jrxml template used here is automatically installed with 2022.7 and is accessible in Admin > File Repository > /reports/Inventory folder. Feel free to download this file, update it with Jasper Studio and upload your modified version (with a different file name) back to this folder. It will be immediately available in the Generate PDF dialog.
The manual for creating templates is in development, but you will need to download the ggce-models-VERSION.jar file from your GGCE server to make templating work easier. The download is available from the GGCE Server under the “Toolkit” section.
User login
2022.7 has a completely redesigned user authentication scheme. Logins are possible with Azure and Google accounts when so configured by your Administrator, and the standard login form can be completely disabled! But the default remains the same: users login with their usernames and passwords as defined in GGCE.
The login form moved from GGCE Web to the GGCE Server. This allows the Server to handle OpenID authentication with Azure, and still create user records, and handle group and user permissions. The Password reset function remains available on the login screen.
Printing with Label Printer app
Access to printers on mobile devices (Android, iOS) and from web applications is restricted by browsers and operating systems. Label Printer is a companion app for GGCE that runs natively on a user's device. It accepts print requests from GGCE and relays them to a label printer accessible from users device:
The draft Manual for Label Printer app documents how to use the app and which connection types are supported on different platforms.
Filtering Requests for material
By popular demand, we added filtering by Intended Use Code to the Distribution > Requests page.
Added manual lookup to the Inventory barcode scanner
When you just don’t have the barcode scanner (or the barcode) handy, this little update still lets you jump to the Inventory record – all you need to do is filter by Accession number and pick the inventory you want:
Admin > Users with Cooperator info
The Cooperator address book carries the contact details of each GGCE user and you could access it by opening the details of a User. Since it makes a lot of sense to display this on the Users list page we finally also added it to the data grid.
This will be particularly important for the next release 2022.8 will require that every user in GGCE have a unique Cooperator! A message in Admin tools will warn you if user records need checking:
Beta: Method details page with trait data
The Method (Trial) page includes a draft implementation that allows you to declare which Inventories will be observed for which Traits. It does not allow for adding observations – that will be implemented on a different screen and will require scanning the inventory barcode to capture observations. Your feedback is required!