Рубрики
Мысли

Перезапуск блога

Привет в декабре 2019!

Последняя запись была в 2016 году, тогда я уволился из Лаборатории Касперского, закончил работу по найму и открыл компанию по разработке программного обеспечения Суперпозиция. Видимо, с тех пор мне было не до блога:)

Сегодня у меня есть опыт, есть понимание многих вещей, начиная от работы руками – я активно программирую и начал заниматься электроникой, и заканчивая бизнесом и личным развитием. Об этом я и хочу рассказывать в будущем.

Всем добро пожаловать!

Рубрики
Мысли

Microsoft любит революции

Microsoft любит революции. Революции в ПО. Windows Vista, Metro UI, Windows 8, SharePoint 2013 Apps, Office 365 — no on-premise…

Хорошо, что Microsoft понимает и похоже начинает любить исправлять ошибки и шагать чуть назад, но уже на твёрдую почву.

Windows 7 исправила суперинтерфейс Vista и довела до ума UAC.
Windows Phone 10 дала возможность широкой настройки телефона, исправив радикальное упрощение 8ки.
Windows 10 вернула было потерянный Пуск и вновь разделила операционки по устройствам.
SharePoint Framework — людям нужно дать возможность делать на клиенте то, что они хотят и легко это устанавливать, тиражировать. Революция 3х видов Apps отгремела и гроза похоже смыла всю пыль.
SharePoint 2016 is not the last on-premise version. Спасибо MS!

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

Спасибо, Microsoft, мы тоже любим тебя!

Рубрики
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();
}