Рубрики
sharepoint

Элемент списка SharePoint 2013 в папку c помощью CSOM

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

sourceUrl — шаблон строки-ссылки на элемент для перемещения
targetUrl — шаблон строки-ссылки на элемент после перемещения в папку

static void MoveListItemToFolder()
{
    int itemToMove = 264;
    string targetFolderName = "Title(folder)";

    string sourceUrl = string.Format("/Lists/Reports/{0}_.000", itemToMove);
    string targetUrl = string.Format("https://siteUrl/Lists/Reports/{0}/{1}_.000", targetFolderName, itemToMove);

    SP.ClientContext clientContext = new SP.ClientContext(SiteUrl);

    File file = clientContext.Web.GetFileByServerRelativeUrl(sourceUrl);
    clientContext.Load(file, f => f.Name, f => f.TimeCreated);

    clientContext.ExecuteQuery();

    Console.WriteLine("Make sure! File {0} {1}", file.Name, file.TimeCreated);
    
    file.MoveTo(targetUrl, MoveOperations.Overwrite);
    clientContext.ExecuteQuery();

    Console.ReadLine();
}
Рубрики
sharepoint

Заметка: SharePoint loading.gif

Стандартный крутящийся gif загрузки

Для тех, кто так же как я забывает местоположение стандартного файла SharePoint с анимацией загрузки вот новый пост.
Ну а если кто-то не подумал использовать его в проектах, то вот она готовая анимация, которую не нужно отдельно деплоить.

Вот картинки в SP2013:

  • вашСайт/_layouts/images/loading.gif — зелёная змейка движется по кругу с анимацией, мне не очень нравится
  • вашСайт/_layouts/images/loadingcirclests16.gif — серенькая змейка, как на картинке
  • вашСайт/_layouts/images/loading16.gif — серенькое крутящееся солнышко

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

Рубрики
sharepoint

Установка master-страницы вместе с html шаблоном

В сети, да и в решениях на практике, практически везде встречается такая штука: в SharePoint 2013 со всеми его прелестями шаблонов и js предлагают устанавливать на продакшн только конечный seattle-custom.master или Display Template Item_DefaultPage.js.

Установка страницы в SP2013
Установка страницы в SP2013

А как же кастомизация? Лёгкая доработка и поддержка? Я задался вопросом, но просто так установить оба файла не получится, а надо так: устанавливаем html-файл (если это мастер-страница) с помощью wsp, в событии Feature Activation делаем его извлечение и возврат (чекаут и чекин, публикуем). И вуаля — срабатывает ресивер и создаёт master файл!

Также для html шаблона js. И администраторы снова могут быстро подправить нужный шаблон!