Hi,
I am writing a script to create term set and terms.
At particular termset, when user clicks on term1,termsub1 should be displayed.
For the script that has been written as below it is just displaying term1and termsub1 below that.
Please share your ideas to modify the script accordingly
//CreateTermSetInputs.xml
<?xml version="1.0" encoding="utf-8" ?>
<TermSetInputs>
<sitecollectionurl>http://abc.com/</sitecollectionurl>
<mmsname>Managed Metadata Service</mmsname>
<termsetgroupname>SharePoint Group</termsetgroupname>
<termsetdetails>
<termset1details>
<termsetname> term set1</termsetname>
<term>term1</term>
<term> term2</term>
<term> term3</term>
</termset1details>
<termset2details>
<termsetname>term set2</termsetname>
<term> term1</term>
<term> termsub1</term>
<term>term2</term>
<term> termsub2</term>
</termset2details>
</termsetdetails>
</TermSetInputs>
//CreateTermSetScript.ps1
#-----Input parameters to the script
$snapin = Get-PSSnapin | Where-Object {$_.Name -eq 'Microsoft.SharePoint.Powershell'}
if ($snapin -eq $null)
{
Write-Host "Loading SharePoint Powershell Snap-in"
Add-PSSnapin "Microsoft.SharePoint.Powershell"
}
# Get complete file path (eg: E:\SP2010\xxxx.ps1)
$filepath = $MyInvocation.MyCommand.Definition
# Get current Directory file path (eg: E:\SP2010)
$directorypath = [System.IO.Path]::GetDirectoryName($filepath)
# Get current Drive (eg: E:\)
$directory = Get-Item $directorypath | Split-Path -Parent
$InputFile = $directorypath+"\CreateTermSetInputs.xml"
$xmlinput = [xml] (get-content $InputFile)
$item = $xmlinput.TermSetInputs
#---------------------Variables-----------------------------------#
#$sitecollurl - to get Site Collection URL from xml
$sitecollurl = $item.sitecollectionurl
#$mmsserviceapp - to get Metadata Service Application Name from xml
$mmsserviceapp = $item.mmsname
#$termsetgroup - to get Term Set Group Name from xml
$termsetgroup = $item.termsetgroupname
#$termsetdetails - to get Term Set details from xml
$tsdetails = $item.termsetdetails
#------------------------------------------------------------------#
$taxonomySession=Get-SPTaxonomySession -Site $sitecollurl
$termStore=$taxonomySession.TermStores[$mmsserviceapp]
$group=$termStore.CreateGroup($termsetgroup)
foreach($tsetdetails in $tsdetails.ChildNodes)
{
$termset = $tsetdetails.termsetname
[array]$terms = $tsetdetails.term
$termSet=$group.CreateTermSet($termset)
foreach($term in $terms)
{
$terms=$termSet.CreateTerm($term,1033)
$termStore.CommitAll()
}
}
Thanks & Regards, Sudheer