Loading Audio...

Listen to Lesson
0:00
  • Speed 0.5x
  • Speed 0.75x
  • Speed 1x
  • Speed 1.25x
  • Speed 1.5x
  • Speed 2x
  • Brian
  • Caris

Improving Clarity's Ticketing App with Root Objects

Clarity wants to improve the data model for their Ticketing application by enabling users to attach multiple files to each ticket. To achieve this, they need to add an object definition for storing attachments and then relate that definition to the Ticket object. To simplify management, they want to designate the Ticket object as the root for the attachment object, establishing an inheritance relationship. In these exercises, you’ll implement this for Clarity.

Exercise: Enabling the Feature Flag

Before you can use this feature, you must enable the Root Object Definitions (LPD-34594) feature flag for your instance.

  1. Open the Global Menu (Global Menu), go to the Control Panel tab, and click Instance Settings.

  2. Click Feature Flags.

  3. In the Release tab, search for LPD-34594 and enable it.

    In the Release tab, search for LPD-34594 and enable it.

With this feature flag enabled, you can start using the root object feature.

Exercise: Creating the Ticket Attachment Object

By creating a separate object definition for attachments, you can define additional fields for metadata and relate as many attachments to a ticket as needed. Here you’ll create and publish Clarity’s Ticket Attachment object.

  1. Open the Global Menu (Global Menu), go to the Control Panel tab, and click Objects.

  2. Go to the Ticketing folder.

  3. Click View in Model Builder.

  4. Click Create New Object, enter these details, and click Save:

    Field

    Value

    Label

    Ticket Attachment

    Plural Label

    Ticket Attachments

    Object Name

    TicketAttachment

  5. Click Actions (Actions) for the new object and select Edit ERC.

  6. Enter TICKET_ATTACHMENT and click Save.

  7. Click Add Field or Relationship and select Add Field.

  8. Enter these values and click Save.

    Field

    Value

    Label

    Title

    Field Name

    title

    Type

    Text

    Enable Entry Translation

    No

    Mandatory

    Yes

    Accept Unique Values Only

    No

  9. Repeat the above step to add these fields:

    Field

    Value

    Label

    Description

    Field Name

    description

    Type

    Text

    Enable Entry Translation

    No

    Mandatory

    No

    Accept Unique Values Only

    No

     

    Field

    Value

    Label

    File

    Field Name

    file

    Type

    Attachment

    Request Files

    Upload Directly from the User’s Computer

    Show Files in Documents and Media

    No

    Mandatory

    Yes

  10. Click Publish, check Ticket Attachment, and click Publish Objects to confirm.

  11. Confirm the object is published successfully and click Close.

After creating the object definition, you can relate it to the Ticket object and enable inheritance.

Exercise: Relating the Ticketing Objects

When you define one-to-many relationships, you can enable inheritance, designating the parent object as the root for the child object. Here you’ll create a one-to-many relationship between the Ticketing objects and enable inheritance.

  1. In the Object Model Builder, drag a line from the Ticket object to the Ticket Attachment object to create a relationship.

  2. Enter these details:

    Field

    Value

    Label

    Ticket to Attachments

    Name

    ticketToAttachments

    Type

    One to Many

    One Record Of

    Ticket

    Many Records Of

    Ticket Attachments

    Enable Inheritance

    Yes

     

    Enter these details for the relationship.

  3. Click Save.

This designates Ticket as the root object for Ticket Attachment.

Conclusion

Congratulations! By configuring an inheritance relationship between Tickets and Ticket Attachments, you’ve improved Clarity’s data model, centralized access control, and established a scalable structure for managing related entities. In future exercises, you’ll see how this inheritance impacts permissions.

Next, you’ll review what you’ve learned before moving on to the next module.

Loading Knowledge