SlideShare a Scribd company logo
1 of 25
Download to read offline
Module 2
Developing Managed Metadata
Solutions
Hello
• Name: Nguyen Thanh Binh
• Technical Program Manager – Appvity
(www.appvity.com)
• Microsoft Certified Trainer (MCT)
• Contacts:
• Email: binhtnguyen@live.com
• LinkedIn: http://vn.linkedin.com/in/binhthanhng
• Twitter: @binhtnguyen
Agenda
• Understanding Managed Metadata
• Configuring Managed Metadata Term Sets
• Working with Managed Metadata Fields
Agenda
• Understanding Managed Metadata
• Configuring Managed Metadata Term Sets
• Working with Managed Metadata Fields
Understanding Managed Metadata
• Overview of Managed Metadata
• The Managed Metadata Service Application
• Term Store Hierarchy
• Understanding Terms
Overview of Managed Metadata
• Managed metadata encourages users to tag
content with a consistent set of terms and
keywords
• Terms
• Keywords
• Hashtags
• Using Managed Metadata Fields
• Managed Metadata in Other SharePoint Services
(important!)
The Managed Metadata Service Application
• 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 Service Application" –ApplicationPool $serviceAppPool –DatabaseServer
"LONDON" –DatabaseName "MetadataServiceDB"
New-SPMetadataServiceApplicationProxy –Name "Managed Metadata Service
Application Proxy" –ServiceApplication $metaDataServiceApp –DefaultProxyGroup
Term Store Hierarchy
• Term Stores
• Term store administrators
• The Term Store Management Tool
• Groups
• Group Managers
• Group Contributors
• Term Sets
• Term Set Owners
• Term Set Contacts
• Term Set Stakeholders
Understanding Terms
• Labels
• Synonyms
• Abbreviations
• Languages
• Copying, Reusing and Pinning Terms
• Copied terms are independent of the source term
• Re-used terms are single terms that appear in multiple
locations
• Pinned terms are re-used terms that can only be edited
in one location
• Custom Properties
• Availability and Deprecation
Overview
• Understanding Managed Metadata
• Configuring Managed Metadata Term Sets
• Working with Managed Metadata Fields
Configuring Managed Metadata Term Sets
• Obtaining Taxonomy Sessions and Term Stores
• Creating Groups and Term Sets
• Creating Terms
• Demonstration: Building a Term Set with the
Server-Side Object Model
• Using Terms
• Managing Permissions and Stakeholders
• Demonstration: SharePoint hosted app to manage
metadata objects such as groups and term sets, by
using the JavaScript CSOM
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 Application Proxy"];
Creating Groups and Term Sets
• Working with Groups
• Working with Term Sets
vehiclesGroup = termStore.CreateGroup("Vehicles",
groupGUID);
termStore.CommitAll();
carsTermSet = vehiclesGroup.CreateTermSet("Cars",
termSetGUID);
termStore.CommitAll();
Creating Terms
• Creating New Terms
Guid newTermGUID =
new Guid("02639124-4dfa-4174-89d2-4f506f3a5d55");
termSet.CreateTerm("Mini Van", 1033, newTermGUID);
termStore.CommitAll();
Demo: Building a Term Set with the Server-Side
Object Model
In this demonstration, you will see how to:
• Add references to a console application to work
with SharePoint managed metadata.
• Connect to a taxonomy session and open a term
store.
• Obtain or create a new group in a term store.
• Obtain or create a new term set in a group.
• Create a new term and commit changes to the
term set.
Using Terms
• Creating Labels
• Reusing Terms
• Reusing Terms with Pinning
Label newLabel = miniVanTerm.CreateLabel("Camper Van",
cultureID, false);
Term reusedTerm =
destinationTerm.ReuseTerm (sourceTerm);
Term reusedTerm =
destinationTerm.ReuseTermWithPinning (sourceTerm);
Managing Permissions and Stakeholders
• The TaxonomyRights Enumeration
• Checking Permissions
• Adding Contributors and Managers to Groups
• Adding Stakeholders to TermSets
group.DoesUserHavePermissions(TaxonomyRights.Contributor)
group.AddContributor("CONTOSOMelissaK");
group.AddGroupManager("CONTOSOBartD");
Demo: JavaScript CSOM
• Creating and Configuring the Corporate Structure
App
• Displaying the Existing Taxonomy Groups
• Creating a Group, a Term Set, and Terms
Overview
• Understanding Managed Metadata
• Configuring Managed Metadata Term Sets
• Working with Managed Metadata Fields
Working with Managed Metadata Fields
• Creating Managed Metadata Fields
• Single-Value Fields
• Multiple Value Fields
Creating Managed Metadata Fields
• Creating a Managed Metadata Field
• Creating a Connected Hidden Note Field
• Connecting a Managed Metadata Field to a Term
Set
• Demonstration: Create MMD fields
Single-Value Fields
• Reading Single-Valued Taxonomy Fields
• Get the item
• Cast the field value as a TaxonomyFieldValue
• Use the Label and TermGuid properties
• Setting Single-Valued Taxonomy Fields
• Get the field and the item
• Cast the field and a TaxonomyField
• Create a new TaxonomyFieldValue and set its
properties to match a term.
• Call the SetFieldValueByValue() method.
• Update the item.
Multiple Value Fields
• Reading Multi-Valued Taxonomy Fields
• Get the item
• Cast the field value as a TaxonomyFieldValueCollection
• Loop through the collection
• Setting Multi-Valued Taxonomy Fields
• Get the item
• Cast the field as a TaxonomyField
• Concatenate a string of term labels and GUIDs
• Pass the string to the TaxonomyFieldValueCollection
constructor
• Call the SetFieldValueByValueCollection()method
• Update the item.
THANK YOU!
Q&A

More Related Content

Similar to SharePoint Saturday Vietnam 8th - managed metadata.pptx

NHSPUG June 2015 - Must Love Term Sets: The New and Improved Managed Metadat...
NHSPUG June 2015  - Must Love Term Sets: The New and Improved Managed Metadat...NHSPUG June 2015  - Must Love Term Sets: The New and Improved Managed Metadat...
NHSPUG June 2015 - Must Love Term Sets: The New and Improved Managed Metadat...Jonathan Ralton
 
SPSBOS15 - Must Love Term Sets: The New and Improved Managed Metadata Service...
SPSBOS15 - Must Love Term Sets: The New and Improved Managed Metadata Service...SPSBOS15 - Must Love Term Sets: The New and Improved Managed Metadata Service...
SPSBOS15 - Must Love Term Sets: The New and Improved Managed Metadata Service...Jonathan Ralton
 
SPSNYC14 - Must Love Term Sets: The New and Improved Managed Metadata Service...
SPSNYC14 - Must Love Term Sets: The New and Improved Managed Metadata Service...SPSNYC14 - Must Love Term Sets: The New and Improved Managed Metadata Service...
SPSNYC14 - Must Love Term Sets: The New and Improved Managed Metadata Service...Jonathan Ralton
 
Spring data presentation
Spring data presentationSpring data presentation
Spring data presentationOleksii Usyk
 
SPSCT15 - Must Love Term Sets: The New and Improved Managed Metadata Service ...
SPSCT15 - Must Love Term Sets: The New and Improved Managed Metadata Service ...SPSCT15 - Must Love Term Sets: The New and Improved Managed Metadata Service ...
SPSCT15 - Must Love Term Sets: The New and Improved Managed Metadata Service ...Jonathan Ralton
 
Scalable java script applications
Scalable java script applicationsScalable java script applications
Scalable java script applicationsGood Robot
 
Search Customizations in SharePoint 2013
Search Customizations in SharePoint 2013Search Customizations in SharePoint 2013
Search Customizations in SharePoint 2013Perficient, Inc.
 
Guide to web trends query parameters
Guide to web trends query parametersGuide to web trends query parameters
Guide to web trends query parametersShipra Malik
 
Means stack course in pune(etlhive)
Means stack course in pune(etlhive)Means stack course in pune(etlhive)
Means stack course in pune(etlhive)sambhajimeher
 
Code Tax: Programming with the Taxonomy API in SharePoint 2010 by Patrick Tuc...
Code Tax: Programming with the Taxonomy API in SharePoint 2010 by Patrick Tuc...Code Tax: Programming with the Taxonomy API in SharePoint 2010 by Patrick Tuc...
Code Tax: Programming with the Taxonomy API in SharePoint 2010 by Patrick Tuc...SPTechCon
 
Programming with the SharePoint 2010 Taxonomy API - SPTechCon 2013
Programming with the SharePoint 2010 Taxonomy API - SPTechCon 2013Programming with the SharePoint 2010 Taxonomy API - SPTechCon 2013
Programming with the SharePoint 2010 Taxonomy API - SPTechCon 2013Patrick Tucker
 
Taming Information Chaos in SharePoint 2010
Taming Information Chaos in SharePoint 2010Taming Information Chaos in SharePoint 2010
Taming Information Chaos in SharePoint 2010Eric Shupps
 
What's New for Developers in SharePoint 2013
What's New for Developers in SharePoint 2013What's New for Developers in SharePoint 2013
What's New for Developers in SharePoint 2013CTE Solutions Inc.
 
Hypermedia System Architecture for a Web of Things
Hypermedia System Architecture for a Web of ThingsHypermedia System Architecture for a Web of Things
Hypermedia System Architecture for a Web of ThingsMichael Koster
 

Similar to SharePoint Saturday Vietnam 8th - managed metadata.pptx (20)

NHSPUG June 2015 - Must Love Term Sets: The New and Improved Managed Metadat...
NHSPUG June 2015  - Must Love Term Sets: The New and Improved Managed Metadat...NHSPUG June 2015  - Must Love Term Sets: The New and Improved Managed Metadat...
NHSPUG June 2015 - Must Love Term Sets: The New and Improved Managed Metadat...
 
SPSBOS15 - Must Love Term Sets: The New and Improved Managed Metadata Service...
SPSBOS15 - Must Love Term Sets: The New and Improved Managed Metadata Service...SPSBOS15 - Must Love Term Sets: The New and Improved Managed Metadata Service...
SPSBOS15 - Must Love Term Sets: The New and Improved Managed Metadata Service...
 
SPSNYC14 - Must Love Term Sets: The New and Improved Managed Metadata Service...
SPSNYC14 - Must Love Term Sets: The New and Improved Managed Metadata Service...SPSNYC14 - Must Love Term Sets: The New and Improved Managed Metadata Service...
SPSNYC14 - Must Love Term Sets: The New and Improved Managed Metadata Service...
 
Spring data presentation
Spring data presentationSpring data presentation
Spring data presentation
 
SPSCT15 - Must Love Term Sets: The New and Improved Managed Metadata Service ...
SPSCT15 - Must Love Term Sets: The New and Improved Managed Metadata Service ...SPSCT15 - Must Love Term Sets: The New and Improved Managed Metadata Service ...
SPSCT15 - Must Love Term Sets: The New and Improved Managed Metadata Service ...
 
Managed metadata in SharePoint 2010
Managed metadata in SharePoint 2010Managed metadata in SharePoint 2010
Managed metadata in SharePoint 2010
 
Scalable java script applications
Scalable java script applicationsScalable java script applications
Scalable java script applications
 
Search Customizations in SharePoint 2013
Search Customizations in SharePoint 2013Search Customizations in SharePoint 2013
Search Customizations in SharePoint 2013
 
Guide to web trends query parameters
Guide to web trends query parametersGuide to web trends query parameters
Guide to web trends query parameters
 
Search
SearchSearch
Search
 
Means stack course in pune(etlhive)
Means stack course in pune(etlhive)Means stack course in pune(etlhive)
Means stack course in pune(etlhive)
 
Data Harmony update 2020 final
Data Harmony update 2020 finalData Harmony update 2020 final
Data Harmony update 2020 final
 
Data Harmony Update 2020 final
Data Harmony Update 2020 finalData Harmony Update 2020 final
Data Harmony Update 2020 final
 
Code Tax: Programming with the Taxonomy API in SharePoint 2010 by Patrick Tuc...
Code Tax: Programming with the Taxonomy API in SharePoint 2010 by Patrick Tuc...Code Tax: Programming with the Taxonomy API in SharePoint 2010 by Patrick Tuc...
Code Tax: Programming with the Taxonomy API in SharePoint 2010 by Patrick Tuc...
 
IBM File Net P8
IBM File Net P8IBM File Net P8
IBM File Net P8
 
Programming with the SharePoint 2010 Taxonomy API - SPTechCon 2013
Programming with the SharePoint 2010 Taxonomy API - SPTechCon 2013Programming with the SharePoint 2010 Taxonomy API - SPTechCon 2013
Programming with the SharePoint 2010 Taxonomy API - SPTechCon 2013
 
Taming Information Chaos in SharePoint 2010
Taming Information Chaos in SharePoint 2010Taming Information Chaos in SharePoint 2010
Taming Information Chaos in SharePoint 2010
 
What's New for Developers in SharePoint 2013
What's New for Developers in SharePoint 2013What's New for Developers in SharePoint 2013
What's New for Developers in SharePoint 2013
 
Hypermedia System Architecture for a Web of Things
Hypermedia System Architecture for a Web of ThingsHypermedia System Architecture for a Web of Things
Hypermedia System Architecture for a Web of Things
 
Where to save my data, for devs!
Where to save my data, for devs!Where to save my data, for devs!
Where to save my data, for devs!
 

Recently uploaded

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Recently uploaded (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

SharePoint Saturday Vietnam 8th - managed metadata.pptx

  • 1. Module 2 Developing Managed Metadata Solutions
  • 2. Hello • Name: Nguyen Thanh Binh • Technical Program Manager – Appvity (www.appvity.com) • Microsoft Certified Trainer (MCT) • Contacts: • Email: binhtnguyen@live.com • LinkedIn: http://vn.linkedin.com/in/binhthanhng • Twitter: @binhtnguyen
  • 3. Agenda • Understanding Managed Metadata • Configuring Managed Metadata Term Sets • Working with Managed Metadata Fields
  • 4. Agenda • Understanding Managed Metadata • Configuring Managed Metadata Term Sets • Working with Managed Metadata Fields
  • 5. Understanding Managed Metadata • Overview of Managed Metadata • The Managed Metadata Service Application • Term Store Hierarchy • Understanding Terms
  • 6. Overview of Managed Metadata • Managed metadata encourages users to tag content with a consistent set of terms and keywords • Terms • Keywords • Hashtags • Using Managed Metadata Fields • Managed Metadata in Other SharePoint Services (important!)
  • 7. The Managed Metadata Service Application • 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 Service Application" –ApplicationPool $serviceAppPool –DatabaseServer "LONDON" –DatabaseName "MetadataServiceDB" New-SPMetadataServiceApplicationProxy –Name "Managed Metadata Service Application Proxy" –ServiceApplication $metaDataServiceApp –DefaultProxyGroup
  • 8. Term Store Hierarchy • Term Stores • Term store administrators • The Term Store Management Tool • Groups • Group Managers • Group Contributors • Term Sets • Term Set Owners • Term Set Contacts • Term Set Stakeholders
  • 9. Understanding Terms • Labels • Synonyms • Abbreviations • Languages • Copying, Reusing and Pinning Terms • Copied terms are independent of the source term • Re-used terms are single terms that appear in multiple locations • Pinned terms are re-used terms that can only be edited in one location • Custom Properties • Availability and Deprecation
  • 10. Overview • Understanding Managed Metadata • Configuring Managed Metadata Term Sets • Working with Managed Metadata Fields
  • 11. Configuring Managed Metadata Term Sets • Obtaining Taxonomy Sessions and Term Stores • Creating Groups and Term Sets • Creating Terms • Demonstration: Building a Term Set with the Server-Side Object Model • Using Terms • Managing Permissions and Stakeholders • Demonstration: SharePoint hosted app to manage metadata objects such as groups and term sets, by using the JavaScript CSOM
  • 12. 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 Application Proxy"];
  • 13. Creating Groups and Term Sets • Working with Groups • Working with Term Sets vehiclesGroup = termStore.CreateGroup("Vehicles", groupGUID); termStore.CommitAll(); carsTermSet = vehiclesGroup.CreateTermSet("Cars", termSetGUID); termStore.CommitAll();
  • 14. Creating Terms • Creating New Terms Guid newTermGUID = new Guid("02639124-4dfa-4174-89d2-4f506f3a5d55"); termSet.CreateTerm("Mini Van", 1033, newTermGUID); termStore.CommitAll();
  • 15. Demo: Building a Term Set with the Server-Side Object Model In this demonstration, you will see how to: • Add references to a console application to work with SharePoint managed metadata. • Connect to a taxonomy session and open a term store. • Obtain or create a new group in a term store. • Obtain or create a new term set in a group. • Create a new term and commit changes to the term set.
  • 16. Using Terms • Creating Labels • Reusing Terms • Reusing Terms with Pinning Label newLabel = miniVanTerm.CreateLabel("Camper Van", cultureID, false); Term reusedTerm = destinationTerm.ReuseTerm (sourceTerm); Term reusedTerm = destinationTerm.ReuseTermWithPinning (sourceTerm);
  • 17. Managing Permissions and Stakeholders • The TaxonomyRights Enumeration • Checking Permissions • Adding Contributors and Managers to Groups • Adding Stakeholders to TermSets group.DoesUserHavePermissions(TaxonomyRights.Contributor) group.AddContributor("CONTOSOMelissaK"); group.AddGroupManager("CONTOSOBartD");
  • 18. Demo: JavaScript CSOM • Creating and Configuring the Corporate Structure App • Displaying the Existing Taxonomy Groups • Creating a Group, a Term Set, and Terms
  • 19. Overview • Understanding Managed Metadata • Configuring Managed Metadata Term Sets • Working with Managed Metadata Fields
  • 20. Working with Managed Metadata Fields • Creating Managed Metadata Fields • Single-Value Fields • Multiple Value Fields
  • 21. Creating Managed Metadata Fields • Creating a Managed Metadata Field • Creating a Connected Hidden Note Field • Connecting a Managed Metadata Field to a Term Set • Demonstration: Create MMD fields
  • 22. Single-Value Fields • Reading Single-Valued Taxonomy Fields • Get the item • Cast the field value as a TaxonomyFieldValue • Use the Label and TermGuid properties • Setting Single-Valued Taxonomy Fields • Get the field and the item • Cast the field and a TaxonomyField • Create a new TaxonomyFieldValue and set its properties to match a term. • Call the SetFieldValueByValue() method. • Update the item.
  • 23. Multiple Value Fields • Reading Multi-Valued Taxonomy Fields • Get the item • Cast the field value as a TaxonomyFieldValueCollection • Loop through the collection • Setting Multi-Valued Taxonomy Fields • Get the item • Cast the field as a TaxonomyField • Concatenate a string of term labels and GUIDs • Pass the string to the TaxonomyFieldValueCollection constructor • Call the SetFieldValueByValueCollection()method • Update the item.
  • 25. Q&A