четверг, 16 января 2014 г.

Заставляем в XsltListViewWebPart открывать элементы в диалоговм окне.


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

понедельник, 13 января 2014 г.

Редактирование текстового фала с помощью PowerShell или как я делал обновляемый телефонный справочник в формате HTML на портале

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

Проблема


Для удобство пользователей решили разместить телефонный справочник в виде Excel таблицы.  Данные из учетной системы выгружаются в файл и этот файл необходимо визуализировать.
 В начале, т.к. данные выгружались в файл Excel, я решил использовать веб чать отображения Excel. Но веб часть не масштабировалась под размер таблицы, нужно было руками указывать высоту или была прокрутка в веб части (что не совсем удобно). Посмотрев учетную систему, увидели что можно выгружать данные в html. Кажется, что может быть легче, положил на страницу веб часть «Редактор контента» или «Просмотр HTML» и все, но оказалось немного сложнее. В файле HTML находился блок со стилем, который не только делал таблицу телефонного справочника приятной к просмотру, но и ломал разметку страницы SharePoint (логотип скрывался, окно для поиска становилось маленьким, на рибоне все становилось жирным шрифтом и т.д.)

среда, 11 декабря 2013 г.

Удаление пользователей из конкретной группы пользователей с помошью PowerShell


Сегодня я расскажу, как я решил задачу по удалению пользователей и конкретной группы SharePoint. Дело в том, что в данный момент администрирую коробочное решение документооборота. В коробочном решении,  лицензии, отслеживаются по количеству пользователей в определённой группе. Когда пользователей далеко за 300, то искать и удалять пользователей из группы стандартными средствами весьма долго. Решил написать скрипт.
Он проверяет группу на разных сайтах (семействах) и если пользователь имеется в группе, то спрашивает, удалять пользователя  или нет. 

четверг, 21 ноября 2013 г.

Обновление поля Инициалы в списке Сотрудники с помощью PowerShell


У меня на портале есть справочник сотрудников, в котором есть поля "Название", "Фамилия", "Имя", "Отчество" и "Инициалы". Проверив справочник, я понял, что поле "Инициалы" в справочнике почти не заполнено, а руками заполнять более 200 элементов, на мой взгляд, долго и не разумно. Для решения этой задачи решил прибегнуть к PowerShell.

вторник, 12 ноября 2013 г.

Создание оповещений (Alert) с помощью PowerShell


Недавно встала задача создать оповещения для нескольких пользователей. Казалась задача тривиальная, зайти в список и создать оповещения для этих пользователей, но необходимо было создать определенные условия.
Необходимо что бы пользователям приходило оповещение  за семь дней до истечения срока завершения задачи. Такого условия в форме создания оповещения нет.
Создаем оповещение средствами браузера и смотрим  с помощью PowerShell что у нас получается, оказывается условия выполнения это знакомый нам Query.



понедельник, 9 сентября 2013 г.

Удаление версий элемента с помошью PowerShell

На днях появилась задача удалить версии у неактуальных элементов которым уже 4 года и старше. Я решил воспользоваться уже знакомым PowerShell.
Для начала нужно понять до какого элемента будем удалять журнал версий и получить его ID.
Немного расскажу что делает скрипт:
1. меняет значение максимального числа хранимых версий в списке. (рис. ниже)
Заметки: если Вы планируете в новых элементах хранить больше версий чем установлено в скрипте, то после отрабатывания скрипта, необходимо самостоятельно установить значение в настройках списка . 

вторник, 6 августа 2013 г.

Новости на портале SharePoint часть II

В продолжении темы Новости на портале SharePoint часть I  я расскажу о дальнейших украшательствах формы просмотра.
1. добавим открытие элемента в модальном окне при нажание на название новости.
Открываем страницу с вебчастью в SPD в режи "С разделением" и кликаем на блок с
названием новости.


Новости на портале SharePoint


Сегодня я расскажу, как можно создать новости на портале SharePoint. Нам понадобится список, созданный по шаблону «Извещения»,  SharePoint Designer  и естественно прямые руки.
И так начнем.
  1. Создаем список «Новости»  на основе шаблона «Извещения»

среда, 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>