Как изменить внешний вид списка в SharePoint

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

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

Чтобы рамка в таблице отображалась всегда, достаточно в режиме простого отображения списка вызвать изменение страницы и добавить в любое место веб-часть «Редактор сценариев»:

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

<style>
table.ms-listviewtable {
  border-collapse: collapse;
}

table.ms-listviewtable td.ms-cellstyle, table.ms-listviewtable td.ms-vb-imgFirstCell {
  border:1px solid #CCCCCC;  
}

table.ms-listviewtable td.ms-vb-imgFirstCell {
  border-width: 1px !important;
  border-right-width: 1px !important;
}
</style>

Теперь тот же самый список в режиме простого отображения будет выводиться с красивой рамкой:

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

Источник: http://blog.sergey-lysenko.ru/2015/09/sharepoint-change-list-view-style.html

 

Как убрать пункт «Содержимое сайта» из меню быстрого запуска?

На сайтах SharePoint есть панель навигации, которая располагается слева и предназначена для удобного перехода по разделам сайта. Ее можно наполнять и изменять двумя способами: через кнопку «Изменить ссылки» или через Параметры сайта → Быстрый запуск. По умолчанию SharePoint создает ссылку «Содержимое сайта», которую можно убрать, если она не нужна, двумя вышеописанными способами. Но что если эта ссылка отображается на сайте, а в настройках ее нет, и к тому же кнопка «Изменить ссылки» отсутствует?

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

Какие есть варианты решения проблемы? Можно изменить шаблон или скрыть ссылку через CSS. Наиболее элегантным будет применение стиля CSS.

Результат достигается изменением настроек главной страницы. Они меняются по URL вида:

http://%5Bсайт%5D/_layouts/15/ChangeSiteMasterPage.aspx

Перейдя туда, нужно указать URL-адрес альтернативной таблицы CSS. Предварительно нужно подготовить этот самый файл CSS. Итак, нужно скрыть ссылку на странице. Любым браузерным средством инспекции кода страницы узнаем идентификатор этой ссылки и делаем для нее стиль. Например, такой:

a#ctl00_PlaceHolderLeftNavBar_PlaceHolderQuickLaunchBottom_idNavLinkViewAll {
 visibility:hidden;
}

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

Для полноты картины расскажу, как скрыть ссылку «Содержимое сайта» через шаблон. Для изменения шаблона нужно запустить SharePoint Designer, перейти на нужный сайт и в левой колонке выбрать «Главные страницы». Откроется список шаблонов. Допустим, у нас шаблон по умолчанию seattle.master, тогда надо его отредактировать. В редакторе кода просто закомментировать участок кода, отвечающий за вывод пункта меню «Содержимое сайта». Это содержимое блока с идентификатором PlaceHolderQuickLaunchBottom.

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

Источник: http://blog.sergey-lysenko.ru/2015/04/how-to-remove-site-contents-quick-launch.html

Removing extra space around the Web Part

An extra padding of 20 pixel is included by default in SharePoint 2013 for every webpart. This may be inconvenient depending on the scenario how you are displaying the content in your Visual WebPart. To remove the extra space injected to the Webpart, add the below css in your .ascx file of Visual webapart. This would get rid of the extra space rendered around your webpart.

 <style type="text/css">
     .ms-webpartPage-root {
         border-spacing: 0px !important;
     }
       .ms-webpartzone-cell {
         margin: 0px !important;
     }
 </style>

Source: http://www.ashokraja.me/tips/How-To-Remove-Extra-Space-Around-the-Web-Part-In-SharePoint-2013

 

Работа со списком пользователей

Часто необходимо сделать в списке столбец для отображения сотрудников. Например, это может быть реестр отпусков в виде календаря, или перечень сертификатов и удостоверений. Стандартно SharePoint при создании столбца в списке дает возможность выбрать тип «Пользователь или группа», и он будет хранить ссылку на сотрудника. Но тут можно выбрать только один тип того, что будет отображаться: имя, должность, отдел, офис, именно что-то одно. Если нужно сделать ссылку на сотрудника и выводить сразу несколько столбцов, например, показывать сразу имя, офис и подразделение сотрудника с возможностью раздельной фильтрации, то такой тип столбца не поможет.

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

Если перейти по URL вида /_catalogs/users/detail.aspx в любой коллекции сайтов, то отобразится таблица со всеми пользователями. У нее будут все нужные нам столбцы, но напрочь ответствует интерфейс управления (в том числе нет ленточной панели). Доступна только сортировка колонок. Но даже без интерфейса этот список можно править. Для правки нужно узнать его идентификатор. Надо правой кнопкой мыши нажать на имя любого сотрудника, скопировать URL через контекстное меню и увидеть в этом URL такое:

 /_layouts/listform.aspx?PageType=4&ListId={4C911BA8-C7FB-4562-B2CD-733D8F9276F0}&ID=14

Отсюда надо взять GUID (тот, что в скобках после ListId) и скопировать его в другой URL:

/_layouts/listedit.aspx?List={guid}

После перехода по новому URL, откроется страница «Список сведений о пользователях: Параметры». Здесь в обычном режиме можно настраивать для этого списка пользователей все что угодно, включая представления.

Именно этот список требуется сделать доступным для выбора при создании столбцов подстановки. Он формируется и обновляется автоматически, импортируя данные из Active Directory. Он является служебным и скрыт из интерфейса, но это можно исправить, выполнив код на PowerShell в консоли SharePoint:

# URL коллекции сайтов и имя списка с сотрудниками по умолчанию
$siteUrl  = "http://sharepoint/sites/collection/"
$listName = "Список сведений о пользователях"

$site = New-Object Microsoft.SharePoint.SPSite($siteUrl)
$web  = $site.OpenWeb()
$list = $web.Lists[$listName]
$list.Hidden = $false
$list.Update()

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

Источник: http://blog.sergey-lysenko.ru/2015/10/sharepoint-user-list-as-lookup-column.html

 

Протокол логов SharePoint 2013

Администратору или разработчику SharePoint 2013 может пригодиться знание, где располагаются у него логи и как их читать. В логи смотреть полезно не только в случаев разбора ошибок, но и для профилактики: иногда ошибки «глазами» не увидишь.

По умолчанию SharePoint 2013 хранит логи в текстовом формате в папке:

C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\LOGS

Логи пишутся в специальном формате Unified Logging Service/System (ULS). Читать их можно в любом текстовом редакторе, но гораздо лучше программой ULS Viewer. Она имеет простой и понятный интерфейс. При открытии одного из текстовых логов она выглядит примерно так:

Стоит отметить, что ULS Viewer умеет фильтровать записи, в том числе по Correlation ID. Когда пользователь получает ошибку на экран, SharePoint выдает ему информацию об этой ошибке, в том числе код Correlation ID. Он формируется для любого события, происходящего в SharePoint. Зная этот код, администратор может легко отфильтровать все записи, относящиеся к событию данной ошибки и гораздо быстрее понять ее причину и устранить. Очень удобно: не нужно расспрашивать пользователей, что там было во время ошибки, достаточно просто попросить ее код Correlation ID.

Источник: http://blog.sergey-lysenko.ru/2014/11/sharepoint-2013-logs.html

SharePoint 2013: Show status field in color

In this post we will discuss how we can show colors based on status column value in SharePoint 2013 using calculated column. Here I have a test list which has a choice column known as “Status” column and it has values like:

  • Started
  • InProgress
  • Incomplete
  • Critical
  • Done

So based on this value we want to show different color in the list view, so that by color it will be easy to differentiate from one and other.

For this we took a calculated column and in that calculated column we put the below logic.

=”

&nbsp&nbsp

“,IF([Status]=”InProgress”,”#FFFF00;’> &nbsp&nbsp

“,IF([Status]=”Incomplete”,”#FF9900 ;’>&nbsp&nbsp

“,IF([Status]=”Critical”,”#FF0000;’> &nbsp&nbsp

“,IF([Status]=”Done”,”#00B050;’> &nbsp&nbsp

“)))))

And also make sure that you need to choose “Number” in the “The data type returned from this formula is:” section for the calculated column. It will look like below:

After this based on the status, the color will come like below:

Color Statuses

Screenshot (SharePoint 2013)

 

Hope this will be helpful.