Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
joeribekker opened this issue Feb 13, 2024 · 2 comments

Comments

@joeribekker
Copy link
Collaborator

...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:

  • 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.
  • formaat -- Zodat je enkel afbeeldingen, of Word-documenten kan tonen.
  • auteur -- Zoeken op een bepaalde auteur. Dit zou een idealiter een case-insensitive partial match worden.
  • aanmaakdatum__gte en aanmaakdatum__lte -- Zodat je in periodes kan zoeken, of oude kan weglaten (gte=greater than or equal, lte=lesser than or equal)
  • titel -- Zoeken op een bepaalde documentnaam. Dit zou een idealiter een case-insensitive partial match worden.
  • vertrouwelijkheidaanduiding -- Ondersteuning voor meer dan 1x opgeven, zodat je de lijst kan limiteren tot een subset van vertrouwelijkheid.

Optioneel:

  • beschrijving -- Dit zal dan case-insensitive partial match worden maar vergt wel een flinke index op database niveau.
  • lock -- Enkel bestanden tonen die wel of niet in gebruik zijn.

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.

  • titel
  • omvang
  • aanmaakdatum
  • auteur

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
Copy link
Collaborator Author

@HenriKorver kan jij hier iets mee?

@HenriKorver
Copy link
Collaborator

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants