Tom Resing | SharePoint Engineer, Jive Software Christopher Harrison | Microsoft Certified Trainer
Meet Christopher Harrison | Head Geek, GeekTrainer –Specializes in ASP.NET, SharePoint and SQL Server –Microsoft Certified Trainer Over 14 years experience –Periodic blogger at blog.geektrainer.com –Regular presenter at TechEd –Still remembers his Commodore-64 –Husband, father of one four legged child, marathoner
Tom Resing SharePoint Engineer Jive Software 16 years in Web Software
Course Topics SharePoint 2013 Advanced Development 01 | Developing Managed Metadata Solutions 02 | Interacting with SharePoint Search 03 | Customizing the Search Experience 04 | Working with Business Connectivity Services 05 | Managing and Accessing User Profile Data 06 | Customizing the Social Workload
Microsoft Virtual Academy –Free online learning tailored for IT Pros and Developers –Over 1M registered users –Up-to-date, relevant training on variety of Microsoft products “Earn while you learn!” –Get 50 MVA Points for this event! –Visit –Enter this code: DevSPSAdv (expires 1/11/2014) Join the MVA Community!
01 | Developing Managed Metadata Solutions Christopher Harrison | Head Geek
Module Overview Managed Metadata Components Creating a Managed Metadata Store Using Managed Metadata
Managed Metadata Concepts Overview of Managed Metadata Using Managed Metadata Services Term Store Hierarchy Term Store Administration
Overview of Managed Metadata Managed metadata encourages users to tag content with a consistent set of terms and keywords –Terms –Keywords –Hashtags Content Type Hub
Using Managed Metadata Services SharePoint Search –Consistent values –Company extraction User Profiles –Keywords
Term Store Hierarchy Term Stores –Groups Term Sets
Term Store Managed Metadata Services implementation Container for keywords and hashtags Contains groups Management –Administrators –Term Store Management Tool
Groups Collections of term sets Used for delegation of control –Group managers –Group contributors –Managers and contributors do not need access to Central Administration
Term Sets Become columns Contain terms (values) Metadata –Owners –Contacts –Stakeholders –Do not have any form of control over the terms
Terms Hierarchical Values Options –Synonyms –Abbreviations –Languages
Term Administration Copying –Independent of the original term Reusing –Single terms that appear in multiple locations Pinning –Reused terms that are only editable from the original location Deprecation –Cannot be applied to new items
The Managed Metadata Service Application Configuring the Service Application: –Starting the Managed Metadata Web Service –Creating the Service Application $serviceAppPool = Get-SPServiceApplicationPool "SharepointServicesPool" $metaDataServiceApp = New-SPMetadataServiceApplication –Name "Managed Metadata Services“ –ApplicationPool $serviceAppPool –DatabaseServer “SQLServer" –DatabaseName "MetadataServiceDB" New-SPMetadataServiceApplicationProxy –Name "Managed Metadata Service Proxy“ –ServiceApplication $metaDataServiceApp –DefaultProxyGroup $serviceAppPool = Get-SPServiceApplicationPool "SharepointServicesPool" $metaDataServiceApp = New-SPMetadataServiceApplication –Name "Managed Metadata Services“ –ApplicationPool $serviceAppPool –DatabaseServer “SQLServer" –DatabaseName "MetadataServiceDB" New-SPMetadataServiceApplicationProxy –Name "Managed Metadata Service Proxy“ –ServiceApplication $metaDataServiceApp –DefaultProxyGroup
Lesson 2: Configuring Managed Metadata Term Sets Term Store Manager Obtaining Taxonomy Sessions and Term Stores Creating Groups and Term Sets Creating Terms
Term Store Manager Locations –Central Administration –Site Settings UI for managing Term Stores
DEMO Term Store Manager
Obtaining Taxonomy Sessions and Term Stores Opening a Taxonomy Session Opening a Term Store TaxonomySession taxonomySession = new TaxonomySession(siteCollection); TermStore termStore = taxonomySession.TermStores["Managed Metadata Service Proxy"];
Creating Groups and Term Sets Creating Groups Creating Term Sets group = termStore.CreateGroup("Human Resources", groupGUID); termStore.CommitAll(); group = termStore.CreateGroup("Human Resources", groupGUID); termStore.CommitAll(); carsTermSet = vehiclesGroup.CreateTermSet("Job Titles", termSetGUID); termStore.CommitAll(); carsTermSet = vehiclesGroup.CreateTermSet("Job Titles", termSetGUID); termStore.CommitAll();
Creating Terms Guid newTermGUID = new Guid("97B2FA F-BB2B A28206"); termSet.CreateTerm("SharePoint Developer", 1033, newTermGUID); termStore.CommitAll(); Guid newTermGUID = new Guid("97B2FA F-BB2B A28206"); termSet.CreateTerm("SharePoint Developer", 1033, newTermGUID); termStore.CommitAll();
DEMO Creating Groups and Terms with CSOM
Working with Managed Metadata Fields Reading Values Writing Values
Reading Values 1.Retrieve list item 2.Cast field to TaxonomyFieldValue 3.Read Label property
Writing Values 1.Retrieve term from term store 2.Create TaxonomyFieldValue –Label –Guid –WssId 3.Assign field
DEMO Managing List Items and Managed Metadata Services with CSOM
©2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.