Module Objectives
1.List feature that affect access to data at the record level.
2.List the organization wide default(OWD) settings.
3.List and define the sharing levels.
4.Set Organization wide defaults.
5.Create a role.
6.Create a public group.
7.Create a sharing rule.
8.Manually share records.

Module Agenda
1.Overview of Record Access
2.Record Ownership
3.Organization Wide Defaults
4.Roles and "Groups" of Users
5.Sharing

Record Access
1.The sharing model determines access to specific records
- Who has access?
- What level of access?
- Why they have access?
2.Access to records is dependent on object CRUD.

Levels of Record Access
1.Full Access privileges:
- View
- Edit
- Transfer ownership
- Delete

- Share
 

Ways to Obtain Access to a Record
1.Full Access:
- Owner Field
. User
.Queue member
- Above user(who has ownership)in role hierarchy
- Profile permission:"Modify All Data"
2.Read/Write or Read Only access:
- Organization Wide Default
- Above user(who has read/write or read only access) in role hierarchy
- Manually sharing 
- Sharing rules
- Apex sharing
- Profile permission: "View All Data"

Let's compare...Profiles & the Sharing Model
Profiles
1.Controls access to objects(Candidates, Positions,etc.)
2.Cotrols access to fields(Candidate Name, Min pay, Skill required,etc.)
Sharing Model
1.Controls access to records(ex:one candidate,Joe Schmoe,one position,Black Box tester)
So, a User'profile might specify that a user can see candidates, but the sharing model determines which candidates that user can see.
The sharing model might determine that a user can see Joe Schmoe, But the profile specifies which field that user can view and edit.

Record Ownership
1.Most Records have an associated Owner
-Exception:child records in a master-detail relationship inherit access rights from parent record
2.Types of Owners
- Users
- Queues 
- Record owners have Full Access

Universal Containers Scenario
1.At Universal Containers, Al employees are allowed to view open potions.
2.There will never be any position that an employee is not permitted to see.
3.Hiring managers should be able to update and view all fields only for positions where they are the hiring manager.
4.Recruiters should be able to view and update all positions that they own.
5.Interviews should only be able to view candidates and job applications to which they have been assigned.
6.Interviews should be able to create and edit their own reviews, but they shouldn't be able to read reviews of others.
7.Universal Containers needs to set organization wide defaults for the objects in its Recruiting Application to satisfy these requirements.

What are Organization Wide Defaults (OWD)?
1.Organization Wide defaults are a security setting that defines the baseline level of access to data records that you do not own.
2.They are the only way to restrict access to data in the sharing model.
3.They can be defined for the custom as well as several standard objects.
4.Access levels:
- Public Read/Write(all users can see and edit every record)
- Public Read Only (all users can see every record)
- Private (users can only see records that they own)

Determining How to Set OWD for an object
Questions to ask:
1.Who is the most restricted user of this object?
2.Is there ever going to be an instance of this object that his user shouldn't be allowed to see?
3.Is there ever going to be an instance of this object that this user shouldn't be allowed to edit?

Organization Wide defaults considerations
1.Child records in master-detail relationships inherit their organization wide defaults from their parents.
2.Child records in look-up relations have independent organization wide defaults from their parents.
3.Changing organization wide defaults can produce unintended consequence consider your business requirements carefully before setting your organization wide defaults.
4.Change organization wide defaults can potentially delete manual sharing if that sharing is no longer needed,
 - For example, change from Private to Public Read/Write.

Review
1.True or False:Child records in master detail relationships have their own organization wide defaults.
False
2.What is the most restrictive level of access that can be set on organization wide defaults?
Private.
3.True of False:Organization wide defaults can be set for both standard and custom objects.
True.
4.IF even one person in your organization is not allowed to see position data, whant must you OWD be?
Private.

Universal Containers Scenario
1. Universal Containers' role hierarchy:

What are Roles and Role Hierarchy?
1.A Role:
- Controls the level of visibility that users have to an organization's data.
- A user may be associated to one role.
2 The Role Hierarchy:
- Controls data visibility.
- Controls record roll up for reporting
- Users usually inherit the special privileges of data owned
- Not necessarily the company's organization chart.

Role Hierarchy Considerations
1.With Standard Objects, access to records rolls up through the Role Hierarchy.
2.With Custom Objects, developers choose whether or not access should roll up through the role hierarchy.
- Determined by the Grand Access using Hierarchies setting on organization wide defaults.

Knowledge Check
Assuming organization wide defaults are set to Private and Grand Access Using Hierarchies is checked:
1.What can Cynthia Capobianco see?
2.Can Andrew Golbberg see records owned by Amy Lojack?can he edit them?
3.Can Megan Smith edit records owned by mario Ruiz?

Public Groups
1.Public groups are a way of grouping together users for access.
- Can be used in s sharing rule.
- Can be used to give access to folders.
2.Every organization has a default public group:Entire Organization
3.Public Groups can be mad up of any conbination of 
- Users
- Roles
- Roles and Subordinates
- Public Groups
4.When public group are and up of roles or roles and subordinates, when a user is added or removed from the role,public group membership is updated.

Universal Containers Scenario
1.Megan Smith's team cannot see any reviews owned by Andrew Goldberg's Team
2.Ben Stuart cannot see reviews written by QA or Product Management
3.Melissa Lee cannot see records for candidates she needs to interview

Sharing Rules and Manual Sharing
1.Sharing Rules:
- Automatic exceptions to organization wide defaults for particular groups of users.
- used to open access to records.
- Never permitted to be more strict than organization wide default settings.
2.Manaul Sharing:
- used to open up access to records on a one-off basic when it is too difficult to come up with a consistent set of users who need access.
- Granted by owners, anyone above owners in the role hierarchy, and system Administrators.

Apex Sharing Reasons
1.Click the Sharing button on a record displays the various reasons that a user might have access to a record. Example of sharing reasons include:
- Administrator
- Owner
- Custom Object Sharing Rule
2.Establishing Apex sharing reasons allows developers to define the reason that a user or group of users might have access to a record.

Building Applications with Force.com and VisualForce(Dev401)( 八):Designing Applications for Multiple Users: Controling Access to Records.的更多相关文章

  1. Building Applications with Force.com and VisualForce(Dev401)( 八):Designing Applications for Multiple users:Managing your users' experience II

    Dev 401-008: Design Applications for Multiple Users' Experience Part 2Universal Containers Scenario1 ...

  2. Building Applications with Force.com and VisualForce(Dev401)(七):Designing Applications for Multiple users:Managing your users' experience I

    Dev 401-007 Designing Applications for Multiple users: Managing your users' experience part 1 Module ...

  3. Building Applications with Force.com and VisualForce(Dev401)(十):Designing Applications for Multiple Users: Building Business Processes that You Want

    Dev401-011: Building Business Processes that You Want Course Objectives1.Describe the capabilities o ...

  4. Building Applications with Force.com and VisualForce(Dev401)(十一):Designing Applications for Multiple Users: Proseving Data Quality

    Dev401-012:Proseving Data Quality Universal Containers Scenario1.Universal Containers(UC) wants to e ...

  5. Building Applications with Force.com and VisualForce(Dev401)( 九):Designing Applications for Multiple Users: Putting It All Together

    Module Objectives1.Apply profiles, organization wide defaults, role hierarchy and sharing to given a ...

  6. Building Applications with Force.com and VisualForce(六):Designing Applications for Multiple users: Accommodating Multiple Users in your App

    Dev 401-006 Designing Applications for Multiple users: Accommodating Multiple Users in your App. Cou ...

  7. Building Applications with Force.com and VisualForce (DEV401) (二) : Application Essentials:Designing Application on the Force.com Platform

    Dev 401-002:Application Essentials:Designing Application on the Force.com Platform Course Objectives ...

  8. Building Applications with Force.com and VisualForce(Dev401)(十八):Visualforce Pages: Introduction to Visualforce

    Dev401-020:Visualforce Pages: Introduction to Visualforce Course Objectives1.Understand the benefits ...

  9. Building Applications with Force.com and VisualForce (DEV401) (四):Building Your user Interface

    Dev 401-004:Application essential:Building Your user Interface: Module Agenda1.Custom Applications2. ...

随机推荐

  1. 万达乐园VS阿里帝国 谁将是未来娱乐产业的龙头?

    国内实体行业大佬王健林和互联网行业巨头马云,这次又不约而同地想到一块去了.从王健林叫板迪士尼大搞借势营销,到最近马云成立大文娱工作领导小组,明显的趋势表明娱乐越来越成为各界大佬们未来掘金的新战场.只不 ...

  2. 安卓权威编程指南 挑战练习 25章 深度优化 PhotoGallery 应用

    你可能已经注意到了,提交搜索时, RecyclerView 要等好一会才能刷新显示搜索结果.请接受挑战,让搜索过程更流畅一些.用户一提交搜索,就隐藏软键盘,收起 SearchView 视图(回到只显示 ...

  3. 安卓权威编程指南 挑战练习 13.8 用于RecyclerView的空视图

    当前,CriminalIntent应用启动后,会显示一个空白列表.从用户体验上来讲,即使crime列表 是空的,也应展示提示或解释类信息. 请设置空视图展示类似“没有crime记录可以显示”的信息.再 ...

  4. 通过python脚本读取多台虚机硬件信息

    主要通过fabric模块实现 import fabric ''' hosts = [] ,): host = "192.168.75." + str(i) hosts.append ...

  5. Swift和Objective-C中的协议(protocol)有什么异同

    Swift和Objective-C中的protocol的相同点在于:两者可以被用作代理.Objective-C中的protocol类似于Java中的Interface,在实际开发中主要用与适配器模式( ...

  6. ubuntu 18.04门等字不正常

    sudo vim /etc/fonts/conf.d/64-language-selector-prefer.conf 该文件配置了 Noto Sans CJK 的优先级.i进入编辑后,可以看到,JP ...

  7. 7-49 求前n项的阶乘之和 (15 分)

    从键盘输入一个整数n,求前n项的阶乘之和,1+2!+3!+...+n!的和 输入格式: 输入一个大于1的整数.例如:输入20. 输出格式: 输出一个整数.例如:2561327494111820313. ...

  8. 使用timeit测试Python函数的性能

    timeit是Python标准库内置的小工具,可以快速测试小段代码的性能. 认识timeit timeit 函数: timeit.timeit(stmt, setup,timer, number) 参 ...

  9. Yuchuan_Linux_C 编程之十 进程及进程控制

    一.整体大纲 二.基础知识 1. 进程相关概念 1)程序和进程 程序,是指编译好的二进制文件,在磁盘上,不占用系统资源(cpu.内存.打开的文件.设备.锁....)     进程,是一个抽象的概念,与 ...

  10. 如何把.a转化为framework

    在Xcode中,framework比分散的.a和.h文件用起来方便的多.然而,只要你一找如何制作framework,多半你就会放弃,“怎么这么麻烦?!” 尤其是当已经有现成的.a和.h时,你就会更不能 ...