Date post: | 01-Nov-2014 |
Category: |
Technology |
Upload: | patrick-tucker |
View: | 16 times |
Download: | 3 times |
Code Tax: Programming With The Taxonomy API
In SharePoint 2010
PATRICK TUCKER
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
The Managed Metadata Experience
HOW DO WE INTERACT WITH MANAGED METADATA IN SHAREPOINT?
Managed Metadata in SharePoint
• A WAY TO DO CLASSIFICATION OF CONTENT BASED ON ATTRIBUTES
• APPLIES TO DOCUMENTS, LIST ITEMS & PAGES AT THE COLUMN LEVEL
• ASSISTS SHAREPOINT IN BEING A DOCUMENT MANAGEMENT & COLLABORATION PLATFORM
• TAXONOMY AND FOLKSONOMY
Where Is Managed Metadata Surfaced?
• MANAGED METADATA COLUMNS
• THE DOCUMENT INFORMATION PANEL
• THE TAXONOMY PICKER CONTROL
• SEARCH
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)
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
• TAXONOMYFIELD
• TAXKEYWORDTAXHTFIELD
• “TAXCATCHALL”
• “TAXCATCHALLLABEL”
• PRACTICAL LIMITATIONS:
• NOT SUPPORTED IN INFOPATH FORMS
• NOT SUPPORTED IN SHAREPOINT WORKSPACE
• NOT SUPPORTED IN DATASHEET VIEWS
• LIMITED SUPPORT IN SPD WORKFLOWS
• PER TECHNET, THE RECOMMENDED STORAGE GUIDELINES ARE:
• MAX 7 LEVELS OF NESTING IN A TERM STORE
• MAX 1000 TERM SETS IN A TERM STORE
• MAX 30,000 TERMS IN A TERM SET
• MAX 1 MILLION TOTAL ITEMS IN A TERM STORE
Managed Metadata Limitations
The Taxonomy API
WORKING WITH THE MANAGED METADATA SERVICE PROGRAMMATICALLY
Options
• SERVER SIDE OBJECT MODEL (MICROSOFT.SHAREPOINT.TAXONOMY)
• SORRY, NOT AVAILABLE TO SANDBOXED SOLUTIONS
• 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)
MMS Instance Term Store Groups Term Sets Terms
So The Hierarchy Is…
Terms, Keywords and Synonyms
• TERMS ARE EITHER MANAGED TERMS OR ENTERPRISE KEYWORDS
• 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 Term Store Items In Code
• 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 (OR BOTH)
• THIS FIELD IS EXPOSED IN THE UI VIA THE TAXONOMY PICKER CONTROL
• PAGE LAYOUTS MAY ALSO MAKE USE OF THIS FIELD TYPE TO TAG PAGES AS WELL AS ITEMS AND DOCUMENTS
Implementing a Taxonomy Field in a Custom List
• DECLARATIVE APPROACH
• WILL NEED SSPID AND TERM SET GUIDS IN XML
• PROGRAMMATIC APPROACH
• ALSO WORKS WITH PARTIAL DECLARATIVE CODE
Create site columns (taxonomy & note
field)
Create content type and reference the columns
Link the taxonomy
field up to a term set
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
• VIEW A PAGE LAYOUT TO SEE THE ATTACHED TAXONOMY TERM
The Undiscovered Country
WHAT’S NEW WITH MANAGED METADATA IN SHAREPOINT 2013?
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