VNG-Realisatie / gemma-zaken

Samen ontwikkelen van API's voor Zaakgericht werken
https://vng-realisatie.github.io/gemma-zaken/
Other
41 stars 27 forks source link

Als gemeente wil ik grote sets aan documenten kunnen filteren en sorteren #2410

Open joeribekker opened 7 months ago

joeribekker commented 7 months ago

...zodat zaken met veel documenten enigszins te groeperen en te vinden zijn.

Filter parameters

Om een deel van de documenten te tonen die aan een zaak hangen, is de wens om een aantal query-parameters toe te voegen aan de documenten lijst endpoint (/enkelvoudiginformatieobjecten), te weten:

Optioneel:

Soms noem ik "case-insensitive partial match". Zelf gebruiken we bij APIs hiervoor vaak <attribuut>__icontains om dit aan te geven (zoals __in of __lte nu ook al als postfix bestaat) maar laat ik aan VNG.

Sorteren

Typisch wil je in een lijst van documenten kunnen sorteren. Het zou mooi zijn als dit mogelijk is via de API. Dit kan uiteraard ook client-side, maar met een standaard pagina-grootte van 25 en 300 documenten zijn, is sorteren aan de serverkant zeer wenselijk.

Volgens mij zit sorteren nog nergens in de ZGW APIs. Wat wij typisch doen is de query-parameter ordering gebruiken. Deze accepteert een komma-gescheiden lijst van ondersteunde attributen. Voor aflopende (descending) volgorde wordt het attribuut voorafgegaan aan een - teken.

Dit voorstel is in overleg gedaan met de gemeente Amsterdam, Utrecht en Den Haag en leveranciers Maykin en Ritense.

joeribekker commented 7 months ago

@HenriKorver kan jij hier iets mee?

HenriKorver commented 7 months ago

@joeribekker De user story is duidelijk. Echter wegens onduidelijkheid over de PO en de pauzering van de referentie-implementatie kan ik momenteel helaas geen nieuwe features oppakken. Voorlopig kan ik alleen blokkerende issues verhelpen of documentatie verbeteren. Als er meer duidelijkheid is zullen we het je zo snel mogelijk laten weten.

michielverhoef commented 4 weeks ago

objectinformatieobjecten__object -- Deze is essentieel om snel documenten bij een zaak te kunnen opvragen. Op deze manier bypass je dat je eerst de relaties moet opvragen, en daarna de documenten.

Omdat dit geen attribuut van Enkelvoudiginformatieobject is vind ik deze minder mooi. Is het niet netter dit op te lossen door expand toe te voegen aan GET /objectinformatieobjecten ?

Aan de andere kant is het dan wel weer minder makkelijk filteren op documenten van een zaak door een bepaalde auteur oid.