Difference between revisions of "Common:Object Construction"
From AgileApps Support Wiki
imported>Aeric |
imported>Aeric |
||
Line 23: | 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> | #*: This option adds a [[Lookup]] field to the <tt>{relatedObject}</tt> that targets the <tt>{baseObject}.</tt> | ||
#*: | #*: | ||
#*: '''Notes:''' | #*: '''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 '''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. | #*::* 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''. |
Revision as of 23:56, 30 July 2014
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.