AgileApps Support Wiki Pre Release

System Object Types

From AgileApps Support Wiki
Revision as of 22:46, 15 November 2013 by imported>Aeric (→‎Main System Objects)

Main System Objects

The main System Objects are listed here, showing the names that appear in the UI, along with the object-type identifiers used in the APIs.

System Object
(As shown in the UI)
Object Identifier
Reference Information Customization Capabilities
Case cases REST API:record Resource Virtually unlimited ability to Customize Objects
Task tasks REST API:record Resource Virtually unlimited ability to Customize Objects
Role ROLE REST API:role Resource none
Users Object USER REST API:user Resource
Team TEAM REST API:team Resource
User Team USER_TEAM REST API:userTeam Resource none

Notepad.png

Note:
USER_TEAM is the Junction Object that allows a User to belong to multiple Teams, and a Team to have multiple Users.

Related System Objects

These system objects are related to records in other objects. By default. these objects are not visible as independent entities in the UI, because end users and even designers have little need to see them. In general, then, the records they contain are seen only when viewing the records they are related to.

They can be made visible when needed, however, and they can be accessed programmatically.

System Object Object Identifier Reference Information
Attachments attachments In each record, the Multi Object Lookup field related_to references the object and record that the item relates to. For example: "cases:345rjkz921", where 345rjkz921 is the ID of a record in the cases object.
History history
Tasks tasks

Considerations:

  • Add Attachments and Tasks to those objects, respectively.
    (When an item is added or removed, an entry is automatically added to the history of the referenced record.)
  • Search those objects to get a list or records. Filter the list to get the items that relate a particular record.
  • Add Private Notes to the History object directly, specifying the category field with value="29"
  • To get a list of Private Notes attached to a record, search the History object. Filter the list to:
  • Return only those items where the related_to field matches the record of interest
  • Return only those items where the category field has the value 29.

Notepad.png

Note: If you go to Global Picklists, select the History Category, and scroll down to "added a note", you can see that the value is 29.

Learn more:

  • See the Java Code Samples for sample code that works with Related System Objects
  • Java record handling APIs to search and manage records
  • REST record Resource to search and manage records using REST APIs using an external program or JavaScript
    (Use the same patterns as in the Java code samples.)

Viewing "Hidden" System Objects

Developers who are working with the Related System Objects generally need to inspect their fields and properties. Developers may also need to view the records they contain, when debugging. The procedures for doing so are described below.

The same procedures apply to other System Objects that are hidden by default: Users, Teams, and the User_Team object. (A variety of other System Objects are working behind the scenes, as well. You'll see them as you follow these procedures.)

Thumbsup.gif

Tip:
You can easily add Fields to the Users object, and add Rules to both Users and Teams, without going to these lengths. See the Customization Capabilities for the main system objects, earlier on this page.

To make a hidden System Object visible:

  1. GearIcon.png > Customization > Resource Sharing
    • Application: Your App
    • Resource Type: Objects
  2. Move the System Object from the Available column to Selected
  3. Click [Save]
The object now appears in the list of objects that are part of the current application, where it's fields and other properties can be inspected--including the object name. (The object ID is also available in the Object Properties but in most all of the APIs, the object name works just as well as the ID, and it's a lot more readable. (There are only a few APIs that require the object ID. Those are carefully noted.)
Generally, that's all of the information you'll need to write your code. But sometimes, it's helpful to view the records in that object--mostly for debugging. That can be done, as well.

To view the records in a System Object:

  1. Make the object available as a tab:
    • GearIcon.png > Customization > Objects > {object} > Object Properties
    • Click [Edit]
    • Check the box: Available as a Tab
    • Click [Save]
    The object is now one of the choices that will be available when you set Tab Preferences, next.
  2. Make the tab visible:
    • GearIcon.png > Customization > Preferences > Tab Preferences
    • Add the object to the Tab Preferences for your role
    • Click [Save]
    • Refresh your page
The object now appears as a tab in the UI, and its records can be viewed.

To view data in fields that aren't shown:

  1. Make a new form or edit an existing form
  2. Add the fields you want to see
The data is now visible when you view a record using that form.