2. SharePoint Saturday Chicago Suburbs - June 1st, 2013
SPS
EVENTS
Chicago-
Suburbs
The
Managed Metadata Service Application
in Enterprise SharePoint Solutions
Chris Johnson
3. SharePoint Saturday Chicago Suburbs3
ABOUT
CHRIS JOHNSON
Consultant on SharePoint Solutions team at
PSC Group
5 years developing for SharePoint
MOSS 2007
SharePoint 2010
SharePoint 2013
Architect: DMS @
Fortune 500 firm
3000-user base
100+ national &
international
branches
MMS:
100,000+ terms
synchronized with
3 LOB systems
@chrisjohns0n thedotnetter.wordpress.com
4. SharePoint Saturday Chicago Suburbs4
MANAGED
METADATA
SERVICE
APPLICATION
AGENDA
REQUIREMENTS
OVERVIEW:
WHAT IS THE
MMS?
USE CASE:
WHY? HOW? Q&A
LUNCH
&
LEARN
THIRTY
MINUTES
5. SharePoint Saturday Chicago Suburbs5
WHAT IS
MANAGED
METADATA?
METADATA:
INFORMATIO
N
MANAGED METADATA:
INFORMATION
THAT CAN BE REUSED
6. SharePoint Saturday Chicago Suburbs6
MANAGED DATA
Consume this data from any site
collection on any web
application that subscribes to the
MMS
MANAGED CONTENT TYPES
Define and manage data in a
central location: the Term Store
Define and manage content
types in a central location: the
Content Type Hub
Consume these content types
from any site collection in any
web application
MANAGED METADATA SERVICE
APP:
TWO SERVICES
7. SharePoint Saturday Chicago Suburbs7
MANAGED METADATA SERVICE
APP:
TWO SERVICES
WEB APP 1
MMS APP
WEB APP 2
SITE
COLL
SITE
COLL
SITE
COLL
SITE
COLL
DEFINED
CONSUME
D
8. SharePoint Saturday Chicago Suburbs8
o TAG DOCUMENTS with
client or prospect names
o TRACK RELATIONSHIP –
Client vs. Prospect– which
can change
o ACCESSIBLE from any
site collection in intranet
AND extranet
o MANAGE in one place
o Data is THE TRUTH
o HUNDREDS or
THOUSANDS of
companies
o CLEAN UI for multiple
selection, if necessary
USE CASE:
CLIENTS &
PROSPECTS
REQUIREMENTS
REQUIREMENTS
Common
requirement
for enterprise
applications:
manage
documents
throughout the
entire Sales
process
from
PROSPEC
T
to
CLIENT
ONE SITE COLUMN
9. SharePoint Saturday Chicago Suburbs9
MOSS 2007:
TWO OPTIONS
CUSTOM CHOICE FIELD
ADVANTAGES
o Centrally-managed with feature upgrades
(if defined in code)
o -OR- could hook into external content
source (also requires custom field code)
DRAWBACKS
o Can’t store additional data (relationship)
o Add choices with feature upgrade or
PowerShell…
o If using external content source, must
manage in source application
o UI nightmare
LOOKUP FIELD W/LIST
ADVANTAGES
o Define in GUI or in code
o Stores additional data (relationship)
DRAWBACKS
o Still requires external data source
o Must instantiate list in each site collection
o UI still stinks
10. SharePoint Saturday Chicago Suburbs10
SHAREPOINT 2010, 2013
MANAGED METADATA
Any Site Collection
on any web app
can consume this term set.
Define a set of
―Clients and
Prospects‖ terms in
one
location, manage it
in SharePoint GUI.
When a prospect becomes a client, make one
change and it is reflected everywhere.
UI: Autocomplete as you type—
Even for tens of thousands of
terms.
Even for multiple selections.
11. SharePoint Saturday Chicago Suburbs11
MMS IMPLEMENTATION:
ARCHITECTURE
SITE COLUMNS
SITE
COLLECTIONS
WEB
APPLICATIONS
SHARED
SERVICE APPS
POOL
PSC
MMS
PSC
Intranet
Sales
Client or
Prospec
t
Delivery
Client or
Prospec
t
Client
Portal
Extranet
<Client>
Client or
Prospec
t
<Client>
Client or
Prospec
t
Term Set: Clients and
Prospects
Term Store: PSC MMS
12. SharePoint Saturday Chicago Suburbs12
TERM STORE
ARCHITECTURE
o Term Group: PSC
o Term Set: Clients and Prospects
o Term: Clients (Not available for
tagging)
o Term: <Company>
o Term: <Company>
o Term: Prospects
o Term: <Company>
o Term: <Company>
IMPLEMENTATION
DEMO:
TERM STORE
13. SharePoint Saturday Chicago Suburbs13
EDIT PROPERTIES VIEW PROPERTIES
DEMO:
USER INTERFACE
SITE COLUMN: CLIENT OR PROSPECT
14. SharePoint Saturday Chicago Suburbs14
TAKE-AWAYS
THE MMS IS AWESOME!
DEFINE
METADATA
ONCE
CONSUME
METADATA
EVERYWHE
RE
REQUIREMENTS
MMS:
ENABLES US
TO REUSE
METADATA
ACROSS
SITE
COLLECTIO
NS
ACROSS
WEB
APPLICATIO
NS
UI =
AWESOME
15. SharePoint Saturday Chicago Suburbs15
SHAREPOINT 2010 NEW IN SHAREPOINT 2013
JUST SCRATCHING
THE SURFACE
MANAGED
METADATA
NAVIGATION
HASHTAGS
IMPORT
&
EXPORT
WITH GUIDS
PIN
&
REUSE
CT HUB
SOCIAL
ENTERPRISE
KEYWORDS
DEEP HIERARCHIES
16. SharePoint Saturday Chicago Suburbs16
WIN A
MICROSOFT SURFACE!
VISIT JENNIE AT THE PSC BOOTH
IN THE VENDOR AREA
Consultant on the SharePoint Solutions team with PSC group– you may have heard my constituents Jason, David or Michael in sessions this morning5th year developing for SharePoint– been doing this since MOSS 2007 daysI am passionate about technology, not just SharePoint– here I am with my awesome infinite-looping doormat, I love video games, love my XboxLove managed metadata
This is the Lunch & Learn session on the Managed Metadata Service Application in enterprise SharePoint solutionsWe have about 30 minutesWhat I’d like you to come away with is to be able to answer the questionsWhat is the MMSAWhy would we want to use it? And how would we implement it? The best way to answer the last two questions is with a simple use case
Show of hands: how many of you know what metadata is?How many of you know what managed metadata is?How many of you have actually used the managed metadata term store in a SharePoint environment?Metadata: information – in SharePoint speak, properties on an itemManaged metadata: information that can be reused
In SharePoint, we can reuse metadata in two ways:Managed data– a set of terms that we define in a central location, called the term storeManaged content types– collection of metadata that we define in a central location, called the CT hubIn both cases, we can consume this metadata from anywhere in the SharePoint farm
Metadata– data, content types– defined in the MMSConsumed anywhere in the farm
Best way to look at why this might be useful is to examine an actual use caseThis focuses on term store– data portion of the MMSStart with common, simple requirement for enterprise solutions: manage documents throughout the sales process from prospect to clientUse SharePoint Intranet– start with a prospectIntranet web application to store documents like Responses to RFP, estimatesWhen prospect becomes a client create a client portal in our extranet web applicationClient portal stores documents like Statement of Work, Change Requests, etc.– stuff relevant to work we’re doing
Last week, I asked a couple coworkers to put their way-back hats on and tell me how they’d implement this in MOSS 2007, BEFORE the MMSFavorite things from 2007Before you correct me– the xbox 360 came out in 2005, but I couldn’t afford one until 2007Speaking of things we can’t afford, Alfonso Soriano signed an 8-year, $136MM contract with my Cubbies
But what if I told you…We could…Define a set of clients and prospects terms in one location, and manage it in the native SharePoint UIWhen a prospect becomes a client, we can make the change once and it’s reflected everywhere that the company tag existsThe UI is AJAX-like autocompleteAll available on any site collection, on any web app in the farm.
So how would we do it? Quick glance at the architecture:Define what’s called a Term Set in the managed metadata service applicationThe way our farm is constructed, let’s say we have two web applications– an intranet and an extranetAnd each web application has some site collectionsIntranet has a sales SC and a delivery/development SCExtranet is full of client portalsDefine same field on each SC (not necessary)
Manage Service ApplicationsTerm Group called “PSC” (that’s us)Term set called “Clients and Prospects”PSC has some awesome clients– but these are not our real clients– unfortunatelyContent Type HubSite column called “Client or Prospect” this is what I will use to tag documentsSales site: Documents libraryAdd content typeDelivery siteAdd content typeUpload document
DocumentDrag from desktopEnter Major League Baseball (Prospect)View properties Prospects: Major League BaseballTerm storeChange from Prospect to ClientRun jobRefreshboomski
What can you take away from this?The MMS enables us to reuse metadata in a SharePoint Farm—Across site collections, and across web applicationsAdded bonus: UI is pretty freshUSE IT WHEN: You want to define metadata once– consume it everywhere