Показаны сообщения с ярлыком SharePoint. Показать все сообщения
Показаны сообщения с ярлыком SharePoint. Показать все сообщения

четверг, 28 августа 2014 г.

SharePoint via PowerShell. Списки

Получить ссылки на параметры для всех списков узла:
foreach ($foo in ($web.Lists | select ID)) { $web.Url + "/_layouts/listedit.aspx?List={" + $foo.ID.ToString() + "}"}

среда, 4 июня 2014 г.

SharePoint - Получение пользователя веба

По части имени учётки в AD.
$web = Get-SPWeb http://srv-servername:123/spweb
$login = "part_of_login_for_search";

foreach($uiter in $web.AllUsers) { if ($uiter.UserLogin.IndexOf($login) -ne (-1)) { $user = $uiter;} }

$user.ToString();

понедельник, 31 марта 2014 г.

SharePoint - глюки. Создание иерархии вариантов, Column ‘EntryType’ does not exist

Есть портал, когда-то разрабатывавшийся под SharePoint Server 2010. Теперь развёрнут на 2013 в режиме совместимости с 2010.
Надо внедрить двуязычность. Решено настроить Variations. Однако, при создании иерархии вариантов возникла проблема.

При попытке создания иерархии формируется соответствующее задание по расписанию.
При выполнении задания возникает ошибка вида «Column ‘EntryType’ does not exist».
Было выяснено, что у портала в системном списке Relationships List отсутствуют некоторые поля, к которым, видимо, обращается для чего-то механизм создания иерархии вариантов.

Проблема решается путём добавления недостающих полей через командную консоль:
$web = Get-SPWeb http://sp-server:12445
$relList = $web.Lists["Relationships List"]
$relList.Fields.Add("Status", [Microsoft.SharePoint.SPFieldType]::Integer, $true)
$relList.Fields.Add("EntryType", [Microsoft.SharePoint.SPFieldType]::Integer, $false)
$relList.Fields.Add("Label", [Microsoft.SharePoint.SPFieldType]::Guid, $false)
$relList.Update();
После этого даём команду на создание иерархии вариантов обычным образом через раздел «Метки вариантов» параметров семейства узлов.

SharePoint - Восстановленный из бэкапа сайт не открывается (access denied)

Портал поднят из бэкапа. Нужная учётка задана как администратор семейства узлов, кроме того учётке предоставлены полные права в настройках web-приложения. Тем не менее портал не открывается — access denied. Решение: задать правильные superuser- и superreader-аккаунты для web-приложения.
  $wa = Get-SPWebApplication -Identity "http://sp-web-app"
  $wa.Properties["portalsuperuseraccount"] = "DOMAIN\superuser"
  $wa.Properties["portalsuperreaderaccount"] = "DOMAIN\superreader"
  $wa.Update()
Рецепт найден здесь.

пятница, 21 марта 2014 г.

SharePoint - Работа с решениями через PowerShell

Add-SPSolution "C:\My.Solution.Name.wsp"

Name                           SolutionId                           Deployed
----                           ----------                           --------
my.solution.name.wsp           1671e031-1603-40ce-a1e0-9a29ea518741 False

Install-SPSolution -Identity my.solution.name.wsp -WebApplication http://my-sp-app -Force -GACDeployment -confirm:$false

...................

Update-SPSolution -Identity my.solution.name.wsp -LiteralPath "C:\My.Solution.Name.wsp" -GacDeployment

Активация фичи:
Enable-SPFeature FeatureFolderName -Url http://server/site/subsite
Деактивация фичи:
Disable-SPFeature FeatureFolderName -Url http://server/site/subsite

четверг, 20 марта 2014 г.

SharePoint - Создание семейства web-узлов из PowerShell

$webUrl = "http://sp-portal:12345/"
$ownerAlias = "DOMAIN\account"
$webName = "Profiles"
$webTemplate = "SPSMSITEHOST#0"
$compatibilityLevel = 14

New-SPSite -Url $webUrl -OwnerAlias $ownerAlias -Name $webName -Template $webTemplate -CompatibilityLevel $compatibilityLevel

SharePoint - Создание web-приложения из PowerShell

$siteName = "WebAppName"
$port = 12345
$path = "C:\inetpub\wwwroot\wss\VirtualDirectories\12345"
$allowAnonymous = $false
$ssl = $false
$appPoolName = "SharePoint WebAppName Pool"
$managedAccount = "DOMAIN\app_pool_account"
$dbName = "WSS_Content_WebAppName"
$dbServer = "SERVER-NAME.company.local"
$authenticationMethod = "NTLM"

New-SPWebApplication -Name $siteName -Port $port -Path $path -AllowAnonymousAccess:$allowAnonymous -SecureSocketsLayer:$ssl -ApplicationPool $appPoolName -ApplicationPoolAccount (Get-SPManagedAccount "$managedAccount") -DatabaseName $dbName -DatabaseServer $dbServer -AuthenticationMethod $authenticationMethod

среда, 9 марта 2011 г.

Факториал на XSLT


Неожиданно сделал вычисление факториала средствами XSLT.

Здесь шаблон factorial рекурсивно вызывает сам себя, передавая каждый раз уменьшающееся на единицу значение в качестве параметра.

Шаблон sample иллюстрирует возможное использование (вычисляется 5! + 7!).



 
 
  
   
    
   
   
    
     
    
   
  
 
 



 
  
   
  
 
 
  
   
  
 
 



Разумеется, всё это довольно "игрушечные" вещи. В эту сторону меня потянула необходимость сделать url encoding в XSLT 1.0 для кириллических строк. Подумал, может удастся как-то рекурсивно откусывать от строки по символу и так производить перекодирование. Пока не сделал, это оказалось сильно сложнее, чем ожидалось.

Обычно для подобных задач задействуются внешние скрипты, но их не всегда можно использовать (например, в SharePoint скрипты msxsl по умолчанию выключены из соображений безопасности).