Salesforce Platform Developer I: Programmatic & Data Models
Terms in this set (...)
What are three programmatic tools to customize the user interface?
- Visualforce - Sites - Canvas
What are three programmatic tools for customizing business logic?
- Controllers - Apex - SOAP API
What programmatic tool can be used for customizing the data model?
What are programmatic tools?
Allow you to extend the capabilities of applications beyond the standard Salesforce functionality
When should you use programmatic tools?
When there is a need for more flexibility, more complex logic, or more control over the UI.
What is an object?
- Represents a database table, but at a higher level of abstraction - Define the type of information to be stored - Configurable control features - Relational - Reportable and Searchable - Securable
What are the 2 types of objects?
- Standard (pre-defined) - Custom (user-defined)
What are custom objects?
- Store unique information - Include properties (custom fields, relationships, page layouts)
What are fields?
- Represent a database column - Store a piece of information related to objects
What are the 2 types of fields?
- System-generated - User-created
What is a standard field?
- Generated by the system when an object is created
What is the ID field?
- Provides a unique identifier for each record - System-generated and cannot be modified - Is Indexed - First 3 characters identify the type of object
What is the Name field?
- Short description to identify a record's content - Is indexed - Required - Appears as the first column in related lists by default
What are the 2 types of Name fields?
- Text (user-assigned, not unique, modifiable) - Auto Number (system-generated, unique, not modifiable)
What is the Owner field?
- Represents an individual or a group of users - Default owner of a record is its creator - Owner granted additional privileges
What are custom fields?
- Store info and data about custom objects - Allow you to add field level help - Allow additional properties (unique, required) - Can be changed to another data type - When one is deleted, data goes with it - Limit depends on Salesforce Edition - Support several data types
What are data types?
Specify the types of information a custom field will hold
What are the numeric data types?
- Number - Currency - Percent
What are the calendar data types?
- Date - Date/Time
What are the limited option data types?
- Checkbox - Picklist - Multi-select
What are the formatted text data types?
- Email - Phone - URL
What are the text data types?
- Text - Text Area (up to 255 characters) - Long Text Area (up to 32768 characters) - Rich Text Area (formatted) - Encrypted
What are the calculation data types?
- Auto-number - Formula - Roll-Up Summary
What is an auto-number data type?
Defined by "display format", incremented by 1 for each record
What is a formula data type?
Performs calculations on a record
What is a Roll-Up summary data type?
Created on a master object, allows calculations on detail records
What are the properties of a custom field?
- Label - Name - Required - Unique - External ID - Default Value - Help Text
Describe a field Label.
Label of the field as displayed in the UI
Describe a field Name.
- Programmatic name used in Web Service API, formulas, etc. - Does not allow spaces and certain characters - Is always appended with "__c" at the end
Describe a required field.
- Must have value when the record is saved - Required across all record types and will always display on the Edit page
Describe a unique field.
- Cannot contain duplicate values in different records - Can be specified as case-sensitive or insensitive
Describe an external ID field.
- Is the a unique record ID from a different system - Can be text, number, or email type - Has a custom index - Increases report and SOQL performance
Describe the default value of a field.
- Reduces the number of manually filled fields - Based on a formula to generate a pre-populated value
Describe field Help Text.
Provides a mouse-over text box with info about the field
What is a field dependency?
- Defined dependencies between picklists - Can be either dependent or controlling
T/F: Standard picklists can be both controlling and dependent.
FALSE: Standard picklist can be controlling but not dependent.
What is the maximum number of values in a controlling picklist?
T/F: If a field is both controlling AND dependent, it cannot have more than 300 values.
What must be done before defining a dependency?
Add at least one value to the picklist.
T/F: Multi-select picklists can be a controlling field.
FALSE: Multi-select picklists cannot be a controlling field.
Describe an encrypted field.
- Can contain letters, numbers, or symbols - Only visible to users with "View Encrypted Data" permission, but can be edited regardless - Cannot be unique, an external ID, or have default values
What are the 2 types of object relationships?
- Lookup - Master-Detail
Describe Lookup relationships.
- Links 2 objects, custom or standard - Can be required or optional - Can create a lookup field on the PL of the child object, and a related list on the parent
Describe Master-Detail relationships.
- Links 2 objects in a parent-child relationship - Standard objects cannot be children of Custom objects - Reparenting of custom object children is allowed - Create lookup on child and related list on parent
Which type of relationship requires a parent field?
Which type of relationship is security and access independent?
What happens when the parent record of a child record is deleted in a master-detail relationship?
The child is also deleted
How many layers can master-detail relationships be linked?
Up to 3
How many parents can a record have in a lookup relationship?
Up to 40
How many parents can a record have in a master-detail relationship?
Which type of relationship has the lookup field as optional on the page layout?
Which type of relationship allows cross-object updates and rollup fields?
What are some reporting implications of relationship types?
- Lookup relationships join data from 2 related objects, Master-detail joins 3 - Primary or master determines visibility of records - Reports can only show one child object at a time
What are 3 special types of relationships?
- Self - Many-to-many - Junction
Describe the self relationship.
Lookup to the same object
Describe the many-to-many relationship.
- Master-detail between a standard or custom object - Allows linking each record of one object with multiple records of another
Describe the junction relationship.
- A custom object is created with 2 master-detail relationships to connect 2 objects in a many-to-many relationship - Is deleted permanently and cannot be restored when both associated master records are deleted - Should be named with a label describing the purpose of the object
What is a lookup filter?
- Limits search results for related fields - Can compare fields to other fields or static values - Can be required or optional
What is the Lightning Schema Builder?
- Provides dynamic environment to add new custom objects, field, and relationships - Provides graphical view of objects and relationships
What happens when an audit trail is setup?
- Tracks changes made to the configuration of an org - Lists the date of the change, name of the user who made the change, and description - Displays 20 most recent changes - Tracks changes for 180 days
What is field history tracking?
- Modification to any standard or custom field, whose history is set to be tracked, results in a new entry in the History related list - Old and new values are tracked - 255+ chars and multi-pick lists are not tracked - Tracks changes for up to 20 fields
What specifically do Debug logs track?
Activities and results generated by end users
What are examples of what debug logs track?
Apex triggers, workflow rules
What are the limits of debug logs?
- 20MB/user - 2MB/log - 50MB/org
What specifically does the audit trail track?
Configuration by admins and devs
What are examples of what the audit trails tracks?
Change to a workflow rule, field data type
What are the limits of the audit trail?
Stored for 180 days
What specifically does the field history track?
Data values for fields
What are some examples of what field history tracks?