четверг, 22 мая 2014 г.

переносим элементы в другой список с помощью PowerShell (архивирование элементов)

Добрый день, сегодня я напишу, как можно переносить элементы с одного списка в другой. Мой способ заключается в копировании элементов, а не перемещении. К сожалению я не нашел лучшего способа, ведь .MoveTo элемента списка не поддерживает. В данном способе есть недочет, перенесенные элементы теряют информацию о том кто и когда их создал в начальном списке.
Что делает скрипт:
  • Получает все элементы, которые отвечает фильтру CAML
  • Копирует полученные элементы в другой список
  • Можно удалить исходные элементы (в случае если проводим архивирование и нужно очистить список) 

понедельник, 19 мая 2014 г.

Добавление кастомной кнопки на риббон

Сегодня я поделюсь своим опытом по добавлению кнопки в кастомный список, который был создан в VS и при этом создан был список не мной.
Я не буду рассказывать, как создавать саму кнопку, уже есть много хороших статей по этому вопросу.
К примеру:
Я лучше расскажу о том, как ее привязать к списку. Добавления кнопки к стандартным спискам не вызывает особой сложности. SharePoint 2010 Base Types, List Template and Definition IDs, and Content Types IDs Но у меня был кастомный список с кастомным риббоном, и кнопку все не получалось добавить.

среда, 30 апреля 2014 г.

Изменение привязки локап поля к другому списку

для изменения привязки поля к другому списку нам понадобится SharePoint Manager 2010
открываем интересующее поле (в зависимости, где оно было создано, или на уровне списка или в столбцах сайта)
я покажу на примере поля, которое было создано в списке.



вторник, 29 апреля 2014 г.

Поиск всех локап полей семейства ссылающихся на список (PowerShell)

Вчера встала задача найти все поля, ссылающиеся на нужный список, так как поля были созданы не мной и не понятно как (или через столбцы сайтов или непосредственно добавляли в списках), то проверять руками все семейство, в котором несколько под сайтов мне было лень. Решил прибегнуть к PowerShell.
На написание скрипта ушло от 5 до 10 минут, руками искать ушло бы в разы больше…

пятница, 18 апреля 2014 г.

Скрываем/отображаем часть текста в CEWP с помощью jQuery

Сегодня я расскажу, как я решал задачу по скрытию/отображению части текста в веб-части «Редактор контента». В общем, на страницу, которая состоит из веб-частей нужно было разместить объявление, позже объявление для пользователей увеличилось в объеме (стало много текста) и я решил скрыть часть текста с помощью кнопки «Скрыть /показать весь текст»

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

Импорт и создание элементов списка SP с проверкой при помощью PowerShell


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

четверг, 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. Но у нас осталось старое значение и его просто удаляем
Все! Готово!