Создание нового типа записи путем дублирования «Defect»

       Может возникнуть ситуация, когда вам необходимо отказаться от базовой функциональности "Defect" и создать свой собственный тип записи, который однако наследует все возможности и старого "Defect".
Проблема
       Основной проблемой можно считать тот факт, что ClearQuest принципиально не хранит текущее состояние метамодели, а только набор изменений (ревизий), по истории которых можно составить целостную актуальную метамодель. Данный факт, существенно определяет порядок ваших действий. Необходимо выделить из ClearQuest те изменения, которые привели к созданию в схеме типа записи Дефект, а также всех последующих изменения, связанные с наращиванием функциональности.
Инструментарий
       Для успешной реализации дублирования вам понадобятся следующие инструменты: утилита «cqload.exe», а также текстовый редактор, не изменяющий структуру текстовых файлов, например, «UltraEdit 32». Предполагается, что вы имеете опыт импорта/экспорта дельты схемы.
Реализация
  • Первоначально вам необходимо подготовить схему, Дефект в которой является именно тем, на основе чего вы желаете создать новый тип записи. В тестовом репозитории необходимо создать новую схему «ComulativeDefectTracking» на основе самой последней ревизии схемы «DefectTracking». Таким образом, в этой кумулятивной схеме вы получите все последние изменения над Дефектом.
  • Имея все последние изменения, необходимо их выгрузить из схемы «ComulativeDefectTracking» с помощью команды «cqload exportintegration …» для сущности Дефект. Получившаяся дельта будет состоять из строк, создающих новые типы записей старой схемы, вашей задачей является выделить только те строки, которые относятся непосредственно к Дефекту. Сделать это можно с помощью текстового редактора.
  • После того, как вы будете уверены, что в дельте остались только строки, относящиеся к Дефекту, необходимо заменить все вхождения Defect (или %%INTEGR_PE1%%) на название вашего типа записи. Дополнительно, удалите строки создающие сам тип записи, состояние «Submitted», действие «Submit» а также все формы Дефекта (внутри этого шифра остается ссылка на Дефект).
  • Зачем удалялись эти строки? Потому что команда «cqload importintegration …», с помощью которой вы будете импортировать в схему дельту с новым типом записи, не может загрузить дельту на несуществующий тип записи. То есть, вам теперь необходимо с помощью Designer создать новый тип записи «Ваше название». Не забудьте выгрузить (экспорт) формы Дефекта из Designer. С помощью текстового редактора замените все вхождения Defect на название вашего типа записи в файлах экспортированных форм.
  • Импортируйте подготовленную дельту с новым типом записи «Ваше название». При успешном окончании процесса открывайте Designer и проверьте что все правильно. Затем импортируйте формы, причешите названия полей и можете чекинить схему – вы создали новый тип записи на основе Дефекта.

     Evgeny Savitsky © 2002-2003