SharePoint - encontrar o valor sitetemplate de um modelo WSP?
-
05-09-2019 - |
Pergunta
Eu estou tentando roteiro a criação de locais para a FAB 40 modelos do Microsoft SharePoint. Estou tendo problemas para encontrar o valor para o parâmetro sitetemplate para o comando stsadm para criar os sites.
por exemplo:.
stsadm -o createsite -url http://Test/sites/Team_Site **-sitetemplate STS#0** -title "Team Site" ...
Existe um comando que pode ser executado, ou em algum lugar que eu posso olhar para encontrar o valor sitetemplate pacotes WSP (por exemplo BugDatabase.wsp)?
Solução
Eu acho que a maneira mais fácil de fazer isso é através do PowerShell, mas você pode escrever código para fazer a mesma coisa. A chave é para obter uma referência para a web e, em seguida, chamar SPWeb.GetAvailableWebTemplates(lcid)
.
Eis algumas linhas de script PowerShell / comando para cuspir as propriedades nome e título para fora na tela:
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$theSiteColl = New-Object Microsoft.SharePoint.SPSite("http://server")
$theWeb = $theSiteColl.OpenWeb()
$theWeb.GetAvailableWebTemplates(1033) | select name, title
#put your locale ID in the function call
A coluna Name
é o que você tem que passar para o comando stsadm -o createsite
, ea coluna Title
ajuda a associá-lo com algo que faz sentido. Na minha caixa de teste, o modelo de aplicativo BugDatabase é BT#0
.
Outras dicas
A WSP é apenas um arquivo CAB que podem conter vários modelos. Eu acho que você precisa fazer isso manualmente. Para fazer isso, mudar o nome do WSP para ter uma extensão de táxi, extrair o manifest.xml e webtemp * arquivos do WSP, e olhe lá. nome programático de uma definição do site é apenas o nome da definição de site, seguido de #, e em seguida, o ID de configuração. Por exemplo, para criar um site usando a configuração 0 do modelo STS, você usaria STS # 0.