Business Scenario:
You are the lead architect, developer, and web administrator of SharePoint 2013 for your company, Consolidated Messenger. Consolidated Messenger is a national company with hundreds of franchises.
Consolidated Messenger focuses on bicycle- based courier services in metropolitan areas. Consolidated Messenger sells franchises to franchisees. Franchisees have three user types:
Technical Scenario:
When a franchisee purchases a franchise, they are provided with:
Access to Consolidated Messenger’s SharePoint 2013 multi-tenant farm located at https://sp.consolidatedmessenger.com
Access to a Customers list in the Corporate site collection, named CorporateSiteCollection, which includes a list of all Customers across all franchisees A single site collection for each franchisee, named FranchiseeSiteCollection
An unlimited number of customer subsites for each franchisee
Consolidated Messenger has funded the creation of three apps.
Solution Architecture:
Site Collection Structure:
SharePoint Farm Design:
My Sites are not created for each Franchisee unless they are requested.
Requirements
Business Requirements:
Technical Requirements:
Each Franchise site collection must include a SharePoint document library to store CSV files.
FranchiseMonitor App
Application Design:
Franchise employees use Microsoft Excel 2013 to create a list of pick-up and dropoff locations for each bicycle courier for each day.
The spreadsheet is named The FranchiseMonitor app must allow a Franchise employee to upload Appointments.csv.
Business Requirements:
The FranchiseMonitor app must allow a Franchise employee to upload Appointments.csv to a SharePoint document library in each Franchisee site collection, and send Appointments.csv to the CloudManager app.
Technical Requirements:
The FranchiseMonitor app must display the courier’s location on the bicycle courier’s microfeed on the SharePoint farm if the courier has remained stationary for more than three minutes.
The FranchiseMonitor app must be listed on the Site Contents page of the host web.
The FranchiseMonitor app must use claims-based authentication, once launched, to authenticate the franchisee against an API
provided by Margie’s Travel. The FranchiseMonitor app must be deployed to all site collections by the SharePoint administrator.
The FranchiseMonitor app must be immediately available to be installed on websites within the tenancy on a website-by-website
basis to any tenant contained in the SharePoint farm.
The FranchiseMonitor app must be able to create lists within SharePoint to store records of the CSV files so that they may be sent to
the CloudManager app.
CourierMobile App Application Design:
Each bicycle courier for each franchise is provided a Microsoft Surface Pro device with LTE. Most bicycle couriers do not return their
Microsoft Surface Pro
devices back to their franchise locations nightly.
The CourierMobile app runs on the bicycle courier’s Microsoft Surface Pro device.
Margie’s Travel provides an API to enable external developers to authenticate by using OAuth and claims-based authentication.
Many couriers are members of Margie’s Travel.
The CourierMobile app receives Microsoft Outlook appointments and Outlook appointment cancellations from the CloudManager
app. The appointments include the address of the location for pick-up or drop-off.
Business Requirements:
The CourierMobile app must display a Bing map to display route data when Outlook appointments or appointment cancellations are received. The CourierMobile app must capture the location of the Microsoft Surface Pro device on a regular interval. This data must be captured regardless of whether the device has connectivity. The CourierMobile app must be able to connect to the SharePoint Customers list and verify whether the account belongs to the franchisee to avoid pickups or deliveries to customers that do not belongs to the franchisee. When the CourierMobile add accesses the Customers list, it must only read its contents with the minimum permissions necessary.
Technical Requirements:
The CourierMobile app must provide the ability to authenticate by using the courier’s Microsoft account or the Margie’s Travel API .
The CourierMobile app must include a custom sign-in page that includes branding from Consolidated Messenger and Margie’s
Travel, based on the authentication provider selected by the user.
The CourierMobile app must be able to capture more than 30 million data points of location data daily as they occur and upload the
location data to the cloud when connected to the Internet.
CloudManager App Application Design:
CloudManager processes two sets of data: Updates to the list of appointments received from the
FranchiseMonitor app Geo-location data received from the
CourierMobile app
Application Requirements:
The CloudManager app must implement business logic that parses Appointments.csv and geolocation data and sends Appointments or Appointment cancellations to the CourierMobile app.
Technical Requirements:
The CloudManager app must elastically scale to capture courier location data as the number of bicycle couriers
increases or decreases. The CloudManager app must process bicycle courier location data from a data store capable of storing more than 30 million items.
Solutions Code MyClaimsProvider.cs:
AppManifest.xml for Franchise Monitor app:
QUESTION 1
You need to ensure that the CourierMobile app determines whether the franchisee owns the account. What should you do?
A. Use OAuth and App only security. Request the Read right from the http://sharepoint/content/sitecollection/web/list scope URI.
B. Use OAuth and App+User security. Request the Read right from the http://sharepoint/content/sitecollection scope URI.
C. Use SPSecurity.RunWithElevatedPrivileges to connect to SharePoint and read from the Accounts list in the site collection.
D. Use the SharePoint user credentials of the bicycle messenger to connect to SharePoint and read from the Accounts list in the site collection.
Correct Answer: A Explanation/Reference: Business Requirements
The FranchiseMonitor app must allow a Franchise employee to upload Appointments.csv to a SharePoint document library in each
Franchisee site collection, and send Appointments.csv to the CloudManager app.
The FranchiseMonitor app must display the courier’s location on the bicycle courier’s microfeed on the SharePoint farm if the courier
has remained stationary for more than three minutes.
The CloudManager app must implement business logic that parses Appointments.csv and geo-location data and sends Appointments
or Appointment cancellations to the CourierMobile app.
The CourierMobile app must be able to connect to the SharePoint Customers list and verify whether the account belongs to the
franchisee to avoid pickups or deliveries to customers that do not belongs to the franchisee. When the CourierMobile add
accesses the Customers list, it must only read its contents with the minimum permissions necessary.
QUESTION 2
A franchisee deletes several sites from the franchise’s site collection. The franchisee site collection administrator must recover the sites. You need to instruct the franchisee site collection administrator on how to access the page to recover the sites.
What should the site collection administrator do to get to the appropriate page?
A. Select General Settings for the Web Application in Central Administration and change the second stage Recycle Bin settings to 100 percent.
B. Select General Settings for the Web Application in Central Administration and change the first stage Recycle Bin settings to 0 days.
C. Select the Recycle Bin on the Site Settings page. Choose the appropriate sites and select Restore Selection.
D. Select the Recycle Bin in the Quick Launch page. Choose the appropriate sites and select Restore Selection.
Correct Answer: A Explanation/Reference:
QUESTION 3
You need to ensure that the CloudManager app can write route progress check-ins to the courier’s microfeed. What should you do? (Each correct answer presents part of the solution. Choose all that apply.)
A. Ensure that SP.RequestExecutor.js can be accessed in a browser window with no errors.
B. Ensure that the CloudManager app has the Manage permission request scoped to the URL for the franchisee’s My Site.
C. Ensure that the MySite host is provisioned for each franchisee.
D. Ensure that all cookies are made available between the My Site and the CloudManager app domain.
E. Ensure that the CloudManager app has the Write permission request scoped to the URL for the franchisee’s My Site.
F. Ensure that SP.UserProfiles.js can be accessed in a browser window with no errors.
Correct Answer: ABDE Explanation/Reference:
$.getScript(scriptbase + ‘SP.Runtime.js’, function () { $.getScript(scriptbase + ‘SP.js’,
function () { $.getScript(scriptbase + ‘SP.RequestExecutor.js’, printAllListNamesFromHostWeb); } ); } );
function printAllListNamesFromHostWeb() { var context = new SP.ClientContext(appweburl); var factory = new SP.ProxyWebRequestExecutorFactory(appweburl); var context.set_webRequestExecutorFactory(factory); var appContextSite = new SP.AppContextSite(context, hostweburl);
…. ….. }
http://www.mavention.com/blog/sharePoint-app-reading-data-from-host-web
From scenario:
Business Requirements
The FranchiseMonitor app must allow a Franchise employee to upload Appointments.csv to a SharePoint document library in each
Franchisee site collection, and send Appointments.csv to the CloudManager app.
The FranchiseMonitor app must display the courier’s location on the bicycle courier’s microfeed on the SharePoint farm if the courier
has remained stationary for more than three minutes.
The CloudManager app must implement business logic that parses Appointments.csv and geo-location data and sends Appointments
or Appointment cancellations to the CourierMobile app.
QUESTION 4
Some franchisees want to launch the FranchiseMonitor app from a link named Launch Franchise Monitor that is displayed next to the name of the user who is currently logged in.
Other franchisees do not want to have the link present. The link must be contained within the same out-of-the-box control, as shown in the screenshot below:
You need to configure support for the Launch Franchise
Monitor link. Which four actions should you perform in
sequence?
(To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.)
Select and Place:
Correct Answer:
Explanation/Reference:
http://www.learningsharepoint.com/2013/02/10/addremove-links-in-top-suitebar-skydrivesitesnewsfeed-in-sharepoint-2013/ http://www.codeproject.com/Articles/569897/UsingplusDelegateplusControlplusinplusSharepoint
1.
Add the User control to project.
2.
Add a Module to project which will take care of adding the user control to Delegate control. I named it as “DelegateModule”. Delete sample.txt file and modify the Elements.xml to resemble something like this.
3.
Create a feature and add “DelegateModule” to it.
http://mihirsharepoint.wordpress.com/2012/11/15/create-delegate-control-in-sharepoint/
1.open the visual studio and create an empty project.
2.
Add the control templates mapped folder, visual webpart, empty element like below image.
3.
Add the code to the designer surface of the visual webpart
4.
In elements.xml file under the empty element you added, add the following code
5.
Save the changes and deploy into the site.
QUESTION 5
You need to implement the custom claims provider for the SharePoint farm.
Which code segments should you implement?
(Each correct answer presents part of the solution. Choose all that apply.)
Correct Answer: BDEF Explanation/Reference:
http://technet.microsoft.com/en-us/library/microsoft.sharepoint.administration.claims.spclaimprovider_members.aspx http://sportstoday.us/technology/sharepoint-2013—claims-based-authentication,-federated-identities,-and-oauth-%28part-5%29—sharepoint-trusted-ips—- creating-a-custom-claims-provider.aspx
Depending on the authentication type you use, SharePoint will access one of three default claims providers: SPActiveDirectoryClaimProvider. Used by Windows Authentication
SPFormsClaimProvider. Used by FBA
SPTrustedClaimProvider. Used by SAML-based (IP) authentication
SupportsEntityInformation When implemented in a derived class, determines whether the claims provider supports information
about augmenting claims to entities.
FillClaimsForEntity When implemented in a derived class, augments custom claims into a
claims token. Implement if you want to add a claim for authorization.
FillSchema When implemented in a derived class, fills the schema of the entity. The schema is used by People Picker
control to display the entity data.
FillClaimTypes When implemented in a derived class, specifies the set of possible claims types that the claims provider supports. FillClaimValueTypes When implemented in a derived class, specifies the set of possible claim value type for claim type that the claims provider supports. FillEntityTypes When implemented in a derived class, specifies the set of possible entity types that the claims provider is supporting for display in the People Picker control. To implement name resolution, you need to override this abstract methods
*
From scenario: Franchise Managers must be able to add users to a site in a People Picker control based on claims.
SupportsHierarchy When implemented in a derived class, determines whether the claims provider supports hierarchical display. FillHierarchy When implemented in a derived class, provides the People Picker control with the ability to load portions of the tree from the claims provider and specifies the hierarchy for displaying the picker entities.
*
From scenario: the claims must be displayed by using the flattened structure.
SupportsResolve When implemented in a derived class, determines whether the claims provider supports resolve operations. FillResolve When implemented in a derived class, resolves claims by using the type-in control of the claims picker.
*
From scenario: Franchise Managers must be able to add users to a site in a People Picker control based on claims. Franchise Managers must be able to search for claims by using the type-in control of the claims picker.
Name When implemented in a derived class, gets the unique name for the claims provider. You must implement the Name property for all custom claims providers.
SupportsSearch When implemented in a derived class, determines whether the claims provider supports search operations. FillSearch When implemented in a derived class, fills search results in People Picker control window.
* From scenario: Franchise Managers must be able to search for claims by using the type-in control of the claims picker.
QUESTION 6
You need to set the appropriate permissions for the franchise employees’ customer list and customer subsite access. What should you do?
A. Add franchise employees to the Members group in the CorporateSiteCollection site collection. Break inheritance at the franchisee subsite level. Create a custom role definition at the franchisee
subsite level. Add franchise employees to the custom
role.
B. Create a custom role definition in the CorporateSiteCollection site collection with Limited Access to the Customers list. Add franchise employees to the custom role at the CorporateSiteCollection site collection. Break inheritance at the subsite level. Add franchise owners to the Owners group at the subsite level.
C. Create a custom role definition in the CorporateSiteCollection site collection with Limited Access to the Customer list. Add franchise employees to the custom role. Allow full inheritance of the role definition and permissions at the site level.
D. Add franchise employees to the Visitors group in the CorporateSiteCollection site collection. Break inheritance at the franchisee subsite level. Create a custom role definition at the subsite level with Full Control permissions. Add franchise employees to the custom role.
Correct Answer: B Explanation/Reference:
QUESTION 7
You need to create rules in the CourierMobile app based on the ItemType that arrives.
For which ItemTypes should you test?
(Each correct answer presents part of the solution. Choose all that apply.)
A. IPM.Schedule.Meeting.Tent
B. IPM.Note
C. IPM.Schedule.Meeting.Request
D. IPM.Appointment
E. IPM.Schedule.Meeting.Cancelled
F. IPM.Schedule.Meeting.Pos
G. IPM.Schedule.Meeting.Neg
Correct Answer: BG Explanation/Reference:
http://msdn.microsoft.com/en-us/library/office/ff861573.aspx
The CourierMobile app receives Microsoft Outlook appointments (D) and Outlook appointment cancellations (E) from the CloudManager app. The appointments include the address of the location for pick-up or drop-off.
QUESTION 8
You need to meet the requirements for data storage for the CourierMobile app and the CloudMananger app.
Which technologies should you use?
(Each correct answer presents part of the solution. Choose all that apply.)
A. Windows Azure SQL Database
B. SharePoint content database
C. Secure Store
D. SQL Server Express LocalDB
E. SharePoint list
Correct Answer: AD Explanation/Reference:
http://technet.microsoft.com/en-us/library/cc262787.aspx#ListLibrary
A: SQL Azure in the cloud.
D: LocalDB is a lightweight version of Express that has the same programmability features, but it runs in user mode and has a fast,
zero-configuration installation and a short list of prerequisites.
not E: List and library limits: Items – 30,000,000 per list (supported)
CourierMobile App
The CourierMobile app must be able to capture more than 30 million data points of location data daily as they occur and upload the location data to the cloud when connected to the Internet.
CloudManager App
The CloudManager app must elastically scale to capture courier location data as the number of bicycle couriers
increases or decreases. The CloudManager app must process bicycle courier location data from a data store
capable of storing more than 30 million items.
D: LocalDB is a lightweight version of Express that has the same programmability features, but it runs in user mode and has a fast, zero-configuration installation and a short list of prerequisites.
QUESTION 9
You need to select the app experience for the CourierMobile app. In the App for Office 2013 dialog window, which configuration option should you select? (To answer, select the appropriate configuration option in the answer area.)
Hot Area: Correct Answer:
Explanation/Reference:
QUESTION 10
You need to create a custom sign-in page to allow the users of the FranchiseMonitor app to authenticate against SharePoint and Margie’s Travel API. What should you do?
A. Create an app for SharePoint. Set the trust level to Sandbox solution. Create an application page that writes a cookie named FedAuth. Deploy the app and configure the Sign In Page URL in Central Administration Authentication Provider for the zone.
B. Create an app for SharePoint. Set the trust level to Farm solution. Create an application page that writes a cookie named FedAuth. Deploy the app and configure the Sign In Page URL in Central Administration Authentication Provider for the zone.
C. Create an app for SharePoint. Set the trust level to Farm solution. Create an application page that writes a cookie named ASPXAUTH. Deploy the app and configure the Sign In Page URL in Central Administration Authentication Provider for the zone.
D. Create an app for SharePoint. Set the trust level to Sandbox solution. Create an application page that writes a cookie named ASPXAUTH. Deploy the app and configure the Sign In Page URL in Central Administration Authentication Provider for the zone.
Correct Answer: B Explanation/Reference:
The ASPXAUTH cookie is used to determine if a user is authenticated.
FedAuth Cookie is what is used with Claims Authentication. SharePoint STS will issue the FedAuth Cookie which contains the references to the claims token. Claim tokens are actually stored separately.