Объекты сервера
Главная страница: Работа с сервером управляемых данных
На сервере управляемых данных, каждая проектная сущность, которая может храниться, управляться и повторно использоваться, представлена в виде объекта (Item) определенного типа. Объект уникальным образом идентифицируется на сервере, и он может содержать в себе любое количество ревизий (Revision), которые хранят в себе данные этого объекта. При каждом изменении данных, которые содержатся в ревизии (объекты большинства типов могут редактироваться в соответствующем временном редакторе), эти данные фиксируются (выпускаются повторно) в новую ревизию этого объекта, что обеспечивает высочайшую целостность данных, так как существующие ревизии невозможно перезаписать.
Поддерживаемые типы объектов
Для хранения и представления данных различных типов используются различные объекты. Один объект может представлять схемный символ, другой – посадочное место, а третий может содержать в себе данные для изготовления платы, сформированные из выпущенного проекта. Для обозначения типа содержимого объекта (точнее, его ревизий) необходимо указать свойство Content Type при создании или редактировании этого объекта. Иными словами, вы, по сути, указываете тип объекта (Item Type).
В таблице ниже приведен список различных типов объектов (типов содержимого), которые пользователь может создать вручную на сервере управляемых данных. Здесь представлены следующие данные:
- Соответствующий тип папки – специальный тип папки (где это доступно), в которой хранятся данные этого типа. Тип не влияет на содержимое папки, а лишь предоставляет визуальную подсказку о том, что хранится в папке. Это может быть полезным при поиске определенных данных на сервере. Объект может храниться в любой папке, в том числе в папке общего типа (Generic Folder, ).
- Код типа содержимого – код, используемый при назначении уникального идентификатора создаваемому объекту этого типа. Схема именования объектов родительской папки использует запись
$CONTENT_TYPE_CODE
. - Код типа папки – код, используемый при назначении уникального идентификатора создаваемому объекту этого типа. Схема именования объектов родительской папки использует запись
$FOLDER_TYPE_CODE
.
Тип объекта/содержимого | Соответствующий тип папки | Код типа содержимого | Код типа папки | Подробнее... | ||
---|---|---|---|---|---|---|
3D Model (3D-модель) |
3D Models (3D-модели) |
A3D |
A3DL |
Управляемые 3D-модели | ||
Altium Designer Preferences (Настройки Altium Designer) |
Altium Designer Preferences (Настройки Altium Designer) |
PREF |
ADPC |
Управляемые настройки Altium Designer | ||
Binary File (Бинарный файл) |
Binary Files (Бинарные файлы) |
ABF |
ABC |
Хранение файлов любого типа | ||
BOM Template (Шаблон BOM) |
BOM Templates (Шаблоны BOM) |
XLT |
XLT |
Управляемые шаблоны состава изделия | ||
Component (Компонент) |
Components (Компоненты) |
CMP |
CMPL |
Управляемые компоненты | ||
Component Template (Шаблон компонентов) |
Component Templates (Шаблоны компонентов) |
CMPT |
CTC |
Управляемые шаблоны компонентов | ||
Draftsman Document Template (Шаблон документов Draftsman) |
Draftsman Templates (Шаблоны Draftsman) |
DFD |
DRT |
Управляемые шаблоны Draftsman | ||
Draftsman Sheet Template (Шаблон листов Draftsman) |
Draftsman Templates (Шаблоны Draftsman) |
DFS |
DRT |
Управляемые шаблоны Draftsman | ||
Footprint (Посадочное место) |
Footprints (Посадочные места) |
PCC |
PCBCL |
Управляемые модели посадочных мест | ||
Layerstack (Стек слоев) |
Layerstacks (Стеки слоев) |
ALS |
ALS |
Управляемые стеки слоев | ||
Managed Schematic Sheet (Управляемый лист схемы) |
Managed Schematic Sheets (Управляемые листы схем) |
SCH |
SSC |
Управляемые листы схем | ||
Outputjob (Файл Outputjob) |
Output Jobs (Файлы Output Job) |
OUT |
OUTC |
Управляемые файлы Output Job | ||
PCB Assembly Data (Данные для изготовления печатного узла) |
Project Catalog (Каталог проекта) |
PAS |
PRJ |
Выпуск проекта платы | ||
PCB Fabrication Data (Данные для изготовления печатной платы) |
Project Catalog (Каталог проекта) |
PBL |
PRJ |
Выпуск проекта платы | ||
PCB Project Design (Проект платы) |
Project Catalog (Каталог проекта) |
PDE |
PRJ |
Выпуск проекта платы | ||
Project Review Package (Пакет проверки проекта) |
Project Catalog (Каталог проекта) |
PRP |
PRJ |
Выпуск проекта платы | ||
Project Template (Шаблон проектов) |
Project Templates (Шаблоны проектов) |
PRJT |
PRJT |
Управляемые шаблоны проектов | ||
Schematic Template (Шаблон схем) |
Schematic Templates (Шаблоны схем) |
SCHDOT |
STC |
Управляемые шаблоны схем | ||
Script (Скрипт) |
Scripts (Скрипты) |
ASF |
ASC |
Управляемые скрипты | ||
Simulation Model (Имитационная модель) |
Simulation Models (Имитационные модели) |
SIM |
SML |
Управляемые имитационные модели | ||
Symbol (Символ) |
Symbols (Символы) |
SYM |
SSL |
Управляемые схемные символы |
Ревизии объектов
У объекта может быть любое количество ревизий, которые, по сути, представляют эволюцию этого объекта. Совершённые изменения фиксируются/выгружаются/выпускаются в новую ревизию. Соответственно, данные, которые хранятся в ревизиях объекта, как правило, отличаются друг от друга. Для определения различных ревизий объекта используется идентификатор ревизии (ID), который в сочетании с идентификатором объекта формирует уникальный идентификатор каждой ревизии объекта (Item-Revision).
Таким образом, полный ID ревизии объекта идентифицирует определенную ревизию родительского объекта. Всегда есть по крайней мере одна ревизия объекта (первый выпуск), но их может быть множество, в зависимости от того, сколько раз данные этого объекта были зафиксированы/выгружены/выпущены. Здесь важно отметить, что в определенную ревизию объекта вы можете провести выпуск только один раз. Если есть какие-либо изменения, должна быть создана новая ревизия объекта. Это обеспечивает самый высокий уровень целостности данных, поскольку данные, которые находятся в определенной ревизии, никогда не будут перезаписаны, и в одну и ту же ревизию нельзя повторно выпустить данные. Для повторного выпуска нужно создать новую ревизию объекта.
Самый простой способ понять концепцию объекта и его ревизий – это представить "коробку", в которой хранятся все данные определенной ревизии определенного объекта. При выпуске объекта, данные складываются в коробку, и коробка закрывается. Идентификатор объекта и идентификатор ревизии становятся бирками на этой коробке – они позволяют быстро понять, для чего используется содержимое этой коробки. Если данные необходимо обновить и выпустить повторно, создается новая коробка, которой присваивается следующий идентификатор ревизии.
Жизненный цикл ревизии объекта
Главная страница: Управление жизненным циклом объектов
Другим важным аспектом ревизии объекта является ее состояния жизненного цикла (Lifecycle State). Это еще один идентификатор, который можно использовать для быстрой оценки того, на какой стадии своего жизненного цикла в данный момент находится ревизия и что допустимо делать с этой ревизией. В то время как ревизия отображает изменения, произведенные над объектом, состояние жизненного цикла отображает состояние этого объекта с точки зрения бизнеса, например Planned
, New From Design
, For Production
, Obsolete
и т.п.
Изначально у ревизии объекта будет состояние Planned
(Запланирована), что означает, что в нее могут быть получены (и сохранены) данные, сформированные соответствующим процессом фиксации/выгрузки/выпуска. По завершении этого процесса ревизия закрывается (данные больше не могут быть зафиксированы/выгружены/выпущены в ту же ревизию), и жизненному циклу задается следующий применимый этап. Хотя данные этой ревизии объекта не могут быть изменены, состояние жизненного цикла может быть изменено для отражения того, на каком каком этапе жизненного цикла эта ревизия объекта находится.
Сервер управляемых данных предлагает различные типы управления жизненным циклом – от простого базового управления, включающего в себя состояния и переходы между ними, до полностью структурированного управления, где состояния и переходы между ними организованы в отдельные этапы и где эти этапы и идентификатор ревизии связаны между собой. На основе этих различных стратегий управления жизненным циклом определен ряд стандартных определений жизненного цикла (Lifecycle Definition), которые вы можете выбрать для моделирования переходов между состояниями ревизии объекта.
Управление жизненным циклом ревизий объектов осуществляется вручную, в соответствии с принципами и практиками работы, принятыми в компании. Рассмотрим пример ревизии объекта PCB Fabrication Data Item, который содержит в себе данные, необходимые для изготовления печатной платы. После формирования этих данных, жизненный цикл этой ревизии может быть повышен, например, до состояния In Prototype
(На стадии прототипирования), и после успешного прототипирования эта ревизия перейдет до состояния In Production
(На стадии производства). Позже может понадобиться другая ревизия того же объекта (другая коробка!) с улучшенными характеристиками. После выпуска, эта вторая ревизия пройдет по стадиям от прототипирования до производства, в то время как предыдущая ревизия объекта устареет. Сутью является то, что информация о жизненном цикле показывает, как должно использоваться содержимое "коробки" ревизии объекта.
Создание объекта
Сам объект создается непосредственно на сервере управляемых данных. На сервере хранятся все данные, необходимые для производства/представления объекта, под соответствующим номером этого объекта. В зависимости от типа объекта, он может быть создан вручную либо автоматически в рамках соответствующего процесса фиксации/выгрузки/выпуска. Объекты всех типов могут быть созданы из Altium Designer, через панель Explorer. При работе с компонентами, их создание также доступно через панель Components.
После того, как нужные папки определены, вы можете начать создавать объекты на сервере. Чтобы создать объект, выберите соответствующую папку, щелкните ПКМ в разделе Item панели и выберите одну из команд в подменю Create Item. Либо, если папка пуста, используйте элемент управления Add an item в центре этой области, чтобы открыть меню.
Будет открыто диалоговое окно Create New Item с элементами управления для определения объекта.
Для многих типов объектов вы можете внести изменения и выпустить соответствующий проектный документ в начальную ревизию объекта после его создания. Для этого включите параметр Open for editing after creation в нижней части диалогового окна Create New Item (этот параметр включен по умолчанию). Будет создан объект и открыт соответствующий временный редактор, где вы можете создать данные для этого объекта. Для получения более подробной информации о работе с объектом определенного типа перейдите на соответствующую страницу, ссылка на которую приведена в таблице выше.
Немного об идентификаторах объектов
Важным аспектом родительской папки, в которой создается объект, является примененная к ней схема именования объектов (Item Naming Scheme). Эта схема определяет формат уникального идентификатора для каждого объекта, который создается в этой папке. При определении схемы именования объектов на уровне папки, в ней можно быстро создавать объекты, которые будут принимать корректный идентификатор в соответствии с используемой схемой именования. Это особенно верно при автоматическом создании объектов "на лету", вместо выпуска данных в существующие объекты, которые были созданы вручную непосредственно на сервере.
Доступно несколько примеров схем, использующих краткие коды типа папки или типа содержимого (посмотрите таблицу выше, чтобы увидеть список этих кодов). На основе схем именования по умолчанию, система автоматически назначит следующий доступный уникальный идентификатор, просканировав весь сервер и найдя существующие объекты.
Либо, если необходим полностью ручной контроль над именованием объекта, выберите запись [NO ITEM NAMING SCHEME]
. При создании объекта для него будет необходимо задать уникальный идентификатор. Обратите внимание, что система не позволит создать объект с дублирующимся идентификатором, поэтому при определении идентификатора вручную необходимо знать, какие идентификаторы уже используются.
Независимо от настройки Item Naming Scheme родительской папки, вы можете переопределить автоматически заданный идентификатор на уровне объекта. Измените идентификатор нужным образом в диалоговом окне Create New Item / Edit Item.
Выбор схемы для идентификации объектов
Существует бесконечное количество возможных схем именования/нумерации, которые можно использовать для объектов. Те, которые показаны на изображениях в документации, являются лишь примерами. Можно прочитать множество дискуссий по поводу использования лучших схем нумерации. Как правило, эксперты сходятся во мнении, что лучшими являются краткие схемы, не содержащие значимой информации и использующие только числа. Не содержащие значимой информации означает, чтобы в схеме не зашифровано какой-либо информации, такой как категория продукта, подкатегория, расположение и т.д., и каждый новый объект просто использует следующий номер в последовательности.
Чем длиннее идентификатор, тем больше вероятность того, что человек допустит ошибку при записи или вызове идентификатора объекта. Опыт и научные исследования показывают, что число ошибок в записях данных растет с увеличением количества символов. Семизначные числа считаются оптимальными с точки зрения простоты и надежности обращения человека к ним. Начиная с определенной длины, количество ошибок растет – при 15 символах вероятность ошибки близка к 100%.
Если в вашей организации важно идентифицировать объекты по их Item ID, то решением здесь могут быть составные идентификаторы. В этом случае, рекомендуется использовать простой буквенный/цифровой код в префиксе. Для примера рассмотрим идентификатор D-820-0001
. Здесь D
может обозначать Design, т.е. указывать, что этот объект используется для проектов. В блоке следующих трех цифр, первая может обозначать категорию продукта, например периферийные платы, а вторая и третья могут использоваться для обозначения печатных плат (1X
) или печатных узлов (2X
и выше). Последние четыре цифры в Item ID – это простой последовательный числовой код, не содержащий значимой информации.
Определение идентификатора начальной ревизии серверного объекта
При переходе от концепции неуправляемых проектов к управляемым необходимо мигрировать существующие данные на сервер. Эти данные могли пройти через множество итераций, и их ревизиям могли быть присвоены номера в соответствии с тем, как это принято в организации. Например, ревизия 3 платы Magno-Synthetic Digitizer уже могла уйти в серийное производство, а в ревизию 4 могли быть добавлены улучшения. При выпуске на сервер управляемых данных, выпускать начальную ревизию снова с номера 1
было бы, по крайней мере, неоднозначно, причем не только внутри организации, но и, что более важно, для клиентов (которые ожидают версию, более новую по сравнению с ревизией 3).
В связи с этим, Altium Designer позволяет вручную задать идентификатор начальной ревизии нового объекта на сервере управляемых данных.
Определение идентификатора начальной ревизии
Создайте нужный новый объект на сервере как обычно. После создания объекта щелкните по нему ПКМ и выберите Properties – будет открыто диалоговое окно Edit Item. Нажмите кнопку справа от поля Revision ID, и в открывшемся диалоговом окне Set Initial Values задайте требуемый идентификатор. Для изменения различных уровней идентификатора, где это применимо, будут представлены поля, в соответствии с выбранной схемой именования ревизий.
Схемы именования ревизий объектов
Главная страница: Определение схем именования ревизий объектов
Чтобы обеспечить самый высокий уровень гибкости, на сервере управляемых данных доступен ряд готовых схем именования ревизий, и здесь также поддерживается определение пользовательских схем именования. Схема именования ревизий определяется на уровне сервера и применяется при создании объекта. Чтобы указать схемы именования для активного сервера, в который вы в данный момент вошли, выполните следующее:
- Откройте страницу Data Management - Servers диалогового окна Preferences.
- Щелкните мышью по элементу управления Properties справа от записи активного сервера.
- Выберите команду Naming Schemas из соответствующего меню.
Будет открыто диалоговое окно Edit Revision Naming Schemes.
Выбор применяемой схемы именования ревизий осуществляется на уровне отдельного объекта при его создании. Соответственно, различным объектам могут быть назначены различные схемы именования ревизий.
Определения жизненного цикла ревизий объектов
Главная страница: Управление жизненным циклом объектов
На сервере управляемых данных также доступен ряд готовых определений жизненного цикла, и здесь поддерживаются пользовательские определения жизненного цикла. Определение жизненного цикла указывается на уровне сервера, и оно применяется при создании объекта. Чтобы указать определения жизненного цикла для активного сервера, в который вы в данный момент вошли, выполните следующее:
- Откройте страницу Data Management - Servers диалогового окна Preferences.
- Щелкните мышью по элементу управления Properties справа от записи активного сервера.
- Выберите команду Lifecycles из соответствующего меню.
Будет открыто диалоговое окно Edit Lifecycle Definitions.
Выбор применяемого определения жизненного цикла осуществляется на уровне отдельного объекта при его создании. Соответственно, различным объектам могут быть назначены различные определения жизненного цикла.
Просмотр и управление ревизией и состоянием жизненного цикла
Связанная страница: Доступ к подробному виду объекта
Чтобы увидеть подробную историю ревизий и жизненного цикла объекта, щелкните ПКМ по объекту в панели Explorer и выберите Full Item History из меню. Будет открыт вид Item (помеченный идентификатором объекта).
На виде показана текстовая временная шкала, а также графическое представление ревизий этого объекта и история их жизненного цикла. Дополнительная информация, представленная на виде, будет зависеть от типа просматриваемого объекта. Например, для объекта компонента будут представлены ссылки на входящие в его состав модели, а также его параметры.
В графической области вида отображен столбец для каждой основной ревизии (если у связанной схемы именования ревизий больше одного уровня). В каждом столбце отображаются дополнительные ревизии и изменения состояния их жизненного цикла. Щелкните ПКМ по ячейке состояния жизненного цикла, чтобы выполнить операции, в том числе:
- Заведение новой запланированной ревизии объекта, в соответствии с выбранной для этого объекта схемой именования ревизий.
- Управление состоянием жизненного цикла для определенной ревизии объекта, в соответствии с выбранным для этого объекта определением жизненного цикла.
- Просмотр свойств ревизии.
Просмотр ревизий объекта и истории их жизненного цикла и управление ими также доступно через панель Explorer. Для выбранной ревизии объекта переключитесь на вкладку аспектного вида Lifecycle. Для просмотра выпущенных данных переключитесь на вкладку аспектного вида Preview.
Информация об изменениях состояния и выпуске
Для улучшения проверки объектов на сервере управляемых данных, Altium Designer позволяет вводить информацию (заметки) при изменениях состояния жизненного цикла ревизии объекта и, для некоторых типов объектов, при выпуске исходных данных в запланированные ревизии на сервере.
Информация об изменениях состояния
При изменении состояния жизненного цикла ревизии объекта на сервере управляемых данных используйте область State change note открывшегося диалогового окна для ввода подходящей информации (заметок) об этом изменении.
Информация о выпуске
При выпуске исходных данных в новую запланированную ревизию объекта на сервере управляемых данных используйте область Release notes диалогового окна Create Revision для ввода подходящей информации (заметок) об этом выпуске. Эта возможность доступна при повторном выпуске объекта любого типа, который поддерживает концепцию прямого редактирования.
Просмотр заметок, связанных с ревизией объекта
Заметки, добавленные к любой ревизии объекта, можно просмотреть в следующих расположениях:
- Вид Detailed Item – отобразите информацию о выпуске и информацию об изменениях состояний жизненного цикла в столбце Note в области Timeline. Для каждого состояния в жизненном цикле ревизии, соответствующее примечание (если оно было добавлено) можно также увидеть в графическом представлении жизненного цикла ревизии.
- Панель Explorer – переключитесь на вкладку аспектного вида Lifecycle выбранной ревизии объекта. Для каждого состояния в жизненном цикле ревизии, соответствующее примечание (если оно было добавлено) можно увидеть в графическом представлении жизненного цикла ревизии. Кроме того, информация о выпуске и информация о последнем изменении состояния жизненного цикла отображается в столбце Note в главной области Item панели (может понадобиться включить отображение этого столбца).