If I uncheck "Available For Tagging" from a global termset can I still access it programmatically? The answer would appear to be "No". I have a console app that uses
TaxonomySession session = new TaxonomySession(site, true);
var termStore = session.TermStores[0];
termStore.UpdateCache();
var group = GetTaxonomyGroupByName(termStore.Groups, "Global Termsets");
TermSet globalTermSet = group.TermSets.FirstOrDefault<TermSet>(e => e.Name.Equals("My termset", StringComparison.CurrentCultureIgnoreCase));
OR
TermSet gts = group.TermSets["My termset"];If I uncheck "Available for Tagging" this this fails. When I re-select "Available for Tagging", it works.
Obviously, this is the way SP is designed (I think) but my question is why? I don't want my navigation termset being used for tagging. I have a different termset for that. This suggests that tagging also controls api visibility to the termset. Is this something that other experienced developers can comment on?
Thanks!