Feature Rich
Rapid Application Development
Helping you or your customers
Manage their Business

An Object, its Data Types and its Parts

Quick links to the following topics
Data Types by Parts Data Types Definitions Parts 1 & 2Part 3

What is an object?

An object on Ultimate Database is used to either store or reference data. All objects on Ultimate Database are made using one, two or three parts with the parts being called Part 1, Part 2 and you guessed it Part 3. Each part can represent a data types depending on the data you are storing in the parts. Be aware Part options can change depending on what Data Type you are using for the Part.

So a very basic and completely theoretical example is as follows :-

An object to hold a flavour of ice cream, the price it retails at as well as a list of it ingredients may look like this

Part 1 could have the data type set to Character, for the flavour
Part 2 could have the data type set to Double, for the retail price
Part 3 could have the data type set to XML to store the list of all the ingredients

Below is a list of Data Types that we can use for each of the three parts. Please note that they change ever so slightly.

A list of Data Types shown by Parts.

Part 1 Data Types Part 2 Data Types Part 3 Data Types
Current Object ID None None
Integer Object ID Character
Sequential Int Integer Text
Base Currency Sequential Int Encrypted Text
Sec. Currency Base Currency UDB Code 
Boolean Sec. Currency CSS
Date/Time Double JavaScript
Date Date/Time XML Field Definition
Month Date Email Definition
Year Month Query
Time Year Object Trigger Code
Character Time SMS Message Definition
Email Address Character HTML
Password Email Address Encrypted HTML
URL Password Main Template
Image URL URL Edit Main Template
Audio URL Image URL Sub Template
Video URL Audio URL Edit Sub Template
File URL Video URL List Template
Document URL File URL Application Page
JS Document URL Document URL
CSS Document URL JS Document URL
Google Doc ID CSS Document URL
Sequential Character Google Doc ID
Menu Heading Sequential Character
Expression

As you may have noticed from looking at the table above there are many fields in common between Part 1 and Part 2, whereas Part 3 is quite different but they do all have the Data Type of Character in common.

Part 1 is the only place to store the Menu Heading type.

Part 2 is the only place to store the Expression type.

Part 3 is used to hold more complex data types, like XML, CSS, HTML and Templates. Having XML in Part 3 allows you to store any number of values in XML format, using the Ultimate Admin Area to define them.

Also of note is that Part 1 must exist, whereas Part 2 and Part 3 can be set to type None and not used.

Date Type Definitions

Here is a brief description of the different Data Types.

Current Object ID  is used to make the Part 1 field equal to the current object ID. 

Object ID  is used in Part 2 so that you can hold the Object ID of another object.

Integer is the typed integer. Holds positive and negative integers using 8 bytes signed integer range. -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807

Sequential Int is used where you would like a self incremental sequence of integers for this field. If you would like counters based on a parent object relationship this is possible using the Sequential Relationship ID stored on the list. The system counts up from the last highest entry in the list.

Base Currency is a monetary value in the currency of the organisation using the software.

Sec. Currency is a monetary value in an alternative currency, works with currency coded items to correctly evaluate them in the base currency.

Boolean a holder for a Boolean (TRUE / FALSE) value.

Date/Time a field to hold a Date / Time value. The field prompts for dd/mm/yyyy hh:mm:ss and if you click the calendar icon it shows a calendar display as below.

Date prompts prompts for dd/mm/yyyy format with a similar calendar box, just without the hh:mm:ss option.

Month holds a month and year value, prompts for mm/yyyy format.

Year holds a year value, prompts for a year in yyyy format.

Time holds a time, prompts for time in the hh:mm:ss format. If you click the clock icon you will see a time display as below.

Email Address field holds an email address. The input should match a valid email address. The @ icon is for information only, to indicate the email field.

Password holds a password. The password is hidden by bullets. It also has a level of security basic on the password entered shown as a percentage and colour from red to green. Here's an example.

URL holds a web URL. The value should be in a web URL format. The link icon is just an indication of the field requirement. 

Expression is not generally used to hold data, but is used to hold development details / code. It has an icon to browse to the object containing the code. Does not always generate form content, but may be used to modify form actions.

Menu Heading used to hold a menu item name, please see the guide on Menu Heading for more details.

For some types there are some additional fields, as shown below:

Double:

The Double data type is a floating point datatype. It will hold decimal numbers to 8 decimal places. The Double type has a Decimal Places setting to adjust how many decimal places to show. So for money you would usually use 2 decimal places. e.g. 12.25 

Character:

The Character data type, hold string data. The size limit for a string is Part 1&2 is 500 characters. Part 3 size limit is unlimited. Data Entry Restriction limits the input format to the following options. If left with '...' selected then no restrictions apply.

Image URL, Audio URL, Video URL, File URL, Document URL, JS Document URL, CSS Document URL and Google Doc ID:

Document Upload Folder is a destination for files being uploaded.

The Type Definitions

Image URL holds a URL pointing to an image. (JPG/PNG/BMP/TIFF/GIF/ICO/JPEG/SVG/TIF)

Audio URL holds a URL pointing to an audio file. (MP3/MP4/MPEG/OGV/WEBM)

Video URL holds a URL pointing to a video file (YouTube/Vimeo links)

File URL holds a URL to a file of any type. (EOT/OTF/TTF/TXT/HTML/HTM/WOFF/WOFF2/ZIP/KML/XML/JSON)

Document URL holds a URL pointing to a document. (DOC/DOCX/PPT/PPTX/XLS/XLSX/PDF)

JS Document URL holds a URL pointing to a JavaScript (.JS) file.

CSS Document URL holds a URL pointing to a Cascading Style Sheet (.CSS) file.

Google Doc ID holds the ID of a google. document.

Sequential Character:

Sequential Character is used in a similar way to Sequential Integers, allowing for a sequence to count up, including alphanumeric.

Sequence Expression sometimes you don't want the number to be just sequential, you might want it to follow some other sequence, if so you can point this to an object containing the next sequential number. See also Sequential Relationship field.

Parts 1 & 2

Part 1 and Part 2 contain the following fields for all types:

  • Label
  • Size
  • Default
  • Place Holder
  • Help
  • HTML Auto Complete Name
  • Field Set Number

And the above fields are the only fields for these Data types:

  • Object ID
  • Integer
  • Sequential Int
  • Base Currency
  • Sec. Currency
  • Boolean
  • Date/Time
  • Date
  • Month
  • Year
  • Time
  • Email Address
  • Password
  • URL
  • Expression
  • Menu Heading

Form Field Descriptions

Label is the object identification, used when editing and displaying the final value. This can be anything you like.

Size is only used when a special size field or checkbox is required.

  • For check-boxes this is measured in columns, default 3.
  • Radio buttons default is 1.
  • For a text field, if you specify the size, it's in characters (size*9+33) based on the normal font. Size defines the max width of the element.

Default is the default value for the field.

Place Holder is place holder that is visible in grey in an input box, or radio button default option.

Help is descriptive text that appears when you hover over an input field.

HTML Auto Complete Name provide automated assistance in filling out form field values. You can use the word 'off' to prevent auto-filling the field. A list of standard fields are available here

Field Set Number allows you to group fields together under a Field Set Number, you can then set a field name to title the group using the Other Options, Field Set Details. Additional reading regarding Field Sets can be found here.

Part 3

Part 3 contains the following fields for all types, and are the only fields for these Part 3 types: Character, Text, Encrypted Text, XML, CSS, Javascript, XML Field Definition, Email Definition, Query, Object Trigger Code, SMS Message Definition.

These are the field definitions

Label is the object identification, used when editing and displaying the final value. This can be anything you like. 

Text Box Size is the size of the input text box selected from the size list below.

Help is descriptive text that appears when you hover over an input field.

Field Set Number allows you to group fields together under a Field Set Number, you can then set a field name to title the group using the Other Options, Field Set Details.

And these are the type definitions

Encrypted Text holds encrypted data. The field is encrypted within the database, and is decrypted when used.

XML holds a list of XML fields. These need to be added using the UDB Admin Area to add 

CSS holds CSS Cascading Style Sheet code. 

JavaScript holds minified version of the JS in a file and non minified in the database. Put /* no minify */ at the top of the JS to prevent minification.

XML Field Definition holds the definition of an XML field. Is used by the system to hold definitions of XML fields.

Email Definition holds the template for a potential automated email.

Query holds a database query expression.

Object Trigger Code is being deprecated. Runs code based on a condition. 

SMS Message Definition holds the template of an automated SMS message.

For some types there are some additional fields, as shown below: UDB Code, HTML, Encrypted HTML, Main Template, Edit Main Template, Sub Template, Edit Sub Template, List Template, Applications Page:

These are the field definitions

Embed Link on HTML allows the embedding of html into a page. The contents effectively exists as a copy, not a link.

Glossary Link on HTML implements a link to a glossary list object.

Text Link on HTML allows the embedding of text into the page content. 

And these are the type definitions

UDB Code holds USB code.

HTML holds html code.

Encrypted HTML holds html as encrypted code in the database, and un-encrypts it for use.

Main Template holds a Main template.

Edit Main Template holds an Edit Main template.

Sub Template holds a Sub Template

Edit Sub Template holds an Edit Sub Template.

List Template holds a List Template.

Applications Page is...?