blob: ec421f22d0170c33e94a156b1122e04656f998b3 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:ContentDescription xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.5/uma.ecore"
xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.0" xmlns:rmc="http://www.ibm.com/rmc"
rmc:version="7.5.0" xmi:id="-V60xni_uGxBI53smjBJx8Q"
name="umf_naming_conventions,_EU58MMVkEdysMqkA3CCYsg" guid="-V60xni_uGxBI53smjBJx8Q"
changeDate="2008-11-04T12:44:20.343-0800" version="7.2.0">
<mainDescription>&lt;p>&#xD;
The &lt;a class=&quot;elementLink&quot; href=&quot;./../../../core.mdev.common.extend_umf/guidances/concepts/umf_C03950A8.html&quot;&#xD;
guid=&quot;_nrrn4GqHEdun45RPFGeYnA&quot;>Unified Method Framework (UMF)&lt;/a>&amp;nbsp;defines a naming convention for each library&#xD;
element: &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.default.uma_concept.base/guidances/termdefinitions/method_plugin_190B9F5E.html&quot;&#xD;
guid=&quot;_D4TLgMaGEduMlb2cQZNTYw&quot;>method plug-in&lt;/a>s, &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.default.uma_concept.base/guidances/termdefinitions/method_configuration_C2B8FA8A.html&quot;&#xD;
guid=&quot;__V7pAMaEEduMlb2cQZNTYw&quot;>method configuration&lt;/a>s, plug-in projects, configuration projects and tag groups.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
The UMF naming convention divides the element names into name parts, where each name part is separated by a dot&#xD;
(‘.’).&amp;nbsp;For example, the plug-in name &quot;core.tech.com.base&quot; has&amp;nbsp;four name parts.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
The benefits of UMF's naming convention is that it takes advantage of Method Composer support for a hierarchical&#xD;
library view where a new level is introduced for each name part. The resulting hierarchy is defined to optimize&#xD;
configuration of the method.&amp;nbsp;The most important categorization for someone configuring the process is listed&#xD;
first: the plug-in or configuration type.&amp;nbsp; &lt;a class=&quot;elementLinkWithUserText&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/termdefinitions/licensing_level_746E1470.html&quot;&#xD;
guid=&quot;_47cn8PU3EdyNMvgj607huw&quot;>Licensing level&lt;/a> is applied as a suffix and no suffix means open source (in other&#xD;
words, open source method elements do not have a licensing level suffix).&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
UMF plug-in naming conventions&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
UMF plug-in naming convention: &amp;lt;&lt;strong>plug-in&#xD;
type&lt;/strong>&amp;gt;.[&amp;lt;&lt;strong>context&lt;/strong>&amp;gt;].&amp;lt;&lt;strong>descriptive name&lt;/strong>&amp;gt;.&amp;lt;&lt;strong>plug-in&#xD;
part&lt;/strong>&amp;gt;[_&amp;lt;&lt;strong>part qualifier&lt;/strong>&amp;gt;][-&amp;lt;&lt;strong>source/licensing level&lt;/strong>&amp;gt;]&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Where:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
&lt;strong>Plug-in type&lt;/strong>:&amp;nbsp; The following are the possible values for the plug-in type.&amp;nbsp; For more&#xD;
information on the plug-in types, see &lt;a class=&quot;elementLinkWithType&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/concepts/practice_lib_plugin_types_3EA8002F.html&quot;&#xD;
guid=&quot;__428YO6cEdygKbJMUVNEtg&quot;>Concept: Practice Library Plug-In Types&lt;/a>. &#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
core = Core&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
practice = Practice&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
process = Process&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
publish = Publish&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
meth_mgmt = Method Management&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
&lt;br />&#xD;
&lt;/blockquote>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
&lt;strong>Context&lt;/strong>: Not required (some plug-ins are &quot;context-free&quot; meaning that they are not specific to any&#xD;
&lt;a class=&quot;elementLink&quot; href=&quot;./../../../core.mdev.common.base/guidances/termdefinitions/context_AF8B381C.html&quot;&#xD;
guid=&quot;_Kemu0PHZEdyO9sYxKNWf8A&quot;>context&lt;/a>).&amp;nbsp;&amp;nbsp;The following are some examples of contexts:&amp;nbsp; &#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
gen = general purpose (&lt;em>general purpose&lt;/em> means applies across multiple contexts.&amp;nbsp; This is NOT&#xD;
the same as context-free)&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
tech = technology&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
bus = business&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
mgmt = management&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
legacy = legacy&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
mdev&amp;nbsp;= method development&amp;nbsp;&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
sdpl = solution deployment&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
&lt;p>&#xD;
Note: If you would like to implement &quot;nested&quot; contexts, you can break the context name into multiple &quot;parts&quot;, where&#xD;
each of those parts are separated by a dot (period) so that Method Composer creates a hierarchical view of the&#xD;
related plug-ins. For example: You could define an authoring&amp;nbsp;(auth)&amp;nbsp;context that is a sub-context of&#xD;
method development (mdev).&amp;nbsp;In such a case,&amp;nbsp;the name of the context would be&#xD;
&quot;mdev.auth&quot;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
&lt;strong>Descriptive name&lt;/strong>: The following conventions apply to the Descriptive name part of of a plug-in&#xD;
name:&#xD;
&lt;/li>&#xD;
&lt;li style=&quot;LIST-STYLE-TYPE: none&quot;>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
Actual names will vary, but the name should be descriptive of what the plug-in contains, should be pretty&#xD;
close to the presentation name for the plug-in, using &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.mdev.common.extend_umf/guidances/guidelines/umf_approved_acronyms_A0328F22.html&quot;&#xD;
guid=&quot;_EQiuAPTiEdysQswc_A-Z6g&quot;>UMF Approved Acronyms&lt;/a>.&amp;nbsp;&amp;nbsp;&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
For example:&amp;nbsp;Descriptive name:&amp;nbsp;pracitice_auth;&amp;nbsp;Presentation name: Practice Authoring.&lt;br />&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
&lt;strong>Plug-in part&lt;/strong>: The following are the possible values for the plug-in part.&amp;nbsp; For more&#xD;
information on the plug-in parts, see &lt;a class=&quot;elementLinkWithType&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/concepts/practice_lib_plugin_types_3EA8002F.html&quot;&#xD;
guid=&quot;__428YO6cEdygKbJMUVNEtg&quot;>Concept: Practice Library Plug-In Types&lt;/a>. &#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
base = base plug-in&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
assign = assign plug-in&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
extend = extend plug-in&lt;br />&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
&lt;strong>Part qualifier&lt;/strong>: Not required. This can be used to provide some additional information about the&#xD;
plug-in part.&amp;nbsp; This is most applicable for Extend plug-ins, where the part qualifier can be used to indicate&#xD;
the reason for the extension.&amp;nbsp; For example, UMF-specific extensions to an existing plug-in may be indicated&#xD;
with a &quot;_umf&quot; part qualifier (e.g., &quot;&amp;lt;some plug-in&amp;gt;.extend_umf&quot;).&amp;nbsp;&amp;nbsp; Another exmple of a qualifier&#xD;
is &quot;gbl&quot; for globalization&quot;.&lt;br />&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
&lt;strong>Source/licensing level suffix&lt;/strong>.&amp;nbsp; Can be used to indicate the company that the plug-in applies&#xD;
to and/or the licensing level of the plug-in. Open source plug-ins do not include a licensing level in their&#xD;
names.&lt;br />&#xD;
Note: The use of a hyphen (-) rather than a dot or perioed (.) is intentional because the&#xD;
source/licensing&amp;nbsp;level&amp;nbsp;is not intended to be another hierarchical level.&amp;nbsp; Do no use a hyphen in any&#xD;
other place in the name&amp;nbsp;except to separate the actual plug-in name from the suffix.&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
Figure 1 provides examples of UMF plug-in names that use these conventions:&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Figure 1: Example: Method authoring practice naming conventions&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
&lt;img style=&quot;WIDTH: 685px; HEIGHT: 514px&quot; height=&quot;514&quot; alt=&quot;umf_plugin_name_examples&quot;&#xD;
src=&quot;./resources/umf_plugin_name_examples.jpg&quot; width=&quot;600&quot; />&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Notice the following points shown in Figure 1:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
All practices are grouped together because the first part of their names is “practice”&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
All the practices that support a specific context are grouped under the content name (“mdev” in this example)&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
All plug-ins that support method authoring are grouped together because a new name level was introduced in the&#xD;
descriptive name (“auth” in this example)&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
All plug-in “parts” for a practice are grouped together because the practice descriptive name is the same&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
The reason for the extension is included as part of the Extend plug-in name, separated from the word &quot;extend&quot; with&#xD;
an underscore and not a&amp;nbsp;hyphen. For example: practice.mdev.auth.practice_auth.extend_umf and&#xD;
practice.mdev.auth.practice_auth.extend_umf-ibm&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
The licensing level is separated from the rest of the plug-in name with a hypen.&amp;nbsp; For example:&#xD;
practice.mdev.auth.practice_auth.extend_umf-ibm and practice.mdev.auth.practice_auth.extend_umf-ibm_int.&#xD;
&lt;/li>&#xD;
&lt;/ul>&lt;br />&#xD;
&lt;h3>&#xD;
UMF plug-in project naming conventions&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
Plug-in projects should be named exactly the same as the plug-ins they contain. See the earlier section on plug-in&#xD;
naming conventions for more information.&#xD;
&lt;/p>&lt;br />&#xD;
&lt;h3>&#xD;
UMF configuration naming conventions&lt;br />&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
UMF configuration naming convention: &amp;lt;&lt;strong>configuration&#xD;
type&lt;/strong>&amp;gt;[.&lt;strong>context&lt;/strong>].&amp;lt;&lt;strong>descriptive name&amp;gt;[-&amp;lt;source/licensing level&amp;gt;]&lt;/strong>&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Where:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
&lt;strong>Configuration type&lt;/strong>: The following are the possible values for the&amp;nbsp;configuration&#xD;
type.&amp;nbsp;For more information on UMF configuration types, see &lt;a class=&quot;elementLinkWithType&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/concepts/practice_lib_config_types_B96A959A.html&quot;&#xD;
guid=&quot;_1gchoO6dEdygKbJMUVNEtg&quot;>Concept: Practice Library Configuration Types&lt;/a>. &#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
publish = Publish Configuration&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
zconstruct = Process Construction Configuration&lt;br />&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
&lt;strong>Context&lt;/strong>: Same as for plug-ins.&lt;br />&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
&lt;strong>Descriptive name&lt;/strong>: The following conventions apply to the Descriptive name part of of a&#xD;
configuration name:&amp;nbsp;&amp;nbsp; &#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
For Publish configurations, the &lt;a class=&quot;elementLink&quot;&#xD;
href=&quot;./../../../core.mdev.common.base/guidances/concepts/practice_config_CC7754F2.html&quot;&#xD;
guid=&quot;_0H9aAO7EEdy9EOwDlaw7Kw&quot;>Practice Configuration&lt;/a>&amp;nbsp;name being published&amp;nbsp;makes a&amp;nbsp;good&#xD;
descriptive name&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
For Process Construction configurations, the name of the plug-in that contains the process makes a good&#xD;
descriptive name&lt;br />&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
&lt;strong>Source/licensing level&lt;/strong>: Same as for plug-ins.&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
The following are some examples of UMF&amp;nbsp;configuration names that use these conventions:&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Figure&amp;nbsp;2 provides an&amp;nbsp;example of UMF onfiguration names that use these conventions.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Figure 2: Example: UMF configuration naming conventions&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
&lt;img height=&quot;465&quot; alt=&quot;umf_config_name_examples&quot; src=&quot;./resources/umf_config_name_examples.jpg&quot; width=&quot;600&quot; />&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Notice the following points shown in Figure 2:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
All configurations of the same type are grouped together because the first part of the configuration name is the&#xD;
configuration type&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
All configurations that support a specific context are grouped under the content name (“mdev” in this example)&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
The publish configurations for a specific configurations are easy to spot because the configuration name is in the&#xD;
descriptive name&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
The configuration to be used as the default configuration when constructing a process in a plug-in is easy to spot&#xD;
because the owning plug-in name is in the descriptive name&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
The unique identifier suffix is used to indicate the licensing level of the configurations (e.g., -ibm for&#xD;
commercial content and -ibm_int for internal IBM content)&lt;br />&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;h3>&#xD;
UMF configuration project naming conventions&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
UMF configuration project naming convention: &lt;strong>configs[-&lt;/strong>&amp;lt;&lt;strong>descriptive&#xD;
name&amp;gt;][-&amp;lt;source/licensing level&amp;gt;]&lt;/strong>&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Where:&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Descriptive name: This is optional (i.e., you may only have one tag group per licensing level).&amp;nbsp; If you use one,&#xD;
the descriptive name should be a name that represents a specific set or category of configurations.&amp;nbsp; For example:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
mdev: Method Development&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
mdev.auth: Method Aurhoring (s sub set of method development)&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
mdev.meth_mgmt: Method Development Method Management&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
Source/licensing level: Same as for plug-ins.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Figure&amp;nbsp;3 provides some examples of UMF&amp;nbsp;configuration project names that use these conventions.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Figure 3: Example: UMF configuration project naming conventions&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
&lt;img style=&quot;WIDTH: 682px; HEIGHT: 537px&quot; height=&quot;537&quot; alt=&quot;umf_config_proj_name_examples&quot;&#xD;
src=&quot;./resources/umf_config_proj_name_examples.jpg&quot; width=&quot;600&quot; />&#xD;
&lt;/p>&lt;br />&#xD;
&lt;h3>&#xD;
UMF tag group naming conventions&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
UMF tag group naming convention: &lt;strong>tags-&lt;/strong>&amp;lt;&lt;strong>descriptive name&amp;gt;[-&amp;lt;source/licensing&#xD;
level&amp;gt;]&lt;/strong>&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Where:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
Descriptive name: A name that represents a specific set or category of tags.&amp;nbsp; For example: mdev: Method&#xD;
Development&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Source/licensing level: Same as for plug-ins.&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
Figure&amp;nbsp;4 provides some examples of UMF&amp;nbsp;tag group names that use these conventions.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Figure 4: Example: UMF tag group naming conventions&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
&lt;img height=&quot;39&quot; alt=&quot;umf_tag_group_name_examples&quot; src=&quot;./resources/umf_tag_group_name_examples.jpg&quot;&#xD;
width=&quot;124&quot; />&lt;br />&#xD;
&amp;nbsp;&#xD;
&lt;/p></mainDescription>
</org.eclipse.epf.uma:ContentDescription>