2021.8 adds improved support for Viability Testing, including label printing for test replications and calculation of the final test results. Request management is moved to a new "section" and it provides a Retrieval list function with an option to print the items requested for retrieval from storage.

New features:

  • Recording viability observations and final test results.
  • Printing labels on Android to printers connected via Bluetooth Classic or Bluetooth LE.
  • Retrieval list guides technicians in preparing inventories for distribution.
  • Administrators can browse and filter Audit Log records generated by GG-CE Server.

Improvements and bug fixes:

  • Managing attachment details is enabled for Crops and Crop Traits.
  • Request management moved to a new "section" of GG-CE Web.

Viability testing

This release includes improved support for Viability Testing. We added support for printing labels for each replicate. GG-CE provides a default label template, but it is customizable in Admin > App Settings screen. The label uniquely identifies each test replication and allows technician to make multiple observations during the test.

Step 1: Begin testing

(No change since 2021.7) The technician begins the testing process by scans the inventory barcode on the received packet (inventory.barcode) and is able to print labels for test replicates as per inventory viability rule. They prepare and label each replicate and begin the test.

Steps 2-5: Record counts

Multiple counts are made during the test. The technician scans the barcode of the replicate and is presented with a screen with previously recorded observations. Tapping "Add observation" opens the screen to add a new "count". The screen is significantly updated since the previous release.

  1. "Tested count" may be updated to reflect that less than required number of seed are in this test replication.
  2. Current observations are entered into "Normal count" and other count fields (see under "Advanced").
  3. All counts are aggregated and used to calculate the Remaining seed in the test. When this number is 0, there are no more seed to evaluate.


When inputting the subsequent counts, the technician inputs the current counts for that observation.

The previous count + the current count represent the sum total that contributes towards Remaining seed to be evaluated next time:


Step 6: After the observations are complete and there are no more seed to evaluate, the technician may tap the Finish test button:


GG-CE Server will calculate the results of the viability test across replications and present the calculation results to the user for confirmation:


  1. The results are not yet saved to the database. The technician may update the fields.
  2. The screen shows which data contributes to summarized values.

Percent viable represents the test results and is calculated across replicates and across different evaluated categories:


Summarized results for replications shows final data for each replication and allows the user to return and update individual observations, and then recalculate test results:


Last step: hitting the Save button stores the results of the viability test in the database.

Requests: Retrieval list

The Retrieval list provides technicians with a special display of requested source inventories: location, quantity on hand, inventory and accession data.

Step 1: Scan the barcode of the OrderRequest:


Step 2: Browse (or Print) the source inventories. By hitting the X button, user is returned to the barcode scanning screen:


We will focus on managing withdrawal and printing package labels for 2021.9. That release also aims to improve support for managing request data in preparation for withdrawal and distribution.

Audit logs

GG-CE Server records changes to the data. Audit logs include who, when, and what change was made to the data or deleted from the database.

The new tool enables Administrators to explore audit logs, and identify and react to any unwanted changes in the system:



  • ed1a549d Upload: Progress indicator: fixed state update after uploading
  • a137bc09 Fix multiple files upload for Accession/Inventory
  • acad060b Enabled progress indicator for every file uploader
  • ce194da2 Upload: Progress indicator
  • a06e7e35 Viability: remove readOnly
  • fd6e274a Fix filters - fieldValues undefined check - autocomplete value reset
  • 5da5b8b7 Filters: withFilters includes <Form, export and use xxxFiltersEmbedded for embedding
  • 4b0bd65c Viability: Get counterCooperator from ProfileService
  • edc7ca69 UI: Updated layouts and menus
  • 6c326c19 Security: Load permissions on login
  • 0ac588c3 UI: Cleanup
  • 90e13287 Validators: Use const composed validators
  • 361e45bd Viability: Form performance improved
  • e64372df Viability: Calculating viability test results
  • 214a3d44 Viability: calculate result dialog
  • f440e882 Viability: Recording observations is done by storing only the current counts (not sum)
  • 73e53908 Request: Updated display of shipTo and receipentCooperator
  • a391379b Request: Retrieval list
  • 66bcab18 Requests: Requestor data
  • f2d3e900 Request: Display QR codes and use CVFilter for orderRequest.orderRequestType
  • e39f5069 Request: Fixed bug in loadAllPages utility function
  • 5074c469 Requests: Retrieval list with pagination and sorting
  • 6c9ebfda Requests: Add new section
  • 416b90d0 Viability: View test button
  • 5073850f Viability: Fix current sum count
  • 028050d7 Viability: Making observations with previous replicationCount if available
  • 2b183eac Viability: Include empty values in unknownCount calculation
  • 4d07f7b7 Viability: Properly handle state of selected replicate
  • f6136363 Viability: Making observations
  • a1db5200 ui-public: Disable workspace
  • 00d96541 Labels: Print labels using Android intent
  • 0a69fcc8 Table: Handle ignoredColumns properly
  • ac5bd2b4 Admin: Browse audit logs
  • 89f6ade9 Error reporting in Dialog
  • 732463df Attachments: Add forms
  • 03eb2a96 Fix: Prevent error in dereferenceReferences3 when input is undefined
  • 84aecb68 Warning message needs to be changed, when trying to create user that already exists