IGSNs in mDIS

IGSN - the International Geo Sample Number.
Also known as the "International Generic Sample Number", as renamed recently.

IGSN introduction for regular mDIS Users
DOIs and IGSNs at GFZ - bigger picture for developers
Intro to IGSN Specification with XML Schema

IGSNs for mDIS Administrators

How to assign IGSNs generally

mDIS can assign IGSNs to samples, cores, sections and holes automatically.
You just have to add a new column called igsn of type string to your table definition. You do this in the mDIS Template Manager.
A new read-only field will appear in the form, after adding that "igsn" column to your sample table.
Immediately after clicking "Save & Generate" to rebuild the model/table and the form, mDIS injects some PHP code for IGSN calculation.
This is like using an Insert-Trigger to set a "default value" for your database column, with a String datatype in a custom format.

This trigger-like PHP-code-generation feature is called a "Behavior" and is described elsewhere in this guide, in great detail. Behaviors are part of the Yii2 PHP Framework.

Hint for developers

There is no interactive way to turn off the IGSN behavior, or to change it.
For example, if you preferred to attach IGSN code-generation to a different column, e.g. one that is named igsn_new or igsn_alt (instead of good old igsn), you could not do that in the mDIS Template Manager. Instead, you have to change the source code in various files such as backend/behaviors/IgsnBehavior.php and backend/config/igsn.php.

Different IGSN methods

The only mandatory part of an IGSN naming convention is the namespace, which is assigned with IGSN.ev. For ICDP every IGSN starts with the nametag "ICDP". More general details on IGSNs are available here.

In order to accomodate different IGSN naming conventions, mDIS has already implemented 3 different IGSN naming conventions, called IGSN methods:

  1. METHOD_ICDP_CLASSIC = "ICDP_classic" -> ICDP|ExpeditionNo|SamplingLocation|IGSNtype|5RandomDigits, e.g. ICDP5054EHW1001
  2. METHOD_ICDP_2021 = "ICDP_2021" -> ICDP|ExpeditionNo|SamplingLocation|Site|Hole|IGSNtype|6RandomDigits, e.g. ICDP5054E01AHW1001
  3. METHOD_FIXED_PREFIX = "fixed_prefix" -> YourPrefix|RandomDigits, e.g. GFDUH00N5

The default method is ICDP_classic, but it can be changed in backend/components/igsn.php, public $method = self::METHOD_ICDP_CLASSIC;

Implemented object tags for automatic IGSN generation

mDIS already has implemented different object tags, which allow to pre-allocate IGSNs for the following kind of samples:

  • Hole -> H
  • Core -> C
  • Section -> S
  • Sample -> X
  • Bottle -> B
  • Water -> W
  • Cutting -> U
  • Thin Section -> T
  • Smearslide -> Y
  • Mud -> Y
  • Sidewall -> Z
  • Fluidgas -> F

This only works for IGSNs following the ICDP_classic or ICDP_2021 methods.

Save all IGSN in extra table to avoid duplicates

It is possible, but not sure where and how to activate it.

IGSNs in mDIS tablesets

Cores

TODO : Insert simple, unannotated Screenshots of table/form with "Mint IGSN" button, for cores.
Explanations.

Samples

TODO: Insert complex, annotated Screenshots with "Mint IGSN" button, IGSN link, and some status indicators (progress bar, grey-green-yellow-red). More Explanations. Explanations.

Allocation Agents

By default, mDIS uses the DOIDB and IGSN registry at wdc-terra (opens new window) as allocation agent. WDC-Terra is a subsidiary of Helmholtz-Zentrum Potsdam, Deutsches GeoforschungsZentrum (GFZ).

IGSNs at GFZ Potsdam

IGSNs must get resolved to something on the internet. That is the whole point of IGSNs.

TBC

Working with registered Samples

Registered by us, with samples from us and from others.

Coming soon

Examples

Examples from other Projects

COSC data on GFZ Data Services page? Better examples?

Config Files for IGSNs in the mDIS Codebase

  • igsn.php: In there you can set namespace prefixes and other constants. The file igsn.php does not always exist by default, at the beginning of an mDIS installation. It must be created from config-template igsn-example-fixed-prefix.php and edited to configure the methods and parameters to create IGSNs.
    • Copy igsn-example-fixed-prefix.php to igsn.php and adjust the configuration.
  • TBC

General Background

See DOIs and IGSNs at GFZ

TODO

Complete this ↑ (Screenshots etc) .

In the future, GFZ's IGSN registry intends to use the Datacite (opens new window) infrastructure to create IGSNs; and allocation agents may change their organizational structure. Consequently, your allocation agent might have new requirements for metadata registration. They might use new metadata prefixes and may also prefer other registration metadata formats such as oai_dc and oai_datacite.

TODO: Complete this
Background research is needed for understanding.