Create your own awesome maps

Even on the go

with our free apps for iPhone, iPad and Android

Get Started

Already have an account?
Log In

Force.com Platform Fundamentals by Mind Map: Force.com Platform Fundamentals
5.0 stars - 1 reviews range from 0 to 5

Force.com Platform Fundamentals

author: Hans Pan

updated on 7/23/2012

1. introduction

the technologies behind

multitenant architecture, `latest patches and functionalities, no worry on update / upgrade

metadata-driven development model, metadata in DB, not hard coded, higher productivity

web service API

Apex

Visualforce

salesforce mobile

sites, share apps installed on salesforce to users out of salesforce, no username and password needed

2. about recruiting app

technologies offered by platform

custom objects

security and sharing rules

workflow and approval process

custom reports and dashboards

visualforce

3. reviewing database concept

an object in force.com is more than a table

built-in user interface

security and sharing model applied

workflow and approval process activated and supported directly

reports supported directly

terms

object, standard object, custom object

field, standard field, custom field

data value

4. building a simple app

an app

name

logo

set of tabs

default landing tab

profile assignments, {profile : is visible, is default}

in iterative way

unlike with traditional coding projects, your app is always functional. there is no build or compile phase...

an object

name, lable name, object name

record name field, data type

optional features, allow reports, allow activities, track field history

deployment status

a tab

for an object

color scheme and icon

profile assignments, {profile : option}, default on, default off, tab hidden

app assignments, {app : is accessible

a field

data type, text type, text, text (encrypted), text area, text area (long), text area (rich), currency type, checkbox type, date type, build-in popup calendar dialog

field lable name

field name

field security setting on various profiles, {profile : is visible, is readonly}

layout field setting

5. enhancing with advanced fields

advanced fields

picklist type, standard picklist, multi-select picklist

field dependency, controlling field, dependent field

custom formula field

dynamic default field value

validation rules

rule name

error condition

error message

where to display error message

page layout

section, section name, layout, one column, two columns, tab-key order, display section header on

field properties, required field, readonly field

6. extending using relationships

a relationship custom field

a many-to-one relationship on referring and referred

put the relationship field onto the object which is one side on the many-to-one relationship

types, lookup relationship field, simplest, most flexible, optional, how, put a lookup relationship field on a hosting / referring object, referring to another object where no extra field is put on, impact, on user interface page of host / referring object, an extra field (referring to another object) appears, on user interface page of referred object, an extra related list appears, customizing related list fields on the parent object has limit - only display fields from child object, cannot span to other related objects, implementation, related to (another / referred object), field label name, child relation name, lookup filter, is required, what to do if the lookup record is deleted, clear lookup field, cannot allow deleting lookup field, related list label, master-detail relationship field, how, put the relationship field on the detail / child object, the another / referred object is master / parent object, impact, the ownership and sharing rules of detail / child object is inherited from master / parent object, when the master object is deleted, the detail objects are deleted automatically, master-detail relationship field is mandatory / required on detail object, once the relationship is created between detail and master, it cannot be changed., master object can have rollup summary field based on detail object, multi-level master-detail relationship can be created to do multi-level rollup, when to use, master owns details, detail cannot exist without master, implementation, no need to create tab for detail object - they are accessed through master object, related to (referred object), field label name, field name, child relationship name, sharing setting, read-only, read/write, is reparenting allowed, set detail object's related list layout in a different way

examples, lookup, hiring manager relationship from position to user, job application between position and candidate, master-detail, review on job application

many-to-many relationship

junction object, two master-detail relationships, first master-detail relationship will be primary, junction object uses color scheme and icon of primary master, ownership and sharing rules of junction object is determined by primary master, in secondary master-detail relationship, detail objects are deleted as well once the master object is deleted.

data import

extra fields

external ID field, indexable, searchable, used for importing data

text field, length, is required, is unique, is case sensitive, is external ID, default value

email field, is required, is unique, is external ID

number field, length (left of decimal point), decimal place (right of decimal point)

checkbox field, default: is checked

phone field

rollup summary field

formula field, cross-object formula

search layout

search results

lookup dialogs

tab, related list pay layout is determined by both parent object's related list properties (first) and child object's tab layout setting

search filter fields

references

functions in formula

TODAY()

HYPERLINK()

IFBLANK()

IFNULL()

8. Collaborating with chatter

setting

enable

email notification

approval posts

coworker inviation

customer inviation

field tracking

{object : field}

9.Using custom workflow and approval processes

workflow

workflow rule, implementation, related to an object, give rule name, define when evaluating, when a record is created, each time a record is created or edited, when a record is created / edited and criteria is not met before, define rule criteria, search / filter criteria format, formula expression format

workflow action, what we can do?, task, only can be assigned to user in salesforce app, implementation, assgined to, user, role, record owner, associated object, due date, status, priority, field update, alert, to anyone who has valid email, even outside salesforce app, outbound message, to external web service, when they can be done?, immediately, time dependent, after sometime when the rule is met, before sometime than a date time field, implementation, time trigger, designate a default workflow user

associated with a single object

queue

impelementation, queue email, supported objects, queue members, by individual users, by roles, by roles and subordinates, by group

email template

types, text, html, custom, visualforce

approval process

apply approval process to all records or certain records matching criteria

concepts, initial submission, record locking, automatical approval, final approval, final reject, actions associated with iniitial submission, approval / rejection, final approval / rejection., approval step (has), approver(s), filter criteria, approval action, rejection action, recall action, approval action, not associated with approval step, action for initial submission, action for final approval, action for final rejection, action associated with approval step, same types as workflow action, task assignment, field update, notification, outbound message, once approval process is activated, approval steps cannot be edited even process deactivated

best practice, notify approver through email once submission

implementation, target object, who can edit once it is locked, administrator only, administrator or assigned approver, 2 ways to config, jump star, standard, next automated approver determined by manager, record owner's manager, record submitter's manager, approver page layout, only can be configured / provided in approval process configuration process, fields displayed on the page layout, security setting, from where approver can access approval page?, in salesforece app, also available from wireless enabled mobile device, who can submit, adding approval history related list to the target object all pay layout, allow submitter to recall, approval steps, step number, step name, step record filter criteria, select approver, submitter select manually, assigned automatically by using user field specified earlier, assigned to a specified queue, assigned to approver(s) automatically, only need first approval / rejection, need unanimuous approval, allow approver's delegate to handle

process visualizer

10. Analyzing data with reports and dashboards

the need of company managers and executive staff

report

is composed of, table of data, columns, records, records filter, one or multiple grouping, graph

3 formats, tabular, simplest, no grouping, no graph, summary, grouping row of data, subtotal view, charts, when used, subtotal required, hierarchically grouped, matrix, grouped by both row and column, graphs, when used, see data by two dimensions that aren't related

report tab

report folder

dashboard

show data from source reports as visual components

every dashboard has a running user, which data is displayed in the dashboard, access to the details depend on viewer's security setting

dynamic dashboard

5 varieties, charts, bar, column, line, pie, donut, funnel, tables, metrics, gauges, visualforce pages

schedule a dashboard freshing

custom report type

primary object

related objects

relationship between primary and related

page layout

create a report

select a report type

select report format

define filters, standard filters, by owner, by date, custom filters, field filter

adding charts

varies, create a summary report, select grouping field(s)

11. Moving beyond point-and-click app development

mash-up

web service

visualforce

visualforce pages

controller, the style of the page

mass update

custom buttons

detail page button

list button

sites

public access setting

7. Security and sharing data

page layout setting

{object : page layout}

standard and custom objects

data administration

global data administration, View All Data, Modify All Data

app / object data administration, View All (on object level), Modify All (on object level)

concepts

static, 3 levels of access, object level, 2 places to define, profile, permission set, field level, defined in profile, record level, 4 ways to set, organization-wide defaults, role hierarchies, sharing rules, manual sharing, profile, the following can be set through profile, app setting, tab setting, object permissions, field permissions, record types, page layouts, visualforce pages access, apex class access, user/function permissions, login IP, login hours, define profiles as per job function, 6 standard profiles, ready-only, standard user, marketing user, contract manager, solution manager, system admin, app setting, which apps are visible to that profile, which app is default when login, tab setting, which tabs are displayed by default, which tabs are not displayed but available through +, which tabs are totally hidden, user/function permissions, admin user permissions, general user permissions, field securities, 2 ways to define, thru profile, security control -> field accessibilities, record permission, level 1 - org-wide defaults, most restricted definition, 3 options, private, public read-only, public read/write, 3 questions, who is the most restircted user of this object?, is there ever going to be an instance of this object that this use shouldn't be allowed to see?, is there ever going to be an instance of this object that this use shouldn't be allowed to edit?, {object : default access option}, standard object, custom object, detail object in master-detail relationship inherits sharing settings from master object, level 2 - role hierarchy, role has a report to role, level 3 - sharing rules, need a public group, object - sharing rule (*), rule name, records to share (source), by owner, by criteria, users to share with (destination), public group, roles, roles and subordinates, sharing access level, read-only, read/write, level 4 - manual sharing, record type, show ... to different users based on profiles, different picklist values, different page layouts

dynamic, create a user-object access matrix

best practices

create new profiles from standard profiles, then edit

whether role hierarchy is used to grant access can be defined / changed / set on each object

cannot define sharing rules on the detail object in master-detail relationship

sharing access to a junction object record is determined by, sharing access to both associated master records, Sharing Setting option on the relationship field

how-to-do

1. create profile (thru cloning)

2. set app access thru profile, {custom app : is visible}, which custom app is default

3. set tab access thru profile, options, default on, default off, tag hidden

4. set object security thru profile, {object : is able to C / R / U / D, is able to view / modify all}, view all - be able to ready all records, modify all - full access to all records

5. set field-level security thru profile, {object : field security setting}, {field : is visible, is read-only}, editable, read-only, hidden

6. set org-wide defaults for record level security

7. set role hierarchy, create a role, assign users to that role

8. set sharing rules

9. manually share records

10. set record types, select an object, create a record type, profile setting, picklist value setting, define different page layouts for different record types and assign them to different profiles

11. delegating data administration, 2 ways to do, object-level permission, 2 types of access, view all, modify all, vs global data administration, view all data, modify all data, delegated administration group, how-to-do, group name, delegated administrators, user administrations, assignable profiles, custom object administration

function permissions, administrative permissions, general user permissions, {function : is checked / enabled}