Рубрики
sharepoint

Кнопка для установки лайка в SharePoint 2013 через JS

В SharePoint 2013 CSOM есть недокументированная возможность установить Like для любого элемента списка или библиотеки Javascript’ом.
Сама возможность лайкать включается тут: Параметры списка (List Settings) -> Параметры оценок(Rating settings).

Код для установки лайка, для тестирования я добавлял его в Content Query Web Part:

<script type="text/javascript">
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', UpdateLike);

function UpdateLike() {
	var itemId = 1;
	var listId = "B79D49E4-334D-42F3-8E43-5E7CB8ABCDD0";
	var setLike = true;
	
	var ctx = new SP.ClientContext("<yourSiteUrl>");
	Microsoft.Office.Server.ReputationModel.Reputation.setLike(ctx, listId, itemId, setLike);

	ctx.executeQueryAsync(Function.createDelegate(this, this.RatingSuccess), Function.createDelegate(this, this.RatingFailure));
};
  
function RatingSuccess(sender, args) {
	alert('Rating Done Successfully');
}

function RatingFailure(sender, args) {
	alert('SetRating failed:' + args.get_message());
}
</script>

У меня не получилось подключить скрипт Reputation.js через предназначенную для этого SP.SOD.executeFunc. Поэтому я подключил его обычным тегом script. Основной код содержится в функции UpdateLike. Его можно вызывать по клику на кнопку.

Основная идея взята тут: https://coderwall.com/p/urb8kg/custom-like-button-in-sharepoint-2013

Отдельное спасибо моему коллеге Алексею из Лаборатории Касперского за помощь в поиске решения задачи!

Рубрики
sharepoint

SharePoint 2013 исчезает полоса прокрутки при использовании custom MasterPage

После добавления собственного masterpage в SharePoint 2013 у меня исчезла полоса прокрутки (scrollbar).

По какой-то причине javascript SharePoint’а неверно высчитывает высоту элемента div#s4-workspace. Говорят, это связано с риббоном и добавлением собственного контента, который мешает верной работе скрипта:
https://social.msdn.microsoft.com/Forums/en-US/9422aa0f-5010-4691-a0ab-25e7aca6b478/issue-with-div-s4workspace-and-scroll-bar?forum=sharepointcustomizationprevious

Один из вариантов исправления — добавление собственного css-файла со строкой

body 
{
   overflow: scroll;
}

К сожалению, это не исправит причину ошибки.

Файл можно добавить в настройках Master page для сайта, последняя вкладка Alternate CSS URL для английской версии SharePoint.

Решение найдено тут:
https://www.linkedin.com/groups/sharePOint-2013-Scrollbar-missing-136589.S.239829403

Другое решение заключается в добавлении собственного js:
http://www.edroesch.com/2013/10/sharepoint-2013-workspace-scroll-issue-fix/

Почитать исследование проблемы можно тут:
http://blog.amtopm.be/tag/body-s4-workspace/
Для себя я пока не нашёл правильного решения проблемы, если найду, поделюсь.

Все ссылки на статьи на английском языке.

Рубрики
.NET Framework

Установка .Net Framework 3.5 на Windows 8.1 без интернета с помощью DISM

Попытался установить .Net Framework 3.5 на Windows 8.1. Интернет есть, но ошибка говорит сама за себя: Windows couldn’t connect to the Internet to download necessary files. Make sure that you’re connected to the Internet, and click Retry to try again.

Выход — установить фреймворк с дистрибутива Windows командой:

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:installationMediaDrive:\sources\sxs

Где installationMediaDrive — буква диска с дистрибутивом W8.1