code tax: programming with the taxonomy api in sharepoint 2010 by patrick tucker - sptechcon

22
Code Tax: Programming With The Taxonomy API In SharePoint 2010 PATRICK TUCKER

Upload: sptechcon

Post on 01-Nov-2014

7 views

Category:

Documents


1 download

DESCRIPTION

Technical Class:

TRANSCRIPT

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 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

The Taxonomy API

WORKING WITH THE MANAGED METADATA SERVICE PROGRAMMATICALLY

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

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

Q and A

[email protected] | [email protected]

• BLOG: WWW.TUCKERSNET.COM

• TWITTER: @TUCKERSNET