Sinds Data Crow 3 is het mogelijk om je eigen modules te maken. Ik heb veel verzoeken gehad om extra modules toe te voegen, zoals een munt- en een wijnmodule. Met behulp van de module-aanmaak wizard kun je nu eenvoudig de modules aanmaken die je mist in de standaard Data Crow installatie. Daarnaast kun je bestaande modules aanpassen door bijvoorbeeld nieuwe velden toe te voegen.
Met de wizard voor het maken van modules kunt u snel een nieuwe module maken. Deze handleiding is gemaakt om ervoor te zorgen dat u de module kunt maken die u nodig hebt.
Algemene tips #
- Maak altijd een module aan in een schone installatie van Data Crow. Installeer gewoon een versie van Data Crow op een andere locatie dan je productieversie. In deze nieuwe en lege versie kun je experimenteren zonder dat je je zorgen hoeft te maken dat je huidige installatie in de war raakt. Hoe doe je dit? Navigeer naar [Instellingen > Map wijzigen] en selecteer een nieuwe gebruikersmap voor testdoeleinden.
- U kunt een module delen met iemand anders of een module die u hebt gemaakt in uw testinstallatie kopiëren naar de productieversie. Gebruik de [Modules > Module Export Wizard] om uw module te exporteren. Importeer de module bij een andere Data Crow installatie met behulp van de [Modules > Module Import Wizard].
- Beschrijf op papier welke velden je nodig hebt. Bepaal ook of je lijsten met opties nodig hebt waaruit een gebruiker kan kiezen. Je kunt beheerde lijsten maken binnen je module. Dat betekent dat je een veld "genres" kunt definiëren en de inhoud (de genres) vanuit Data Crow kunt beheren.
- Als je lijsten wilt gebruiken zoals beschreven in punt 3, maak dan eerst de modules die de items bevatten. Meestal zijn dit eenvoudige eigenschapsmodules voor items zoals categorieën, genres, enz. Items van deze modules hebben een naam en een pictogram, verder niets. Dit wordt verderop in dit document uitgelegd. Onthoud dat de snelste manier om een module te maken van onder naar boven is.
- Zorg ervoor dat u de veldinstellingen voor uw nieuw aangemaakte modules bekijkt. De instelling "is beschrijvend" bepaalt bijvoorbeeld het label van je items. Dit label wordt gebruikt om je items weer te geven in de weergaven, het deelvenster met groepen en in de referentievelden.
Moduletypes #
Een van de eerste dingen die u moet weten is wat elk moduletype is en waarvoor het kan worden gebruikt. Er zijn drie soorten modules: eigenschapmodules, mediamodule en 'overige' modules.
Het type module bepaalt hoe de module toegankelijk is en welke voorgedefinieerde velden een module heeft. Voorgedefinieerde velden (zoals de ID) kunnen niet worden verwijderd uit de module (maar ze kunnen wel worden verborgen met de normale editor voor veldinstellingen).
Type property module #
Een property module is het eenvoudigste moduletype. Voorbeelden van property module zijn de film- en muziekgenres, de softwarecategorie, de opslagmedia en de platforms. Belangrijk om op te merken is dat een property module geen referentievelden kan hebben en ook geen afbeeldingsveld.
Een eigenschapmodule wordt nooit weergegeven in de modulebalk. In feite verschijnt het nergens totdat het in een andere module wordt gebruikt. Het bestaan ervan hangt af van andere modules. Dit wordt later in dit document besproken wanneer we naar het aanmaken van velden gaan. Als een eigenschapmodule in een andere module wordt gebruikt, kun je de items beheren via het menu [Beheer]. Merk op dat dit het menu [Beheer] is van de module die deze eigenschapmodule gebruikt.

Naast andere, systeemgerelateerde velden zullen de volgende velden altijd aanwezig zijn voor eigendomsmodules:
- Alternatieve namen (voor synoniemen van dezelfde items)
- Naam (naam van het item)
- Pictogram (pictogram om het item weer te geven)
Type mediamodule #
Dit type module is een volledig functionerende module. Nadat de module is gemaakt, wordt deze weergegeven in de modulebalk van waaruit deze kan worden geopend en gebruikt.

Items die binnen deze module zijn aangemaakt, kunnen ook worden beheerd met behulp van de mediamodule. Met de mediamodule kunnen alle items uit modules van het type "Mediamodule" in één overzicht worden getoond.

Naast andere, systeemgerelateerde velden zullen de volgende velden altijd aanwezig zijn voor mediamodules:
- Landen (Landen waar het item is uitgebracht)
- Talen
- Beschrijving (itembeschrijving, lange tekst)
- Locatie (vrije beschrijving van de locatie van het item)
- Waardering (waardering gebaseerd op 10 sterren)
- Titel (titel van het item)
- Jaar (jaar van uitgave van het item)
Persoon Module Type #
Het moduletype Persoon heeft alle velden die nodig zijn voor het registreren van persoonsinformatie. Net zoals een eigenschapmodule nooit zal verschijnen in de modulelijst, zal een persoonmodule dat ook niet. Persoonsmodules moeten door andere modules worden gebruikt om als submodule zichtbaar te worden (zie hoofdstuk Velden aanmaken).
Naast andere, systeemgerelateerde velden zullen de volgende velden altijd aanwezig zijn voor personenmodules:
- Webpagina
- Beschrijving
- Voornaam
- Achternaam
- Naam (de volledige naam van de persoon)
- Foto
- Tags (tag woordregistratie)
Overige' Moduletype #
Het andere moduletype is bijna hetzelfde als het mediamoduletype. Het enige verschil is dat er minder voorgedefinieerde velden zijn (zoals rating, titel) en dat de items niet kunnen worden beheerd met de mediamodule.
Voor modules van dit type worden alleen systeemgerelateerde velden toegevoegd.
Een nieuwe module maken #
Er zijn twee manieren om een nieuwe module te maken. Eén manier is om handmatig een XML-bestand te maken dat de module en zijn velden beschrijft. De tweede en gemakkelijkste manier is om de wizard voor het aanmaken van modules te gebruiken. Dit document beschrijft het creatieproces met behulp van de wizard.
Start de wizard: [Modules > Wizard Module maken].
Stap 1: het moduletype selecteren
Zoals beschreven in het vorige hoofdstuk moet u het juiste moduletype selecteren voor uw doeleinden. Deze informatie kan later niet worden gewijzigd.

Stap 2: de basismodule-informatie invoeren
In deze stap moet u de basisinformatie voor de module invoeren, zoals de naam, de pictogrammen en een beschrijving. De meeste van deze informatie kan worden gewijzigd nadat de module is aangemaakt.

Hieronder vindt u een overzicht van de informatie die u hier moet invullen en of deze informatie in een later stadium kan worden gewijzigd of niet.
| Veld | Beschrijving | Kan dit later worden gewijzigd? |
| Naam | Naam van de module. Voorbeeld: Munten. | Geen |
| Naam | Naam van een item dat bij de module hoort. Voorbeeld: Munt. | Geen |
| Naam item (meervoud) | Meervoudige naam van items die tot de module behoren. Voorbeeld: Munten. | Geen |
| Items kunnen worden uitgeleend aan andere personen | Geeft aan of het uitleensysteem moet worden geactiveerd voor deze module. Zo ja, dan kunnen contactpersonen items uitlenen die tot deze module behoren. Deze optie is niet beschikbaar voor eigendommenmodules. | Ja |
| Items vertegenwoordigen werkelijke bestanden | Dit voegt functies voor bestandsbeheer en de nodige velden voor bestandsregistratie toe: bestandsnaam, bestandsgrootte, bestandshash en hash type bestand. Hiermee wordt de Drive Manager-functionaliteit voor je gemaakte module ingeschakeld. | Ja |
| Items kunnen worden toegewezen aan een container | Voegt een containerveld toe (waar bevindt het item zich?). Als dit veld aanwezig is, kan het item worden weergegeven in de containermodule. | Ja |
| Beschrijving | Een korte beschrijving van deze module. De beschrijving wordt weergegeven wanneer je met de muis over de module beweegt in de module lijst. | Ja |
| Pictogram 16×16 | Klein pictogram. Dit pictogram wordt gebruikt voor het itemformulier, rapporten, de tabelweergave en verschillende instellingenpanelen. | Ja |
| Pictogram 32×32 | Groot pictogram. Dit pictogram wordt gebruikt voor het paneel met de modulelijst. | Ja |
Stap 3: Velden maken
In de derde stap van deze wizard kun je de velden voor je module definiëren. Deze velden bevatten de informatie voor elk van je items. In het bovenste deel van het scherm zie je de voorgedefinieerde velden voor de module. Deze velden liggen vast en kunnen niet worden verwijderd of gewijzigd. In het onderste deel worden alle velden getoond die je zelf hebt gedefinieerd.
Om een nieuw veld aan te maken klik je op de knop "Veld toevoegen". Om een veld te verwijderen selecteer je het veld in de lijst en klik je op de knop "Veld verwijderen". Je kunt alleen velden uit het gedeelte "Nieuw veld" verwijderen.

Een nieuw veld toevoegen
Nadat je op de knop "Veld toevoegen" hebt geklikt, wordt er een dialoogvenster geopend. Dit dialoogvenster wordt gebruikt om je veld te definiëren/aan te maken. Het is heel belangrijk om te weten dat aangemaakte velden later niet kunnen worden gewijzigd. Ze kunnen alleen worden verwijderd en opnieuw worden aangemaakt.

De in te voeren informatie wordt hieronder beschreven.
- Naam
Het label voor dit veld. - Type veld
Geeft aan wat voor soort waarde het veld kan bevatten en hoe het wordt weergegeven. Elk van de opties hier wordt in het volgende hoofdstuk besproken. - Module waarnaar wordt verwezen
Als je een van de referentieveldtypes hebt geselecteerd, verschijnt de lijst met gerefereerde modules. Hier selecteer je (bijvoorbeeld) de eigenschapsmodule die je hebt gemaakt, zoals een "Status"-module. Het veld waarnaar verwezen wordt, toont alle items in de module waarnaar verwezen wordt. - Kan deze worden doorzocht?
Geeft aan of gebruikers hierop moeten kunnen zoeken. - Vereist?
Geeft aan of de gebruiker dit veld verplicht moet invullen. Dit kan gewijzigd worden via de optie [Instellingen > Algemene veldinstellingen] in de Data Crow-toepassing. - Beschrijvend?
Data Crow moet weten hoe het item van een module beschreven moet worden; wat is de naam van het item. Door één (of meerdere) velden aan te vinken als beschrijvend veld wordt de inhoud gebruikt om het item te beschrijven. Bijvoorbeeld, het titelveld van de boekenmodule is het beschrijvende veld. Dit kan worden gewijzigd via de optie [Instellingen > Algemene veldinstellingen] in de Data Crow toepassing. - Is sleutelveld?
Als Data Crow geconfigureerd is om te controleren of een item uniek is voordat het opgeslagen wordt, zal Data Crow items vergelijken op basis van de inhoud van de sleutelvelden. Intern zijn items altijd uniek omdat aan een item altijd een unieke identificatie is toegewezen. Dit kan veranderd worden via de [Instellingen > Algemene veldinstellingen] optie vanuit de Data Crow applicatie. - Tabblad voor artikelvorm
Hier kun je aangeven op welk tabblad van het artikelformulier het veld getoond moet worden. Dit kun je later wijzigen via [Instellingen > Item Formulier Instellingen]. - Maximale tekstlengte.
De maximale lengte van de in te voeren waarde. Alleen van toepassing en weergegeven voor tekstvelden.
Veldtypen
Het veldtype bepaalt wat voor soort waarde je in het veld gaat opslaan (nummer, tekst, enz.), hoe het wordt weergegeven en het bepaalt zelfs hoe andere modules worden weergegeven!
| Veldtype | Beschrijving |
| Selectievakje | Slaat een ja/nee waarde op. |
| Datum Veld | Een datumveld met een kalender of datumselectie.![]() |
| Decimaal veld | Numeriek veld, decimale weergave. De weergave van de waarde (voorbeeld: 1.000.000,00) hangt af van de instellingen van de locale. |
| Bestandsveld | Een eenvoudig bestandsveld. Bevat een bladerknop. |
| Bestandsstartveld | Kan een bestandsnaam opslaan en kan het bijbehorende bestand starten met de startknop. Een bestand kan worden geselecteerd met de bladerknop. |
| Nummer Veld | Numeriek veld (voorbeeld: 1000000). |
| Afbeeldingsveld | Bevat een afbeelding en wordt weergegeven op een apart tabblad van het itemformulier. ![]() |
| Beoordelingsveld | Een beoordelingsveld op basis van 10 sterren. |
| Referentieveld, Dropdown | Met dit veld kun je items selecteren die tot een andere module behoren. De items van de module worden in deze lijst weergegeven. De module waarvan de items moeten worden weergegeven, moet worden geselecteerd als de module waarnaar wordt verwezen. Een goed voorbeeld van zo'n veld is het veld Opslagmedium van de softwaremodule.![]() |
| Referentieveld, multi-selectie | Hetzelfde als hierboven, maar er kunnen meerdere items worden geselecteerd. Voorbeeld: het landenveld van de module Software.![]() |
| Tekstveld, meerdere regels | Een groot tekstveld. |
| Tekstveld, éénregelig | Een tekstveld van één regel. |
| URL-veld | Dit veld slaat HTTP(s) URLS op en kan deze starten in je browser. |
Een referentiemodule maken #
Verwijzen naar een module vanuit een andere wordt gedaan door het veld aan te maken. Het aanmaken van een referentie heeft gevolgen voor de manier waarop modules worden weergegeven in Data Crow;
- Eigendommodule; wordt pas weergegeven als er naar wordt verwezen. Wordt weergegeven in het menu [Beheer] nadat ernaar verwezen is. Een eigenschapsmodule kan door meerdere modules worden gebruikt.
- Persoonsmodule; wordt niet getoond tot referenties. Naar een personenmodule kan door meerdere modules worden verwezen.
- De module Media en Overige wordt in de modulelijst weergegeven als een hoofdmodule (net als de module Film, Boek en Software). De geselecteerde module kan worden verwijderd uit de lijst met hoofdmodules, waarna deze in de vervolgkeuzelijst wordt weergegeven als submodule (bijvoorbeeld de module Ontwikkelaars wordt alleen weergegeven als submodule van de module Software);

Alleen naar media / andere modules kan worden verwezen door meerdere modules.
Referentie Module #
Zoals hierboven getoond heb je de mogelijkheid om informatie uit andere modules te gebruiken in je eigen module. Het is heel gebruikelijk binnen Data Crow om andere modules te gebruiken om de inhoud van lijsten te kunnen bewerken. Door te besluiten om naar een andere module te verwijzen, verandert ook de manier waarop die module wordt weergegeven.
Hoe maak je een verwijzing naar een andere module? Simpelweg door een referentieveld ("Referentieveld, Enkelvoudige selectie" of "Referentieveld, Multi-selectie") naar een andere module te maken. De schermafbeelding hieronder toont het toevoegen van een talenveld aan de softwaremodule. Als veldtype is "Referentieveld, Multi-select" geselecteerd. De module "Language" wordt gebruikt om de inhoud van het veld Talen te vullen.
Dit is essentieel; je maakt eerst de module waarnaar wordt verwezen (Language in dit geval) en vervolgens voeg je een veld toe aan de hoofdmodule (Software in dit geval).
Verwijzen naar een eigenschapsmodule #
Het type eigenschapmodule is eerder beschreven. Een van de belangrijkste dingen om te weten is dat deze module alleen wordt weergegeven als een andere module ernaar verwijst. Nadat u een verwijzing naar een eigenschapmodule hebt gemaakt, wordt deze beschikbaar in het menu [Beheer]. Een menu-optie met de naam [ onderhouden] wordt daar weergegeven. Met deze optie kunt u de items voor deze eigenschapmodule beheren en dus ook de beschikbare inhoud van het referentieveld.
In het onderstaande voorbeeld is een referentieveld gemaakt naar de module Taal voor de module Software. De talen kunnen nu worden onderhouden via het menu [Beheer] van de softwaremodule.

Verwijzen naar een ander type module #
Een verwijzing maken naar een ander soort module werkt precies hetzelfde als voor eigenschapmodules. Het resultaat is echter iets anders. Bij het aanmaken van het referentieveld wordt gevraagd of de geselecteerde module waarnaar wordt verwezen nog steeds moet worden weergegeven op de modulebalk. Als je dat doet, verandert er niets. Als u er echter voor kiest om de geselecteerde module niet meer weer te geven op de modulebalk, wordt de module waarnaar wordt verwezen weergegeven in de module lijst, onder uw (hoofd)module. Hieronder ziet u een voorbeeld.
De softwaremodule heeft twee referentievelden, één naar de ontwikkelaarsmodule en één naar de uitgeversmodule. Deze modules worden getoond door op de knop ... onder de softwaremodule te klikken.

Als je een van deze submodules selecteert, kun je de betreffende items beheren.
Verwante modules #
Het is mogelijk om een ouder kind relatie aan te maken tussen twee modules. Een ouder kind relatie is iets anders dan het maken van een verwijzing tussen twee modules. Als een module een kindmodule wordt, kunnen de items ervan alleen bestaan als ze een relatie hebben met een ouderitem. Een voorbeeld hiervan is de Music Track module, die een parent child relatie heeft met de Music Album modules. Muziektracks kunnen eenvoudigweg niet bestaan als er geen Muziekalbum is.
In het geval van een verwijzing tussen twee modules is dit niet het geval. Een actor kan zelfs bestaan als er niet naar verwezen wordt door een film.
Een ouder-kind relatie kan worden gemaakt met behulp van de "Relate Module" wizard (te vinden in het menu modules).

Nadat de relatie is aangemaakt kunnen de items van de kindmodule alleen nog via de oudermodule worden beheerd. Het itemformulier van de oudermodule heeft nu een aparte tab waar de child items worden getoond. Op dit tabblad kun je ook de child items aanmaken, bijwerken en verwijderen. Als je de child items wilt beheren met behulp van een view dan is de tabel view je enige keuze. De tabelweergave kan het ouderitem en zijn kinderen in één weergave tonen. De muziekalbummodule is een goed voorbeeld waar je dit in actie kunt zien.
Modules kopiëren #
In plaats van een module helemaal opnieuw te maken, kun je er ook voor kiezen om een nieuwe module te baseren op een bestaande module. Gebruik hiervoor de Wizard Module kopiëren. In de eerste stap selecteert u de module waarop u uw nieuwe module wilt baseren. Na deze stap volg je dezelfde stappen als bij het aanmaken van een nieuwe module. Het belangrijkste verschil is dat alle velden, zoals gedefinieerd in de module die je kopieert, al ingevuld zijn.
Modules verwijderen #
Aangepaste modules, modules die niet geleverd worden bij het Data Crow product, kunnen verwijderd worden door gebruik te maken van de "Aangepaste module verwijderen" wizard (te vinden in het module menu).

De laatste stap van deze wizard toont alle wijzigingen die moeten worden uitgevoerd voordat de module kan worden verwijderd. Soms wordt naar een module verwezen door andere modules of maakt de module deel uit van een ouder-kind relatie. De wizard zal deze modules aanpassen zodat ze functioneel blijven nadat de geselecteerde module is verwijderd.

Zoals eerder vermeld kun je een standaardmodule (geleverd bij het Data Crow product) niet verwijderen. Je kunt deze module echter wel verbergen via de instellingen.
Modules distribueren #
Nadat u uw module hebt gemaakt en getest, wilt u deze misschien verspreiden onder andere personen.
Een module exporteren #
De eenvoudigste manier om dit te doen is door de Module Export Wizard [Modules > Export Module Wizard] te gebruiken.

- De items van de hoofdmodule exporteren
Als je items van de hoofdmodule onderdeel wilt maken van de export, vink dan dit vakje aan. Dit is handig als je een of meer voorbeelditems wilt exporteren.
- De items van de gerelateerde modules exporteren
Als je referentievelden gebruikt zal het aanvinken van deze optie ook de informatie uit deze modules halen. Deze optie is standaard aangevinkt en het is aan te raden om deze ingeschakeld te laten.
- Exportpad
Pad waarnaar de module wordt geëxporteerd.
Druk op Volgende om de aangepaste module te exporteren. Het zal alle modules waarnaar verwezen wordt bevatten, waardoor dit een compleet pakket wordt, perfect voor distributie naar andere personen / installaties van Data Crow.
Een module importeren #
Om een module te importeren kun je de Wizard Module importeren gebruiken. Selecteer gewoon het geleverde zip-bestand en importeer het in Data Crow.
Modules wijzigen #
Als u een bestaande module wilt aanpassen, start u de wizard [Modules > Module wijzigen].

Selecteer de module die je wilt wijzigen. Het is niet mogelijk om eigenschapmodules te wijzigen.
Je kunt veranderen:
- De beschrijving van de module
- De pictogrammen
- Of de items kunnen worden uitgeleend (de leenadministratie voor deze module uitschakelen / toestaan)
- De velden van de module toevoegen / wijzigen
Alles wat hier wordt genoemd, wordt behandeld in het toevoegen van een nieuw veld sectie. Wat echter niet wordt beschreven is wat kan worden gewijzigd voor bestaande velden.
Het veldoverzicht geeft een duidelijke indicatie of een veld kan worden verwijderd en/of gewijzigd;

Sommige velden kunnen niet verwijderd worden omdat ze verwacht worden in andere processen, zoals online zoeken of het importeren van bestandsinformatie.
Wijzigingen die kunnen worden aangebracht in velden zijn:
- Een enkel referentieveld wijzigen in een veld met meerdere referenties; als u in een veld slechts één waarde kunt selecteren, maar u wilt meerdere waarden kunnen selecteren, wijzigt u gewoon het type van Referentieveld - Dropdown in Referentieveld - Multi-selectie. Data Crow zal ervoor zorgen dat de conversie correct wordt uitgevoerd.

Je kunt bijvoorbeeld het veld Opslagmedium wijzigen door het veldtype te wijzigen van 'Referentieveld, Dropdown' in 'Referentieveld, Multi-selectie'. - Tekstveld - Velden met één regel kunnen worden gewijzigd in:
- Bestandsveld
- Bestandsstartveld
- Referentieveld (enkelvoudige en meervoudige selectie);
Data Crow zet alle bestaande waarden om in verwijzingen. Stel dat u altijd een tekstveld had voor status en u typte Open of Gesloten voor meerdere items, dan kunt u het veld veranderen in een referentieveld. Data Crow zal de waarden Open en Gesloten opslaan als referenties en deze toepassen op de corresponderende items (die voorheen de tekstwaarde hadden). - Tekstveld, meerdere regels
- URL-veld
- Er zijn nog veel meer conversies mogelijk. Het belangrijkste om te onthouden is dat Data Crow je alleen toestaat om wijzigingen aan te brengen die verlies van gegevens voorkomen (met uitzondering van het verwijderen van velden natuurlijk). Je kunt dus geen veld met meerdere verwijzingen veranderen in een veld met één verwijzing.



