@prefix sioc: <http://rdfs.org/sioc/ns#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix content: <http://purl.org/rss/1.0/modules/content/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

<https://lhero.org/portfolio/lh-governance-documents/>
  a sioc:Post ;
  dc:title "Data model" ;
  dcterms:identifier 148023 ;
  dc:modified "2026-09-21T16:11:40Z"^^xsd:dateTime ;
  dc:created "2026-09-21T16:11:40Z"^^xsd:dateTime ;
  sioc:link <https://lhero.org/portfolio/lh-governance-documents/data-model/> ;
  sioc:has_creator <https://lhero.org/author/1/#account> ;
  sioc:has_container <https://lhero.org/#posts> ;
  content:encoded """<ul class="lh_portfolio-meta"><li><strong>Part of:</strong> <a href="https://lhero.org/portfolio/lh-governance-documents/">LH Governance Documents</a></li></ul>
<p class="wp-block-paragraph">Each governance document is a post of the hierarchical <code>lh_governance_doc</code> post type, shown at <code>/governance/{slug}/</code>. There is no archive, so a site can put its own page with the index block at <code>/governance/</code>.</p>



<h2 class="wp-block-heading">Parents and types</h2>



<p class="wp-block-paragraph">A parent means only that a document implements its parent, for example a Child Safety Procedure under the Child Safety Policy. Documents are grouped by the <code>lh_governance_type</code> taxonomy, never by parent. Each site is seeded with Constitution, Policy, Procedure, Code of conduct and Terms of reference.</p>



<h2 class="wp-block-heading">Fields</h2>



<p class="wp-block-paragraph">All fields are protected post meta (prefix <code>_lh_governance_</code>) registered with <code>show_in_rest</code>, so they can be read and written through the REST API and the LH MCP General Abilities create-post and update-post abilities.</p>



<ul class="wp-block-list">
<li><code>approval_body</code>: general-meeting, committee or officer.</li>
<li><code>adopted</code>: date first adopted.</li>
<li><code>amended</code>: every amendment date, kept sorted, not just the latest.</li>
<li><code>review_cycle</code>: none, 1y, 2y, 3y or on-change.</li>
<li><code>next_review</code>: derived and read-only. The latest of adopted and amended plus the cycle; empty for none and on-change. It is recalculated whenever adopted, amended or the cycle changes, and corrects itself if written directly.</li>
<li><code>owner_user</code> and <code>owner_role</code>: who is responsible. The user takes precedence.</li>
<li><code>registered_date</code>: for a constitution, the date lodged with the regulator.</li>
</ul>



<p class="wp-block-paragraph">Who can see a document is its post status. Private works as usual, and LH Membership&#8217;s restricted and confidential statuses apply to it like any other public post type.</p>



<h2 class="wp-block-heading">Type defaults</h2>



<p class="wp-block-paragraph">When a document gets its type, any field that has never been set is filled in from that type: constitutions go to a general meeting with no review cycle; policies, codes of conduct and terms of reference go to committee every two years; procedures go to committee and take their parent&#8217;s cycle (two years without a parent). Every type defaults its owner role to administrator. A value set on purpose, including an empty one, is never overwritten.</p>
"""^^rdf:XMLLiteral ;
  sioc:content """Part of: LH Governance Documents
Each governance document is a post of the hierarchical lh_governance_doc post type, shown at /governance/{slug}/. There is no archive, so a site can put its own page with the index block at /governance/.



Parents and types



A parent means only that a document implements its parent, for example a Child Safety Procedure under the Child Safety Policy. Documents are grouped by the lh_governance_type taxonomy, never by parent. Each site is seeded with Constitution, Policy, Procedure, Code of conduct and Terms of reference.



Fields



All fields are protected post meta (prefix _lh_governance_) registered with show_in_rest, so they can be read and written through the REST API and the LH MCP General Abilities create-post and update-post abilities.




approval_body: general-meeting, committee or officer.
adopted: date first adopted.
amended: every amendment date, kept sorted, not just the latest.
review_cycle: none, 1y, 2y, 3y or on-change.
next_review: derived and read-only. The latest of adopted and amended plus the cycle; empty for none and on-change. It is recalculated whenever adopted, amended or the cycle changes, and corrects itself if written directly.
owner_user and owner_role: who is responsible. The user takes precedence.
registered_date: for a constitution, the date lodged with the regulator.




Who can see a document is its post status. Private works as usual, and LH Membership&#8217;s restricted and confidential statuses apply to it like any other public post type.



Type defaults



When a document gets its type, any field that has never been set is filled in from that type: constitutions go to a general meeting with no review cycle; policies, codes of conduct and terms of reference go to committee every two years; procedures go to committee and take their parent&#8217;s cycle (two years without a parent). Every type defaults its owner role to administrator. A value set on purpose, including an empty one, is never overwritten.
""" ;
  sioc:topic <https://lhero.org/?taxonomy=author&term=cap-1> .

<https://lhero.org/author/1/#account> rdfs:seeAlso <https://lhero.org/author/1/?feed=lhrdf&format=turtle> .
<https://lhero.org/?taxonomy=author&term=cap-1> rdfs:seeAlso <https://lhero.org/?taxonomy=author&term=cap-1&feed=lhrdf&format=turtle> .
