code tax: programming with the taxonomy api in sharepoint 2010 by patrick tucker - sptechcon
DESCRIPTION
Technical Class:TRANSCRIPT
About Me
• PATRICK TUCKER
• STRATEGIC DATA SYSTEMS, MS GOLD PARTNER
• PRINCIPAL CONSULTANT, SHAREPOINT
• MCT, MCTS, MCPD, MCITP, MCSD, MCAD, MCDBA
• [email protected] | [email protected]
• BLOG: WWW.TUCKERSNET.COM
• TWITTER: @TUCKERSNET
Managed Metadata and Taxonomy
• MANAGED METADATA SERVICE APPLICATION
• TAXONOMY TERM STORE
• TERM SETS
• MANAGED METADATA COLUMN TYPE
Taxonomy Term Store
• AVAILABLE THROUGH MANAGED METADATA SERVICE
• COMPRISED OF SYSTEM OR ADMIN CREATED TERM SETS
• TERM SETS MAY BE GLOBAL OR LOCAL, OPEN OR CLOSED
• HIERARCHICAL
• GROUPS CONTAIN TERM SETS
• TERM SETS CONTAIN TERMS
• TERMS MAY HAVE A DEFAULT LABEL AND OTHER LABELS (SYNONYMS)
Where are term sets surfaced?
• MANAGED METADATA COLUMNS
• THE DOCUMENT INFORMATION PANEL
• THE TAXONOMY PICKER CONTROL
Behind the Scenes
• TAXONOMIES ARE STORED IN A SINGLE DATABASE
• EACH ROOT SITE IN A SITE COLLECTION CONTAINS A “TAXONOMYHIDDENLIST”
• THE “TAXONOMY UPDATE SCHEDULER” TIMER JOB SYNCS HOURLY TO UPDATE THIS LIST
• TAXONOMY FIELD VALUES ARE IMPLEMENTED AS LOOKUP COLUMNS
• THE “MANAGED METADATA” FIELD IS ACTUALLY COMPRISED OF MULTIPLE COLUMNS
• TAXKEYWORDTAXHTFIELD
• TAXCATCHALL
• TAXCATCHALLLABEL
Options
• SERVER SIDE OBJECT MODEL (MICROSOFT.SHAREPOINT.TAXONOMY)
• THE TAXONOMY CLIENT SERVICE
• DECLARATIVE XML
• POWERSHELL
Object Model
• NEED TO REFERENCE MICROSOFT.SHAREPOINT.TAXONOMY DLL
• ENTRY POINT IS A NEW TAXONOMY SESSION, CONNECTS TO MMS INSTANCE
• CLASSES IN TAXONOMY NAMESPACE MIRROR HIERARCHY SEEN IN TERM STORE MANAGEMENT TOOL
• TAXONOMYSESSION CLASS
• TERMSTORE CLASS
(TAKES NAME OF MMS PROXY)
• GROUP CLASS
• TERMSET CLASS
• TERM CLASS
(MAY CONTAIN NESTED TERMS)
Terms and Synonyms
• EACH TERM MAY BE MARKED AS AVAILABLE FOR TAGGING
• EACH TERM HAS A DEFAULT LABEL
• SYNONYMS ARE ADDED UNDER THE “OTHER LABELS” SECTION
• SYNONYMS ARE EXPOSED IN CODE THROUGH A LABELS COLLECTION ON EACH TERM. THE DEFAULT LABEL IS THE FIRST TERM IN THE COLLECTION.
Creating New Items In The Term Store
• GET A REFERENCE TO SESSION . . . TERM STORE
• THE TERMSTORE CLASS CONTAINS A CREATEGROUP METHOD
• THE GROUP CLASS CONTAINS A CREATETERMSET METHOD
• THE TERMSET CLASS CONTAINS A CREATE TERM METHOD
• ADDING ITEMS TO THE TERM STORE IS TRANSACTIONAL. WE MUST REMEMBER TO CALL “COMMITALL()”
Tips to Remember . . .
DEMO
• TRAVERSE THE HIERARCHY OF GROUPS, TERM SETS AND TERMS
• DISPLAY THE HIERARCHY IN A TREE VIEW CONTROL VIA A CUSTOM WEB PART
• CREATE A NEW GROUP, TERM SET AND TERMS PROGRAMMATICALLY
• RETRIEVE AND DISPLAY THE NEWLY CREATED TERMS
The Taxonomy Client Service
• THE TAXONOMYCLIENTSERVICE.SVC IS AVAILABLE, BUT LIMITED
• OPERATIONS TO RETRIEVE TERM STORE ITEMS AND ADD TERMS ARE AVAILABLE
Taxonomy Client Service
• NAVIGATE TO HTTP://SITECOLLECTIONURL/_VTI_BIN/TAXONOMYCLIENTSERVICE.ASMX
• DO YOU KNOW THE GUIDS OF YOUR TERM STORE AND TERM SET?
• XML PARSING IS IN YOUR FUTURE
The Taxonomy Field Type
• CUSTOM LIST DEFINITIONS WILL NEED TO CREATE THE FIELD – DECLARATIVELY OR PROGRAMMATICALLY
• THIS FIELD IS EXPOSED IN THE UI VIA THE TAXONOMY PICKER CONTROL (NOT AVAILABLE IN INFOPATH OR THE DATASHEET VIEW)
• PAGE LAYOUTS MAY ALSO MAKE USE OF THIS FIELD TYPE TO TAG PAGES AS WELL AS ITEMS AND DOCUMENTS
List Definition
• DEFINING A NEW LIST IN A FEATURE OR SITE DEFINITION WILL ALSO DEFINE LIST FIELDS
• (NOTES FIELD AND LOOKUP FIELDS)
• DECLARATIVE APPROACH
• WILL NEED SSPID AND TERM SET GUIDS IN XML
• PROGRAMMATIC APPROACH
• ALSO WORKS WITH PARTIAL DECLARATIVE CODE
The Taxonomy Picker Control
• ALLOWS THE USER TO SELECT TERM(S) TO TAG CONTENT
• THE CONTROL SHOWS UP ON NEW AND EDIT FORMS
• THE CONTROL MAY BE USED ON CUSTOM PAGE LAYOUTS
DEMO
• USE THE TAXONOMY WEB SERVICE TO DISPLAY TERM STORE ITEMS
• CREATE A CUSTOM LIST DEFINITION THAT CONTAINS A MANAGED METADATA COLUMN
• WORK WITH A CUSTOM PAGE LAYOUT TO VIEW THE CURRENT TERM AND SYNONYMS
• RETRIEVE AND DISPLAY THE NEWLY CREATED TERMS
So what’s changed in 2013?
• MANAGED METADATA NAVIGATION
• TERMS INTENDED USE MAY BE FOR NAVIGATION
• TARGET PAGES ARE ATTACHED TO TERMS AND DRIVE THE NAVIGATION OF THE SITE
• CSOM – CLIENT SIDE OBJECT MODEL SUPPORT
• AVAILABLE TO .NET, SILVERLIGHT AND JAVASCRIPT
• PROJECTS MAY REFERENCE THE MICROSOFT.SHAREPOINT.CLIENT.TAXONOMY ASSEMBLY
• DATASHEET VIEW SUPPORT FOR THE MANAGED METADATA COLUMN TYPE
• CUSTOM PROPERTIES MAY BE ADDED TO A TERM TO STORE ADDITIONAL DATA
• MORE THAN JUST ADDITIONAL LABELS, THIS IS A DICTIONARY OF METADATA FOR YOUR METADATA