###BeginCaseStudy###
Testlet 1
Background
Coho Winery implements a SharePoint farm. They have an intranet site for company employees and an
extranet site for their customers. Coho Winery sells products to wholesale and retail customers. Customers
must be able to order specific brands and pay directly.
Business Requirements
Site Collection
The company must organize its main enterprise site to have multiple site collections for different wine brands
from various regions. Site documents must have a consistent look and feel.
New Features
The first version (1.0.0.0) of the feature must support the addition of newer functionality when the feature is
upgraded to version 1.5.0.0.
Technical Requirements
General
A Document content type named Finance must be created at the site level. It must contain two site columns
named Customer Name and Transaction Date.
The Order Details and Payment Confirmation content types must be derived from the Finance content type.
Workflows associated with document content types must be initiated when documents are generated.
When Payment Confirmation documents are generated, a workflow must send a notification to the customer
by email.
User Authorization
A custom role named Wholesale must be created. Wholesale customers must be assigned to this role in
order to view the promotions page.
A custom permission level must be created. This permission level must add the ViewPages permission to
the existing base permissions. This permission level must be added to Wholesale user role.
Anonymous users must be able to browse the site with limited access to resources.
The web application has been created with anonymous access enabled.
Users are prompted for credentials when they browse to the site.
Application Lifecycle Management
Versioning of the solution artifacts must adhere to industry best practices.
In a future upgrade process, a new site column named Division must be added to the Finance content type
programmatically.
Only one version of an assembly must be available at runtime.
Code based hot fixes must be deployed directly to the Global Assembly Cache on all SharePoint servers.
During maintenance periods, content must be available but must not be modified.
Backup and Recovery
In the event of hardware failure, the SharePoint environment must be restored to the most recent date.
The backup process must not degrade system performance.
Performance Optimization and Memory Usage
SPSite objects must be removed from memory immediately after the objects go out of scope.
Automation
Windows PowerShell must be used to automate all operations wherever possible.
Application Structure
Relevant portions of the application files are shown below. (Line numbers in the code segments are included for
reference only and include a two-character prefix that denotes the specific file to which they belong.)
ContentType.cs
UserAuthorization.cs
ContentType.Finance.Template.xml
ExportWholesaleSites.ps1
###EndCaseStudy###
HOTSPOT
You need to add code at line UA09 to create the custom role.
How should you complete the relevant code? (To answer, select the appropriate code segment from each dropdown list in the answer area.)
Hot Area:
Explanation:
* SPRoleDefinition
The role definition, or permission level, is the list of rights associated with the role. For example, a user with the
Read role can browse pages in the Web site and view items in lists. A role definition is a collection of rights
bound to a specific object. Role definitions (for example, Full Control, Read, Contribute, Design, or Limited
Access) are scoped to the Web site.
* SPWeb.Update
Scenario: User Authorization
A custom role named Wholesale must be created. Wholesale customers must be assigned to this role in order
to view the promotions page.
Incorrect:
Not RoleDefinitionCollection: SPWeb does not have a member RoleDefinitionCollection.
Not web.Commit(): SPWeb does not have a method Commit().
Not web.AddProperty(CustomRole,_permissions)
Just need to create the role, not add permissions.
SPWeb members; SPWeb methods