Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,090 of 9,090 pages
About the help in other languages
All help pages

Content model for parliaments

Shipped Exponential classes that fit a parliament site and recipes for Member, Sitting, Bill and Vote record classes with real datatypes, linked by relations so each fact is entered once.

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/government/levels/parliaments/content-model.md

On this page

Content model for parliaments

This page is for website creators and project managers who design the classes of a parliament or legislative assembly site. The classes and datatypes named exist in Exponential (sevenx_classes, kernel/classes/datatypes/, the extensions named); the class editor is in Content classes for websites.

Contents

  1. Shipped classes that fit
  2. Class to add: Member
  3. Class to add: Sitting
  4. Class to add: Bill
  5. Class to add: Vote record
  6. How the classes connect

Shipped classes that fit

ClassIdentifierUse
Folderfolderchambers, committees, years
Articlearticlenews, explanations of procedure
Filefilebill texts, transcripts, reports, vote records
Personng_personcan serve as Member if you add the attributes below
Event, Event calendarevent, event_calendarvisits, public events
Documentation pagedocumentation_page"how parliament works" guides

Class to add: Member

Copy ng_person or create a class:

AttributeIdentifierDatatypeWhy
NamenameText line (ezstring)
Party or groupgroupTags (eztags) or Selection (ezselection)tags let you keep a history of groups
ConstituencyconstituencyTagsa tag tree of constituencies
RoleroleText block (eztext)speaker, committee chair ...
In office from, tofrom, toDate (ezdate)former members stay with an end date
BiographycvXML block (ezxmltext)public role information
PhotoimageImage (ezimage)alternative text required
Official contactemailEmail (ezemail)the official address

Former members stay as objects with an end date: votes and transcripts relate to them permanently.

Class to add: Sitting

AttributeIdentifierDatatype
Chamber or committeebodySelection
Date and timesitting_dateDate and time (ezdatetime)
AgendaagendaXML block (items with links)
Agenda documentagenda_fileObject relation (ezobjectrelation) to a File
Bills on the agendabillsObject relations (ezobjectrelationlist)
VotesvotesObject relations to Vote records
TranscripttranscriptObject relation to a File
Videovideo_urlURL (ezurl)
StatusstatusSelection: scheduled, agenda published, sitting, adjourned, record complete

Class to add: Bill

AttributeIdentifierDatatypeWhy
TitletitleText line
Bill numbernumberText line
StagestageSelectionintroduced, first reading, committee, ... , adopted, lapsed
Introduced onintroduced_onDate
SponsorsponsorObject relations (Members)
SummarysummaryXML blockwhat the bill does, in plain language
Versions of the texttextsObject relations (File objects, one per printed version)
AmendmentsamendmentsObject relations (Files)
CommitteecommitteeObject relation (a committee folder)
TopicstagsTags
Record in the bill systemsource_urlURLthe authoritative record

Each printed version of a bill is its own File object; the Bill object's versions record changes to the page itself.

Class to add: Vote record

AttributeIdentifierDatatypeWhy
TitletitleText line"Vote on <bill>, <stage>"
Date and timevote_dateDate and time
BillbillObject relation
QuestionquestionText blockwhat was put to the vote
ResultresultSelectionadopted, rejected, tied
For, against, abstentionsfor, against, abstainInteger (ezinteger)
Members' votesmember_votesMatrix (ezmatrix)columns member and vote, where recorded
Official recordrecord_fileFile (ezbinaryfile)the record as published by the clerks

A Matrix holds a table with named columns; a large chamber's per-member list may be better as a data file (CSV) in the File field plus the matrix for display, generated by import.

How the classes connect

Sitting ──< Bill (on the agenda) ──< Vote record >── Member (sponsor, votes)
   │                 └── texts, amendments (File)
   └── transcript, agenda_file (File)

Reverse relations answer "where does this appear?" (the Relations tab of an object). Before removing a member or a bill, check them (Relations and reuse).

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x