Skip to content

[Guided Setup] - Create default files needed for new disciplines and collections #7438

@grantfitzsimmons

Description

@grantfitzsimmons

Institution

Create a new default storage_init.json based on https://github.com/specify/specify6/blob/master/config/common/storage_init.xml

This new file should be placed under config/common/

Division

No unique resources are needed for a division—every division uses the same minimal schema (just name and code) and requires no discipline-specific defaults.

Discipline Example

Consider: https://github.com/specify/specify7/blob/c36fe678b7da43851dc57b5db128be0556c0ab11/specifyweb/frontend/js_src/lib/components/TreeView/defaults.ts

There are two categories of resources for disciplines:

Shared (constant) files
These live at the top of config/ in 6 and apply to every discipline type.

New files should be placed under config/common/

config/
├── schema_configuration.json      # Base schema (fields, captions, assigned formats)
├── global_picklists.json            # Default pick lists for collections in all disciplines
├── geologictimeperiod_init.json            # Default geologic time period tree ranks & format
├── tectonicunit_init.json            # Default tectonic unit tree ranks & format
└── geography_init.json            # Default geography tree ranks & format

schema_configuration.json made from
https://github.com/specify/specify6/blob/master/config/schema_localization.xml

global_picklists.json made from
https://github.com/specify/specify6/blob/master/config/common/picklist.xml

geography_init.json made from https://github.com/specify/specify6/blob/master/config/common/geography_init.xml

geologictimeperiod_init.json and tectonicunit_init.jsondo not exist yet in6, they need to be created from scratch.

Per-discipline (unique) files
Placed under config/<disciplineType>/, these override or supplement the shared templates:

File Name Purpose
schema_overrides.json Deep-merge overrides into schema_configuration.json (field visibility, captions, assigned field formats) Made from https://github.com/specify/specify6/blob/master/config/bird/schema_localization.xml
preptypes.json Default preparation types for this discipline (e.g., “slide”, “jar”, “skeleton”) Made from https://github.com/specify/specify6/blob/master/config/bird/preptypes.xml
picklists.json Discipline-specific pick list definitions and items. If a pick list has the same name as one defined in the global_picklists.json, the one defined here is used instead. Made from https://github.com/specify/specify6/blob/master/config/bird/picklist.xml
taxon_init.json Default ranks & format for taxonomy tree. Made from https://github.com/specify/specify6/blob/master/config/bird/taxon_init.xml

Example directory structure for “botany”:

config/
├── schema_configuration.json
├── geography_init.json
└── botany/
    ├── schema_overrides.json
    ├── preptypes.json
    ├── picklists.json
    ├── taxon_init.json
    └── geography_init.json

TODO:
Common

  • config/common/storage_tree.json
  • config/common/prep_types.json (Discipline specific)
  • config/common/picklists.json (Discipline specific)
  • config/common/global_picklists.json
  • config/common/geography_tree.json
  • config/common/geologictimeperiod_init.json
  • config/common/tectonicunit_init.json
  • config/common/schema_configuration_en.json
    Bird
  • config/bird/schema_overrides.json
  • config/bird/taxon_bird_tree.json
    Botany
  • config/botany/schema_overrides.json
  • config/botany/taxon_botany_tree
    Fish
  • config/fish/schema_overrides.json
  • config/fish/taxon_fish_tree.json
    Herp
  • config/herpetology/schema_overrides.json
  • config/herpetology/taxon_herpetology_tree.json
    Insect
  • config/insect/schema_overrides.json
  • config/insect/taxon_insect_tree.json
    Invertebrate
  • config/invertebrate/schema_overrides.json
  • config/invertebrate/taxon_invertebrate_tree.json
    Invertpaleo
  • config/invertpaleo/schema_overrides.json
  • config/invertpaleo/taxon_invertpaleo_tree.json
    Mammal
  • config/mammal/schema_overrides.json
  • config/mammal/taxon_mammal_tree.json
    Pealobotany
  • config/paleobotany/schema_overrides.json
    Reptile
  • config/reptile/taxon_reptile_tree.json
    Vascplant
  • config/vascplant/taxon_vascplant_tree.json
    Vertpaleo
  • config/vertpaleo/schema_overrides.json
  • config/vertpaleo/taxon_vertpaleo_tree.json

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

Status

✅ Done

Relationships

None yet

Development

No branches or pull requests

Issue actions