Publish Additional Properties

By default, the Publisher for Enterprise Architect does not export the extended properties - which are not UML attributes - available in Enterprise Architect like “Alias”, “Author”...
This option enables to export those properties.

To activate the option you need to provide the "qualified name" of the properties you want to export. When activated, a new Profile called EAProfile will be applied to the model.
All the elements of the model having one of those extended properties will be Stereotyped as <<EAElement>>. For each additional property read, an attribute (with the name of the property, not the qualified name) will be created on the Stereotype to store the value as tagged value on each element.

Qualified Name

An Enterprise Architect model, exported from Enterprise Architect, can be divided into two parts:

Here is a sample xmi file exported from Enterprise Architect:
<uml:Model xmi:type="uml:Model" name="EA_Model" visibility="public">
...
</uml:Model>
<xmi:Extension extender="Enterprise Architect" extenderID="6.5">
...
</xmi:Extension>
The extension section contains additional data relative to model elements:

Those sections contains XML Tags representing extension of a model element:
For instance:

   <element xmi:idref="EAID_19A79944_2484_4e77_A373_D50FE935071B" xmi:type="uml:Text" name="Text" scope="public">
    <model package="EAPK_1FA6553F_CF5C_486f_BD38_8E7C24F0D7CE" tpos="0" ea_localid="2164" ea_eleType="element" name="Text"/>
    <properties documentation="Using Images on Elements" alias="Using Images on Elements" isSpecification="false" sType="Text" nType="0" scope="public"/>
    <project version="1.0" phase="1.0" created="2005-10-19 16:55:09" modified="2005-10-19 16:55:48" complexity="1" status="Proposed"/>
    <code gentype="<none>"/>
   </element>
Here <element> is the XML Tag representing the Extension of a model element
It has nested XML Tags (such as <project>) containing additional XML Attributes (such as version="1.0")

Extension data structure in the model

The Publisher is able to transform this additional data in the form of Stereotype’s Properties (or TaggedValues).

Property

A property is a (key,value) couple and represents an XML Attribute with its value:
<project version="1.0" phase="1.0" created="2005-10-19 16:55:09"> 
In bold a property "created" with value "2005-10-19 16:55:09"

Category

Those properties are stored in "Categories", which represent their owner XML Tag name.
In the previous example, the property version="1.0" is stored in the category "project"
Regarding properties which are directly defined inside the root XML Tag, they are stored in an empty category (empty string). For instance scope="public" is nested in the category ""

Qualified name

We call qualified name, the string representation of a property preceded by its category name. For instance, project.created is the qualified name of the property created nested inside category project.
.scope is the qualified name of the property scope nested inside the root XML Tag

Setting the extended properties to read

To set the extended properties, set the following option in publisher.properties file:

# Enable publishing additional properties from Enterprise Architect model, saved as tagged value on element. For example: properties.alias,project.version (use comma as separator)
ea2md.ea2md.extensions.properties=

If the ea2md.ea2md.extensions.properties property is not set in the publisher.properties file, no profile will be created in the model.