De fields, oftewel velden, vormen de invoer velden voor het Unicat PIM systeem. Hierin wordt daadwerkelijk de data opgeslagen en wordt er betekenis aan de data gegeven. De velden hebben de volgende functies in het PIM systeem.
Een field definieert een specifieke eigenschap of attribuut van een product, object of zelfs van een groep.
Flexibiliteit en Herbruikbaarheid:
Uniformiteit en Consistentie
Structureren van Data
De kern van de class en de definition is uiteindelijk “Fields” binnen Unicat. In de Fields-sectie wordt uiteindelijk bepaald op welke manier de data wordt behandeld. Komt er bijvoorbeeld een dropdown met vaste waarden voor een field of moet een field alleen maar in te vullen zijn met cijfers.
Een field heeft de volgende vaste properties.
Name - de interne naam, welke voor alle talen gelijk is. er naar de schema workspace.
Label - de naam die getoond wordt in het record. Deze benaming kan per taal verschillen.
Type – de keuze uit wat voor type veld dit moet zijn zoals een textveld, een numeriek veld, een barcode veld, etc.
Localized – deze checkbox kan aan of uit worden gezet om te zorgen dat het veld taalafhankelijk of -onafhankelijk is.
Unit – de unitwaarde van dit veld (mm, kg, watt, etc.). Het is verstandig om deze waarde ook mee te nemen in de naam van het veld, zodat bij het gebruik van de API ook de eenheid bekend is. Bijvoorbeeld kun je als naam gebruiken `weight__kg` (kies hier voor een dubbele underscore om de unit beter te scheiden van de name, maar er kan ook een andere conventie worden gekozen).
En er zijn verder ook nog field opties die kunnen meegegeven worden. Deze opties hangen namelijk af van het type veld dat is gekozen. Deze zullen daarom ook later worden beschreven.
Een belangrijke eigenschap van een field is type. Unicat ondersteunt verschillende soorten types.
Tekst multiline – een generieke tekst, waarbij regeleinden zijn toegestaan.
Text line - Eén enkele regel tekst, meestal voor simpele verwoordingen of titels.
Text list - meerdere regels tekst, denk aan opsommingen of USP’s van een product waarbij meerdere eigenschappen elkaar opvolgen, of waar je een aantal waarden kiest uit een lijst.
Number - een geheel getal, zonder decimalen.
Decimal number- een decimaal getal, zoals prijzen.
Yes/no – een toggle checkbox waarin een ja/nee waarde wordt weergegeven.
Image – voor het opnemen van een afbeelding. Dit staat gekoppeld aan het DAM.
Image list - voor het opnemen van meerdere afbeeldingen. Deze lijst staat gekoppeld aan het DAM.
File - voor het opnemen van een bestand, zoals een handleiding of datasheet. Deze lijst staat gekoppeld aan het DAM.
File list - voor het opnemen van meerdere bestanden. Deze lijst staat gekoppeld aan het DAM.
Record - een verwijzing naar een ander record, bijvoorbeeld een voorganger of opvolg product.
Record list - een verwijzing naar meerdere records, bijvoorbeeld om een lijst van accessoires of gerelateerde producten weer te geven.
Code - voor een speciaal formaat bijvoorbeeld json of xml data.
Barcode – voor een barcode. Unicat kan de barcode meteen tonen. Unicat ondersteunt momenteel de volgende type barcodes, die je kunt kiezen uit het ‘format’ veld.
Field picker - geeft de mogelijkheid om de gebruiker een veld te laten kiezen. Dit wordt bijvoorbeeld toegepast om de gebruiker in te kunnen laten stellen welke velden er in InDesign in de artikeltabel getoond moeten worden.
Class – een groepering van fields die in één field worden weergegeven, bijvoorbeeld een afmetingen_intern en een afmetingen_extern field, die beide gebruik maken van de ‘afmetingen’ class (met lengte, breedte, en hoogte velden). De class moet van te voren gemaakt worden, en onder options worden opgevoerd.
Class list – gelijk aan een class field, maar je kunt meerdere keren waarden invoeren. Als voorbeeld een property class met name en value velden, die gekoppeld is aan het ‘properties’ field van type classlist. Je kunt nu meerdere keren name/value combinaties invoeren, de volgorde veranderen, etc. De class moet van te voren gemaakt worden, en onder options worden opgevoerd.
De field options zijn aanwezig op basis van het gekozen field type, en geven een verdere verdieping in de specificatie van het veld. Sommige van de opties zijn optioneel, andere zijn verplicht (zoals ‘class’ bij een class of classlist field).
Deze opties worden gebruikt om validaties te doen op velden. Dit betekent dat je een waarschuwing krijgt als de ingevoerde numerieke waarde boven de ‘max’ optie uitkomt. Je kunt later ook zoeken op alle records die validatie-fouten hebben.
Required - een checkbox waarmee wordt aangegeven dat dit veld verplicht moet worden gevuld bij het maken of aanpassen van een record. Let op: het veld niet invullen is wel toegestaan, maar geeft een validatie-fout.
Initial - een initiële waarde waarmee het veld wordt gevuld indien er een record wordt aangemaakt.
Min - indien er cijfers worden ingevuld kan er een minimale waarde worden opgegeven voor het veld. Dit geldt voor zowel het number als het decimal type.
Max - indien er cijfers worden ingevuld kan er een maximale waarde worden opgegeven voor het veld. Dit geldt voor zowel het number als het decimal type.
Decimals - hier wordt aangegeven met hoeveel decimalen de ingevoerde waarde wordt getoond voor een veld met het type decimal.
Min Items - geef het minimum aantal items op, voor een text list, record list, image list, file list, of class list field.
Max Items - geef het maximale aantal items op, voor een text list, record list, image list, file list, of class list field.
Min length - hier wordt het minimum aantal tekens dat kan worden ingevoerd, bij text en text line velden aangegeven.
Max length - hier wordt het maximum aantal tekens dat kan worden ingevoerd, bij text en text line velden aangegeven.
Values – Stel hier de dropdown keuzes in voor een veld van type text line of text list. De dropdown keuzelijst is altijd taalafhankelijk, dat wil zeggen dat je de keuze ‘rood’ in het engels ook als ‘red’ moet invoeren. Je kunt er ook voor kiezen om in beide talen de waarde ‘red’ te gebruiken, voor het geval dat nodig is (zoals bv bij een lijst merken). Let op: als het veld zelf NIET ‘localized’ is, kun je hier toch rood/red gebruiken. Als het veld WEL localized is, kun je bij een record in verschillende talen verschillendee waarden opgeven, bijvoorbeeld blauw in het nederlands en red in het engels – bij niet-localized zou je keuze voor red in het engels de waarde in het nederlands automatisch op rood komen (omdat de achterliggende waarde van het veld niet afhankelijk is van de gekozen taal, alleen de weergave)
Restrict to values - deze optie kan worden aangegeven indien er een values list aanwezig is (zie vorige optie). Van toepassing bij textline en textlist waar “values” is ingevuld. Deze optie zorgt ervoor dat er alleen uit deze velden mag worden gekozen – anders krijg je een validatiefout. Indien dit uit staat, kan de gebruiker alsnog eigen data toevoegen, al is de uitklaplijst wel aanwezig. De validatie staat hiermee effectief uit, maar het is nog wel handig om bv consistente terminologie te hanteren.
Navigeer naar de schema workspace.
Klik met de rechtermuisknop op het woord “Fields”.
Klik met de linkermuisknop op de optie “New field”.
Unicat creëert nu een nieuw field.
Vul nu de name, label, type, en overige properties en options in.
Klik met de linkermuisknop op de optie “Commit” in de inspector om het field actief te maken.
Navigeer naar de schema workspace.
Klik met de linkermuisknop op het field dat aangepast moet worden.
Maak nu de gewenste aanpassing(en) aan het field.
Klik met de linkermuisknop op de optie “Commit” in de inspector om de aanpassing(en) actief te maken. Als alternatief kan ook met de rechtermuisknop op de field worden geklikt en met de linkermuisknop opde optie “Commit field” worden geklikt.
Navigeer naar de schema workspace.
Klik met de rechtermuisknop op het field dat gedupliceerd moet worden.
Klik met de linkermuisknop op de optie “Duplicate field”.
Pas de naam en overige properties/options aan.
Klik op de optie “Commit” in de inspector om het nieuwe veld actief te maken.
Navigeer naar de schema workspace
Klik met de rechtermuisknop op het field dat verwijderd moet worden.
Klik met linkermuisknop op de optie “Delete field (if unused)”. Een field kan alleen maar verwijderd worden als deze niet in gebruik is in de Unicat structuur. Dit betekent dat deze niet opgenomen mag zijn in een definition of class, en niet gebruikt mag zijn om een record definitie te extenden.