Field in DG3 is a kind of snippet. The snippet can be seen in the form [% field name %] and can be of many types from the simple text field to an advanced richtext editor. Each field handles initialization with default value, loaded value from server and data exchange with server using prism. You can not write or delete a snippet manually. You have to use the tools in DG3 as most of the settings are stored outside the snippet by means of a info dict using the name given the field in the snippet definition.

The fields in DG3 are independent input fields as we now them from traditional web design, but in DG3 we do not depend on the web forms and post mechanism used by traditional web pages. All forms are Ajax driven and updated in place form a data engine on the server. The form engine in DG3 are plugin based, so any type of element can be made into a field by our field api. That is why easily can support 3 different richtext editor and all traditional types of web fields.

In this document I will walk trough the different elements supported out of the box in all DG3 fields, what they mean and how you use them.

main

Main setting are divided in two parts, the all fields part and the one with individual settings for the field type. This is all the common settings:

Name The tag id and the input name if field is input tag set in the tag Ex.:<input id="Name" name="Name" type="text">. This is also the name you must use for livelive values when using out livelive tag [[ Name ]] in redirect urls and other places supporting livelive tags.
Field type The input type supported by DG3. What you see in this list depends on activated field types. Default is text, hidden, date, dropdown, list, checkbox, radiobutton, textedit, richtext, tinymce, ckedit and the html5 tags email and url.
Style is the class name set in the tag <input... You can use this field to let the field pick up a class from your css.
Extra style This can be used to define an individual style for this field. Anything you write inside this field is put into the style="Extra style content"
Tag tail Used to add your extra settings inside the tag. Can be used to add other attributes supported by the tag. Ex.: placeholder="enter name" to use the new placeholder attribute with a text field or to set values from the url parameters by using

value=[{ xdg3.url.search }] that sets value attribute to the search parameter found in a url like "/blogsearch/?search=frase to search"

Default value This can be used to set a default value to a field if no value is set by the record. Use with care since a blank is no value when it comes to default value. The default value has to be in the form of a string surrounded by "" or as a live value in the form of any supported by the page. Ex. fixed value: "this is set if no other value is set" or live text: user.email or maindata.name or xdg3.url.paramname

All field do also have some individual setting, but here we will list all the common settings. The individual settings and specialties will be listed for each field in a separate document.

data map

Data map relates to how the field is connected to the server side data.

Source The datasource used by the field. Usually blank when you use the defined main table on the page. Can be internal, prism8 and external. Internal is only used to connect to fields in the User table used for authentication.
Table Usually blank when you use the defined main table on the page. Can be User for internal and any datease table for prism8.
Map to A dropdown with fields in the table selected or the page main table if that is used. Will set a new value to the Live field.
Live The name of the field we connect to if you can not select it using Map to. The two should be the same value if the field is selectable for a table definition.

extra

Extra relates to int code for javascript.