понедельник, 27 ноября 2017 г.

Отображение Ribbon для конкретного пользователя

Рассмотрим задачу, когда нужно скрыть риббон и верхнюю панель.
это сделать не так сложно, нужно добавить всего пару строчек CSS
#suiteBarDelta{
  display: none;
}
#s4-ribbonrow{
     display: none;
}


Но возникает проблема, ведь часть кнопок скрыта и администрировать становится не возможным. Конечно можно открыть панель разработчика в браузере и отобразить требуемы контент, но при частой работе с риббоном это не удобно.

вторник, 10 октября 2017 г.

Как получить значение поля в DispForm

Некоторое время назад появилась задача произвести манипуляции с полем (скрыть/показать) на форме просмотра.
Можно пойти по пути обращения к полю по его названию, но мне этот вариант не нравиться.

среда, 27 сентября 2017 г.

Заполнение пользователя в поле, если форма изменена в дизайнере

Допустим  мы изменили форму через дизайнер и у нас есть задача указать поле "Пользователь или группа" определенного пользователя.
мы можем это сделать прибегнув к jQuery


jQuery("table.ms-usereditor").find("div").text("user login");
jQuery("table.ms-usereditor").find("td:eq(2)").children().eq(0).click();




данное решение будет работать если в форме поле выбора пользователя только одно.

четверг, 7 сентября 2017 г.

Всплывающие подсказки - callout

В этой статье я расскажу, как можно добавить Callout (popover от MS).

Я не буду в даваться в детали, т.к. примеров в инете достаточно, а покажу как можно сделать универсальное решение.

пятница, 4 августа 2017 г.

Утверждение задач WorkFlow через PowerShell

В этой статье я расскажу, как можно массово через PowerShell утвердить задачи РП созданные через рабочий процесс "Утверждение"

и так нам понадобится 

U2U Caml Query Builder  

с помощью которого мы формируем CAML
полученный CAML вставляем в скрипт

$web = Get-SPWeb http://portal/sites/Doct
$List = $web.Lists["Задачи"]

$Query = New-Object Microsoft.SharePoint.SPQuery;
$Query.Folder = $List.RootFolder;
$camlQuery =   "9"
$camlQuery
$Query.Query = $camlQuery;
$Query.RowLimit = 100;
$List.GetItems($Query)  |  foreach-object {

    $item = $_
    write-host $item.Name $item.Id  
    $item['WorkflowOutcome']='Утверждено'
    $item['ExtendedProperties'] = $item['ExtendedProperties'] + "ows_TaskStatus='Утверждено' ows_FieldName_Comments=''"         
    $item['PercentComplete']= 1
    $item['Completed']=1
    $item['Status']= 'Завершена'
    $item.Update()

}
$web.Dispose()


вторник, 1 августа 2017 г.

Mount-SPContentDatabase : Could not connect to sharepoint using integrated security: Cannot connect to database master at SQL server at sharepoint.


Сегодня при обновлении базы с 2013 на 2016 столкнулся с ошибкой
Mount-SPContentDatabase : Не удалось подключиться к sp_sql, используя встроенную проверку подлинности: Не удается подключиться к базе данных master на сервере SQL в sp_sql. Возможно, база данных не существует, или у текущего пользователя нет разрешения на подключение к ней.

Mount-SPContentDatabase "DB_HR" -DatabaseServer "sp_sql" -WebApplication http://portal.ru

Хотя ферма работает, работает и учетная запись имеет соответствующие права на SQL

понедельник, 5 июня 2017 г.

Опрос с картинками (Sharepoint Survey Image Question)

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


И пришлось прибегнуть к кастомизации страницы с помощью jQuery. Так же для зумирования изображения была использована библиотека ImageViewer.

вторник, 18 апреля 2017 г.

Итоги (суммирование) для вычисляемого поля в представлении.

В этой статье я расскажу как можно вывести итоги для вычисляемого поля.
по умолчанию SharePoint не предоставляет возможности вывести сумму по Calculated field, но мы можем это исправить и изменить шаблон рендера представления CSR и самостоятельно посчитать сумму.

вторник, 28 марта 2017 г.

ValidateCredentialClaims - Access Denied: Claims stored in the credentials did not match with the group claim for a group app.

Сегодня планировал настроить синхронизацию внешнего списка с «Настраиваемым списком» SharePoint по средствам PowerShell, но столкнулся с ошибкой 

The shim execution failed unexpectedly - Access is denied to the Secure Store Service 



В ULS нашел:
ValidateCredentialClaims - Access Denied: Claims stored in the credentials did not match with the group claim for a group app.

пятница, 27 января 2017 г.

Проверка выбранного значение в PeoplePicker при сохранении элемента

В этой статье я расскажу, как можно осуществлять проверку выбранного значения в поле типа «Пользователь или группа». И так будем проверять что в поле выбран пользователь отличный от текущего. В случае если он выбрал сам себя, то ему будет выведено сообщение об этом.


среда, 11 января 2017 г.

Копирование и применение мастер страницы на все сайты веб приложения.

replacement master page across all sites Web application copying master
Думаю, что многие сталкивались с задачей замены мастер страницы в большом количестве сайтов. В моем случае это было порядка 30 коллекций в которых есть под сайты. Если менять страницу руками, то это будет занимать продолжительное время. Поэтому мне было проще написать скрип, который все сделает сам.