6

SharePoint 2013 does not support managing term set using REST API still now. In that case, JSOM is the one and only way. If your requirement is just to read the term set, then you can follow this. module.getTermSet = function (id, callback) { SP.SOD.loadMultiple(['sp.js'], function () { // Make sure taxonomy library is registered ...


5

No, Taxonomies are built like the following: Taxonomy Group TermSet Term Term Terms however can contain subterms


4

Groups define security boundaries. A group is a set of term sets that all share common security requirements. Only users who are designated as contributors to a specific group can manage term sets that belong to the group or create new term sets within it. Organizations should create unique groups for term sets that will have unique access or security needs. ...


4

Terms are the basic unit or smallest item in Managed Metadata or Taxonomy. TermSet is just a collection of Terms.Like say if you want to create a taxonomy for countries and their cities. Country will become the TermSet (eg:England) and cities will be Terms inside respective termsets ie London will be term inside England. Enterprise Keywords is a site column ...


3

I successfully did it by following this blog post: Source SP Farm - Windows Azure SharePoint Server 2013 VM. Destination SP Farm - SharePoint Server 2013 VM. http://blog.kuppens-switsers.net/sharepoint/migrate-managed-metadata-between-farms/?subscribe=success#blog_subscription-3 Note: First migrate term store and then Backup/Restore site collection. ...


3

I have been looking for the answer to this one too. The following should retrieve the extra properties: //paste code on one line context.load(tsTerms, 'Include(IsRoot, Labels, TermsCount, CustomSortOrder, Id, IsAvailableForTagging, Name, PathOfTerm, Parent, TermSet.Name)'); The following blog had some good examples that have helped me get my code working. ...


2

You may need to manually refresh the cache; if you are trying to use the term immediately after creating it then it may not have had enough time to propagate. If you are using JSOM, try adding a call to termStore.updateCache() in the executeQueryAsync function, like below:. var termSetId = "77ccf69b-b17e-40cf-8589-7bebc8ee6c9c" var newGuid = SP.Guid.newGuid(...


2

Unfortunately you cannot import labels using OOB import functionality. I recommend using Lapointe.SharePoint.PowerShell.wsp found here and here to do the import. It supports also labels. You can do first an export to get sample XML out, then modify it, and finally do import. It will not overwrite existing terms (will throw error), so you need want to remove ...


2

There was a same question on stackexchange and answered.I hope this article helps you out. How to import term sets to Managed Metadata Service using PowerShell and CSV file Also the below TechNet article explains the CSV file format for metadata termset values. https://technet.microsoft.com/en-us/library/ee424396.aspx However if you have the well ...


2

GetTerms returns a TermCollection object, which, even if it's empty, will not be null. You probably want to do something like: TermCollection results = termSet.GetTerms("MyTerm", false); if (results.Count == 0) { termSet.CreateTerm("MyTerm", 1033); termStore.CommitAll(); }


2

There are couple options you can try. You can call TermSet.GetAllTerms() method to return all terms under that TermSet. Another approach you can try is to use recursive function to enumerate termSet.Terms and term.Terms I list the code for approach 1 at the following. You can check term.PathOfTerm to find out the term's hierarchy information. class ...


2

Try it as below: Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue $WebURL="https://sitecollectionurl/" $ListName="Financial" $FieldName="Doc Type" $Web = Get-SPWeb $WebURL $List = $Web.Lists[$ListName] if(!($List.Fields.ContainsField($FieldName))) { $TaxonomySession = Get-SPTaxonomySession -Site $web.Site $TermStore = $...


2

To get the description, you need to use it as term.get_description(). It is available as a method and not as property unfortunately.


1

Your best bet is using powershell script to export and import the term set as Paul mentioned. Here are script. To Export Add-PSSnapin Microsoft.SharePoint.Powershell $metadataApp= Get-SpServiceApplication | ? {$_.TypeName -eq "Managed Metadata Service"} $mmsAppId = $metadataApp.Id $mmsproxy = Get-SPServiceApplicationProxy | ?{$_.TypeName -eq "Managed ...


1

Go for the export and import of the term set and then fix the existing items with a PowerShell script. The script should lookup the term in the term store given the text of an old term. Then it should assign the correct term with a new id. Hope it does make sense. I have a PowerShell script for that and if noone else posts an answer, I will upload it here ...


1

You'll need to specify a term set as open to users to be able to add new terms, see https://support.office.com/en-us/article/Introduction-to-managed-metadata-a180fa28-6405-4679-9ec3-81d2028c4efc In addition, you can configure a term set as closed or open. In a closed term set, users can't add new terms unless they have appropriate permissions. In an open ...


1

Enterprise keywords, as defined by the platform, is not a site collection specific feature. All site collections in a web application (or tenant in your case) would share the same enterprise keywords. In addition, the native Enterprise Keyword field, as you noticed, uses a searching/suggestion behavior to help users find terms -- you cannot pick the ...


1

You have to add below properties to map the column to a termset: SspId- This is the GUID of managed metadata service TermSetId- GUID of TermSet Please try below schema: <Field ID="{0AF6E300-E338-440F-90CB-726C11028EE1}" Type="Note" DisplayName="MyCompanyDocType_0" Name="MyCompanyDocTypeTaxHTField0" ShowInViewForms="FALSE" Required="FALSE" Hidden="...


1

You could build your own REST service with Web API that gets the terms using CSOM and returns JSON. Call the API from SharePoint via jQuery $.ajax. Here's an example that includes parent and child objects: [DataContract] public class TermInfo { [DataMember] public Guid Id { get; set; } [DataMember] public string ...


1

Did you create two different termsets with the same name (and terms)? If you did then the behavior is normal. Each term (and termset) has it's own unique id. Since you created 2 termsets 'recruitement' each will have it's own unique id's. I would create one 'global' termset that is available for all sites and let the the columns in both sites point to the ...


1

Try with simple link to list (with relative url) ---Edit--- You have absolute path to list. Try with relative path to list. example of absolute path> https://SITE/Shared Documents/Forms/AllItems.aspx Type just /Shared Documents/Forms/AllItems.aspx :)


1

I have checked this and got some interesting facts. Direct solution: delete them from list at : [site url]/Lists/TaxonomyHiddenList/AllItems.aspx Solution captured after evaluating below articles: 1.How to remove obsolete/orphaned items from TaxonomyHiddenList 2.https://social.technet.microsoft.com/Forums/office/en-US/c835a182-338d-47bd-b3d7-...


1

After many tests, finally I can reproduce the error "There is already a term with the same default label and parent term" In my custom termset 'CustBusinesUnit', the "IsAvailableforTagging" is unchecked. It means: User profile cannot REUSE the existing terms in the termset User profile can ADD NEW terms in the termset and use it as the profile value When ...


1

Since you are passing values from csv file and all the users are getting updated in a loop. I can think of a below possible way to trace the problem and a possibility to crack a problem. Trace the problem: It might be possible that, for 2 users you are saving same value in CustBusinessUnit. So in first iteration of loop, while you update the user profile, ...


1

Below is the function I use and it creates Creates the new term under root itself (Term set node) Works on any page as all the dependencies are loaded within the script function create(termName) { var scriptbase = _spPageContextInfo.siteAbsoluteUrl + "/_layouts/15/"; $.getScript(scriptbase + "SP.js", function(){ $....


1

I used this workaround. if (!String.IsNullOrEmpty(sortOrder)) { List<string> termGuids = sortOrder.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries).ToList(); termguids.AddRange(termSet.Terms.Select(t => t.Id.ToString()).Except(termGuids)); foreach (string guidString in termGuids) { // some logic } } ...


1

Using the sspId from the field on the item I was working on I was able to get the child terms from a Reused Term. TermStore termStore = session.TermStores.FirstOrDefault(ts => ts.Id == taxField.SspId); TermSet termSet = termStore.GetTermSet(taxField.TermSetId); ...


1

Thanks Waqas. I used PowerShell to export my "term sets" within my TermGroupA as a XML file. This XML will preserve all GUID's for "term sets" and "terms" NOTE: As far as I know it doesn't extract the "term group" GUID (which was fine for me). Grab that XML file, take it to UAT application server and again use PowerShell to create these "term sets" and "...


1

You can make use of properties Terms or TermsCount. This property provides the list of immediate Terms. So in your case you can use following logic if(term.Terms == null || term.Terms.Count == 0) //means this term has no childern if(term.TermsCount == 0) //means this term has no childern


1

You can use Script Created by http://blog.falchionconsulting.com/index.php/downloads/ There is a cmdlet that allows to export terms into an XML file and another cmdlet that allows importing from xml file. http://www.falchionconsulting.com/PowerShellViewer/Default.aspx?Version=SP2010&Cmdlet=Export-SPTerms http://www.falchionconsulting.com/...


Only top voted, non community-wiki answers of a minimum length are eligible