Difference between revisions of "System Object Types"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 69: Line 69:
: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.)
: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.
: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:'''
'''To view the records in a System Object:'''

Revision as of 19:50, 25 September 2013

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
User 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

Viewing the Related System Objects and other "Hidden" System Objects

For developers who are working with the Related System Objects need to make them visible, both to inspect their properties and to view the records they contain (generally while debugging).

The same process applies 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 can use the process described here to see them and view their properties.)

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.

Adding and Accessing Related System Object Records

Considerations:

  • Add Attachments and Tasks to those objects, respectively.
  • 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, 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.)