Difference between revisions of "Common:Object Construction"
From AgileApps Support Wiki
imported>Aeric |
imported>Aeric m (Text replace - 'Cases Object' to 'Cases object') |
||
(10 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
'''Define an object:''' | |||
# Click '''[Define Fields]''' | # Click '''[Define Fields]''' | ||
#: | |||
# Specify object labels: | |||
#* '''Plural Label -''' The label used when the context is the object itself, or to the collection of records it contains | |||
#* '''Singular Label -''' The label used when the context is a single record stored in the object | |||
# For the [[Cases object]], specify the label to use for the built-in <tt>subject</tt> and <tt>description</tt> fields (or use the defaults). | |||
#: | #: | ||
# Define up to 10 fields, to get started. (You can add more later.) For each field, specify: | # Define up to 10 fields, to get started. (You can add more later.) For each field, specify: | ||
#* '''Field Label -''' The label users will see | #* '''Field Label -''' The label users will see. | ||
#* '''Internal Field Name -''' The internal reference name. (Created for you. Modifiable, but generally best left alone.) | #* '''Internal Field Name -''' The internal reference name. (Created for you. Modifiable, but generally best left alone.) | ||
#* '''Field Type -''' Pick one of the many choices | #* '''Field Type -''' Pick one of the many choices | ||
# Follow the prompts to add additional information, depending on the field type. | # Follow the prompts to add additional information, depending on the field type. | ||
# When done defining fields, click '''[Save]''' | # When done defining fields, click '''[Save]''' | ||
Establish relationships between | :For more, click '''[Add additional Object]''' and repeat the process. | ||
'''Establish relationships between objects:''' | |||
# Click '''[Add a Relationship]''' | # Click '''[Add a Relationship]''' | ||
# Under '''Relationships''' select the objects to fill in the blanks: | # Under '''Relationships''' select the objects to fill in the blanks: | ||
Line 17: | Line 23: | ||
#* '''One to Many -''' One <tt>{baseObject}</tt> record can be related to many <tt>{relatedObject}</tt> records | #* '''One to Many -''' One <tt>{baseObject}</tt> record can be related to many <tt>{relatedObject}</tt> records | ||
#*: For example: One ''Order'' can have many ''OrderItems''. | #*: For example: One ''Order'' can have many ''OrderItems''. | ||
#*: This option adds a [[Lookup]] field to the <tt>{relatedObject}</tt> that targets the <tt>{baseObject}.</tt> | |||
#*: | |||
#*: '''Notes:''' | |||
#*::* To make a '''One to One''' relationship, construct it as One to Many, and add a [[Unique Index]] to the target object to ensure that only one such record can ever exist. | |||
#*::* To make a [[Master-Detail relationship]], use the [[Cascade Rules]] to auto-delete detail records when a master record is deleted. | |||
#* '''Many to Many -''' One <tt>{baseObject}</tt> record can be related to many <tt>{relatedObject}</tt> records, and each of the <tt>{relatedObject}</tt> records can be related to many <tt>{baseObject}</tt> records | #* '''Many to Many -''' One <tt>{baseObject}</tt> record can be related to many <tt>{relatedObject}</tt> records, and each of the <tt>{relatedObject}</tt> records can be related to many <tt>{baseObject}</tt> records | ||
#*: For example: One ''Order'' can have many ''Tags'', and one ''Tag'' can be applied to many ''Orders''. | #*: For example: One ''Order'' can have many ''Tags'', and one ''Tag'' can be applied to many ''Orders''. |
Latest revision as of 21:28, 8 July 2015
Define an object:
- Click [Define Fields]
- Specify object labels:
- Plural Label - The label used when the context is the object itself, or to the collection of records it contains
- Singular Label - The label used when the context is a single record stored in the object
- For the Cases object, specify the label to use for the built-in subject and description fields (or use the defaults).
- Define up to 10 fields, to get started. (You can add more later.) For each field, specify:
- Field Label - The label users will see.
- Internal Field Name - The internal reference name. (Created for you. Modifiable, but generally best left alone.)
- Field Type - Pick one of the many choices
- Follow the prompts to add additional information, depending on the field type.
- When done defining fields, click [Save]
- For more, click [Add additional Object] and repeat the process.
Establish relationships between objects:
- Click [Add a Relationship]
- Under Relationships select the objects to fill in the blanks:
- Between __{baseObject}__ and __{relatedObject}__
- Specify the Relationship Type:
- One to Many - One {baseObject} record can be related to many {relatedObject} records
- For example: One Order can have many OrderItems.
- This option adds a Lookup field to the {relatedObject} that targets the {baseObject}.
- Notes:
- To make a One to One relationship, construct it as One to Many, and add a Unique Index to the target object to ensure that only one such record can ever exist.
- To make a Master-Detail relationship, use the Cascade Rules to auto-delete detail records when a master record is deleted.
- Many to Many - One {baseObject} record can be related to many {relatedObject} records, and each of the {relatedObject} records can be related to many {baseObject} records
- For example: One Order can have many Tags, and one Tag can be applied to many Orders.
- One to Many - One {baseObject} record can be related to many {relatedObject} records
- The relationships cause Lookup fields to be added to the objects, with names like "related_to_X". For example, the OrderItems object will have a field named related_to_Orders.