Skip to content

Editing calendars and tests

John R. D'Orazio edited this page Apr 24, 2026 · 4 revisions

The Liturgical Calendar project allows qualified liturgists to contribute by editing national and diocesan calendar definitions, or by creating and maintaining liturgical event correctness tests. Both workflows require registering on the Liturgical Calendar website and requesting the appropriate role.

Becoming a calendar editor

Calendar editors can modify national and diocesan calendar definitions through the API's /data endpoint. This includes adding, updating, or removing liturgical events specific to a national or diocesan calendar.

Step 1: Register and verify your email

Create an account on the Liturgical Calendar website using the Zitadel login flow. Verify your email address to activate your account.

Step 2: Request the calendar editor role

From the Request Access page, select the calendar_editor role. You can provide a justification explaining your qualifications (e.g., diocesan liturgy commission member, seminary professor). An administrator will review your request.

Step 3: Request permission for specific calendars

Once your role is approved, you need to request edit access for the specific calendars you intend to work on. From the Permission Requests page, submit a request with:

  • Object typenational_calendar or diocesan_calendar
  • Object ID — the calendar identifier (e.g., IT for Italy, US for the United States, or a diocesan key like rotter_nl for the Diocese of Rotterdam)
  • Relationeditor
  • Justification — why you need access to this specific calendar
  • Credentials — any supporting references (e.g., appointment letter, institutional affiliation)

An administrator will review the request and, if approved, grant you edit access to that specific calendar.

Step 4: Edit calendar data

With the calendar_editor role and editor permission for a specific calendar, you can edit calendar definitions through the administration area of the Liturgical Calendar website. The website provides a form-based interface for managing national and diocesan calendar data, accessible from the Extending the calendar page once you are logged in with the appropriate permissions.

For technical reference, the underlying API endpoints are:

  • PUT /data/nation/{calendar_id} — update a national calendar definition
  • PATCH /data/nation/{calendar_id} — partially update a national calendar definition
  • PUT /data/diocese/{calendar_id} — update a diocesan calendar definition
  • PATCH /data/diocese/{calendar_id} — partially update a diocesan calendar definition

Becoming a test editor

Test editors can create and maintain liturgical event tests — JSON-based definitions that verify the liturgical correctness of the calendar output across years. These tests ensure that events fall on the right dates, respect precedence rules, and appear only in the years they should.

Step 1: Register and verify your email

Same as for calendar editors — create an account and verify your email.

Step 2: Request the test editor role

From the Request Access page, select the test_editor role with a justification explaining your liturgical knowledge. An administrator will review your request.

Step 3: Request permission for specific test definitions

Once your role is approved, you can request permission to create or edit specific test definitions. From the Permission Requests page, submit a request with:

  • Object typetest_definition
  • Object ID — the test name (e.g., MaryMotherChurchTest), or a broader scope if applicable
  • Relationeditor

Step 4: Create or edit tests

With the test_editor role and editor permission, you can create and manage test definitions through the Unit Test interface, which provides a user-friendly interface for defining assertions about liturgical events. See Unit Test server and interface for details on the test frontend.

Test definitions are JSON files that specify assertions about liturgical events across calendar years. See Liturgical event tests for the full JSON structure, test types, and assertion format.

For technical reference, the underlying API endpoints are:

  • POST /tests — create a new test definition
  • PUT /tests/{test_name} — update an existing test definition
  • DELETE /tests/{test_name} — remove a test definition

How permissions work

The permission system has two layers:

  1. Role-based — the calendar_editor or test_editor role grants general access to the corresponding API endpoints
  2. Resource-specific — fine-grained permissions (managed via OpenFGA) control which specific calendars or test definitions you can edit

This means having the calendar_editor role alone is not sufficient — you must also have editor permission for the specific calendar you want to modify. This ensures that each calendar is maintained only by authorized individuals with the relevant liturgical expertise.


For Liturgists | Home

Clone this wiki locally