Основные правила и рекомендации разработки
Glossary Item Box
Общие сведения
В процессе создания новой функциональности сформировался набор правил и рекомендаций, основанных на проектном опыте разработчиков Creatio и разработчиков-партнеров. Разработка может вестись несколькими сотрудниками одновременно в персональных средах разработки. В роли разработчика может выступать любой сотрудник, имеющий соответствующие навыки.
Минимальные навыки разработчика
Более 6 месяцев опыта реальной работы с C#, JavaScript и T-SQL (PL-SQL).
Рекомендуемые навыки разработчика
Более 1 года опыта реальной работы с C#, JavaScript и T-SQL (PL-SQL). Знание технологий WCF, OData, фреймворка Sencha Ext.JS и библиотеки RequireJS.
Правила и рекомендации разработки
Использование среды разработки
Разработку новой функциональности необходимо вести только в среде разработки. Ведение разработки в предпромышленной и промышленной средах запрещено.
Разработка в конфигурациях
Разработка должна вестись только на базе данных разработки в рабочем пространстве по умолчанию (конфигурация [Default], порядковый номер 0). Выполнять разработку в пользовательских конфигурациях не рекомендуется даже в случае внесения небольших изменений, поставка которых другим пользователям не планируется.
Разработка в пользовательском пакете
Разработка новой пользовательской функциональности Creatio должна обязательно вестись в отдельном пользовательском пакете. Крайне не рекомендуется использовать пользовательский пакет [Custom]. Для пакета обязательно должны быть установлены все необходимые зависимости и к нему должны быть привязаны все необходимые данные (например, наполнение справочников) и SQL-сценарии.
Использование SVN
Если разработка ведется несколькими разработчиками, то необходимо использовать систему управления версиями (SVN). При выполнении разработки одним разработчиком использование SVN является рекомендацией.
Идентификация поставщика решения
Для предотвращения ошибок, связанных с одинаковыми названиями элементов пакетов и их свойств, созданных разными поставщиками, необходимо использовать следующие системные настройки:
- [Издатель] (Maintainer) — содержит название поставщика пакета. По умолчанию имеет значение "Customer".
- [Префикс названия объекта] (SchemaNamePrefix) — содержит префикс, который устанавливается в названиях пользовательских схем, а также в названиях пользовательских колонок в объектах-наследниках системных объектов. По умолчанию имеет значение "Usr".
Использование расширяющих и замещающих модулей и схем
При необходимости создания расширяющей схемы модели представления (например, схемы страницы редактирования записи раздела) в нее необходимо добавить только отличия от родительской схемы. Чаще всего это новые атрибуты, методы, события и массив модификаций diff. В массив модификаций diff необходимо добавлять только новые элементы представления, отсутствующие в родительской схеме.
При необходимости создания замещающего модуля в него нужно скопировать исходный код модуля, который замещается, и добавить новую функциональность. Это связано с тем, что модули в Creatio закрыты для расширения.
Для создания расширяющих и замещающих клиентских схем в меню раздела [Конфигурация] предусмотрена одна и та же команда [Добавить] — [Замещающий клиентский модуль]. Поэтому для расширяющих схем также принято использовать термин "замещающие".
Использование локализируемых строк
В исходном коде схем нельзя использовать строковые литералы. Все строковые значения, предназначенные для вывода в пользовательский интерфейс, должны быть оформлены в виде локализируемых строк. Это важно для локализации решений.
Резервирование данных
Прежде чем переносить изменения в промышленную среду, необходимо обязательно создать резервную копию базы данных. Также резервирование данных нужно производить перед установкой обновлений и решений от сторонних разработчиков.