Project Description

Use SharePoint Managed Metadata Navigator to browse, explore, create, update, delete, export and import MMD Groups, Termsets, and Terms for SharePoint 2010.

Use this tool to Navigate, Administer, and Export SharePoint 2010 Managed Metadata.

Features includes:
  • Uses SharePoint Object Model, not Web Services.
  • Navigate the MMD structure, seeing more information than the standard MMD interface (like GUIDs, internal settings, counts, etc.)
  • Updating and creating terms, termsets, groups
  • Exporting using either a custom format which includes term GUIDs and labels/synonyms
  • Exporting using the standard Microsoft format that can be imported using SharePoint MMD
  • Importing using a custom XML format, supporting termset GUIDs, term GUIDs, term Labels/Synonyms, Sub Terms, creating or updating Termsets/Terms
  • Custom export/import using Xml format preserves GUIDS across environments

Export Options:

1. Microsoft CSV Format:
Export a MMD Termset (one at a time) to the built-in Microsoft SharePoint MMD Import File format. This does not include Term IDs (GUID) or Term labels/synonyms.

2. Custom CSV Format:
I built this format to make it easy to export MMD data to be easily imported into a database (like SQL Server) or Excel, Access, etc. It includes Term IDs (GUID) and Term labels/synonyms. The entire TermStore can be exported, or a Group, or a TermSet, or a Term, or a Sub-Term, etc. Additionally, an option to split the synonyms to separate rows when exporting is provided (or the synonyms are added as additional csv columns).

3. Custom Xml Format:
I built this format to make it easy to export the MMD data so that it can be imported by this program. It exports 1 or more TermSets at a time, and includes all important TermSet, Term, and Label information. This option is further explained below.

Xml File Import Instructions:

An Xml file can be provided to import that contains 1 or more TermSets and Terms. Terms can also include synonyms/labels, GUIDs, and other settings described below. TermSet GUIDs can be included so that existing TermSets are updated instead of created. Also, if TermSet name is included and found then it will be updated instead of created. Term GUIDs can be included to reuse existing Terms if the reuse attribute equals true. If reuse attribute is true, then the reusebranch attribute can be set to true so that the entire Term branch is reused. If reusebranch is true and the Xml file specifies sub-terms within the current term being imported, then the sub-terms will be ignored since the branch is used. If reuse attribute is false and the GUID is provided and a matching Term is found, then the term is not reused but will be updated (including the name and other provided attributes). If the term GUID is not found and/or the Term name is provided and already exists, then it will be updated. One or more Labels for terms can also be provided, but the Label should be different than the term name. Terms can contain other terms (add the Xml element after any labels). This program does not limit the nesting of terms, but SharePoint best practices suggests 7 levels is the maximum supported limit of nesting.

PS. A great tool I've used to build XML files and CSV files (and even C# code!) is http://nimbletext.com. It takes text data in, a template (super easy to build with placeholders), and then builds the formatted output, can be anything!

Xml Definition:

termset (contains term elements)
  • name=termset name, required (updated when new termset is created, or termset is found with matching GUID)
  • id=GUID/empty, optional (leave blank and new termset is created, provide an existing GUID to update the termset)
  • description=text, optional
  • isavailfortagging=true/false, optional (default is false)
  • isopenfortermcreation=true/false, optional (default is false)

term (can contain term elements and label elements)
  • name=term name, required (updated when new term is created, or term is found with matching GUID)
  • id=GUID/empty, optional (leave blank and new term is created, when reuse=true and GUID is provided and found then term is reused, if reuse=false and GUID is provided and found then term is updated)
  • description=text, optional
  • isavailfortagging=true/false, optional (default is false)
  • reuse=true/false (when true, requires id to contain valid GUID of existing term, otherwise term is created)
  • reusebranch=true/false (when true, requires reuse=true, and reuse conditions described above)

label (optional, when provided should be direct child of term element, one label element per label/synonym)
  • name=text, required (should NOT match term name)

Sample Xml Specification:

img11.png

Sample Images

MMD Group selected in application, Group tab is automatically selected.
Cannot delete Groups, only create and update.
Group ID is not available for create or update.
img1.png

MMD Termset selected in application, Termset tab is automatically selected.
Termsets can be updated, created, deleted, or have all its terms cleared (recursively).
Termset IDs cannot be created or updated.
img2.png

MMD Term selected in application, Term tab is automatically selected.
Term can be updated, created, deleted, or have all its sub terms cleared (recursively).
Term ID can be specified in extra textbox near Create button.
Labels/Synonyms can be created/edited, separating labels with semi-colons.
img3.png

Multiple export options are available, described above.
img4.png

Custom Xml files can be imported, formats described above.
img5.png

Instructions (same as above) are included in the Help dialog window.
img6.png

Sample Microsoft SharePoint Managed Metadata CSV file generated when exporting Termset.
img7.png

Sample custom CSV file generated exporting Termset, with synonyms/labels added as extra CSV columns in file.
img8.png

Sample custom CSV file generated exporting Termset with synonyms/labels split to multiple rows.
img9.png

Sample XML file generated by exporting a TermSet, with termset, term, synonyms/labels and sub-terms exported.
img10.png

Inspired by SolidQ MMD Exporter and a colleague's XML import app (Mark Rahn).

A product by Ben Steinhauser, brought to you by B&R Business Solutions, www.bandrsolutions.com.

Last edited Oct 7, 2012 at 4:49 PM by bandrben, version 8