Skip to content

Introduce room-building-name as standard property for rooms for resource providers #8734

Description

@odzhychko

Is your feature request related to a problem? Please describe.

Background

There are cases where multiple buildings share a common address. I guess this is especially common for school, colleges and campuses in general.

The FernUni hagen has a real world example of this: On "Universitätsstraße 33, 58084 Hagen" there is the building "Kultur- und Sozialwissenschaften" and the building "Seminargebäude".

Problem

Currently only room-building-address is exposed which

  • might not contain the building name
    • maybe the building is encoded in the room-building-room-number or room-building-story'
  • might contain it in different ways
    • e.g. Universitätsstraße 33, 58084 Hagen, (Seminargebäude)
    • e.g. Seminargebäude, Universitätsstraße 33, 58084 Hagen

Resource providers like https://github.com/nextcloud/calendar_resource_management and https://github.com/nextcloud/RoomVox have currently no common property to declare the room building unambiguously.

Describe the solution you'd like

Use a common field for for the building name e.g. {http://nextcloud.com/ns}room-building-name

Describe alternatives you've considered

Have heuristics to guess the building name from room-building-address, room-building-room-number etc.

Additional context

Open question, on which level to standardize {http://nextcloud.com/ns}room-building-name:

  1. Only directly in
    function mapDavToRoomPrincipalProperties(dav: Record<string, unknown>): RoomPrincipalProperties {
  2. Only directly in https://github.com/nextcloud/cdav-library/blob/0e1a08573ed05340fe6c0b592976fe3feeb983f1/src/models/principal.js#L64
  3. https://github.com/nextcloud/server/blob/942af7238a02731fcee3de148131d7d92dfa52c6/lib/public/Calendar/Room/IRoomMetadata.php#L19

Related cleanup

  • remove deriveBuildingName code
    • fallback to full roomBuildingAddress if no building name is given

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions