Published: July 12, 2010
Technology: Microsoft SharePoint Server 2010
Credit toward certification: MCTS, MCPD
This exam measures your ability to accomplish the technical tasks listed below. The percentages indicate the relative weight of each major topic area on the exam. The higher the percentage, the more questions you are likely to see on that content area on the exam. View video tutorials about the variety of question types on Microsoft exams.
Please note that the questions may test on, but will not be limited to, the topics described in the bulleted text.
Do you have feedback about the relevance of the skills measured on this exam? Please send Microsoft your comments. All feedback will be reviewed and incorporated as appropriate while still maintaining the validity and reliability of the certification process. Note that Microsoft will not respond directly to your feedback. We appreciate your input in ensuring the quality of the Microsoft Certification program.
If you have concerns about specific questions on this exam, please submit an exam challenge.
If you have other questions or feedback about Microsoft Certification exams or about the certification program, registration, or promotions, please contact your Regional Service Center.
Working with the SharePoint user interface (19%)
Manage SPSite and SPWeb programmatically by using Visual Studio 2010
Creating sub webs, referencing SPFiles, manipulating property bag, when to call Update, referencing SPContext, SPSite, SPWeb, SPSite.OpenWeb, SPWeb.Webs, feature activation and deactivation
This objective does not include: trivial cases such as setting title and other loose properties of the objects
Implement a dialog by using the dialog framework
Create a custom ribbon object
Adding custom actions to the ribbon, customizing groups, customizing tabs, customizing the existing ribbon
Customize navigation programmatically
TopNav bar, quick launch, custom actions
This objective does not include: custom menu controls, custom site map providers
Create and apply branding to a SharePoint site
Applying custom master pages to content pages and application pages, placeholders, page layouts, programmatically working with themes, deploying CSS, CSSlink, ScriptLink
This objective does not include: graphic design, creating a CSS
User interface customization resource center | SharePoint 2010
SharePoint 2010 UI customization
Customizing and extending the SharePoint 2010 Server ribbon
Developing web parts and controls (21%)
Create web parts
Including properties, controls using render vs. CreateChildControl, life cycle, visual, standard web parts
This objective does not include: trivial case where developer uses visual web part project template
Create connectable web parts
Implement consumer/provider interfaces
Debug web parts
ULS log, and event log, debug.log tracing, developer dashboard
Create and implement delegate controls
Overriding existing controls with lower sequence, developing and using .ascx files
Walkthrough: Creating a basic web part
SharePoint 2010: Developing connected web parts
How to: Customize a delegate control
Developing business logic (19%)
Implement a custom workflow in Visual Studio 2010
Work with initiation data or association data to create a SharePoint task, extend a workflow imported from SharePoint Designer 2010, use a HandleExternalEvent and CallExternalMethod to interact with a custom local service, work with initiation data or association data in a site workflow, correlation token
This objective does not include: trivial cases such as workflows with no custom actions, initiation data, association data
Create a custom workflow action
Create a custom SPD action, create and add a custom activity to a Visual Studio workflow, define an action.xml file
Create and implement event receivers
Accessing event properties, list, item, site, email, avoiding recursion, cancelling events, choosing synchronization state
Customize Enterprise Content Management (ECM)
Creating a content type that inherit from appropriate parent, creating and implementing a custom publishing field control that is page mode aware, activating a master page programmatically including token usage
This objective does not include: page layouts, formatting
Create, implement and debug a timer job
Configuration, programmatic scheduling, queuing, attaching debugger to the timer service
Create and modify Business Connectivity Service model in Visual Studio 2010
Create a BDC model in Visual Studio 2010, define insert, update and delete methods, create and read items, make data searchable
Manage users, groups, permissions
SPGroups, SPUser, permission inheritance, all securable objects, SPRoleDefinition, SPRole, SPRoleAssignment
Workflow development in Visual Studio
Enterprise Content Management (ECM) development in SharePoint Server 2010
Using the SharePoint Business Data Connectivity designer in VS 2010
Working with SharePoint data (22%)
Access list data by using the Server object model
SPQuery, LINQ, SPList, SPSiteDataQuery, schema management, working with a query governor, create LINQ query that includes a join statement, SPQuery vs. SPSiteDataQuery
Access SharePoint data by using WCF data services
WCF ListData.svc, RESTFUL URLs conventions, create and use a client service reference
Access (CRUD) data by using the client object model
Work with documents programmatically
SPFile, SPFolder, SPVersion, upload document and set meta data
Work with the meta data
Access data from user profiles, taxonomy, folksonomy
Extending SharePoint search
Creating a custom query using full text query or keyword query, customize the look and feel of the search result using XSLT
Implement and debug code that executes in an alternative security context
Create code that uses the RunWithElevatedPrivileges delegate (including debugging), create code that uses the system account, create code that impersonate a different user
Create and modify a custom content type
Declaratively and programmatically creating and upgrading content type using Visual Studio 2010, modifying an existing content type, site columns
Using the client object model
Accessing SharePoint 2010 lists by using WCF data services
Stabilizing and deploying SharePoint components (19%)
Manage a solution in Visual Studio 2010
Modify the contained features in the solution, add an assembly that is not included in the visual studio solution, manage mapped folders for localization, sandbox and farm solutions, customize manifest.xml
Manage a feature by using Visual Studio 2010
Upgrading, localizing, versioning, developing features, feature receivers (activating and installing) that interact with their parent object, customizing feature.xml
This objective does not include: features without elements
Store and retrieve configuration data
App config, web config, persisted object, list, xml, file system, cookies, property bag
Create a site definition by using Visual Studio 2010
Feature activation, site provisioning, localization
This objective does not include: list definitions and modules defined in ONET.xml, SharePoint Designer
Manage SharePoint object life cycle by using the dispose API
SPWeb, SPContext, IDisposable, Try…Catch…Finally, using blocks
Develop, debug, and deploy sandboxed solutions
APIs that are allowed or not allowed in sandbox, use a full trust proxy
SharePoint development in Visual Studio
Creating SharePoint 2010 site definitions in Visual Studio 2010
Developing, deploying, and monitoring sandboxed solutions in SharePoint 2010
You create a Web Part by using Microsoft Visual Studio 2010. You need to execute SPDisposeCheck.exe before the Web Part is deployed. What should you do?
A. Configure a pre-deployment command line.
B. Configure SPDisposeCheck.exe as an external tool.
C. Change the configuration from Active (Debug) to Release.
D. Change the active deployment configuration to No Activation.
MNEMONIC RULE: “before deployed = pre-deployment”
How to: Set SharePoint Deployment Commands
You have a SharePoint site collection. The root Web of the site collection has the URL http://intranet.
You plan to create a sandboxed solution that will contain a Web Part. The Web Part will display the title of the root Web.
You write the following code segment for the Web Part. (Line numbers are included for reference only.)
01 SPSite currentSite = new SPSite(“http://intranet”);
03 Label currentTitle = new Label();
04 currentTitle.Text = currentSite.RootWeb.Title;
You add the Web Part to a page in the root Web and receive the following error message: “Web Part Error: Unhandled exception was thrown by the sandboxed code wrapper’s Execute method in the partial trust app domain: An unexpected error has occurred.”
You need to prevent the error from occurring.
What should you do?
A. Add the following line of code at line 02: currentSite.OpenWeb();
B. Add the following line of code at line 02: currentSite.OpenWeb(“http://intranet”);
C. Change line 01 to the following code segment: SPSite currentSite = SPContext.Current.Site;
D. Change line 04 to the following code segment: currentTitle.Text = currentSite.OpenWeb().Title;
MNEMONIC RULE: “sandboxed = SPContext”
OpenWeb() method returns SPWeb object, so answers A and B are incorrect, since they assume OpenWeb()method doesn’t return an object.
Answer D is incorrect for the same reason.
This constructor is allowed in sandboxed solutions. in that case, the value of the requestUrl parameter mustresolve to the parent site collection in which the sandboxed solution is deployed. If the value of the requestUrl parameter resolves to the URL of any other site collection, the constructor throwsan exception because a sandboxed solution is not allowed to access any SharePoint objects outside its hostingsite collection.
SPSite Constructor (String) http://msdn.microsoft.com/en-us/library/ms466911.aspx
You are creating a Web Part that will be deployed as a sandboxed solution. You need to ensure that the Web Part can write debugging information to the SharePoint trace logs. Which class should the logging component inherit?
MNEMONIC RULE: “sandboxed solution needs SPProxyOperation”
You can implement your full-trust functionality in classes that derive from the SPProxyOperation abstract classand deploy the assembly to the global assembly cache. These classes expose a full-trust proxy that you cancall from within the sandbox environment.
Full-trust proxies can provide a useful way to expose logging and configuration functionality to sandboxedapplications.
Hybrid Approaches http://msdn.microsoft.com/en-us/library/ff798433.aspx
You need to create a Web Part that will store and retrieve information for the current subsite. Which object should you use?
MNEMONIC RULE: “information is in Web.Properties” SPContext.Current.Web is SPWeb object.
Properties is the SPPropertyBag object with the metadata for the website. SPWeb.Properties Property http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spweb.properties.aspx
You create a SharePoint solution. You deploy the SharePoint solution by using Microsoft Visual Studio 2010. You need to prevent the Feature that is contained in the solution from being automatically activated when you deploy the solution. What should you configure in Visual Studio 2010?
A. the active deployment configuration
B. the build configuration
C. the pre-deployment command line
D. the startup item
MNEMONIC RULE: “deploy the solution = active deployment configuration” How to: Edit a SharePoint Deployment Configuration http://msdn.microsoft.com/en-us/library/ee231587.aspx
Walkthrough: Creating a Custom Deployment Step for SharePoint Projects http://msdn.microsoft.com/en-us/library/ee256698.aspx