Split project members into current and past, show association description #12

Merged
mih merged 2 commits from project-past-members into main 2026-03-21 05:04:47 +00:00
Member

This updates project Jinja template to also display past members (past associations) and to show association descriptions, if present.

If there are associations (with a person) with a defined end, they will be shown in a separate list. The list will be sorted in a reverse order of end date (that is, most recent alumni at the top). The time period of the association will be shown, with "since..." or "until..." inserted if either start or end time are missing.

A description will be shown on both current and past associations. Current associations won't display the start time, although that can be easily changed.

Note that, on either Start or End, at_time is not a required field; an End which only defines at_location, or even one without any properties (other than the schema class), would be valid. This necessitates slightly clumsy checks on properties.

In the absence of a defined end, a person is assumed to be a current member. This commit does not change that (filtering by .ended has been done previously), it merely exposes the distinction by also showing associations which ended. This means: a project page will be only as good as the information in the pool.

There are possible edge cases, in which a person was associated with a project more then once (e.g. with different roles over two time periods). Because we are iterating over associations, not associated persons, a person could be listed in two lists (current and past). I am curerently not sure whether we should be grouping by person instead, and if so, how to implement that, but it does not seem critical.

This updates project Jinja template to also display past members (past associations) and to show association descriptions, if present. If there are associations (with a person) with a defined end, they will be shown in a separate list. The list will be sorted in a reverse order of end date (that is, most recent alumni at the top). The time period of the association will be shown, with "since..." or "until..." inserted if either start or end time are missing. A description will be shown on both current and past associations. Current associations won't display the start time, although that can be easily changed. Note that, on either Start or End, `at_time` is not a required field; an End which only defines `at_location`, or even one without any properties (other than the schema class), would be valid. This necessitates slightly clumsy checks on properties. In the absence of a defined end, a person is assumed to be a current member. This commit does not change that (filtering by `.ended` has been done previously), it merely exposes the distinction by also showing associations which ended. This means: a project page will be only as good as the information in the pool. There are possible edge cases, in which a person was associated with a project more then once (e.g. with different roles over two time periods). Because we are iterating over associations, not associated persons, a person could be listed in two lists (current and past). I am curerently not sure whether we should be grouping by person instead, and if so, how to implement that, but it does not seem critical.
Jinja's filter and sort gets the basic job done. Before removing WIP
status I will want to display start & end dates. An extended goal
would be to group by person (suppose someone was associated with
different sets of roles in different times, what to do then?).
msz force-pushed project-past-members from 372d660e6f to 74cf9f7543 2026-03-20 19:26:01 +00:00 Compare
msz changed title from WIP: start splitting project members into current and past to Split project members into current and past, show association description 2026-03-20 19:33:15 +00:00
mih merged commit b686b37914 into main 2026-03-21 05:04:47 +00:00
mih deleted branch project-past-members 2026-03-21 05:04:47 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
www/www-from-model!12
No description provided.