Officer
An Officer is a person (or role-bound Contact) holding a structural
role in a Meeting or
MeetingComponent: chair, secretary,
treasurer, parliamentarian, etc. The list of officers is open —
adopters may add new role values via the OfficerRole enum’s other
discriminator.
This replaces legacy Meeting.chair and Meeting.secretary direct
shortcuts. One list, role discriminates.
Fields
| Field | Type | Description |
|---|---|---|
role |
OfficerRole |
chair, vice_chair, deputy_chair, secretary, treasurer, parliamentarian, presiding_officer, sergeant_at_arms, other. |
person |
Contact (or Person) |
The officer. May be inline data, a document-scoped { local_ref: ... }, or a { ref: urn:... } register reference — see Entity resolution. |
term_start |
Date |
When their term began. |
term_end |
Date |
When their term ends. |
extensions |
MeetingExtension[0..*] |
Profile-specific extensions. |
#current?(date = Date.today) is true when date falls inside the term
window (or when no term is set).
Meeting / Component helpers
Both Meeting#chair and MeetingComponent#chair look up the matching
officer and return the Contact:
meeting = Edoxen::Meeting.from_yaml(...)
meeting.chair # => #<Edoxen::Person name=[...]>
meeting.secretary # => #<Edoxen::Person name=[...]>
meeting.officers_with_role(:treasurer) # => [#<Officer ...>]
component = meeting.components.first
component.chair # => #<Edoxen::Person name=[...]>
Example (1.0)
officers:
- role: chair
person:
ref: urn:edoxen:contact:isotc154:eleanor-vance
- role: vice_chair
person:
name:
- spelling: eng
value: { formatted: Dr. Marcus Hale }
- role: secretary
person:
name:
- spelling: eng
value: { formatted: Mr. James Okafor }
contact_methods:
- { kind: email, value: secretary@acme.com }
- role: parliamentarian
person:
name:
- spelling: eng
value: { formatted: Mr. David Lin }
term_start: 2024-01-01
term_end: 2025-12-31
See also
- Meeting Collection — officers attach to a Meeting
- MeetingComponent — officers attach to a component
- Contact — Officer.person type
- ContactRegister — registry for URN references