Draft: feat(Conflict detection): #3591668 "Text-based Page entity representation via Canvas API"

TL;DR: Adds a new endpoint that provides Page entity in text-based format using default content exporter in core.

For people with attention span or AI summary tools:

BE part of "Text-based comparison of entities (#3591668)" which is part of the "[META] Review of changes and Conflict resolution (#3587587)". Adds the BE infrastructure required for the "Comparison of entities using text-based representation in side-by-side UI" capability.

To keep the scope manageable, changes are limited to Page (canvas_page) entities. Effort is made to leave path open for other entity types.

List of changes:

  • Adds new endpoint (/api/v0/export/content/canvas_page/) definition to the openapi.yml. This endpoint returns This response returns body containing errors property that are described by updated the #/components/schemas/Error and also data that returns the auto-save entries as per HTTP 200 response. This allows client side to update the UI and inform the user about the detection of a conflict(s) and in future MRs provide the user with ways of resolving the detected conflict.

Testing instructions

  • First step for someone to test the changes in this MR

Closes #3591668

Merge request reports

Loading