Applications (APP Creator) Servicenow
Applications (APP Creator) Servicenow
Applications (APP Creator) Servicenow
PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information.
PDF generated at: Sun, 03 Aug 2014 10:08:44 PST
Building Applications
App Creator
Overview
Applications represent packaged solutions for delivering services and managing business processes. ServiceNow
includes several standard applications, such as Incident and Problem. Administrators can also develop custom
applications to meet business needs.
The app creator provides these features for building and managing custom applications:
Allows you to associate configuration recordssuch as tables, business rules, client scripts, or UI pageswith an
application.
Associates records with an application and detects cross-application conflicts as you develop.
Provides a dedicated place for creating, modifying, and publishing applications.
By building applications on the ServiceNow platform, you can take advantage of features and servicessuch as
security, workflow, reporting, and notificationsand existing datasuch as users and locations. For example,
manage conference room bookings.
The app creator is available starting with the Calgary release.
App Creator
Example Video
This video demonstrates how to create a visitor registration application. To see the example application, visit the
ServiceNow Demo [1].
Application Table
The Applications [sys_app] table provides a framework for developing applications. Each record in the Applications
table contains the definition for an application, similar to the system dictionary record for a table or column.
Application developers build packaged solutions by associating configuration records, such as tables, roles, menus,
or business rules, with an application record. Configuration records are associated with an application through
application files.
See Creating a Custom Application.
Application record
App Creator
Related Tables
These tables are also important to understand when building applications.
Application Menus [sys_app_application]: groups modules under one name in the application navigator. See
Administering Application Menus and Modules.
Tables [sys_db_object]: contains a record for each table. See Table Administration.
Dictionary Entries [sys_dictionary]: contains additional details for each table and the definition for every
column on each table. Each row represents either a table or a column on a table. See System Dictionary.
Field Labels [sys_documentation]: contains the human-readable labels and language information. See Field
Labels.
App Creator
Application files are not moved automatically between applications, and an application file can only exist in
one application at a time. You can manually move the application file, if necessary. You can publish an
application to create an update set with only the most recent version.
For custom application development, use the app creator to develop the application and update sets to deploy it.
1. Create an application record. (App creator)
2. Assign application files to it as you develop. (App creator)
3. When development is complete, publish the current version of each record to an update set. (App creator to
update sets)
4. Transfer the application to another instance with the update set. (Update sets)
ServiceNow Applications
ServiceNow provides several standard and optional applications that are installed by plugins. An application record
exists for every active plugin on an instance (starting with the Dublin release).
Every application file installed with a plugin is automatically assigned to the corresponding application.
You cannot add application files to a ServiceNow application.
ServiceNow applications are not available in the application picker or the Move to application dialog.
Some ServiceNow applications are installed by plugins and system directories that do not appear on the list of
plugins. For example, a plugin that is available only by request.
To view a list of the trackable ServiceNow applications that are activated on the instance, navigate to System
Applications > ServiceNow Applications. You can use the following fields to filter for ServiceNow applications.
Field
Description
Vendor
[Read-only] Lists the vendor that created the application. The value is ServiceNow if the application was installed by a plugin. The field
is empty for custom applications.
Code
[Read-only] Stores the plugin ID for an application that was installed by a plugin. The field is empty for custom applications.
Trackable Indicates whether a ServiceNow application is tracked for licensing and analytics. The Usage Analytics feature provides data collection,
auditing, and reporting for trackable ServiceNow applications and all custom applications.
In the Dublin release, the field label is Licensable.
Note: These fields are not available on the application form or list by default. You can personalize the form or list layout to add
them, if desired.
App Creator
5
Under the System Definition menu:
Application Menus: lists active menus on the instance (inactive menus are filtered by default). See
Administering Application Menus and Modules.
Menu Categories: lists categories for defining the appearance of application menu labels. See
Modifying Menu Categories.
Dictionary: lists dictionary entries for all tables and columns on the instance. See System Dictionary.
Tables: lists all of the tables on the instance (text search index tables are filtered by default). See
Creating Tables.
Fix Scripts: lists code that you run after an application is installed or upgraded. See Fix Scripts.
Enhancements
Eureka
Stores a user-defined version number for use when creating and publishing applications.
For the Application table, changes the field label from Licensable to Trackable.
Dublin
An application record exists for every active plugin on an instance. Every application file record installed with a
plugin is automatically assigned to the corresponding application.
The app creator includes choice list options as part of an application through records in the Choice Set table,
which have an associated application file. This feature allows you to add field choices to an application when the
table exists in another application (for example, choices for a field on the Incident table). See Customizing Choice
Lists.
Administrators can now add homepages and content pages to an application.
Administrators can restore deleted applications, tables, and fields along with all descendant records by clicking a
related link on the deleted application file form.
To ensure data integrity, deleting an application does not delete a table that is extended by a table in another
application.
The Restore Application Files module lists the application files of deleted records that you can restore.
The Custom Applications module replaces the Applications module.
On an application file record, the Related Record Versions and Related Record Updates related lists show the
version and update records for the related configuration record.
On an application file record, the Customer update and Replace on upgrade fields indicate whether the related
record has customer changes and whether it will be upgraded to the next software version. When you pull
versions from a parent instance, these fields are kept in sync to ensure that the same records are replaced during
software upgrades of parent and child instances. See Team Development.
References
[1] http:/ / info. servicenow. com/ DemoNow
Creating Applications
1. Navigate to System Applications > Create Application.
2. Define the application by completing the fields on the form (see table).
3. Click Submit. The application record remains open.
The application record is saved and now appears on the Applications list.
An application file record is created and assigned to the application. The application file appears in the All
Files related list.
The application is selected as the current application in the Application picker.
Field
Description
Name
Version
String in dot-notation that identifies the application version. For example, 1.2.3. When you publish the application for transfer to
another instance, this field is passed to the update set. See Publishing Applications. This field is available starting with the Eureka
release.
Short
description
An explanation of what this application does. When you publish the application for transfer to another instance, this field is the
default description for the update set. See Publishing Applications.
Active
Indicator of whether the application is in use. The check box is selected by default, making the application active. Clear the check
box to deactivate the application.
Menu
The primary menu, which is the default application menu for any modules created in this application (see Administering Application
Menus and Modules). This value is populated automatically based on the application name. You can edit the new menu name or
select an existing menu.
Note:
User role
If the menu name does not match an existing menu, a new menu is created when you save changes to the application record.
You can modify this field for an existing application to create a new menu or select another existing menu. The default user role
is applied to the new menu. The original menu record is not changed.
The default user role required for the primary menu and to access any tables created in this application (see Creating Security Rules
for Tables). This value is populated automatically based on the application name. You can edit the new role name or select an
existing role.
Note:
If the user role does not match an existing role, a new role is created when you save changes to the application record.
You can modify this field for an existing application to create a new role or select another existing role. The role is applied to the
primary menu. The original role is not changed.
Working on Applications
Select the current application to associate configuration records with it as you develop.
1. Select the desired application in the Application picker. When you create a new application, it is automatically
selected as the current application.
2. Create a new or make a change to
an existing configuration record.
For a new record, the application
file is automatically assigned to
the selected application. If a
conflict is detected, a notification
Applications picker
appears.
For an existing record, the application file is not assigned or moved to the selected application. If the record is
not already associated with the selected application, a conflict notification appears.
3. If a conflict notification appears, resolve the conflict.
Resolving Conflicts
A conflict may exist when application files that normally belong together are not assigned to the same application. A
notification appears when the application file you changed or its parent is not assigned to the application selected in
the Application picker. For example, a conflict is detected in this scenario.
Table A is associated with Application A.
Application B is selected in the Application picker.
You create a new field on Table A.
To resolve conflicts, choose an action for each conflict that is detected.
To move the application files to the recommended application, click Move Files.
To leave the application files where they are, click Leave Alone.
2. For a list, select the check box beside each appropriate row, and then select Move to Application in the Actions
choice list.
3. For a form, right-click the header and select Move To Application.
4. Select an application from the list. The list defaults to the last application you selected.
5. Click Add.
The application file and all of its
descendant records are moved to
the selected application.
To move a single application file
without affecting its descendants (use
with caution):
1. Navigate to the record.
2. Right-click the header and select
Show Application File.
Move application files to an application
4. Click Update.
10
4. [Optional] Make this the current update set by selecting the check box.
5. Click Create.
Deleting Applications
By default, deleting an application also
deletes all the records that are
associated with the application, such as
tables, business rules, and menus.
Alternatively, you can deactivate an
application that is no longer in use.
Create a new update set
To delete an application:
1. [Recommended] Back up the
Application is deleted
11
For a field, filter on Source Table is Dictionary Entry and look for the field name.
3. Open the application file.
4. Under Related Links, click the link to restore the record.
The record is restored.
If the record is an application, table, or field, all descendant records that were deleted with it are restored. For
example, restoring an application also restores all records that were deleted with the application. Restoring a
table also restores all the fields and labels that were deleted with the table.
You cannot restore individual fields or field labels. You can only restore a deleted table, which restores any fields and labels that were deleted
with it.
You can only restore records where both the update and version records exist. For example, you cannot restore a record if you also deleted the
update record (see Deleting Update Entries).
To restore a table:
1.
2.
3.
4.
12
13
Creating Tables
1.
2.
3.
4.
5.
Description
Label
Enter a unique label for the table. The label appears on list and form views for the table. Updating the Label field also updates
the label record in the language file (for the current language). See Field Labels.
Name
[Optional] Edit the table name, which is automatically populated based on the table label. You can use lowercase, alphanumeric
ASCII characters and underscores (_) in the table name. The table name is prefixed with u_ to indicate that it is a custom table.
You cannot modify this prefix.
For example, if you enter Marketing Event as the table label, the table name defaults to u_marketing_event.
Extensible
Select the check box to allow other tables to extend this table. Clear the check box to prevent the creation of additional child
tables; existing child tables remain unchanged.
Extends Table
[Optional] Select the table to extend. Extending a base table incorporates all of the fields of the original table and creates new
fields for the new table. Only tables that are marked as extensible appear in this list.
This option is available only when you are creating a table.
Create module
[Optional] Select the check box and then complete the Add module to menu field to create a list module in the application
menu.
This option is available only when you are creating a table.
Add module to
menu
Select an existing menu or select Create new and enter a new menu name. This option is available only when the Create
module check box is selected.
Create access
controls
[Optional] Select the check box and then complete the User role field to create basic security rules for the table.
User role
Enter a new name or select an existing user role that is required to access this table. This option is available only when the
Create access controls check box is selected.
Live feed
[Optional] Select the check box to enable document feeds for the table (starting with the Dublin release). This option adds the
Show Live Feed button (
) in the form header.
Auto-number
[Optional] Select the check box, and then define the number format to add an auto-numbered field to the table. The check box is
available only when a number format does not exist for the table. Otherwise, you can edit the existing number format.
14
Adding Columns
You can add database columns (fields)
when creating a new table or when
editing an existing table. To learn more
about creating fields, see Creating New
Fields.
To add columns from the table record:
1. Navigate to System Definition >
Tables.
Requests table
4. Define the column by completing the fields in the row (see table).
[Existing tables only] You can create a column with advanced settings by right-clicking the form header and
selecting Create Advanced Column. See Modifying Dictionary Entries.
The Table Columns embedded list provides list filtering, searching, and sorting in addition to standard
embedded list functions.
5. Repeat steps 34 for each column being added.
To delete a field, click the red X beside the row. This option is available only for custom fields.
To save column changes, save the form. See Using Embedded Lists.
6. Click Submit or Update.
7. [Optional] To customize the form layout for the new fields, open the table record, click the Personalize Form
related link, and then personalize the form.
New fields are automatically added to the default form view. If a default form view already exists, new fields
are added at the end of the first section.
In versions prior to the Dublin release, open the table record, click the Show New Record Form related link,
and personalize the form.
8. [Optional] To customize the list layout for the new fields, open the table record, click the Personalize List
related link, and then personalize the list.
In versions prior to the Dublin release, open the table record, click the Show Records in List related link, and
personalize the list layout.
15
Field
Description
Column
label
Defines a unique label for the column. The label appears on list headers and form fields for the column.
Type
[Mandatory] Defines the field type for the column. See Introduction to Fields. To preserve existing data, only change fields between
the same basic type (for example, Choice and String). A warning appears if a change to a custom field will result in data loss. For a
base system field, you cannot make a change that will result in data loss.
Reference
Updating the Column label field also updates the label in the language file (for the current language). See Field Labels.
When you create a new column, the column name is populated automatically based on the label. The name is automatically
prefixed with u_ to indicate that it is custom. For example, if you enter Activity Description as the column label, the column name
defaults to u_activity_description.
Note: Dynamic reference creation is enabled for this field. So, if you enter a table name that does not match an existing table, a new
table is created when you save your changes to the current table record. If the current table has a module in the application navigator,
then a module for the newly created table is automatically created in the same application menu.
Max
length
[String fields only] Limits the length of the field. A length of under 254 appears as a single-line text field. Anything 255 characters or
over appears as a multi-line text box.
Note:
You can change this value only for a String field. Changes for any other type of field are ignored.
Users on an Oracle instance cannot increase the maximum length of a string field to anything greater than 4000 through the
application UI as this requires the CLOB datatype in Oracle. To increase beyond this size, log an incident with Technical Support
to request the change.
To prevent data from being lost, only decrease the length of a string field when you are developing a new application and not when
a field contains data. A warning appears if a change to a custom field will result in data loss. For a base system field, you cannot
make a change that will result in data loss.
Default
value
Specifies the default value of the field for any new record. Ensure that this value uses the correct field type. For example, an integer
field can use a default value of 2 but cannot use a default value of two. These values can be overridden with dictionary overrides.
Display
Indicates that this field is the display value for reference fields (appears on records that reference this table).
Note: This option does not control whether or not this field is displayed on lists or forms.
Type
Description
Class [sys_class_name]
System Class Name If the table is extensible, a string field that indicates which child table contains the record.
Created [sys_created_on]
Date/Time
Created by [sys_created_by]
String
A string field that indicates the user who created the record.
Sys_id [sys_id]
Sys ID
Updates [sys_mod_count]
Integer
A numeric field that counts the number of updates for this record since record creation.
A string field that indicates the user who most recently updated the record.
Updated [sys_updated]
A time-stamp field that indicates the date and time of the most recent update.
Date/Time
16
If you selected Create new in step 2, a new application menu is created. The Default device type is set to Any
(starting with the Dublin release for instances that do not use the smartphone interface).
For instances that use the smartphone interface, a new mobile module and a new mobile application menu are
created.
To create additional modules (for
example, a filtered list view):
1. Navigate to System Definition >
Tables and open the Table form.
2. Scroll down to the Modules related
list, and click New.
17
Description
Prefix
Enter a prefix for every number in the table (for example, INC for Incident). The default value is the first three letters of the table
label.
Number
Enter the base number for this table (default value is 1000). Record numbers are automatically incremented, and the next number is
maintained in the Counter [sys_number_counter] table.
If you set the base number to a value higher than the current counter, the next record number uses the new base number. Otherwise
the next record number uses the current counter. The counter does not reset to a base number lower than itself.
Number of
digits
Enter the minimum number of digits to use after the prefix (default value is 7).
Leading zeros are added to auto-numbers, if necessary. For example, INC0001001 contains three leading zeros.
The number of digits can exceed the minimum length. For example, if Number of digits is 2 and more than 99 records are
created on the table, the numbers continue past 100 (such as INC101).
Warning: Changing this field may update all number values for existing records on a table. Take care when changing this field on a
production instance. See Renumbering Records.
Note: To change the default values for new number formats, change the Default value field on the system dictionary record for the
Number or Number of digits field. These fields are on the Number table.
18
6. [Optional] Scroll down to the Access Controls related list to create new or modify existing access control list
(ACL) rules.
Note: You can repeat the procedure to grant full access to a different role. The new role is created and the original role is replaced
for every ACL on the table. The original role is not changed for ACLs on other tables or objects, and any other roles or scripts on the
ACLs are not changed.
Extending a Table
You can create a new table that stands alone or that extends a base table. Extending a base table incorporates all of
the fields of the original table and creates new fields for the new table. This inheritance is used to create
subcategories of data. Examples include the Incident, Problem, and Change tables, which are all subcategories of the
Task table.
To extend a table, select the table to extend in the Extends Table field on the table record. This option is available
only when you are creating a table.
19
Note: For a table that extends another table, the Table Columns embedded list shows columns on both the child table and the table it
extends. To improve sorting and filtering, consider personalizing the list to add the Table field. You cannot change the table for a
field. You can add columns only to the current table.
Note: You cannot extend system tables (such as sys_audit) or database view tables.
The new table now has fields from the Task table and supports workflows.
20
4. Click Submit.
5. Add any related lists. Refer to the
existing classes (such as
Workstations) for examples.
6. Position the new module in the
correct location in the application
navigator.
In the Laptops example, the
new class belongs next to the
Workstations module, under the
Base Items heading.
1. Right-click Configuration in
the application navigator and select Edit Application.
2. Locate the Workstations module in the list and note the value in the Order column.
3. Open the new Laptops module and give it an order value one number greater or less than the order number
of the Workstations module.
4. Click Update.
Field
Description
Label
Enter the name of the new class (such as Laptops or Thin Clients).
Name
Preface the name of the table with u_cmdb_ci_ to make it similar to the other CMDB classes (for example, u_cmdb_ci_laptop).
Extensible
Select the check box to allow other tables to extend this table.
Extends Table
Select the parent table for the new class. For example, if the new class is Laptops, which is a subclass of Computers, select the
cmdb_ci_computer table. If the new class is a top-level class, select the cmdb_ci table.
Add module to
menu
Select the check box and then select the Configuration application to create a list module for the new class in the same
application with the other classes.
Navigate to System Definition > Tables and open the table record.
Under Related Links, click Add to Service Catalog.
Complete the Name, Short Description, and Category fields as you would for service catalog items.
Use the slushbucket to select the fields and the order in which you want them to appear. To use container
variables, select |- container start -| and |- container start -|.
21
5. Click Save and Open to open the
record producer and define
additional options. Alternatively,
click Save to return to the table
record.
A record producer is created
with these values:
Table name: table record
opened in step 1
Name, Short Description,
and Category: information
entered in step 3
Record producer
field
Type: variable type that corresponds to the field type
Order: position selected in the slushbucket (for example, 100 for the first field and 200 for the second
field)
Question: Column label of the field
If the field type is Choice, a corresponding question choice is created for each field choice.
The new record producer is added to the Record Producers related list on the table record.
Application Files
22
Application Files
Overview
Application files associate configuration records with an application and contain metadata for the records.
Administrators use application file records to:
Description
Name
Related record
Parent file
Application
Protection
policy
Created
Created by
Source Table
Updated
Updated by
Application Files
23
Replace on
upgrade
Flag that indicates whether the related record will be upgraded to the next software version (starting with the Dublin release). The
value is automatically set to false when you change non-excluded fields on the related record. To overwrite changes during the
next software upgrade, change the value to true. See Overwriting Customizations During Upgrades.
Customer
update
Flag that indicates whether the related record has customer changes (starting with the Dublin release). The value is automatically
set to true when you change any field on the related record.
Related lists on the form view:
Related Record
Versions
Version records for the related configuration record (starting with the Dublin release). A version record is every time a user
changes the related record. Use this list to compare versions of the configuration record or to revert to a previous version. See
Versions.
Related Record
Updates
Local update records for the related configuration record (starting with the Dublin release). An update record is created for the
most recent change to the related record in a given update set. See Update Sets.
Applications
An application file associates its related configuration record with an application record. Assign application files to
an application to:
Understand who owns and who changes application records and code.
Detect conflicts between applications under development.
Publish the current version of each application file to an update set when development is complete.
See Working on Applications.
Application Files
24
UI Policy relationships
Navigating
Application Files and
Records
Navigate between a configuration
record and its application file by
right-clicking the form header and
selecting Show Application File.
Descendant Files
Application Files
25
Navigate between an application file
and its related record (for example, an
application menu record) by clicking
the Show Related Record related link.
Navigating
Application File Lists
Show Related Record
most lists.
To open the application file record itself, click the reference icon beside the row.
To open the related record, click the link in the first column.
For example, use any of these
application file lists to help build and
manage applications:
Navigate to System Definition >
Application Files to see a list of all
application files on the instance.
Application files list
Example
use:
filter
all
application files by application,
type of record (source table), user who created it, or when it was last updated.
Navigate to System Definition > Deleted Application Files to see a list of all application files for which the
related record is deleted.
Example use: restore an application or table. See Restoring Deleted Records.
Open an application record and scroll down to the All Files related list to see a list of all application files
contained in the application.
Example use: run fix scripts after you transfer an application to another instance. See Running Fix Scripts.
Fix Scripts
26
Fix Scripts
Overview
A fix script is server-side JavaScript code that you run after an application is installed or upgraded. Include fix
scripts to make changes that are necessary for the data integrity or product stability of an application.
Administrators and users with the script_fix_admin role can create and run fix scripts. This feature is available with
the Calgary release.
Fix script
Field
Description
Name
Active
Unloadable Select the check box to create Customer Update [sys_update_xml] records when the fix script runs. Clear the check box to run
upgrades without creating these records (default).
Unloadable is enforced when you test the fix script.
Run once
Select the check box to run the script only one time (default). The fix script is ignored for subsequent upgrades.
Clear the check box allow the script to run every time the application is installed or upgraded.
This option is enforced by the following mechanism.
When a fix script is processed, a corresponding record is added to the sys_update table.
The upgrade process automatically skips fix scripts that are flagged as Run once and have an entry in the sys_update table.
Run once is not enforced when you test the fix script.
Fix Scripts
Flush
cache
27
Select the check box to require a cache flush after the application is installed or upgraded. Certain system changessuch as changes
to the dictionary, client scripts, UI policy, or system propertiesrequire a cache flush to take effect.
If the check box is selected for at least one of the fix scripts that are run, the cache is flushed when the installation or upgrade is
complete. If the check box is not selected for any of the fix scripts that are run, then the cache is not flushed.
Flush cache is enforced when you test the fix script.
Before
Select the check box to run the fix script before installing or upgrading the application. Clear the check box to run the fix script after
(default).
Fix Scripts
28
Publishing Applications
29
Publishing Applications
Overview
Administrators can publish applications that are complete and ready to transfer to another instance. For example,
publish an application to transfer and deploy it to a production system.
This feature is available with the Calgary release.
Publishing Applications
1.
2.
3.
4.
Description
Application
name
[Read-only] Displays the name of the application that you are publishing.
Version
Enter version information to append to the update set name in dot-notation such as 1.2.3. The platform saves the information you
enter here in the application Version field (starting with the Eureka release).
The update set has the name <Application name> - <Version>. If you leave this field blank, the initial update set has the name
<Application name> and subsequent update sets have the name <Application name> - <Sequential number>.
Description
Enter a description for the update set. By default, this field contains the short description of the application.
Include data
Select the check box to include a limited number of data records from each table in the application. Use this feature to package
sample data with your applications.
Warning: Using this feature to migrate large quantities of data records between instances can cause performance issues, as it is not
intended for this purpose. To migrate data, use an instance-to-instance import. Administrators can adjust the maximum number of
data records to include with an application.
Note:
If your sample data includes tables with record numbering, the current counter value is also transferred. When the update set is
applied on another instance, the counter is set to the larger of the counter in the sample data or the counter on the target instance.
For translated fields, only records in English are transferred.
Publishing Applications
30
31
Examples
Conference Room Bookings
Overview
This example guides you through creating a simple custom application for managing conference room requests. To
learn more about the features demonstrated in this example, see Further Reading.
Audience
This guide is intended for junior ServiceNow system administrators. You should be familiar with the platform, but
you don't need much experience developing or maintaining custom tables. A basic understanding of JavaScript and
relational databases would be helpful, but is not necessary.
32
Application record
4. In the Table Columns embedded list, define each column (see table).
5. Click Submit.
The Request table is created with the columns you defined, an auto-numbered field, and the required system
fields.
Security rules are created to grant the u_conference_room_bookings_user role full access to the Request table.
The Room table is created with the required system fields.
A user role, u_room_user, is created. Security rules are created to grant the role full access to the Room table.
Modules for the Request and Room tables are created under the Conference room bookings application
menu.
Application file records for the tables, columns, modules, security rules, and roles are automatically assigned
to the application.
Column label
Type
Requester
Reference to User
Date/Time
Location
Attendees
Integer
Duration
Integer
33
Room Table
1. On the application record, scroll
down to the Tables related list.
2. Open the Room table record.
3. Select the Auto-number check
box. Use the default values for the
number format.
4. In the Table Columns embedded
list, define each column (see table).
5. Click Update.
The new columns you defined
and an auto-numbered field are
Request table
created.
The Name field is set as the display column, meaning that it appears on records that reference the Room table.
The application file records for the columns are assigned to the application.
Column label
Type
Name
Campus
Choice
Capacity
Integer
Floor
Integer
True/False
Projector
True/False
WiFi
True/False
34
Campus Choices
Create a choice list of campuses:
1. Open the Room table record.
2. Under Related Links, click Show
Form.
In versions prior to the Dublin
release, click Show New Record
Form.
3. Right-click the Campus field label
and select Personalize Choices.
4. Create the following options:
Room table
San Diego
Seattle
Austin
Chicago
Detroit
Amsterdam
London
Tokyo
5. Click Save.
Room Data
Enter data for available conference
rooms:
1. Navigate to Conference room
bookings > Rooms.
2. Click New.
3. Enter the room details as listed in
the table.
4. Click Submit.
5. Repeat steps 1 4 for all rooms in
the table.
35
Name
Campus
Capacity
Floor
Phone number
Polycom
Projector
WiFi
Aruba
San Diego
(858) 430-9812
true
true
false
Fiji
Austin
19
(512) 398-4531
true
true
true
Jamaica Amsterdam 27
+20 043-9086
true
true
true
Oahu
Detroit
17
(313) 490-2346
true
true
true
Tahiti
Tokyo
+31 098-04356
false
true
true
Security
1. In the banner, click the lock icon beside your user name and select the security_admin check box to elevate your
role. Click OK.
2. Navigate to Conference room bookings
> Rooms.
3. Right-click the list header and select
Personalize > Table to open the table
record.
4. In the Access Controls related list, open
the record for the read operation.
36
4. Use the slushbucket to select the columns and the order in which you want them to appear.
You can match this sample list layout.
5. Click Save.
6. Under Related Links, click
Personalize Form.
Field Label
Request form layout
Click New.
Right-click the Duration field label and select Personalize Label.
In the Label field, enter Duration (minutes).
Click Update.
37
Module
Change the title and icon for the automatically created Requests module:
1.
2.
3.
4.
javascript:gs.getUserID()
5. Click Update.
Identify a Room
Help users identify a suitable room based on attendance and campus location:
1.
2.
3.
4.
javascript:'u_capacity>=' + current.u_attendees
5. In the Attributes field, enter:
ref_auto_completer=AJAXTableCompleter,ref_ac_columns=u_campus;u_capacity
38
6. Click Update.
7. Click the reference lookup icon (
) beside the Location field.
8. In the lookup window, right-click
the list header and select
Personalize > List Layout.
Send an Email
Confirmation
Email the requester to
acceptance of the request:
confirm
3. Click New.
4. Define the email notification by completing the fields on the form (see table). Use the default values for the rest
of the fields.
5. Click Submit.
6. Navigate to System Definition >
Tables.
7. Open the Request [u_request] table
record.
8. For the Number column, set the
Display value to true.
9. Click Update.
Email notification
39
Field
Value
Name
Table
Request [u_request]
When to send
Send when
Inserted
Updated
Conditions
Message
Navigate to User Administration > Users and open a test user record.
Ensure the user has a valid email address.
Grant the u_conference_room_bookings_user role to the user.
Impersonate or log in as the user.
Navigate to Conference room bookings > Book a conference room.
Click New.
Notice that the Requester field is automatically populated with the user name.
7. In the Attendees field, enter 9.
8. Click the icon beside the Location field.
Notice that the list only shows rooms with a capacity greater than or equal to 9.
9. Close the window. In the Location field, begin typing J.
Notice that the auto-complete shows the name, campus, and capacity for matching rooms.
10. Select Jamaica.
11. Complete the rest of the form and click Update.
12. Run through several more scenarios to test the business logic and functionality.
13. Log back in as an administrator.
14. Navigate to System Mailboxes > Outbound > Sent. If the emails are not listed, remove the Mailbox = Sent
condition from the breadcrumbs.
15. Open an email record.
16. Under Related Links, click Preview HTML body.
Notice that email notifications were generated with the correct information.
40
Further Reading
These articles contain details about the features demonstrated in this example.
Section
App Creator
Creating a Custom Application
Personalizing Lists
Personalizing Forms
Introduction to Fields
Administering Application Menus and Modules
Module Icons
Reference Fields
Auto-Complete for Reference Fields
Reference Qualifiers
Email Notifications
Publishing Applications
Transferring Update Sets
41
42