Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Spstc2011 managed metadata real world

2,155 views

Published on

Managed Meta Data Service – Using Term store in the real world beyond the taxonomy and tagging.

SharePoint Saturday The Conference spstcdc,spstcc

Published in: Technology, Business
  • Be the first to comment

Spstc2011 managed metadata real world

  1. 1. Managed Meta Data Service – Using Term store in the real worldbeyond the taxonomy and tagging.Track – Devp300<br />ATUL CHHODA<br />MODIS<br />Welcome to SharePoint Saturday—The Conference<br />
  2. 2. Welcome to SharePoint Saturday—The Conference<br />Thank you for being a part of the first SharePoint Saturday conference<br />Please turn off all electronic devices or set them to vibrate.<br />If you must take a phone call, please do so in the hall so as not to disturb others.<br />Open wireless access is available at SSID: SPSTC2011<br />Feel free to “tweet and blog” during the session<br />Thanks to our Diamond and Platinum Sponsors:<br />
  3. 3. About Me <br />I am a Microsoft Techie focused on SharePoint and .Net development. <br />I am a SharePoint Consultant with over 8 yrs of industry experience and have been working on SharePoint from 2007 and 2010 from beta times. <br />Currently working at the World Bank, DC<br />Worked at federal, non- profit and member organizations for providing SharePoint based solutions for Intranet, Internet and Extranet scenarios and has performed the roles of administrator, developer, designer, and architect.<br />Blogs at http://atulchhoda.wordpress.com<br />Twitter:@atulchhoda<br />
  4. 4. What is Managed Metadata ?Every Site column is Metadata ?Why Managed Metadata?<br />Managed Metadata is a hierarchical collection of centrally managed terms that you can define at FARM level, and then use as attributes for items.<br />
  5. 5. Major building block in Enterprise Content Management in SP 2010.<br />Use managed metadata.<br />Share content types across site collections and Web applications<br />SharePoint 2010 Managed Metadata Service Application<br />
  6. 6. Term store: A database that stores both managed terms and managed keywords.<br />Group: In the term store, all term sets are created within groups. In other words, group is the parent container for term sets.<br />Term set: A collection of related terms.<br />Term: A word or phrase that can be associated with an item in SharePoint Server 2010.<br />Terminology<br />
  7. 7. Managed term: A term that can be created by users only with the appropriate permissions and often organized into a hierarchy. Managed terms are usually predefined.<br />Managed keyword: A word or phrase that has been added to SharePoint Server 2010 items. All managed keywords are part of a single, non-hierarchical term set called the keyword set.<br />Terminology<br />
  8. 8. Demo: Term Store Management Tool<br /><ul><li>Central Administration
  9. 9. Site Collection</li></li></ul><li>Using Term Store set Management Tool<br />Global Term set/Local Term Set<br />Metadata-driven Navigation and key filters<br />Search Refinement Panel guided navigation <br />Taxonomy web tagging control<br />Ajaxification on the fields<br />End-User Experience<br />Demo: End-User Experience<br />
  10. 10. Administrator Experience<br />Steps to Enable Managed Metadata on Your Server<br />The Term Store Management Tool (TSMT) enabled below operations on term sets<br />Create <br />Copy<br />Reuse <br />Move <br />Duplicate (for polyhierarchy)<br />Deprecate<br />Delete <br />merge terms<br />manage permissions on term stores<br />Demo: Administrator Experience<br />
  11. 11. Provisioning of Managed Metadata Service Application<br />Central Administration<br />
  12. 12. Power Shell code <br />Add-PSSnapinMicrosoft.SharePoint.PowerShell-erroractionSilentlyContinue<br />## Settings you may want to change ## <br />$databaseServerName = “sp2010.contoso.com"<br />$saAppPoolName = "Managed Meta Data Services"<br />$mmdappPoolUserName = “Contosospadmin"<br />## Service Application Service Names ## <br />$metadataSAName = "Managed Metadata Web Service"<br />Write-Host"Creating Metadata Service and Proxy..."<br />
  13. 13. $saAppPool = Get-SPServiceApplicationPool-Identity $saAppPoolName -EA 0 <br />if($saAppPool -eq $null) <br />{ <br />Write-Host "Creating Managed Meta Data Service Application Pool..."<br /> $appPoolAccount = Get-SPManagedAccount-Identity $mmdappPoolUserName -EA 0 <br /> if($appPoolAccount -eq $null) <br /> { <br />Write-Host "Please supply the password for the Service Account..."<br /> $appPoolCred = Get-Credential $mmdappPoolUserName<br /> $appPoolAccount = New-SPManagedAccount-Credential $appPoolCred -EA 0 <br /> } <br /> $appPoolAccount = Get-SPManagedAccount-Identity $mmdappPoolUserName -EA 0 <br /> if($appPoolAccount -eq $null) <br /> { <br />Write-Host "Cannot create or find the managed account $mmdappPoolUserName, please ensure the account exists."<br /> Exit -1 <br /> } <br />New-SPServiceApplicationPool-Name $saAppPoolName-Account $appPoolAccount -EA 0 > $null<br />} <br />
  14. 14. New-SPMetadataServiceApplication-Name $metadataSAName-ApplicationPool $saAppPoolName-DatabaseServer $databaseServerName-DatabaseName "MetadataDB" > $null<br />New-SPMetadataServiceApplicationProxy-Name "$metadataSAName Proxy" -DefaultProxyGroup-ServiceApplication $metadataSAName > $null<br />Get-SPServiceInstance | where-object {$_.TypeName -eq "Managed Metadata Web Service"} | Start-SPServiceInstance > $null<br />
  15. 15. Planning Managed Metadata Service<br />Identify term sets.<br />Identify the owner of each term set.<br />Determine term set groups.<br />Define term sets<br />Global term sets vs local term sets<br />
  16. 16. Planning Managed Metadata Service<br />Governance and import from Enterprise data( a timer job import)<br />Migrating from DEV,STG,PROD<br />Third party tools<br />Custom apps with csv/xml defined schema storing the GUID’s<br />
  17. 17. Plan to import managed metadata <br />Locate the existing data.<br />Organize the data into SharePoint Server managed metadata.<br />Clean up the existing data.<br />Format the existing data into files to be imported.<br />Import the managed metadata.<br />Merge terms and add synonyms and translations<br />
  18. 18. Benefits of Using Managed Metadata<br />More consistent use of terminology<br />Better search results<br />Dynamic<br />Centralized management of Taxonomy for Enterprise<br />Availability of Taxonomy for the Enterprise<br />
  19. 19. Developer Experience<br />Use the Term store API’s to create programmatically create term sets/terms, add terms<br />Import CSV file to create terms programmatically.<br />Use TaxonomyWebTaggingControl<br />Use TaxomomyFieldControl for rendering existing columns<br />
  20. 20. Term Store API’s(Microsoft.SharePoint.Taxonomy)<br />Reference assembly C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14ISAPIMicrosoft.SharePoint.Taxonomy.dll<br />TaxonomySession class<br />TermStore class<br />Group class<br />TermSetclass<br />Termclass<br />CommitAllmethod<br />IsAvailableproperty<br />Nameproperty<br />CreateLabelmethod<br />SetDescription method<br />
  21. 21. Real World Scenarios<br />Using the TaxonomyWebTaggingControl.<br />Using TaxonomyFieldControl.<br />Tagging Site Collections/webapplications and results through search API’s.<br />Use the term set for navigation for building navigation control.<br />Demo:<br />Sample 0<br />Sample 1<br />Sample 2<br />Sample 3<br />
  22. 22. Demo: Samples<br />Sample 0<br />Sample 1<br />Sample 2<br />Sample 3<br />
  23. 23. Tips & Tricks<br />User SPManager 2010 for creating Taxonomy Field Columns programmatically or through XML<br />http://spm.codeplex.com<br />Add the event receiver <br />
  24. 24. Gotchas<br />TaxonomyHiddenList behind the scenes and everything is GUID <br />The site columns are bound to the GUID( not the term store/set/term value)<br />Import Manager/Import TermSet cannot import labels/synonyms . <br />Available only through TSMT and Taxonomy API( CreateLabel)<br />The GUID’s for all the entities in TSMT will be different in different farms.<br />Third party.<br />Database backup/restore.<br />Custom app with API to have the GUID migrated over.<br />
  25. 25. Limitations<br />No Infopath /Workspace Support yet<br />Read only in DataSheet View<br />General issues of restoring global and local term sets across environments.<br />Plan a timer job to write xml with GUID’s on the file system 14 hive for both Global and Local Term sets.<br />Blank site template feature is not activated<br /> Enable-SPFeature -Identity " 73EF14B1-13A9-416b-A9B5-ECECA2B0604C " –Url http://sp2010<br />250 terms per managed columns<br />TaxonomyFieldControl, TaxonomyWebTaggingControl are sealed classes.<br />Need to write custom field control for any custom requirements.<br />
  26. 26. References<br />Planning<br />http://technet.microsoft.com/en-us/library/ee530389.aspx<br />Boundaries and Capacity planning for Term store <br />http://technet.microsoft.com/en-us/library/cc262787.aspx#termstore<br />Object Model<br />http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.taxonomy.aspx<br />Term Set API’s<br />http://msdn.microsoft.com/en-us/library/ee832800(office.14).aspx<br />Provisioning Site Columns<br />Taxonomy <br />http://support.microsoft.com/kb/2481844<br />Search : Querying on managed terms fields<br />http://msdn.microsoft.com/en-us/library/ff625182.aspx<br />TaxonomyPickerControl issue:<br />http://support.microsoft.com/kb/2481844<br />
  27. 27. Q&A<br />Thank you very much for joining the presentation. <br />Feedback <br />
  28. 28. Thanks to Our Other Sponsors!<br />Thanks to our Sponsors<br />
  29. 29. Session Evaluation<br />Please complete and turn in your Session Evaluation Form so we can improve future events. Survey can be filled out at:<br />http://app.fluidsurveys.com/s/spstc2011-Fri-S2C-107/<br />Presenter: Atul Chhoda<br />Session Name: Managed Meta Data Service – Using Term store in the real world beyond the taxonomy and tagging.<br />Session No.:Fri-S2C-107 <br />

×