Биты и байты.

Биты и байты.

пятница, 31 июля 2015 г.

Создание библиотеки в Sharepoint.

Для создания такой библиотеки нужно совсем немного времени.
Сделаем это на Sharepoint 2013.


Для начала устанавливаем себе SharePoint Designer, он облегчит нам некоторые рутинные действия.
Запускаем дизайнер, открываем наш сайт,  
1. Создаем на сайте новую библиотеку документов.

Выставляем для нее необходимые параметры, обязательно ставим опцию, разрешить управление типами контента

2. Создаем тип контента (это набор столбцов и параметров который можно использовать многократно в разных списках), по умолчанию в типе 2 столбца имя и название.
Наследуемся от типа контента документ, можно наследоваться вообще от любого типа SharePoint и это плюс.
3. Далее создаем необходимые столбцы, которые будем использовать в нашем типе контента, доступны следующие типы столбцов.
Переводчики конечно отожгли, вариант тут имеется ввиду выбор.
У столбца так же есть значения по умолчанию, которые при желании можно определить.

Выберем например тип столбца вариант и  опишем наши варианты для столбца.
Или подстановка
Не забываем нажать Ctrl+S  чтобы все сохранить.
Список всех столбцов всегда доступен на сайте по адресу
http://имя сайта/_layouts/15/mngfield.aspx

4.Добавляем наши столбцы к созданному типу контента.
У каждого столбца есть свойство там 3 значения: обязательный дополнительный и скрытый. В зависимости от задачи выбираем нужный.
Для этого можно нажать на кнопку Веб страница администрирования.
5.Добавляем наш тип контента к созданной библиотеке.
Удаляем тип контента документ. И оставляем тип контента папка чтобы хранить документы в папках.



При желании можно удалить из типа контента шаблон документа  чтобы он не открывался например в Word
6.Добавляем представления для просмотра элементов на разном уровне.
Вообще можно настроить разные виды представлений на каждом уровне.
Для папок у нас будет один вид представления, для элементов другой с группировкой.
Создадим 2 представления. Просмотр и группировка.
Это лучше делать прямо на сайте. Выбираем нашу библиотеку и нажимаем кнопку просмотреть в браузере.
Переходим на сайт с библиотекой, выбираем создать представление
6.1 Выбираем название и  необходимые столбцы для папок
6.2Заходим в раздел папки и выбираем, показать в папке самого верхнего уровня.
6.3 Точно так же создаем второе представление, обязательно в обоих представлениях ставим опции  Сделать представлением по умолчанию.

Выбираем необходимую группировку

И настраиваем раздел папки, показать это представление в папках типа контента

Если необходимо скрыть какие либо кнопки на ленте(Ribbon), например в моем случае кнопки атрибутивного поиска, делаем следующий финт.
Открываем в chrome страницу, выбираем нужный контейнер копируем  его путь css
Затем редактируем страницу представления и добавляем веб часть редактор сценариев
Туда вставляем скрипт, где указываем путь нашего элемента который необходимо скрыть.
<style type="text/css">
#Ribbon\2e Documents\2e ApplyDocumentPrefixNew > span.ms-cui-groupContainer > span.ms-cui-groupBody
{
display: none !important;
}
</style>

7.Редактируем по желанию формы создания и редактирования элементов
Для того чтобы сделать поле невидимым в зависимости от значения в другом поле можно  добавить опять же скрипт
Выбираем нашу форму и жмем копку просмотреть в браузере
Затем переходим в режим редактирования страницы и добавляем скрипт.
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("[title='Тип документа']").change(LinkFields);
LinkFields ();
function LinkFields() {
var elem = $("h3.ms-standardheader:contains('№ доп.')");
if ($("[title='Тип документа']").val()=='Дополнительный лист')
{
elem.closest("tr").show();
}
else {
elem.closest("tr").hide();
}
}
});
</script>

для страницы просмотра добавляем
<script type="text/javascript" src="/SiteAssets/Scripts/jquery-1.11.2.min.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $("[title='Тип документа']").change(LinkFields);
        LinkFields();

        function LinkFields() {
            var elem = $("h3.ms-standardheader:contains('№ доп.')");
            if ($("td:contains(Дополнительный лист)").length>1) {
                elem.closest("tr").show();
            } else {
                elem.closest("tr").hide();
            }
        }
    });
</script>

Ссылка для тестов JQuery

Вот что должно получиться в итоге, уровень 1 папки
Теперь переходим в папку
Кстати документы в библиотеку можно добавлять папками, для этого нажимаем кнопку
И копируем туда  все документы.
На этом все можно пойти отдохнуть



About