SharePoint 2013 SP1 on Windows Server 2016+

Берём во внимание официальный патч от мелко-мягких: https://docs.microsoft.com/en-US/sharepoint/troubleshoot/installation-and-setup/setup-error-if-.net-framework-4.6-is-installed 

В статье есть три файла фикса для SharePoint Foundation, SharePoint Server и Project Server соответственно. В статье совершенно не указано, то для установки пре-реквизитов (prerequisites) потребуется фикс для редакции Foundation (файл wsssetup.dll) иначе будете бить головой об стену ошибки конфигурации IIS. Так что кидаем обе библиотеки (wsssetup.dll и svrsetup) в папку updates распакованного на диск установочного дистрибутива. Если планируется ставить Project Server 2013 аналогичные действия требуются и для его папки update.

Причина такого поведения установщика, насколько я понял заключается в следующем: разработчики (особенно индусские) — народ ленивый; когда потребовалось сделать фикс, они выпустили обновлённые библиотеки, однако сам инсталлятор для установки пререквизитов требует библиотеку для «минимально возможной редации», т.е. для Foundation. 

Также поскольку в 2016 некоторые фичи переигрались перед установкой пререквизитов выполняем следующие запросы в PowerShell:

Add-WindowsFeature NET-WCF-HTTP-Activation45,NET-WCF-TCP-Activation45,NET-WCF-Pipe-Activation45
Add-WindowsFeature Net-Framework-Features,Web-Server,Web-WebServer,Web-Common-Http,Web-Static-Content,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-App-Dev,Web-Asp-Net,Web-Net-Ext,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Health,Web-Http-Logging,Web-Log-Libraries,Web-Request-Monitor,Web-Http-Tracing,Web-Security,Web-Basic-Auth,Web-Windows-Auth,Web-Filtering,Web-Digest-Auth,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Mgmt-Tools,Web-Mgmt-Console,Web-Mgmt-Compat,Web-Metabase,WAS,WAS-Process-Model,WAS-NET-Environment,WAS-Config-APIs,Web-Lgcy-Scripting,Windows-Identity-Foundation,Server-Media-Foundation,Xps-Viewer –Source D:\sources\sxs

 

 

Project Server ’13 remove EventHandler via CSOM

На днях столкнулся с тем, что через серверный UI не удается удалить EventHandler на проектном сервере. В итоге решением стало использование CSOM-модели Project Server. 

В целом projectCotenxt имеет EventHandler мембер, который требуется инициализировать через Load() -> ExecuteQuery(); затем ищем нужный eventHandler который затем необходимо удалить последовательностью вызовов Remove()->Update()->ExecuteQuery();

 

var projDeletedEventHandlerId = new Guid("0FB1389D-E620-4062-A99B-9E5716CC958E");
 
using (var projectContext = new ProjectContext(pwaUrl))
{
    var eh = projectContext.EventHandlers.GetByGuid(projDeletedEventHandlerId);
    projectContext.EventHandlers.Remove(eh);
    projectContext.EventHandlers.Update();
    projectContext.ExecuteQuery();
}

Managing Project Server Event Handlers via the Managed Client Object Model

Status update: Up again

Спустя, примерно полтора года, блог снова онлайн….. Что сказать, лень и активная реальная жизнь поспособствовали тому, чтобы я не парился всё это время об бложике.
Up’n’running на новом железе.

C# JIRA REST API: Add attachments to issue

Измумукался разбираться с атачментами в своем решении, для тестирования в code-behind нашел вот такое вот решение:
http://qaru.site/questions/922473/how-to-post-attachment-to-jira-using-rest-api

PS. А сколько бы это решение сэконимило бы мне «копий», найди я его раньше.

[SharePoint] ServiceModel WCF HttpActivation Exception

На случай если Вы своими ручонками запороли себе шарик и вываливается такой вот эксепшен:
«Could not load type ‘System.ServiceModel.Activation.HttpModule’ from assembly ‘System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089′»

попробуйте оживить все при помощи хинтов вот из этой статьи: https://stackoverflow.com/questions/15688930/could-not-load-type-system-servicemodel-activation-httpmodule-from-assembly-s

[Мотопутешествие] Путь к себе. Предисловие.

Осталось немногим меньше месяца до ежегодного мотопутешествия.
Шенген и грин-карта до сих пор не сделаны… и, честно говоря, даже не знаю куда на этот раз заведет меня судьба.
Вероятно, я слишком заработался. Проекты, задачи, житейские проблемы и мероприятия.
Сел я как-то на досуге, и начал размышлять над тем, что мне предстоит 8000км пролететь за три неедели.
А есть ли вообще замысел атаки в таком запиле?
Мне подумалось, что от трипа я должен получить не «железную задницу», а впечатления, встречи. Запустить новый виток жизни.
Пока понимаю, что хочу увидеть «Родину мать» в Волгограде, монумент дружбы народов на военно-грузинской дороге и отведать хинкалей.
Посему Россия — Грузия — Турция (а что б нет?). А там посмотрим, как пойдет. Вокруг народ рекламирует Крым, но что-то говорит мне, что туда мне не нужно… не сейчас.
Хотя к друзьям в Джанхот было бы круто заехать, в Абрау за игристым пятилетней выдержки…. Ну как получится.
Музыка… вообще ни малейшего представления, что возьму с собой в дорогу. Кажется у меня очередной музыкальный кризис. да и не только музыкальный.
Вообще этот предстартовый мандраж, как-то рано начался. Может быть потому, что я собираюсь ехать в неизвестность? Довериться судьбе…
Что до самого сезона, то уж как-то больно яро и бурно идет. Мини-дальняки до Коломны и Липецка, плюс куча разъездов по окрестным городам и весям.
Перед поездкой в Липецк, кстати понял, что не так уж много мне и нужно. Палатка, пенка, спальник, НЗ топлива, горелка с газом, котелок и погнали. Это хорошо, наверное.

Hey you! What’s on your mind?
I can dig it out but I don’t have time
Hey you! What’s on your mind?
I can dig it out but I don’t have time

Заодно попробую снять путешествие на видео.

До выезда на трек руки пока так и не дошли.
Хочется лучше подготовиться. Купить ходя бы пару колесных дисков б/у, трековую резину, тормозные диски и колодки, а еще грелки для резины…
Блин и почему все всегда упирается в деньги… и время?)))
А еще принес телефон в жертву мотоциклу. Очень жаль. Хотя наверное все это к лучшему. Надо отдавать в ремонт, авось сумеют оживить.

Думаю с этой недели начну крупномасштабную подготовку к отъезду.

[Анонс] Запил «Восточная Европа»

В качестве летнего путешествия выбран маршрут вокруг Черного моря с отдыхом в Греции.
Пока ведутся приготовления. Очень надеюсь, что дадут визу.
Сейчас ведется сбор документов для подачи на визу.
Еще надеюсь, что в этот раз удастся снять фильм. Вернее хрен с ним просто снять, но смонтировать и залить, вот в чем затык обычно

Project Server 2013 Редактирование MP в дизайнере

Мелко-мягкий принудительно заблокировал возможность изменения Master Page для проектного сервера.
Вопрос решается не сложно.
Чтобы потом не искать, ссылка: https://blog.devoworx.net/2014/11/14/this-web-site-has-been-configured-to-disallow-editing-with-sharepoint-designer/

Мотогрузия 2017 или Сказ о том, как в Грузию мы не попали.

«Никогда не знаешь, где тебе повезет. Я – крупный специалист в этом вопросе.» (с) Максим Фрай, Чужак

Думаю, что этот эпиграф как нельзя лучше соответствует тому, что произошло; но обо всем по-порядку.
Читать далее

[SharePoint 2013] Бодаемся с пререквизитами на Windows Server 2012 R2

В очередной раз столкнулся с проблемой конфигурации IIS
Поскольку давненько я не практиковался в развертывании ферм серверов, то подзабыл основательно что и как.
Чтобы не мусолить привожу решение для powershell:

Import-Module ServerManager
Copy-Item -Path «$($ENV:SystemRoot)\System32\ServerManager.exe» `
-Destination «$($ENV:SystemRoot)\System32\ServerManagerCmd.exe» -Force
Add-WindowsFeature NET-WCF-HTTP-Activation45,NET-WCF-TCP-Activation45,NET-WCF-Pipe-Activation45
Add-WindowsFeature Net-Framework-Features,Web-Server,Web-WebServer, `
Web-Common-Http,Web-Static-Content,Web-Default-Doc,Web-Dir-Browsing, `
Web-Http-Errors,Web-App-Dev,Web-Asp-Net,Web-Net-Ext,Web-ISAPI-Ext, `
Web-ISAPI-Filter,Web-Health,Web-Http-Logging,Web-Log-Libraries,Web-Request-Monitor, `
Web-Http-Tracing,Web-Security,Web-Basic-Auth,Web-Windows-Auth,Web-Filtering, `
Web-Digest-Auth,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression, `
Web-Mgmt-Tools,Web-Mgmt-Console,Web-Mgmt-Compat,Web-Metabase,Application-Server, `
AS-Web-Support,AS-TCP-Port-Sharing,AS-WAS-Support, AS-HTTP-Activation, `
AS-TCP-Activation,AS-Named-Pipes,AS-Net-Framework,WAS,WAS-Process-Model, `
WAS-NET-Environment,WAS-Config-APIs,Web-Lgcy-Scripting,Windows-Identity-Foundation, `
Server-Media-Foundation,Xps-Viewer

Restart-Computer