Skip to main content

IGSNs in mDIS


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

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"open in new window 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 accommodate 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 pre-allocating IGSNs for the following kinds of samples:

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

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

Save all IGSNs in an 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 the 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-terraopen in 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.

  • For examples of WDC-Terra landing pages for IGSNs, see GFZ IGSN-newopen in new window; "new" stands for "new graphic design" here (there are no new features).

TBC

Working with registered Samples

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

Coming soon

Examples

Examples from other Projects

TODO: 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