Switch to the regular element serializer on ListDatasetElements
The ListDatasetElements
uses the same serializer as ListProcessElements
to return the element, along with the set
. This serializer however is not well supported by the frontend since its whole navigation has been built around the serializers of the other element lists like ListElements
, ListElementChildren
, ListElementParents
, or ListImageElements
. Those lists include a zone
attribute with the image, polygon, image server, etc. that the frontend needs to correctly build IIIF URLs.
To make it easier to display thumbnails on dataset elements, we should switch the serializer on ListDatasetElements
to a serializer like ElementTinySerializer
; any serializer that returns the same attributes as the current serializer, just in a shape that is more edible by the frontend.
We should still use the cursor-based pagination mentioned in #1615 (closed), as a COUNT()
query can be quite slow and not needed by workers. The frontend's pagination can already handle that correctly since it is already used with ListProcessElements
. The endpoint still must be performant enough to be used by workers, with datasets going up to thousands of elements.