ORGF

Открытый формат данных для организационных структур и любых иерархических моделей

Универсальный, открытый и доступный всем формат для описания иерархических моделей, их блоков и тегов. Поддерживает метрику ценности модели и её единицу измерения для сквозной цифровой аналитики.

СПЕЦИФИКАЦИЯ ФОРМАТА

Исходный код ORGF в открытом виде.

Открыть на GitHub
reference:
  format: "ORGF 1.0.0"
  syntax: "YAML|UTF-8 without BOM"

  sections_fixed:
    orgformat: "string|required"
    reference: "section|optional"
    meta: "section|required"
    model: "section|optional"
    root: "block|required"
    hierarchy: "root.children[*].children[*]..."

  meta:
    title: "string|max250|optional"
    author: "string|max250|optional"
    rights_holder: "string|max250|optional"
    copyright: "string|max500|optional"
    license: "string|max120|optional"
    created: "string|optional|YYYY-MM-DD/ISO 8601"
    updated: "string|optional|YYYY-MM-DD/ISO 8601"
    status: "draft/final/archived|optional"

  model:
    name: "string|max250|optional"
    desc: "string|max1000|optional"
    value_label: "string|max80|optional|one_value_type_per_model"
    value_unit: "string|max40|optional|one_value_unit_per_model"

  block:
    name: "string|max250|optional|empty_allowed"
    desc: "string|max500|optional"
    value: "number|optional|own_value_only"
    pic: "section|optional"
    pic.set: "emoji/lucide/feather/simple-icons/iconify|required_if_pic"
    pic.name: "string|required_if_pic"
    tags: "array[string|max80]|optional|default:[]"
    hidden: "boolean|optional|default:false"
    branch_orientation: "auto/horizontal/vertical|optional|default:auto"
    style:
      fill: "default/#HEX|optional|default:default"
      contour: "default/solid/dashed/dotted/double|optional|default:default"
      contour_width: "default/regular/bold|optional|default:default"
    relation:
      line: "default/solid/dashed/dotted|optional|default:default"
      line_width: "default/regular/bold|optional|default:default"
      color: "default/#HEX|optional|default:default"
    children: "array[block]|optional|default:[]"

  authoring_rules:
    - "one_file=one_model"
    - "hierarchy=children"
    - "no_id_parent_order"
    - "empty_blocks_allowed"
    - "tags=plain_classifiers_not_key_value"
    - "desc=short_human_note_not_data_dump"
    - "style_relation=custom_overrides_only"
    - "tag_colors_not_stored_in_orgf"
    - "value_one_type_per_model"
    - "value_one_unit_per_model"
    - "value_on_block_is_own_value_only"
    - "value_totals_are_computed_not_stored"
    - "reference_if_present=complete_unmodified_canonical_copy_published_for_declared_orgformat_version_at_https://github.com/orgformat/orgf/releases"
    - "hidden=true_on_a_block_requires_hidden=true_on_every_descendant"

  normalization:
    unknown_fields: remark
    invalid_values: default
    over_limit: truncate
    invalid_yaml: reject
    invalid_structure: reject

  normalization_rules:
    - "missing_optional=default"
    - "unknown_fields=remark"
    - "invalid_values=default"
    - "over_limit=truncate"
    - "normalization=view_only_not_source_mutation"
    - "hidden_branch_inconsistency=remark_not_reject"
    - "normalization_propagates_hidden=true_to_all_descendants"

КЛЮЧЕВЫЕ ПРИНЦИПЫ

Открытый формат для описания, обмена и интеграции иерархических моделей

ORGF сохраняет модель переносимой и понятной: её можно передавать между людьми, инструментами и системами без привязки к одному интерфейсу.

УНИВЕРСАЛЬНОСТЬ

Единая логика для любых иерархий

Одинаково описывайте оргструктуры, каталоги, классификаторы, справочники, деревья знаний и другие вложенные модели — без профильных обязательных реквизитов.

ЧИТАЕМОСТЬ

YAML-файл, понятный человеку

Модель остаётся понятной не только в интерфейсе: её можно открыть, проверить и редактировать как осмысленное описание структуры.

ПРОЗРАЧНОСТЬ

Структура без скрытых ID

Иерархия выражается напрямую через children, без технических идентификаторов и родительских связей, скрытых от автора модели.

ИНТЕГРАЦИЯ

Передавайте данные за пределы одного интерфейса

Передавайте модели другим командам, используйте их в data-to-diagram сценариях и встраивайте ORGF в собственные системы и обработчики.

VALUE

Единая модель ценности

Задавайте числовое значение на блоках и единицу измерения для модели; итоги рассчитываются из структуры для последовательной аналитики.

НЕЗАВИСИМОСТЬ

Свободен для использования и развития

ORGF не привязан к конкретному редактору, облаку или вендорской платформе. Используйте, расширяйте и стройте вокруг него собственные ИТ-решения.

Лицензию модели задаёт её автор

ORGF — открытый и бесплатный формат. Права, лицензия и условия использования конкретной модели указываются её автором в метаданных модели.