- Force.com – Platform behind sales cloud, service cloud and Lightning Platform. This is a Platform as a Service (PAAS) that allow developers to build and run apps in the cloud.
- API (Application Programming Interface) – a programmatically interface between two software to communication and exchange data. Salesforce has 7 major API interface out of the box, in addition to that APEX codes can be configured as API interface as well.
- AppExchange – an online App Store for the Salesforce Instance / Organization. This is where pre-built apps either by Salesforce Labs or 3rd Party enterprise release their apps or components.
Metadata aka Data that description data
The underlying structure of the Salesforce platform, including information around standard and custom fields and objects, page layouts, record types, profiles, permission sets, reports, dashboard.
Upgrades and Release
Salesforce does 3 release upgrades per year, they are named after the season followed by the year. Spring, Summer, Winter (there’s no Autumn).
Declarative vs Programmatic
- User Interface (applications, tabs, page layouts)
- Business logic (workflow, validation rules, approval processes, process builder)
- Data model (Object Manager – fields, relationship)
Salesforce features built with declarative tools:
- Are usually faster and cheaper to build.
- Generally, require less maintenance.
- Receive automatic upgrades when the tools are improved.
- Aren’t subject to governor limits.
Common declarative tools you can use in your Salesforce apps include:
- Quick Actions
- Page layout customization
- Formula fields and roll-up summary fields
- Validation rules
- Workflows and approval processes
- Custom fields and objects
We know it’s tempting to jump straight into coding. But just because you can doesn’t always mean you should. Before you commit to developing a new feature using programmatic tools such as Visualforce, consider whether you can implement your feature with declarative tools instead.
Of course, some apps can’t be built with declarative tools. Programmatic tools are often required for features that:
- Support specialized or complex business processes.
- Provide highly customized user interfaces or customized click-through paths.
- Connect to or integrate with third-party systems.
- Programmatic customizations
- Programmatic options include:
- Apex – an object-oriented programming language based in the cloud.
- SOAP API
- REST API
- MetaData API
- Bulk API
- Streaming API
- Tooling API
- Apex SOAP
- Apex REST
- Programmatic options include:
What about N-Tier Development Setup?
User interface (UX)
- Declarative – App Manager, Tabs (Classic), Page layout, Lightning App Builder
- Programmatic – Visualforce Page, Lightning Web Component, Sites
- Declarative – Workflow, Approval Process, Validation Rules, Process Builder, Lightning Flow
- Programmatic – Visualforce Page Controller, Lightning Controller, APEX, Trigger
- Declarative – Object Manager – custom fields
- Programmatic – Metadata API (We certainly don’t recommend this approach)
App in Salesforce
An App is a group of tabs that are group together by business requirements that provide functionality for a specific set of users. Users have the ability to switch apps to access a different group of functions (e.g Sales App, Marketing App)
App can be assigned to profiles so that they can be accessed.
The list of standard objects are:
Custom Objects are new objects that you will create and is unique to your instance of Salesforce. Custom Objects can be easily identified via the API Name, which append a __c to the name of the objects. (e.g Research__c)
List of standard fields in Custom Object are:
- Created By
- Last Modified By
Creation of Custom Objects
- Creation of Object Name, Description, Data Type
- Creation of Custom Fields, Data Type of Fields, Default Value
- Setting up of Access and Security, who have permission to access the object via the CRED permission.
- Organization-Wide Default Setting
Relationship in Objects
A relationship for Objects in Salesforce is similar to the database design such as foreign key and rules on how to handle if a parent record is deleted (cascading).
- Create a relationship that links one object to another. This relationship field allows you to navigate from records in one objects to the related records.
- This can be one-to-one or one-to-many relationship
- The parent record will have a related list view that they can see all the child records.
- Independent ownership and security
- Lookup can be required or optional. If the lookup is required the parent records can’t be deleted. Should the lookup is optional and the parent record is deleted the following can happen to the child records.
- Key Child Records, but clear the lookup fields.
- Don’t Allow deletion of the parent records.
- Delete this child records as well (cascading).
- A child can have up to 40 parents.
- A lookup can be converted to Master-detail if all the lookup fields on the child are filled.
- Create a relationship that links both records tightly to each other. The child records cannot survive without the parent record.
- Ownership and Security are determined by the parent.
- Cannot have sharing rules on the child records.
- Cannot contain a standard object as a child.
- Can only have 2 parents.
- An object that allows you to create a relationship between 2 master-details objects, typically in a many-to-many scenario for the master-details objects.
Fields in Salesforce
- You cannot delete this.
- Can you predefined certain values for it (e.g. Opportunity Stage in Opportunity object)
- Custom Field and data type created by the user of the Salesforce instance, will be unique to the instance of Salesforce.
- Can be easily identified by the API Name, with the appending of __c. (e.g Customer Spending__c)
- Field Level Security can be configured to be visible or editable for each profile or page layout.
- Deleted custom fields are stored in the recycle bin, recycle as of Spring 19 is not available in Lightning Experience, you have to switch to Classic View to restore it.