Wat is een zoekdefinitie?
Concept
Een zoekdefinitie is een verzameling parameters die gestalte geven aan een custom zoekopdracht. Zoekdefinities vinden enkel hun toepassing binnen de context van bulktaken. Het is mogelijk om een zoekdefinitie als configuratie-item aan te maken en te beheren via Skryv Studio.
Context
Vanuit de bulktaken functionaliteit in de backoffice kan een gebruiker een custom zoekopdracht uitvoeren. De bedoeling is om een resultatenlijst met dossiers terug te krijgen waarvoor de gebruiker vervolgens een specifieke taak in bulk kan afwerken. De meest voorkomende use case is het verlenen van goedkeuring in dossiers. De parameters voor de custom zoekopdracht moet je als configurator instellen via een zoekdefinitie.
Opbouw
Elke zoekdefinitie kent een gelijkaardige opbouw. Onderstaande elementen komen daar typisch in voor. Niettemin kan de opbouw van zoekdefinities lichtjes verschillen van elkaar.
Onderdeel | Beschrijving |
---|---|
Key en label | Unieke referentie en naam van de zoekdefinitie. |
Functionaliteit resultatenlijst | Specifiek gedrag van de resultatenlijst die de gebruiker krijgt. Zo kan je instellen of de gebruiker een zoekvenster mag zien en gebruiken, of hij custom weergaves in de resultatenlijst mag definiëren, of elk item in de lijst selecteerbaar moet zijn via een selectievakje, enzovoort. |
Gegevensbron | Definieer op welke data de zoekopdracht van toepassing is en waar deze data precies te vinden is. |
Filters | Bepaal filterregels om de resultaten te beperken. Deze criteria blijven verborgen voor de backoffice gebruiker. Hij of zij kan ze dan ook niet uitschakelen. |
Kolommen | Bepaal welke kolommen beschikbaar zijn in de resultatenlijst. |
Weergaves | Leg vast welke weergaves je ter beschikking wil stellen aan de backoffice gebruiker. Daarbij kan je ook een default weergave definiëren. |
Voor een gedetailleerde oplijsting van alle te gebruiken parameters en hun betekenis kan je terecht op de pagina zoekdefinitie eigenschappen.
Formaat
Elke zoekdefinitie wordt opgeslagen als een JSON-bestand met naamextensie .searchdef. Een voorbeeld van een dergelijk JSON-bestand vind je hieronder terug.
Binnen Studio is het enkel mogelijk om dit bestand te bewerken in een JSON-editor. Instructies vind je terug op de pagina zoekdefinitie editor.
Alle syntax info kan je terugvinden onder de sectie zoekdefinitie eigenschappen.
{
"key": "bulkGoedkeuringCbs",
"label": "Selecteer dossiers voor goedkeuring door CBS",
"allowViewConfiguration": false,
"allowViewSelection": true,
"allowSelectableItems": true,
"datasourceType": "es/dossiers",
"columnDefinitions": [
{
"heading": "Dossiernummer",
"select": ["dossier.label", "dossier.id"],
"field": "dossier.label"
},
{
"heading": "Dossiertype",
"key": "dossier.type",
"field": "dossier.dossierDefinition.label"
},
{
"heading": "Naam vereniging",
"key": "vereniging",
"field": "dossier",
"content": "[lookup('dossier.dossierDefinition.key', item) === 'subsidieSportvereniging' ? lookup('document.aanvraagformulierSubsidieSportvereniging.naamVereniging', item) : lookup('document.aanvraagSubsidieStraatFeestWijkComite.naamComite', item)]"
},
{
"heading": "Aanvrager",
"key": "aanvrager",
"type": "multi-field",
"fields": [
{
"type": "search/text",
"field": {
"path": "document.aanvraagformulierSubsidieSportvereniging.hoofdaanvrager.voornaam",
"options": { "nesting": "document" }
}
},
{
"type": "search/text",
"field": {
"path": "document.aanvraagformulierSubsidieSportvereniging.hoofdaanvrager.naam",
"options": { "nesting": "document" }
}
}
]
}
],
"views": [
{
"name": "Default view",
"searchTerm": "",
"columns": ["dossier.label", "dossier.type", "vereniging", "aanvrager"],
"filters": [],
"sort": {
"criterion": "dossier.label"
}
}
]
}