###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###
After deploying a solution, a code-based hotfix becomes available.
You need to deploy the hotfix.
What should you do? (Each correct answer presents part of the solution. Choose all that apply.)
A.
Use assembly binding redirection in the web application configuration file.
B.
Increment the assembly file version of the assembly.
C.
Increment the product version of the assembly.
D.
Increment the assembly version of the assembly.
E.
Use assembly binding redirection in the assembly policy file.
Explanation:
A:Assembly versions are everywhere in SharePoint – web.config files, web part definitions, workflow definitions,
event receiver bindings – the list goes on. In each case, the version number is absolutely required so that
SharePoint can load the code to run at that time. If you update an assembly’s version, you have two choices to
ensure your code can still be loaded:
/ Find and update every reference to the previous assembly version.
/ Use a binding redirect in the relevant .config file (e.g. web.config) to point to the new version of the assembly.
C: Assembly Version : This is the version number used by framework during build and at runtime to locate, link
and load the assemblies. When you add reference to any assembly in your project, it is this version number
which gets embedded. At runtime, CLR looks for assembly with this version number to load. But remember this
version is used along with name, public key token and culture information only if the assemblies are strongnamed signed. If assemblies are not strong-named signed, only file names are used for loading.
Incorrect:
not B: Assembly File Version : This is the version number given to file as in file system. It is displayed by
Windows Explorer. It’s never used by .NET framework or runtime for referencing.
From scenario:
* solution artifacts must adhere to industry best practices.
* Code based hot fixes must be deployed directly to the Global Assembly Cache on all SharePoint servers.
* Only one version of an assembly must be available at runtime.