AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.10.2011, 16:12   #1  
Blog bot is offline
Blog bot
Участник
 
25,626 / 848 (80) +++++++
Регистрация: 28.10.2006
axforum blogs: Developer Toolkit для CRM 2011 - Первые впечатления
Источник: http://axforum.info/forums/blog.php?b=276
==============

Одной из ключевых фишек CRM 2011, как платформы разработки, должна была стать интеграция с IDE Microsoft Visual Studio, которую нам обещали уже довольно давно. Данный инструмент появился в одной из реинкарнаций CRM 2011 SDK: его инсталлятор и инструкции находятся в каталоге \sdk\tools\developertoolkit\.

В отличие от подобного инструмента для CRM 4.0, он работает! То есть правда инсталлируется и работает без бубна, скриптов командной строки и дополнительных манипуляций. Версию для CRM 4.0 мне, к слову, так и не удалось нормально инсталлировать. Инструмент, как и ранее, состоит из двух компонент:

1. Шаблоны проектов и солюшена CRM для языков C# и VB



2. CRM Explorer, который позволяет выполнять подключение к системе, просматривать (теперь только просматривать) ее компоненты прямо в окне Visual Studio, а так же предоставляет контекстные команды для некоторых из них, например, подключение Веб ресурса к текущему проекту.



Текущая версия инструмента не совсем стабильна и функциональна, но использовать этот инструмент, действительно, довольно удобно. Особенно приятно, что инструмент проектировали под развитие, так что возможно, вскоре мы сможем расширять его своими дополнениями. Например, автоматически выполнять какие-то действия до, после или во время развертывания Решения (публиковать все настройки, копировать сборки, обновлять версию Решения и т.д.).

Теперь обо всем по порядку...

1. Проект типа CRM Package

Проекты данного типа используются вкупе со всеми прочими. Для них доступна команда Deploy - развертывание новой версии решения на сервере CRM. Так же они содержат компонент RegisterFile.crmregister. В этом XML файле содержится информация о сборках, плагинах и их шагах, активностях процессов и пр. из других проектов, которые нужно развернуть в процессе установки решения.
Так же в этот проект можно добавлять веб ресуры, для солюшена CRM: файлы сценариев, картинки и пр. Для этого можно подключать к проекту существующие ресурсы из контекстного меню CRM Explorer или добавлять новые прямо из интерфейса студии. В обоих случаях можно задавать все CRM - специфичные свойства ресурсов, такие как название, отображаемое имя и пр.



2. Проект типа Плагин.

Как понятно из названия, это проект сборки .NET для создания плагина. Этот проект так же содержит довольно навороченный шаблон для базового класса плагинов Plugin, который можно использовать в проекте. Логика этого класса инстанцирует для вас все необходимые сервисы, включая сервис трассировки, и контекст запуска плагина. Так же класс автоматически ведет трассировку событий в коде, делает обработку исключений, осуществляет различные проверки на предмет корректности срабатывания плагина и даже собирает информацию о том, на какие еще события подписан плагин. Словом, есть чему поучиться. Готовые к использованию классы наследники очень удобно создавать прямо из контекстного меню CRM Explorer, для этого достаточно щелкнуть правой кнопкой на нужной сущности.



Шаги плагина, если он универсальный для нескольких объектов, или событий, можно добавлять в CRM Explorer. Так же, возможно, потребуется фиксировать их в коде конструктора и в RegisterFile.crmregister



3. Проект Workflow.

Удобный преднастроенный проект библиотеки кастомных шагов для процессов CRM. Так же содержит шаблон Активности процесса CRM в конструкторе которой инстанцируются необходимые объекты. Шаблон не так наворочен, как в случае с плагином, но и специфика у него другая. Как минимум он экономит время и нервы на подключение и объявление необходимых типов и строки кода.



4. Проект Silverlight

Данный проект входит в состав Silverlight Tools for Visual Studio, а не CRM Developer Toolkit, поэтому для использования этого шаблона проекта, данный пакет потребуется установить отдельно (CRM Developer Toolkit предупредит вас об этом во время установки). После включения этого проекта в решение, вы можете добавить референс на него в проект CRM Package, после чего Silverlight приложение можно будет добавить в веб ресурсы Решения CRM. В результате ваш Silverlight контрол будет развертываться в CRM вместе с остальными компонентами решения.
Так же можно добавить в решение уже существующие Silverlight пакеты через контекстное меню CRM Explorer.



В окне свойств этого ресурса можно задать его CRM - специфичные поля: имя ресурса, отображаемое имя и т.д.

Недостатки и текущие ограничения CRM Developer Toolkit.

Не обошлось в бочке меда и без ложки дегтя.

1. Сбой развертывания при неправильной компоновке пакета.

Первая проблема с которой вы можете столкнуться, возникает при использовании шаблона солюшена CRM. При создании этого решения, в него автоматически будут включены проекты всех перечисленные выше типов. Кроме того, они будут заранее включены в пакет развертывания Решения CRM. Если при этом вы, например, не определили ни одной Активности рабочего процесса, то развертывание пакета в системе может падать с ошибками типа "Сборка не подписана" или "сборка не найдена". Связано это с тем что в RegisterFile.crmregister включены шаги развертывания сборки Workfow, которая отсутствует на выходе проекта Workfow.
При возникновении первой ошибки развертывание прекращается, так что обновлены или развернуты будут только те проекты, установка которых была произведена до возникновения ошибки. Решение - удалить из RegisterFile все лишние объявления и, если нужно, лишние проекты.

2. CRM Explorer не умеет создавать классы раннего связывания.

К сожалению, разработчики не снабдили CRM Explorer такой возможностью, поэтому генерировать прокси классы и их контекст придется самостоятельно. Данное упущение не является ошибкой, но этот функционал хотелось бы видеть в следующих версиях.

3. Нет поддержки Xrm.PageScriptProject

К CRM Package можно подключать библиотеки сценариев JavaScript, но нет встроенной поддержки другого решения CRM for VS: Xrm.PageScriptProject. О том как обойти это ограничение, и что представляет собой само решение, я расскажу в одной из следующих статей.

4. Нет редактора процессов.

В CRM 2011 заявлена поддержка XAML и редактора процессов Visual Studio. Данный феномен мной изучен слабо, но каких либо контекстных команд CRM Explorer и шаблонов диаграмм процессов в решении я не встретил. Это значит что "рисовать мышью" сложные процессы не выходя из студии у нас пока не получится.

5. Не подключен проект отчетов.

Не сильно большой пробел, но все же данная область не охвачена. Было бы удобно хранить и обновлять отчеты как часть решения.

6. Слабые возможности CRM Explorer.

Если мне не изменяет память, CRM Explorer прошлой версии был чуть более функционален. С его помощью можно было производить настройку системы: добавлять атрибуты, настраивать формы и т.д. Для этого было бы достаточно встроить в решение стандартные CRM формы.
Так же в дереве CRM Explorer отображаются все настройки системы. Было бы удобно иметь возможность просмотра и кастомизации конкретного решения. Лучше всего было бы встроить окно решения, как вкладку в VS.

7. Нет возможности править XML решения

Для того, чтобы внести модификации в рибоны, метки локалий, SiteMap и т.д. приходится экспортировать решение. Было бы удобно иметь эту возможность в окне VS, да еще и с валидацией схемы! Впрочем, эта проблема частично снимается внешними утилитами.

Подводя итог скажу, что решение мне очень понравилось, хотя ему и есть куда расти. Если есть желающие присоединиться, можно попробовать внести перечисленные предложения на MS Connect и проголосовать всем форумом. Возможно нас даже услышат?

Как всегда призываю всех желающих дискутировать в комментариях.


Источник: http://axforum.info/forums/blog.php?b=276
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 4 Blog bot Dynamics CRM: Blogs 0 24.09.2011 01:16
Microsoft Dynamics CRM Team Blog: Microsoft Dynamics CRM 2011 ~ Online Test Drive Guide Blog bot Dynamics CRM: Blogs 0 05.08.2011 20:13
crminthefield: How to Create a Silverlight Web Resource that Interacts with CRM 2011 Forms Blog bot Dynamics CRM: Blogs 0 24.06.2011 04:17
crminthefield: Microsoft Dynamics CRM 2011 Custom Contact Entry Website using Early-Bound entity Classes. Blog bot Dynamics CRM: Blogs 0 04.06.2011 08:16
crminthefield: How to Create a Simple Webpage Leveraging The CRM 2011 IOrganizationService Web Service Blog bot Dynamics CRM: Blogs 0 19.05.2011 02:11

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:02.