пятница, 30 января 2015 г.

Sharepoint designer. Рабочий процесс не обновляется после публикации

Создавая рабочий процесс для SharePoint 2010 и используя SharePoint Designer 2010 я столкнулся с проблемой, новый процесс не начинал работать с новой логикой. Причем ошибка появилась после решения такой ошибки.
SharePoint "видел", что процесс именно новый, т.к. к отработанным в прошлом добавлялось время публикации, в скобках. Но работать продолжал по старой логике.
Как выяснилось, причина на стороне клиента, а именно в SharePoint Designer. Причем ошибка появилась в 2010 и 2013 версиях.
Что бы побороть проблему надо почистить кэш, для этого необходимо удалить все данные по следующим путям:

%USERPROFILE%\AppData\Local\Microsoft\WebsiteCache
%APPDATA%\Microsoft\Web Server Extensions\Cache

Для SharePoint Designer 2010 еще надо сделать несколько движений:
Файл->Параметры->Общие->Кэшировать данные сайта во время сеансов в SharePoint Designer(Снять галочку)

Это решило проблему.

SharePoint 2010 Ошибка при публикации рабочего процесса


При попытке публикации очень большого рабочего процесса, я получил ошибку на этапе валидации (Validating the workflow):
Errors were found when compiling the workflow. The workflow files were saved but cannot be run:

В подробностях написано:
Unexpected error on server associating the workflow

В общем не особо говорящая ошибка, но все же ясно что проблема на сервере.
Я пробовал обновить сервер, но это так же не помогло.

Решением стало выполнение этого PowerShell скрипта:

$application = get-spwebapplication http://portal
$application .UserDefinedWorkflowMaximumComplexity = 10000
$application .Update()

SharePoint Ошибка рабочего процесса: An IfElseActivity must have at least...


Сделав совсем маленький рабочий процесс я попытался опубликовать его.
Ферма 2013 версии, а рабочий процесс 2010.
Часть процесса, из-за которой возникла ошибка выглядит так:

Публикация рабочего процесса прошла неудачно:


Текст ошибки:
При компиляции рабочего процесса были обнаружены ошибки. Файлы рабочего процесса сохранены, но не могут быть выполнены.
Дополнительно:
(0,0) Activity 'ID38' validation failed: An ifElseActivity must have at least one child of type ifElseBranchActivity.)

Пытаясь найти решение, я обнаружил невидимый элемент, который все же можно сделать доступным для просмотра, если выполнить клик по нему:

Каким именно образом мне удалось сотворить такое "Действие рабочего процесса" мне не удалось выяснить. После его удаления процесс нормально опубликовался.

Множественные ошибки в SharePoint 2013 и преобразование типа лицензии


Столкнулся с интересным поведением Microsoft SharePoint Server 2013 Enterprise Edition. Ферма устанавливалась полгода назад и использованием ключа, который дает право на 180 тестирования. Сначала начали падать страницы с веб-частью "Веб канал сайта". Потом перестали создаваться новые подключения к Active Directory из приложения-службы профилей с ошибкой "The operation was aborted because the client side timeout limit was exceeded":

Я попробовал увеличить цифры для приложения службы и прокси - не помогло. Пользовался статьей.
Позже перестал работать Access. Потом еще и Visio с ошибкой "Пробный период для данного продукта истек":

Текст ошибки меня несколько озадачил. Проверив дату установки по дате создания папки 15 Hive и сравнив с сегодняшней датой - решил преобразовать тип лицензии SharePoint. Делается так же как в посте про активацию "Активация лицензии SharePoint 2013". После этого ошибки не пропали, я перезагрузил IIS и попробовал снова - все заработало: Access, Visio, Синхронизация профилей и Веб-канал сайта. Удивительно, что я не получал сообщение "Период пробного использования данного продукта истек".

Microsoft Virtual Academy. Первый курс по разработке SharePoint 2013

Есть замечательный ресурс, который позволяет пройти обучение по современным технологиям Microsoft - Microsoft Virtual Academy. Меня очень огорчало полное отсутствие материалов по SharePoint. Сейчас ситуация поменялась и был добавлен первый курс, который состоит из трех обучающих модулей (на самом деле курс был добавлен еще 01 авг 2014 , но я только это заметил). Весь материал взят с конференции DevCon 2014.
Надеюсь в будущем появятся полноценные обучающие материалы.