About the Fields Form
A Fields record consists of all of the attributes of a single field within an Aptify entity. Fields records may only be created from the Fields tab on an Entities record.
Top Panel
The main section of the Fields record provides the identification and any foreign key linkage to another entity or sub-entity.
Name (Required)
The name of the field. This field becomes read-only and cannot be changed after a Fields record is saved for the first time. Note that two fields within the same entity cannot have the same field Name. Do not use spaces or dashes in the field name.
Base Table
The table in which this field resides. This field is grayed out if your entity only has one base table.
Display Name
The name of the field as it shows within the Aptify graphical user interface.
Display Culture String
Enter a culture string to use as the display name of the field in the Display Culture String field if you want to localize this field name on a user-by-user basis (based on a user's assigned Culture). See Using Localization Administration for details.
Linked Entity
The entity to which the current field links. Used when the current field acts as a foreign key to another entity. When used in conjunction with Linked Field, this creates a link box field.
Linked Entity Field
The field in the Linked Entity to which the current field links. Used when the current field acts as a foreign key to another entity. The drop-down list only displays the fields in the Linked Entity that are required in that entity and are either a primary or unique key for the linked entity. When used in conjunction with Linked Entity, this creates a link box field. In general, the Linked Field is the ID field of the Linked Entity.
Link Type
This field is only valid if a value is selected for the Linked Entity and Linked Fields fields. This option specifies the type of foreign key to create: Standard or Embedded. Standard creates a foreign key relationship between the current entity and the entity specified in the Linked Entity field. This relationship is stored in the current entity's table and corresponds to a standard link box on the entity's form. Most foreign keys are Standard. Prior to Aptify 4.0, all link types in the system were Standard.
Embedded foreign keys, which were added in Aptify 4.0, act as a part of the current entity's base table from a user perspective. For example, although Addresses and Phone Numbers have separate entities in Aptify, fields from the Addresses and Phone Numbers entities appear as if they are part of the Persons entity when a user opens a Persons form.
Also, developers will find that working with embedded links will reduce code complexity; Aptify creates an embedded Generic Entity (GE) object within the current entity that simplifies set and get operations on records in linked entities. See Creating Embedded Objects for details.
Mode
This field appears when you set Link Type to Embedded. It specifies whether or not the embedded link in this entity is also shared by another entity. See Designing and Creating Shared Embedded Objects for information on Shared Embedded objects. This attribute supports the following options:
- None: There is a one-to-one relationship between the embedded object and the container entity. In other words, the embedded object is not shared with any record in another entity. In Aptify, an entity's embedded ScriptID link to the Scripts entity would have a Mode of None. You would not expect the same script to be shared among multiple records across multiple entities.
- Dynamic: The embedded object is shared among multiple records in multiple entities. Each dynamic embedded record has an Owner, which identifies the record that created it. When the embedded object is updated at the owner record, all other records that share the same embedded object are also updated automatically. For example, a top-level company owns an address that also applies to subsidiary companies and persons at those companies. When set to Dynamic, the Dynamic Sharing tab appears on the Fields record.
- Static: This option is used in conjunction with the Dynamic model to identify shared non-owner links that should not be updated automatically when the owner modifies the embedded record. For example, an Order's Ship To address shares the Person/Company address at the time that the Order is created but subsequent updates should not be applied to this record in the future.
Dynamic Sharing Tab
This tab is only visible when Link Type is set to Embedded and Mode is set to Dynamic.
Dynamic Flowdown Proc
This link box specifies the stored procedure which defines the logic for updating the dynamic non-owner shared links specified in the Dynamic Sharing sub-type listing. See Designing and Creating Shared Embedded Objects for more information.
Dynamic Sharing Relationships Sub-Type Area
This sub-type control stores the list of entities and their embedded links that can share an embedded record with this owner entity as a non-owner. Each sub-type record stores the Related Entity name, the Related Entity Field (this is the embedded link in the Related Entity that links to the shared embedded object), and a Dynamic Flowdown Filter (which you can use to filter the set of records to which this shared embedded object relationship applies). See Designing and Creating Shared Embedded Objects for more information.
General Tab
The general tab of the Fields record allows the configuration of discrete database field type and size information. The values placed within this tab of the Fields record are automatically assigned to the supplied SQL Server's table schema. The General Tab also provides indirect linkage to other Aptify field types.
Base Field
Selection of a defined base field from the list defaults the rest of the field definition to the parameters defined for the base field. See Using Base Fields for more information.
SQL Data Type
The SQL Server data type defines the data type of the field in the underlying database table. Available options are:
- bigint
- bit
- char
- date
- datetime
- decimal
- float
- int
- money
- nchar
- ntext
- numeric
- nvarchar
- nvarchar(max)
- real
- smalldatetime
- smallint
- smallmoney
- text
- time
- tinyint
- uniqueidentifier
- varbinary
- varbinary(max)
- varchar
- varchar(max)
All of the string fields provided in the standard set of Aptify entities use unicode data types (the unicode data types are identified by the preceding n, such as nchar, ntext, and nvarchar).
Note that the text and ntext data types do not support sorting. The Allow Sorting option is disabled for these data types (and for any virtual field that corresponds to a ntext or text field). See Allow Sorting .
Allow Null
If this option is selected, the field may have a null value.
SQL Field Size
The SQL field size defines the size of the field. If a numeric or decimal data type is selected, the SQL Field Size is replaced by the SQL Field Precision and SQL Field Scale fields.
SQL Field Precision
The value in this field indicates the number of digits in a number.
This field is only applicable if a numeric or decimal data type is chosen in the SQL Data Type field.
SQL Field Scale
The value in this field indicates the number of digits to the right of the decimal point in a number.
This field is only applicable if a numeric or decimal data type is chosen in the SQL Data Type field.
Supports Multiple Currencies
This option is only available when the SQL Data Type is set to money or smallmoney. Select the option to indicate that this money field can be expressed in multiple currencies. After selecting this option, select a Currency Type Field, which is a linked field to the Currency Types entity's ID.
If you leave this option clear, this money field is currency agnostic (in other words, values in this field will not be treated as having a particular currency type).
Currency Type Field
This field displays the set of available CurrencyTypeID fields already configured for this entity and its parent entity (for sub-type entities). Therefore, you must add one or more CurrencyTypeID linked fields to the entity before adding any multi-currency money fields. When a user specifies a currency type on the entity's record, Aptify automatically knows that a value specified in this money field is expressed in the specified currency and also uses the appropriate currency symbol.
Width
This field defines the default width (in pixels) of the field's column within a list view. Aptify automatically sets the width value based on the selected SQL Data Type and SQL Field Size, but you can modify this setting as necessary.
Category
This attribute allows the field to be categorized. For generated forms, Aptify creates a tab on the form for each category in the Fields list. For example, if you specify Address in the Category field for a City field, the City field will appear under an Address tab on the entity's generated form. Also, if a multi-line text field is the only field in a particular category and the category value matches the field's name, Aptify creates a tab for that field which does not include a separate label caption. See Multi-Line Text Field.
Default Value
Default Value is the value of the field when an entity record is first created. If you do not specify a default value, the field will be blank for new records.
Extended Type
The Extended Type attribute allows the user to specify that a particular field is associated with special functionality. For example, if the current field is assigned the Email extended data type, then an email icon appears next to the field on the generated entity form. When a user clicks this icon, the system opens a blank email message. The Extended Type options are:
- Email: Fields with this extended type provide the functionality to automatically create a new email message. An email icon appears to the right of a field that uses this extended type. When the icon is clicked, Aptify opens a new mail message and inserts the email address contained in the field as the message's To field.
- Fax: This type specifies that the field contains a fax number.
- Phone: This type specifies that the field contains a phone number.
- Area Code: This type specifies that the field contains an area code.
- CountryCode: This type specifies that the field contains a country code.
- WebURL: Fields with this extended type are created to hold URLs for web pages. The button to the right of these fields allows the user to go directly to the web page listed. Note that the specified URL must be in the proper format to successfully open a Web browser when this button is clicked (for example, the address should be in the format of http:
www.aptify.com or www.aptify.com).
- EXE: This type specifies that the field contains an executable file name.
- City: This type specifies that the field contains a city. This field may be automatically populated when a user enters a ZIP Code in a ZIP Code field in the same entity.
- State: This type specifies that the field contains a State. This field may be automatically populated when a user enters a ZIP Code in a ZIP Code field in the same entity.
- ZipCode: This type specifies that the field contains a ZIP Code. When a user enters a ZIP Code in a field of this type, the system automatically populates other address fields in the same entity.
- Country: This type specifies that the field contains a country. This field may be automatically populated when a user enters a ZIP Code in a ZIP Code field in the same entity.
- County: This type specifies that the field contains a county. This field may be automatically populated when a user enters a ZIP Code in a ZIP Code field in the same entity.
- USCongress: This type specifies that the field identifies an address's US Congressional district.
- Repository Object: Fields defined with this extended type store the names of objects from the Object Repository. A button to the right of the field allows the user to select the object from the Object Repository.
- File: Fields defined with the extended type of File include a page button that opens the Select File dialog, allowing the user to populate the field with the directory path of the selected file.
- Folder: Fields defined with the extended type of Folder include a folder button that opens the Browse for Folder dialog, allowing the user to select a folder location on the network or location computer. A user can also create new folder from this dialog.
- Password:Fields defined with the extended type of Password displays a series of asterisks on a form rather than plain text. This is designed to mask the password to prevent authorized access. Note that following when working with a password field:
- The Password extended type functionality is only applicable for a Text Field. If your field's size is greater than 255 characters, the Aptify Baseline Form Template Generator will create a multi-line text field that displays the field's contents in plain text. In this case, use the Visual Designer to remove the multi-line text field and replace it with a text field that uses the Password extended type. See Modifying Field Layout with the Visual Designer for information on the Visual Designer.
- Even though a Password field's value is masked on the form, the value will still show up as plain text within a view. Therefore, to adequately protect passwords, Aptify recommends that you encrypt any Password fields that you add to the system in addition to setting the Extended Type to Password. See Field Level Encryption for information on encrypting a field.
Par. Linked Value
When creating a sub-type entity, the system uses this attribute to link to the parent entity's ID field on the ParentID field of the sub-type. It can also be used for second-level sub-types to link back to the top-level entity. See the PersonID field in the PersonCompanyFunctions sub-type entity for an example. See Creating Multiple Filegroups for more information on sub-type entities. Finally, it is also used in some instances for top-level entities; see the OrderMeetingDetail top-level entity for an example.
Info Tab
The Info tab within the Fields record stores the field's description and the field's online help settings.
Description
The description of the field.
Help Text
When a user places the cursor in this field and presses Shift+F1 (or if configured, simply hovers over the field), a tool tip window appears that displays information about this field.
When specified, the contents of this Help Text field appear in the tool tip. If not specified, the contents of the field's Description appears in the tool tip window, if different from the field's Display Name. If the Description is blank or matches the Display Name, or if the Help Text is blank, the tool tip indicates that no specific help is available for the field.
Help Text Culture String
If your organization has configured Aptify to display localized content to users, this field specifies a Culture Strings record that provides localized versions of the Help Text content. See Using Localization Administration for more information.
Help URL
The Help URL specifies an HTML file in the Help Object that contains information about this field or its entity. Help URL is used in conjunction with Help Object to specify a particular page in an online help file that should open when a user presses the Open Help File link in a tool tip window.
Help Object
This field specifies the Object Repository location of a Microsoft CHM Help file that contains information about this field or its entity. Help Object is used in conjunction with Help URL to specify a particular page in an online help file that should open when a user presses the Open Help File link in a tool tip window.
If Help URL and Help Object are blank, Aptify opens the help page specified at the entity level. If not specified at the entity level, Aptify opens the online help file at the default introduction page.
Options Tab
The Options tab of the Fields record allows an administrator or developer to configure special Aptify Field attributes onto a field.
Updateable
Used to determine whether the user is allowed to change the value of the field (in other words, this field specifies whether or not the field can be updated).
Note that fields that have this option is cleared and do not appear on generated form templates.
In Table
If a field is marked as In Table, the data is stored within the base table defined for the entity.
If a field is not marked as In Table, the administrator needs to provide an alternate source for the information in the entity base view. Fields that are not In Table are often referred to as virtual fields because they do not physically exist within the base table of the entity.
When a user clears the option from the In Table option, a Virtual Field tab appears on the Fields form. See Virtual Field Tab.
Is System
This field specifies whether a particular field is considered to be integral to the functionality of the Aptify Framework. In most cases, system fields are not found in entities related to business applications.
Is Name Field
Only one field in the entity may be designated as the Is Name field. The administrator determines which field in the entity best characterizes the record and designate the field as Is Name. The system uses this field to represent the record in graphical user elements, such as the link box control. Note that when you select the Is Name Field option, the system automatically clears the Allow Null option on the General tab and selects the Is Required option on the Validation tab. In general, Is Name fields are required and do not support Null values.
Show In Find
If the Show In Find attribute is selected, the field appears in the display results when a user clicks the Find button on a related record and searches for records within the entity.
Default In View
If the Default In View attribute is selected, the field automatically appears in the included fields list for all views that are created for the entity.
Is Sequence
Selecting the Is Sequence attribute specifies that this field is a Sequence field, which is used to sort records in an order other than by primary key. Prior to version 4.0, a Sequence field was required for sub-type entities.
Unique
Selecting the Unique attribute prevents the entry of any other records with the same value for this field.
Indexed
If the Indexed attribute is selected, this field may be indexed through SQL Server for record searching. This allows better searching performance if this field is used as one of the major search criteria. A non-clustered index is created for each field for which this attribute is selected.
Not all fields are suitable for indexing. The SQL Server query processor only uses indexes that are highly selective. There is substantial overhead involved in maintaining indexes, so the administrator must carefully weigh the benefits and costs of indexing any given field.
Allowed Search Methods
An administrator can use this option to limit the type of searches that users can select for this field in Find and View Filter dialogs. In some cases, allowing users to perform Ends With and Contains searches can reduce system performance if run on a service that contains a large number of records, so an administrator can now turn off these search options. Note that this option applies to text fields only.
The available choices for the Allowed Search Methods field are as follows:
- Any: User can select any operator for the field in the Find and View Filters dialog.
- Exact Match Only: User can only select the Exactly Matches operator.
- Exact Match + Begins With: User can select Exactly Matches and Begins With operators.
- None: When selected, the field does not appear as an option in the Find and View Filter dialogs.
This field does not apply to members of the Administrators group. Administrators can search on all fields using all operators, regardless of how this field is configured.
Allow Sorting
When selected, a user can sort view and find results by this field. When cleared, a user cannot sort records using this field. Note that this field does not apply to members of the Administrators group; administrators can sort records based on this field even if this option is cleared (assuming that SQL Server supports sorting by that field's data type).
The Allow Sorting option is grayed out for fields whose SQL Data Type is ntext or text (and for any virtual field that corresponds to a ntext or text field). These field types do not support sorting.
Text Interpretation Mode
This option only appears for text-based fields and specifies the type of text that this field will store. For plain text fields, leave this option set to None. To specify that this field stores text in rich text format, specify RTF. To specify that this field stores HTML text, set this option to HTML.
- When set to None, Aptify adds this field to a generated form as a standard multi-line text field. See Multi-Line Text Field for more information.
- When set to RTF, Aptify adds this field to a generated form as a Rich Text Field part. See Rich Text Field for more information.
- When set to HTML, Aptify adds this field to a generated form as an HTML Field part. See HTML Text Field for more information.
Security Tab
This tab configures the field's security settings. Field Level Encryption setting appears by default. Additional options and tabs appear when Field Level Security is enabled at the entity level. See Managing Field Level Security Settings for details.
Group Permissions Sub-Tab
All Group permissions for the field are defined on this sub-tab.
Options Sub-Tab
The following security settings appear on the Options sub-tab:
Encrypt Data
Selecting this attribute enables data encryption for this field. When enabled, the Security Key field becomes available. See Managing Field Level Encryption for details.
Security Key
Security Key sets the key used to encrypt the field. This option is only available when the Encrypt Data option is selected. This field links to the corresponding Security Key record.
Allow In Place Editing
Selecting this attribute enables In Place Editing at the field level. This is only applicable if In Place Editing is enabled at the entity level (on the Entity's Security > Options tab). Once enabled at the field level, youcan specify Edit In Place permissions for users and/or groups in the field's User and Group Permissions records (under the User Permissions and Group Permissions sub-tabs).
User Permissions Sub-Tab
All User permissions for the field are defined on this sub-tab.
Validation Tab
An administrator can configure the field's validation settings on this tab.
Is Validated
Allows the entity's generic validation routines to validate the content of the field. If a field is not validated by the standard Aptify mechanism, the developer must find other means to ensure that users provide valid data. In most cases, this requires a custom business logic component for the entity.
Note that when Is Validated is not selected, no other option appears on this tab.
Validation Type
Validation Type sets the type of validation for the field. This option is only available when the Is Validated option is selected. Validation types are:
- Standard:Indicates that only standard GE validation is used.
- Standard + Script: Indicates that validation is done by both standard methods and through the use of the validation script entered on the Script sub-tab.
- Script Only: Indicates that field validation is done only by the validation script entered on the Script sub-tab.
For Standard + Script and Script Only, the Script sub-tab stores a validation script that either supplements (for Standard + Script) or replaces the GE validation (for Script Only) for the field. Field validation scripts should be in VBScript format. See Adding Scripting to a New Entity for information on writing scripts in Aptify.
Is Required
If this option is selected, users are required to enter information into this field before the record can be saved.
Input Mask Type
This option is reserved for future use and is not implemented in the current version of Aptify. It is set to Automatic for all fields.
Validation Range
For number-based fields (this includes fields with a SQL Data Type of Bigint, Datetime, Date, Time, Decimal, Float, Int, Numeric, and Currency), you can specify a range of supported values for the field. If a user enters a value that is outside of the specified range, the record save operation fails and Aptify notifies the user of the supported range.
To use this feature, enter a start value for the range in the left date field and an end value for the range in the right date field. For datetime and date fields, both value fields include a calendar control to simplify date selection.
Values Tab
This tab allows an administrator or developer to specify the constraints and attributes for the values of a field. The sub-type area lists the associated Values records for this field.
GUIType Single Select
The GUIType Single Select option specifies that a user is normally expected to provide a single value for the attribute. Available options are Supported or Not Supported. When set to Supported, the field on the entity's generated form is a drop-down list that displays the available values. See Standard Combo Drop-down List and Data Combo Drop-down List for details.
GUIType Multi Select
The GUIType Multi Select option allows the user to use the Multiple Selection dialog to select multiple values for this field for filter statements that use the In List operator in the Filters dialog. The values that the user can select depend upon the field's Value List Type and Values records.
Available options are Not Supported, Supported - Standard, and Supported - Custom. When set to Supported - Standard, the user can open a selection dialog to specify multiple values for an In List filter. When set to Not Supported, the selection dialog is not available. Note that the Supported - Custom option is currently not implemented.
List Type
This attribute specifies how available values are selected for the field. There are three methods of classifying values for selection: Static List, SQL Statement, and Entity List.
- Static List: When this option is selected, an administrator manually enters one or more values in the Values sub-type list (by creating a Values record for each value; see About the Values Form). Also, see Standard Combo Drop-down List.
- SQL Statement: When this option is selected, an administrator enters a SQL Statement in the Values field of a Values record (see Values Form) to define the list of records and the associated fields that appear in the selection list (both in a data combo drop-down field on a form and in a multiple selection dialog, depending on the configuration of the GUI Type Single Select and GUI Type Multi Select options). When selecting this option, you may also need to specify the Linked Entity and Linked Field in the Fields record's Top Area. See Data Combo Drop-down List.
- Entity List: An entity list is a register of values that originates from a list populated with values from another entity. If this option is selected, all of the information within the Entity Link display information section of the associated Values records must be populated (see About the Values Form).
Virtual Field Tab
A Virtual Field tab appears on the Fields form when the In Table option is cleared. This tab allows the administrator to define how the virtual field is derived from the database.
Virtual Field Type
Indicates the type of virtual field. Options are:
- None: Selected by default. This value is the default used for fields that are not virtual fields. Virtual fields should never be set to this type.
- Manual: User must manually modify the Base View for the entity as necessary to accommodate this field.
- Joined: The virtual field displays a value from a field defined in a joined table. See Joined Virtual Field for information on how to create a Joined Virtual Field.
- Calculated: Indicates that the virtual field is calculated from other values, including values from fields in other entities. The information is not stored in the database table but the relevant information is added to the entity's Base View.
- Computed: Indicates that the virtual field is calculated from other values within the same table. Unlike a Calculated field, which is calculated within an entity's Base View, a Computed field is calculated at entity's primary database table. Note that a Computed field is not a physical field in the table even the Computed field appears in the table details when viewed using SQL Server Management Studio. You cannot create a constraint or an index for a computed field. (Aptify does not create Persisted computed columns.) Also, if you are adding a Computed field to an entity that has multiple base tables, the computed field and all of the fields that are referenced in its calculation must be in the entity's primary base table.
See Calculated/Computed Virtual Fields for information on how to set up Calculated and Computed fields. Also, refer to Microsoft SQL Server Books Online (https://technet.microsoft.com/en-us/library/ms130214(v=sql.105).aspx) for more information on Computed Columns and their requirements.
Joined Entity
The Joined Entity field is only available when Virtual Field Type is set to Joined. This field stores the name of the entity where the field holding the data for the virtual field is located.
Joined Field
The Joined Field field is only available when Virtual Field Type is set to Joined. The list displays all fields in the entity selected in the Joined Entity field. The field selected indicates that this is the field in the joined entity that virtual field should display.
Foreign Key
The Foreign Key field is only available when Virtual Field Type is set to Joined. The Foreign Key is the field within the current entity that links to the primary key of the Joined Entity.
Join Type
The Join Type field is only available when Virtual Field Type is set to Joined. The value selected in this field determines the type of join. Options available are:
Optional: Selected by default. Join Type should be set to Optional only if the Entity Field identified by the Foreign Key value can be NULL (is not required).
Optional Join Types create Left Outer Joins in the Base View between the current and Joined Entities.
Required: Join Type should be set to Required if the Entity Field identified by the Foreign Key value is required, and that field always contains a value that links to a record in the Joined Entity.
Required Join Types create Inner Joins in the Base View between the current and Joined Entities, and prevent all records that do not have corresponding records in the Joined Entity from being displayed in views.
Calculated/Computed Field
The Calculated/Computed Field stores a valid transact-SQL expression that is used to derive the value for the virtual field. This expression may include mathematical or string operations. If you want to add a subquery to one or more fields within another entity, use a Calculated field (Computed fields can only include fields from its table).
When Virtual Field Type is set to Calculated, the text in the Calculated Field appears in the SELECT section of the base view once the entity is saved. When Virtual Field Type is set to Computed, the text in the Computed Field is stored in the field's specified base table.
If you are adding a Computed field to an entity that has multiple base tables, the Computed field and all of the fields that are referenced in its calculation must be in the entity's primary base table. Refer to Microsoft SQL Server Books Online (https://technet.microsoft.com/en-us/library/ms130214(v=sql.105).aspx) for more information on Computed Columns and their requirements.
Copyright © 2014-2019 Aptify - Confidential and Proprietary