среда, 24 июля 2013 г.

Поиск больших списков SharePoint с помошью PowerShell

Сегодня решил рассмотреть вариант поиска больших списков с помошью PowerShell

Наткнувшийсь на итересную статью (спасибо автору), решил ее до работать. Нужно было сделать решение более универсальным.
Для этого добавил возможность пройти по нескольким семействам сайтов (указываем в переменной $arraySite) и выводить только те списки и библиотеки в которых количесво элементов больше требуемого (указываем нужное значение переменной  $maxvalue ).

понедельник, 27 мая 2013 г.

Дни рождения у пользователей SharePoint 2010


При решении этого вопроса использовал статью http://gandjustas.blogspot.com/2012/03/sharepoint-1.html

все хорошо и доступно описано. я сделал свою веб-часть в VS положил на страницу.
Хотело что бы отображались фото пользователей и дни рождения, но этого не было. Вот тогда  я решил доработать веб-часть.


для этого:
1. изменяем веб-часть.

вторник, 12 марта 2013 г.

Использование Яндекс карт в Sharepoint 2010

Сегодня решил написать как добавить карту на сайт Sharepoint
Первым делом необходимо создать карту в Яндекс, для этого переходим по ссылке

http://api.yandex.ru/maps/tools/constructor/

В откывшейся странице создаем нужную нам карту

среда, 6 марта 2013 г.

Создание группы пользователей SharePoint 2010 с помошью Powershell

Для создания групп пользователей и добавления в нее пользователей можно воспользоваться следующим скриптом:

cls
if((Get-PSSnapin | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"}) -eq $null) {
Add-PSSnapin Microsoft.SharePoint.PowerShell;
}

воскресенье, 16 декабря 2012 г.

Изменение свойства "Hidden" у полей списка SharePoint 2010


При работе с семействами сайтов заметил такую особенность, если на сайте верхнего уровня создать тип контента и часть полей сделать скрытыми, то на текущем сайте все будет работать как надо, но вот подсайт уже с этим типом контента работает не корректно.
Проблемы:
скрытые поля скрыты не только в формах (просмотра, редактирования и создания), но и не доступны для рабочего процесса SPD и их нельзя отобразить в представлении.
В начале я решил изменить свойства с помощью SharePoint Manager 2010, но он выдал такую ошибку:


потом я решил изменить свойсво с помошью PowerShell

при выполнении команды $Field.Hidden = $false выдавало следующее сообщение:


Решение:

cls
if((Get-PSSnapin | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"}) -eq $null) {
Add-PSSnapin Microsoft.SharePoint.PowerShell;
}
$SPWeb = Get-SPWeb
http://server/site #Изменить адрес сайта#
$List = $SPWeb.Lists["Список"]  #Изменить на название списка#
$field = $List.Fields["
Поле"]  #Изменить на название поля# 
$type = $Field.GetType()
$mi = $type.GetMethod("SetFieldBoolValue", [reflection.bindingflags]"nonpublic, instance")
$parameters = "CanToggleHidden", $true
$mi.Invoke($Field, $parameters)
$Field.Hidden = $false
$Field.Update()
$SPWeb.Dispose()


вторник, 30 октября 2012 г.

Многострочный текст и XsltListViewWebPart

Когда мы используем поле "Многострочный текст" с включенным 
отображается подобным образом

для того что бы вывести значения поля нам потребуется:
1. открыть страницу с этим web-part в SPD
2. выбираем нужный тег

3. в открывшемся окне вводим 

<SharePoint:AppendOnlyHistory runat="server" FieldName="Название поля" ItemId="{$thisNode/@ID}" ControlMode="Display" />
* не забываем указывать Ваше значение поля
4. Но у нас осталось старое значение и его просто удаляем
Все! Готово!

понедельник, 8 октября 2012 г.

Копирование рабочего процесса SharePoint Designer


я думаю, многие сталкивались с проблемой переноса или клонирования РП из одного списка в другой или в другое семейство сайтов.
поискав в интернете, я наткнулся на статью: http://ikarstein.wordpress.com/2011/02/10/walkthrough-how-to-move-or-copy-a-sharepoint-designer-2010-list-workflow-to-another-list-on-the-same-site-or-another-site/
при опробовании такого способа у меня все не получалось перенести, т.к. он предлагал копировать только файл config, а у меня в рабочем процессе еще присутствовали файлы rules(условия). Тогда я решил попробовать сделать следующим образом:
  • Создаем новый рабочий процесс и связываем его с необходимым списком


  • Опубликовываем рабочий процесс

  • Далее заходим Все файлы > Workflows > Нужный рабочий процесс


  • В списке файлов копируем файлы с расширениями: xoml, xoml.rules, кроме xoml.wfconfig.xml в нем находится информация о списке к которому привязан рабочий процесс и если мы его заменим, то новый рабочий процесс будет привязан к списку с которым связан исходный рабочий процесс.


  • И вставляем в папку с файлами недавно созданного РП

  • Переименовываем вставленные файлы в название созданного РП

  • Заходим в рабочий процесс и опубликовываем его

Все, у нас РП скопирован. Единственно хочу предупредить,  что легкое копирование возможно только при полном соответствии полей списков исходного и конечного, иначе пройдётся заходить РП и редактировать его, адаптируя под конкретный список.

P.S.  после копирования предлагаю открыть РП и проверить его корректность и обратить особое внимание на активити которые обновляют список или  которые получают какие либо данные из списка ведь они могут ссылаться на не верный список.

воскресенье, 30 сентября 2012 г.

Отображение представления Document Library для этого веб-сайта невозможно.


После переноса веб-узла в другую ферму и зайдя в дизайнере в "Страницы сайта" столкнулся с ошибкой "Отображение представления Document Library для этого веб-сайта невозможно." и в разделе "Списки и библиотеки" сообщение "Нет элементов для отображения в этом представлении." хотя вразделе "Все фалы" отображались и списки и библиотеки.




я решил посмотреть на узел через "SharePoint Manager 2010". В ходе просмотра списков и библиотек я заметил вот такое окно: 


Ставить необходимый Solution не было желания,  и данная библиотека мне была не нужна, и я решил ее удалить, но это сделать через " SharePoint Manager 2010" так и не получилось, я решил это сделать через дизайнер. Зашел в раздел "Все файлы" нашел библиотеку и удалил, также удалил из корзины. Все, теперь все работает. 



четверг, 9 августа 2012 г.

Кастомная форма в Sharepoint Designer и поле "Многострочный текст"


Приступил к настройке кастомной формы в Sharepoint Designer  2010 я столкнулся с проблемой, поле типа "Многострочный текст" у которого стоит галочка "Внесение изменений в существующий текст" отображается как обычное поле.



Решение:

Добавить код:

<SharePoint:AppendOnlyHistory runat="server" FieldName="Название поля" ControlMode="Display"/>

Пример:

<td width="400px" valign="top" class="ms-formbody">
            <SharePoint:FormField runat="server" id="ff7{$Pos}" ControlMode="Edit" FieldName="Body" __designer:bind="{ddwrt:DataBind('u',concat('ff7',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Body')}"/>
            <SharePoint:AppendOnlyHistory runat="server" FieldName="Body" ControlMode="Display"/>
<SharePoint:FieldDescription runat="server" id="ff7description{$Pos}" FieldName="Body" ControlMode="Edit"/>
</td>