2021.13 brings improvements to all existing APIs: instead of issuing several API calls you can now use createMany, updateMany and deleteMany to create, update and delete lists of records. Filtering actions supports querying by inventory, accession and order request properties. New endpoints are implemented for managing SysLang and SourceDescriptors.

The data model is in sync with the original GRIN-Global schema and a few new columns are added to GG-CE. See the list of changes for details.

New features and API updates:

  • Added API for SourceDescriptor management
  • Added API support for managing cooperators of AccessionSources
  • Added API for SysLang management
  • CRUD controllers extended with createMany, updateMany and deleteMany operations

Improvements and bug fixes:

  • MCPD generation improved with data from accession sources
  • Downloading (initial) passport data from Genesys updated
  • New GRIN Taxonomy and Geography updaters keep local database correctly in sync with USDA data by storing the source id in the local database
  • API for Inventory and accession action filtering updated with filtering by inventory/accession properties
  • Added support to disable languages listed in sys_lang (affects language menu in CT)

Database changes:

  • Added column sys_lang.is_enabled to enable and disable database languages in CT and GG-CE Web
  • taxonomy_species.grin_species_id, taxonomy_genus.grin_genus_id and taxonomy_family.grin_family_id columns are added
  • Synchronized with current USDA database model: column inventory_id added to web_order_request_item and web_user_cart_item, unique constraints ndx_uniq_wori and ndx_uniq_wuci fixed


  • 02d99947 i18n: Translated CRUD lists translations where language.is_enabled = Y
  • 61832b3e SOAP: Updated get_sys_language dataview to include is_enabled field
  • 31e13cf0 SysLang: added is_enabled field
  • 1fda1aca Admin: Managing SysLang
  • 584dc0e5 CRUD controllers with list
  • 7d60dbdc USDA: Sync models
  • 29e48c24 API: Add support for OrderRequestItem filtering by inventory
  • a2cf930f Pagination: Better conversion of DSL sorts to Spring sorts
  • 4bb84c82 Actions: Action filtering updated for action "state" (pending, scheduled, in progress, completed)
  • 0f215a75 Translated API: CodeValue + CodeValueLang
  • 34fec214 Cleanup: Removed unused imports
  • 4f8029fc Translated API: New base implementation for translated models
  • 91ad8175 SourceDescriptor API
  • fa82fa95 MultiOp API: CRUD controllers with createMany, updateMany and deleteMany operations for List<T> listOfEntities
  • 33cae5bd JUnit: Added unique constraints to Inventory
  • 9b411357 TransactionHelper: TransactionHelper is not a replacement for @Transactional. Use with care!
  • 1c7630f4 GRIN Updaters: New GRIN Taxonomy and Geography updaters keep local database correctly in sync
  • ff85d1e9 Searching sites by FAO WIEWS code returns list
  • 5888922a Genesys Downloader: Updated
  • cfaf2c49 MCPDDATE: converted date formats match codes from DATE_FORMAT group
  • 7b99752c GenesysDownloader: populate Accession#site
  • 6e02e6ac AccessionSource Cooperators API
  • 4a22b751 MCPD: Geography of "isOrigin" accession source is used for ORIGCTY
  • 0caa9af0 CSVMessageConverter: fixes mapping
  • 895181e1 MCPD: Fixed loading of accession sources (incorrect join used)
  • b4150837 CSVMessageConverter: bring changes from Genesys