Changes

Creating Custom Fields

12,727 bytes added, 19:53, 13 November 2007
no edit summary
==Overview==

Understanding and using [[Custom Fields|custom fields]] are vital in order to successfully creating an [[Instance|instance of [[SmartSimple]] that is true to your organisation’s needs.

[[Custom Fields]] are additional fields that you add to any of the [[Entity|entities]] that you have seen within the system such as:
* [[Internal]] and [[External|external]] organisational [[Entity|entities]].
* Organisation Categories.
* [[Internal]] and [[External|external]] contacts.
* [[User]] [[Role|Roles]].
* [[Personal Transaction|Personal Transactions]] – set of custom records that you can associate with contacts.

You can also add [[Custom Fields|custom fields]] to applications such as [[Sales Tracking]], Expense Tracking and Time Tracking.

Some [[Applications|applications]] that you will use in [[SmartSimple]] consist primarily of [[Custom Fields|custom fields]], such as the Web Forms [[Application|application]] and the [[Universal Tracking Application]].

Additional [[Custom Field|custom field]] types are added to the system on a regular basis. Check the [[SmartSimple]] newsletter or [[SmartSimple]] wiki for new field types.

<u>'''Custom Fields – General Characteristics'''</u>
* There are currently 40 field types to choose from.
* Any number of [[Custom Fields|custom fields]] can be created for any object. There is a limitation that only 400 [[Custom Fields|custom fields]] can be displayed in a single page,
* New [[Custom Fields|custom fields]] can be added at any time without compromising any current information.
* You use [[Role|roles]] to control who can see and update specific fields.
* To avoid cluttering each page you can group [[Custom Fields|custom fields]] together on to “tabs”, or display in a multiple-column layout under a heading field.
* You can build reports using both standard and [[Custom Fields|custom fields]].
* You can build search filters using both standard and [[Custom Fields|custom fields]].

In this article, you will explore the creation of some standard types of [[Custom Fields|custom fields]] – text box, combo box, heading and link type fields.

==Creating Custom Fields – Step by Step==

In this example you will add [[Custom Fields|custom fields]] to the employee [[Role|role]] information, however; the attributes of the [[Custom Fields|custom fields]] are the same, regardless of the object.

1. Click the [[Configuration Menu|Configuration]], Roles & Permissions [[Menu|menu]].

2. Click the '''Edit''' button for the '''Employee''' [[Role|role]].

[[Image:Creat1.png]]

There are three types of [[Custom Fields|custom fields]] that you can associate with a [[Role|role]].
* '''Base Custom Fields''' – these fields are always associated with the [[Role|role]].
* '''UTA Custom Fields''' – these fields are only used when you associate a contact with the [[Role|role]] in the context of a [[Universal Tracking Application]].
* '''Association Custom Fields''' – these fields are only used when you associate a contact with the [[Role|role]] in the context of associating a contact with an organisation.

3. Click the '''Base Custom Fields''' tab.

The [[Custom Field|custom field]] list is displayed – currently blank.

[[Image:Creat2.png]]

4. Click the '''New Field''' tab.

The '''New Custom Field''' window is displayed.

[[Image:Creat3.png]]

This window consists of the following settings:

==General Settings==

[[Image:Creat4.png]]

* '''Display Order''' - determines the order in which the fields will be displayed on the page. The display order will start at the number 10 and increment by 10 for each [[Custom Field|custom field]]. The display order can be changed at any time without affecting any data.
* '''Field Name''' – the name for the [[Custom Field|custom field]]. This name will also function as the caption unless the caption is set.
* '''Caption''' – an alternative caption to the field name. If a caption is set it will be displayed rather than the field name.
* '''Field Type''' - defines the content type for the field.
* '''Tab Name''' – by adding a tab name, the [[Custom Field|custom field]] will be displayed on a tab of the same name at the top of the form. This technique reduces the length of the page. You can use multiple tabs and each field will be displayed under the associated tab.
* '''Searchable''' – indicates if the field should be included in the search features.

<u>'''Allow Empty Input Check Box'''</u>

The '''Allow Empty Input''' check box is displayed for text and select type fields, and controls if data is mandatory in that field.

[[Image:Creat5.png]]

* If you disable '''Allow Empty Input''' for '''Text''' type fields, the [[User|user]] will have to enter a value into the text box.
* If you disable '''Allow Empty Input''' for '''Select''' type fields, the [[User|user]] will NOT be able to save the record without selecting a value other than the first value.

<u>'''Additional Field level Options'''</u>

* '''Searchable Check Box''' - the '''Searchable''' check box is used to make the field searchable.
* '''Track Changes''' – this setting is used to indicate that all changes to the value in field should be tracked. This tracking includes the original and replacement value, the [[Username|username]] and the date/time that the change was made.

In order to see the changes a [[User|user]] needs to be in a [[Role|role]] associated with the '''Manager Permission''' – '''View Custom Field Changes'''. When in this [[Role|role]] an icon is displayed next to the field caption.

[[Image:Creat6.png]]

<u>'''Option Settings'''</u>

The '''Options''' field displayed below the field type will change depending on the field type selected.
* For '''Select one''' or '''Multiple select''' type fields this will contain the list of selection options – separated by semi-colons.
* For '''Text type''' [[Custom Fields|custom fields]], this can contain a default value for the field, or an instruction as to the purpose of the field.
* For '''Calculated''' fields, this contains the expression.
* For a multiple column layout, a '''Title Label''' field is used and the default value is set to the number of columns required.

<u>'''Services Settings'''</u>

The services options provide links between a field’s contents and [[External|external]] web services.

[[Image:Creat7.png]]

* '''Enable Map Service''' – displays the map icon next to the field name. This icon will launch the [[User|user’s]] selected map service and display a map of the content of the field – provided a valid address is stored in the field.
* '''Enable People Search Service''' – displays the '''Search Internet''' icon next to the field name. This icon will launch a variety of search services and display the contact details from those services– provided a valid contact name is stored in the field.
* '''Enable Organisation Search Service''' – displays the '''Search Internet''' icon next to the field name. This icon will launch a variety of search services and display the organisations details from those services– provided a valid organisation name is stored in the field.

<u>'''Validation Settings'''</u>

The '''Validation''' fields displayed below the field type will change depending on the field type selected.

[[Image:Creat8.png]]

You can control the validation of any text type [[Custom Field|custom field]].
* '''Basic validation''' consists of date, numeric, and alphabetic validation. If you select date validation, a calendar icon will be displayed to the right of the field name automatically.
* '''Custom validation''' allows you to set input masks for the field. For example '''>100 or @value@>100''' would restrict the value entered to greater than 100. To validate 9 digits SIN number, '''isMatch(@value@, 'NNNNNNNNN', false)'''. See the [[SmartSimple]] wiki for additional examples.
* Message will display a field specific message if the validation criteria are not met.
* For more advanced page level validations you can use the [[Custom Field Type (103): Special – Browser Script|Custom Field – Special Browser Script]] to add a specific script to any page.

<u>'''Value Stores To'''</u>

[[Image:Creat9.png]]

* This setting will take the value for the current field and store it into another field associated with the same [[Entity|entity]].
* For example, you may need two fields, one captioned in English and another captioned in French, but need to store the value into a single field.

<u>'''Formatting Settings'''</u>

The formatting settings control the presentation of text type fields.

[[Image:Creat10.png]]

* '''Height''' – controls the number of lines for a text box. This size is based on the default text size in the client [[Browser|browser]].
* '''Width''' – controls the width of the next box.
* '''Number Format''' – controls the format of the data when the field is displayed in '''View''' mode. You can use standard setting such as Integer, Decimal, Currency, Percent or custom formats such as $#,###.00.
* '''Style''' – controls the bold, underline, italic and highlight attribute when the field is displayed in view mode.
* '''Tool Tip''' – provides mouse over help to the [[User|user]] in the use of the field.

<u>'''Role Permissions'''</u>

Access to a [[Custom Field|custom field]] is controlled by [[Role|role]] based permissions.

[[Image:Creat11.png]]

* '''Allow View Field''' – If you associate this setting with [[Role|roles]], then the field will only be displayed to people with these [[Role|roles]]. If you leave this field blank, then everyone will be able to see the field.
* '''Allow Modify Field''' – If you associate this setting with [[Role|roles]], then the field will only be modifiable by people with these [[Role|roles]]. If you leave this field blank, then everyone will be able to modify the value on the field.
* '''Deny View Field''' – If you associate this setting with [[Role|roles]], then the field will not be displayed to people with these [[Role|roles]]. If you leave this field blank, then everyone will be able to see the field.
* '''Deny Modify Field''' – If you associate this setting with [[Role|roles]], then the field will not be modifiable by people with these [[Role|roles]]. If you leave this field blank, then everyone will be able to modify the value on the field.

==General Tips when Creating Custom Fields==

* '''Save and Save & New''' – When you create a [[Custom Field|custom field]] and wish to start a new field right away without returning to the field list use the '''Save and New''' button. If you wish to save a field that you are not finished working on but wish to save then click the '''Save''' button.

[[Image:Creat12.png]]

* '''Moving quickly through a set of custom fields''' – if you need to move though a list of fields quickly use the '''navigate''' buttons displayed on the top right of the [[Custom Field|custom field]] page.

[[Image:Creat13.png]]

* '''Reordering the field List''' – if you add fields in between other fields the order can get confusing. You can reorder the [[Custom Field|custom field]] list by using the '''Re-order Fields''' tab at the top of the field list.

[[Image:Creat14.png]]

* '''Associating custom fields with multiple roles''' – if you add fields to multiple roles and associated a [[User|user]] with those rules the fields will be mixed when displayed as the order will be similar (field order 10 from role one will appear next to field order 10 from role two etc). You can avoid this by reordering the fields in each [[Role|role]] with different starting number. For [[Role|role]] one start at 1000 and for [[Role|role]] two start at 2000.
* '''Associating custom fields with the wrong entity''' – if you associate fields with the wrong [[Role|role]] by accident use the '''Export''' and '''Import''' feature to move the fields to the correct [[Entity|entity]]. This will only work before you start adding information!

[[Image:Creat15.png]]

* '''If you have setup a Combo box or select one field has the wrong value and data has been entered''' – use '''Field Data''' feature to review and change the value. Also make sure you have added the correct value to the field options!

[[Image:Creat16.png]]

==Creating Custom Fields==

1. Create the following fields for the employee [[Role|role]] you have previously established:

[[Image:Create.png]]

The completed field list will look as follows:

[[Image:Creat17.png]]

2. Review an '''Employee''' record and set the fields as shown below:

[[Image:Creat18.png]]

3. Select the '''Compensation''' fields.

[[Image:Creat19.png]]

[[Category:System Management]][[Category:Custom Fields]]
4,401
edits