четверг, марта 27, 2008

Ыщо один сюрприз от Sharepoint

Новая фигня обнаружилась с этими SPD-процессами - будучи повешенными на создание элементов списка, запускаются только при ручном "создании". Если элемент добавляется программно (другим РП), то это событие молча игнорируется. thumbs_down

РП "студийные" запускаются в обоих случаях. thumbs_up

Technorati Tags: ,

суббота, марта 22, 2008

Custom Workflow Activities

На Codeplex нашёлся довольно симпатичный проект, в котором привлек внимание компонент "Copy List Item Extended Activity" для копирования элементов списков (потребовалось нечто похожее для организации интеграции данных с разных узлов). При внимательном рассмотрении выяснилось, что основная "фича" - перезапись (OverWrite) скопированных данных после редактирования оригинала - не работает. Авторы не поскупились приложить исходники, из которых выяснилось, что соответствующего кода вовсе нет (спешили, наверное smile_omg).

Пришлось вникать и доделывать/переделывать - заодно пришлось переделывать все xml-описания (изобретатели забыли положить свой ключ шифрования smile_sad) и установщик (приложенный сборщик пакетов почему-то не пожелал работать как задумано smile_devil). Кое-что перевёл на русский.

В итоге стало работать как надо, правда, обнаружился сюрприз, который больше от Microsoft, нежели от авторов проекта.

Доработанный вариант можно взять здесь.

Сюрприз от Sharepoint

На одном из подшефных серверов перестали работать workflows (РП), сделанные при помощи Sharepoint Designer'а - не запускаются и всё тут... Новые РП при сохранении вызывают ошибки компиляции с отказом их принять (Errors were found when compiling the workflow.The workflow files were saved but cannot be run.Unexpected error on server associating the workflow). Много чего проделал - переустановил .NET'ы (попутно мусору вычистил немало), на виртуальном сервере попытался получить похожее поведение, перечитал все найденные материалы с описанием таких симптомов (их оказалось не так и много) - всё тщетно smile_embaressed.

Рецепт нашёлся здесьthumbs_up. Спасибо, Jason Nadrowski clap. Механизм сюрприза такой: в систему раньше устанавливал пакет "возможностей", который нужно активировать для каждого приложения (на сервере делалось для трёх). Во время активации в файлы web.config всех приложений добавляется без проверки её там наличия запись в секцию <System.Workflow.ComponentModel.WorkflowCompiler>, где описаны сборки, которые должны загружаться при компиляции SPD-workflows. При деактивации и/или удалении feature запись удаляется, но одна из каждого конфига. В итоге в файлах web.config может остаться (а может и не остаться) любое количество записей о сборках, которых может в системе уже не быть. Поэтому компилятор и ругается.

Неясно, правда, почему не работают ранее скомпилированные процессы, не имеющие отношения к отсутствующей сборке, ведь процессы, скомпилированные в Visual Studio, вполне себе работают. В общем, очередной привет от благодетелей thumbs_down.

четверг, марта 13, 2008

.NET и Mono continued

Помрёт, похоже, этот мой эксперимент на гриде - элементах DataGrid или DataGridView. В принципе, они работают и в Linux (Ubuntu), кое-какие свойства глючат, но терпимо. Плохо, что не работает толком редактирование в ячейках, но обойти можно, хоть и будет это выглядеть чесанием левой ногой правого уха. Самое плохое с навигацией по гриду - на колесо мышиное не реагирует, а полосы прокрутки (scrolling) загружают процессор на 100% :

net-mono2

Нижний контрол на форме - DataGridView, зелёная линия справа - график загрузки процессора (скачок загрузки произошёл в момент изменения размеров формы до появления scrollbar'а на гриде).

В общем, для практики гриды применить не получится.smile_cry smile_angry Слабо, правда, представляю деловые программы без гридов: прайс-лист соорудить, счёт выписать - везде гриды нужны. Привыкли все...

Осталось попробовать сделать интерфейс на ListView вместо грида - он, вроде, без фокусов с навигацией. Или делать программу в технике asp.net - говорят, эти программки переносятся хорошо (собственно, только они и переносятся).

вторник, марта 11, 2008

.NET и Mono

Сделал в VS 2008 простую формочку и запустил в Ubuntu 7.10/ Все настройки Mono - дефолтные. Выглядит смешно (слева - убунтовский экземпляр):

net-mono