В системе Ultima Businessware® реализован механизм версионирования метаданных, который удобно представить в виде дерева.
Каждая версия метаданных может быть помечена тегом, которые делятся на:
•branch-теги – используются для пометки последнего узла ветви в дереве версий. Каждая ветвь версий (ее последний узел) обязательно отмечена своим уникальным branch-тегом. Обычно практика такова, что каждый прикладной разработчик имеет свой branch-тег, которым он помечает свою ветвь разработки.
Одна версия метаданных не может быть помечена более чем одним branch-тегом.
Изначально в системе заведен единственный branch-тег Default, которым помечена основная ветвь дерева версий метаданных;
•обычные теги – ими может быть помечена любая (кроме последней), версия метаданных в ветви. Причем, одна версия может быть помечена более чем одним обычным тегом.
Любым тегом может быть помечена не более чем одна версия метаданных. При отметке тегом другой версии, он автоматически снимается с предыдущей.
Помимо branch-тега Default в системе изначально заведены еще два (обычных) тега:
•Production – тег, используемый для пометки последней стабильной версии метаданных, предназначенной для работы рядовых пользователей системы;
•Debug – тег, используемый для пометки версии метаданных, предназначенной для тестирования, например, выборочно несколькими пользователями или отделом тестирования.
Посмотреть существующие и создать новые теги, которыми помечаются версии метаданных, можно в справочнике Version tags:
Записи справочника можно фильтровать по Названию тега (Name).
Теги обладают следующими свойствами:
•Name – имя тега;
•Version – версия метаданных, помеченная данным тегом:
▪для branch-тега изменить версию нельзя;
▪для обычного тега нельзя выбирать незафиксированную версию метаданных;
▪также для обычного тега нельзя выбирать версию, метаданные которой не были скомпилированы.
Чтобы изменение версии для тега, указанного в конфигурации кластера, начало действовать, необходимо: •перезапустить сервера приложений, входящие в этот кластер; •опционально, если после перезапуска серверов приложений возникают ошибки, перезапустить также клиентские приложения. По этой причине настоятельно рекомендуется проводить изменения версии для тега Production в период наименьшей активности пользователей. |
•Owner user – пользователь-владелец тега. Необязательное свойство, носящее информационный характер и предназначенное для указания прикладного разработчика, который ведет разработку под этим branch-тегом;
•Draft branch – изменения с ветки метаданных, помеченной branch-тегом с этим флагом, нельзя протолкнуть на ветку Default.
В справочнике тегов можно создать только обычные теги. Для branch-тегов можно лишь изменить название и владельца.