Creating fields

There are some parameters that are common to all the field types:

  • Name (required): The name of the field as it appears in the Picturepark interface. This value can be changed at any time, and it can be localized into any supported language. If you would like to add a translated language for the Field Name simply click on the Add button to do so.

  • ID (required): This will be created automatically from your name entry. It is the system name for a field, which is used for all technical references to the field. This value cannot be changed once set.

General Attributes

  • Field Type: The type of field. This value cannot be changed.

  • Required: Determines whether a field value is required before the Content item can be saved. If a field is required and the user has not provided a value, or has deleted an existing value, Picturepark will not permit the item to be saved. This value can be changed at any time.

  • Sortable: Fields can be marked as sortable for both for lists and layers, but for now sorting of contents based on fields in a layer is only possible using the API. All fields except for Geo Point and Relationship fields are sortable. This can be changed after field creation.

Search Attributes

  • Include in Filters - Allows the field to be added as a filter for content (see Channels Configuration)

  • Include in Search - Determines whether the field's values should be considered in content browser simple search operations. If this option is not enabled, the contents of the field will never be considered in search operations. This can be useful, for example, if the field is used for internal discussions or work directives that you don't want to affect search results.

  • Boost Factor

Field Specific Parameters

Text Field Parameters

  • Multiline: If enabled, users can type multiple lines of text into the field. If not enabled, only one line of text is permitted. Local (inline) formatting of field values is not supported in this version of Picturepark.

  • Translations: If enabled, field values can be translated into other languages. If not enabled, users will not see the option to add translated values.

  • Required Languages: When translations is enabled this field specifies any languages for which values must be provided before the content item can be saved

  • Minimum Characters: If used, specifies the minimum number of characters that must be entered into the field. Only whole positive numbers are allowed.

  • Maximum characters: If used, specifies the maximum number of characters that must be entered into the field. Only whole positive numbers are allowed. While 0 can be configured here this would make the field redundant.

  • Regular Expression: If used, a valid regular expression that is used to format or modify text provided by the user.

  • Calculated Value: Enabling this will allow you to enter a Value pattern. This will then be the display of a value in a field. You will not be able to enter text in these fields on creation or editing of a content item or list item but they will be displayed in view mode. Due to the performance for creating content or list items that have relationship fields, a limitation on the calculated values is present. A calculated value won't be able to access the data of the linked (and resolved) list items. It will only be able to access base content information and the other metadata information (other fields, fieldsets and relationship values). If the values of linked list items are used, their value is simply not resolved, but the rest of the specified template is rendered. No error message appears if a calculated value cannot be resolved, that part of the calculated value just doesn't display.

  • Value Pattern: Either a calculated value such as {{data.people.firstName}} {{data.people.lastName}} to show the concatenation of first and last name for example for a person based on the first and last name fields or plain text.

  • Analyzer: Each Analyzer produces a search index that is suited to a specific purpose. In most cases, you will choose one that is best suited for the purpose of the field, but it is possible to choose more than one option. See Analyzers for more information.

Tagbox Field Parameters

  • Single Tagbox entry: if this is selected the tagbox will not allow multiple entries. This is useful for example when selecting the main country of origin for your products. In that case you would not like to allow users to make two entries i.e. China and Canada.

  • Connected list: The connected list is where you create each tag that will display in this field. Depending on how the list is set up you can have one list for multiple fields by using the item filter to only filter for those you want to have available in the current field.

  • Item filter: An item filter allows you to only display values in the list that match your filter.

Generate from Default Values

In many cases the item filters need to be created depending on the default values added for a tagbox field. Once the default values are added for a field the Generate from Default values button is displayed for the item filter. This is simpler as the item filter code does not need to be typed from scratch.

This feature is limited to the fieldtypes below:

  • For Boolean and SingleTagbox fields: Generate from Default Values creates an AndFilter with a TermFilter

  • For a MultiTagbox field: Generate from Default Values creates a Terms Filter with multiple refIds (Or) wrapped in a Nested Filter

  • Anytime you press Generate from Default Values you are overwriting the item filter (you are not warned that this is the case in this version of Picturepark). If you cancel rather than saving the new Item filter will not be saved.

  • After changing the Default Values of a field you can click on Generate from Default values again to generate the new Item Filter.

  • The Terms are always in the form of GUIDS, this is so that when someone changes the spelling of the term for example it doesn't affect these item filters.

  • Fields that are not indexed are ignored when generating the default filter.

  • Minimum: the minimum number of entries you require editors to enter on filling out this field. If you enter a number other than 0 here the tagbox will become required.

  • Maximum: the maximum number of entries your editors are allowed to enter on filling out this field.

  • Default Values: These can be used to add a default value to the fields in the connected list of the tagbox you are filling out. This would make sense to do so for example if you had one list for multiple fields by using the item filter to only filter for those you want to have available in the current field.

  • Index (related Schema Indexing): in this case you are setting which fields should be searched through by the simple search (search) in the relation fields you have specified and which fields should be available to be added as filters (Index). You can also specify the boosting here.

Date Field Parameters

Date and Time: Here you can select if you would like to have a Date and Time field. If not selected then you will get a Date field.

Format: The JSON Schema Date Pattern is supported e.g MM/DD/YYYY or DD-MM-YYYY hh:mm:ss for example. The defined format will overwrite the default Picturepark display in the date/time picker for that particular field wherever it is used.

Number Field Parameters

Decimal: This allows you to decide whether or not you would like to allow decimal values in your number field or not.

Pattern: A JSON Schema regex can be used. See here for valid examples: https://spacetelescope.github.io/understanding-json-schema/reference/regular_expressions.html.

Min. value: The minimum value that can be entered into the field can be specified here. For example if you have a field for order amounts in kg and would like to only allow a minimum of 5kg to be ordered.

Max. value: The maximum value that can be entered into the field can be specified here. For example if you have a field for order amounts in kg and would like to allow a maximum order of 5kg.

Fieldset Parameters

Single fieldset entry: This allows you to decide weather multiple fieldset entries are allowed for the field

Source: This specifies the source structure for the fieldset field. For example

Relationship Field Parameters

Single Relationship entry: if this is selected only one content can be added to the field. If not multiple contents can be added to the field.

Relationship Name: The name of the field. This can be changed.

Relation ID: This will be created automatically from your name entry. It is the system name for the relationship name field, which is used for all technical references to the field. This value cannot be changed once set.

Relationship Type: Currently only one relationship type can be set "Content". This will be filled out by default and is required.

Relation: This will specify the fields that you would like people to fill out when they add a content to the field. This cannot be changed. You can create a new Schema of type struct by typing in the name and then selecting the Create... dropdown. You will have to then click on the Farmer Photos link in the field and on the images/download/thumbnails/12419550/open-in-new.png to open the Schema of type Struct so that you can add the fields you would like here.

Item Filter: You can add a filter on the connected list to only display certain values from the list that make sense for this field. This allows you to have one list for many fields.

Search (related Schema Indexing): In this case you are setting which fields should be searched through by the simple search (search) in the relation fields you have specified and which fields should be available to be added as filters (Index). You can also specify the boosting here.

Minimum and maximum can be set here. If something is entered in minimum then the field becomes required. If something is entered in maximum users can only add a maximum of that many contents to this field.

Sorting

  • Only the top level fields of a schema can be marked as sortable (it is not possible to sort on a field of a tagbox, only the tagbox itself can be marked as sortable)

  • After marking a previously not sortable field as sortable, the search index should be red

  • After marking a previously sortable field as not sortable, the search index should be yellow

  • A threshold is in place to limit the maximum number of sortable fields in the system

  • This can be configured on a per-customer basis in the customer creation request but the default is 500.

  • The threshold (sortableFieldThreshold) is changeable in the Cloud manager by VIT personnel

  • The field types translated text, tagbox, fieldset count not as one field but as the number of metadata languages defined in the system

  • The count of the sortable fields is displayed in the right sidebar in the layer and lists view

  • When exceeding the threshold, the system will throw an error during field configuration

  • ICU plugin is used for sorting of text fields https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html which means that sorting is case invariant and numbers are recognized in text and items are sorted accordingly

  • Lists must have at least one field set for sorting or sorting will occur by item creation. The first field that is sortable is the default sorted field ascending (you can change the order of the fields but you can't change default ascending to descending).

  • Sorting of tagboxes and fieldsets uses the "Name" display pattern of the items. A language fallback is implemented.

  • For multitagboxes and multifieldsets, the items are concatenated for sorting and the display values are used.