| <html> | |
| <head> | |
| <meta http-equiv=Content-Type content="text/html; charset=windows-1252"> | |
| <title>Using EPF with a Version Control System</title> | |
| <style><!-- | |
| .MsoToc1 | |
| {line-height:12.0pt; | |
| font-size:10.0pt; | |
| font-family:"Times New Roman";} | |
| .MsoToc2 | |
| {line-height:12.0pt; | |
| font-size:10.0pt; | |
| font-family:"Times New Roman";} | |
| .MsoToc3 | |
| {line-height:12.0pt; | |
| font-size:10.0pt; | |
| font-family:"Times New Roman";} | |
| .MsoTitle | |
| {text-align:center; | |
| font-size:18.0pt; | |
| font-family:Arial; | |
| font-weight:bold;} | |
| .MsoHyperlink | |
| {color:blue; | |
| text-decoration:underline;} | |
| .InfoBlue | |
| {line-height:12.0pt; | |
| font-size:10.0pt; | |
| font-family:"Times New Roman"; | |
| color:blue; | |
| font-style:italic;} | |
| .InfoBlue0 | |
| {text-indent:-.25in; | |
| line-height:12.0pt; | |
| font-size:10.0pt; | |
| font-family:"Times New Roman";} | |
| .Section1 | |
| {page:Section1;} | |
| .Section2 | |
| {page:Section2;} | |
| --> | |
| </style> | |
| </head> | |
| <body bgcolor="#FFFFFF" link=blue vlink=purple class="Normal" lang=EN-US> | |
| <div class=Section1> | |
| <p class=MsoTitle style='text-align:justify'>Using Eclipse Process Framework | |
| Composer with a Version Control System</p> | |
| <p class=MsoTitle style='text-align:justify'><span style='font-size:14.0pt'>Version | |
| <1.0></span></p> | |
| <p style='text-align:justify'><a name="_Toc121737925"><b><span | |
| style='font-size:12.0pt'>Abstract:</span></b></a><b><span style='font-size: | |
| 12.0pt'> </span></b></p> | |
| <p style='text-align:justify'>The initial Eclipse Process Framework (EPF) Composer | |
| tool does not provide native support for version control systems, such as | |
| the IBM® Rational® ClearCase® configuration management tool, the open source | |
| version control system Concurrent Versions System (CVS) or other version control | |
| systems. </p> | |
| <p style='text-align:justify'>This document describes some techniques to facilitate | |
| using EPF Composer with a version control system. Most examples provided here | |
| relate to usage of IBM Rational ClearCase, as it was the version control system | |
| used before donation of source code and process content to Eclipse organization. | |
| As this community tries out using EPF Composer with other version control | |
| systems, please provide feedback so we can update this document. </p> | |
| </div> | |
| <br clear=all | |
| style='page-break-before:always'> | |
| <div class=Section2> | |
| <p class=MsoTitle style='text-align:justify'>Table of Contents</p> | |
| <p class=MsoToc1><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379013">1.<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>Overview of EPF Composer Files<span | |
| style='color:windowtext;display:none;text-decoration:none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>3</span></a></span></span></p> | |
| <p class=MsoToc2><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379014">1.1<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>library.xmi<span style='color:windowtext; | |
| display:none;text-decoration:none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>3</span></a></span></span></p> | |
| <p class=MsoToc2><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379015">1.2<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>plugin.xmi<span style='color:windowtext; | |
| display:none;text-decoration:none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>3</span></a></span></span></p> | |
| <p class=MsoToc2><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379016">1.3<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span><method content element>.xmi<span | |
| style='color:windowtext;display:none;text-decoration:none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>3</span></a></span></span></p> | |
| <p class=MsoToc2><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379017">1.4<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>model.xmi<span style='color:windowtext; | |
| display:none;text-decoration:none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>3</span></a></span></span></p> | |
| <p class=MsoToc2><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379018">1.5<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>content.xmi<span style='color:windowtext; | |
| display:none;text-decoration:none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>3</span></a></span></span></p> | |
| <p class=MsoToc1><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379019">2.<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>Locate your Library and Prime It Appropriately<span style='color:windowtext;display:none;text-decoration:none'> | |
| </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>3</span></a></span></span></p> | |
| <p class=MsoToc2><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379020">2.1<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>You Want to Extend BUP<span | |
| style='color:windowtext;display:none;text-decoration:none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>4</span></a></span></span></p> | |
| <p class=MsoToc2><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379021">2.2<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>You Want to Create Your own Library<span | |
| style='color:windowtext;display:none;text-decoration:none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>4</span></a></span></span></p> | |
| <p class=MsoToc2><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379022">2.3<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>A Note for IBM Rational ClearCase Users<span | |
| style='color:windowtext;display:none;text-decoration:none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>4</span></a></span></span></p> | |
| <p class=MsoToc2><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379023">2.4<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>A Note about the .project File<span | |
| style='color:windowtext;display:none;text-decoration:none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>4</span></a></span></span></p> | |
| <p class=MsoToc2><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379024">2.5<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>Put all Files being Developed under Version | |
| Control<span style='color:windowtext;display:none;text-decoration:none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>4</span></a></span></span></p> | |
| <p class=MsoToc1><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379025">3.<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>Ensure the Appropriate Files Are Writable<span | |
| style='color:windowtext;display:none;text-decoration:none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>4</span></a></span></span></p> | |
| <p class=MsoToc2><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379026">3.1<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>Method 1 (Recommended): Work directly in your | |
| controlled source library<span style='color:windowtext;display:none; | |
| text-decoration:none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>5</span></a></span></span></p> | |
| <p class=MsoToc2><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379027">3.2<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>Method 2: Work in a copy of your controlled | |
| source library<span style='color:windowtext;display:none;text-decoration:none'> | |
| </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>5</span></a></span></span></p> | |
| <p class=MsoToc1><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379028">4.<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>Extremely Important: Refresh EPF Composers | |
| Memory Cache<span style='color:windowtext;display:none;text-decoration:none'> | |
| </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>5</span></a></span></span></p> | |
| <p class=MsoToc1><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379029">5.<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>Make Both Applications Think They Are in Control<span style='color:windowtext;display:none;text-decoration:none'> | |
| </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>6</span></a></span></span></p> | |
| <p class=MsoToc2><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379030">5.1<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>Rename a Method Element<span | |
| style='color:windowtext;display:none;text-decoration:none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>6</span></a></span></span></p> | |
| <p class=MsoToc3><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379031">5.1.1<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>For ClearCase Users<span style='color:windowtext; | |
| display:none;text-decoration:none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>6</span></a></span></span></p> | |
| <p class=MsoToc1><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379032">6.<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>Maintain Consistency of Method Library References<span style='color:windowtext;display:none;text-decoration:none'> | |
| </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>7</span></a></span></span></p> | |
| <p class=MsoToc2><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379033">6.1<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>Checking in plugin.xmi or library.xmi<span | |
| style='color:windowtext;display:none;text-decoration:none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>7</span></a></span></span></p> | |
| <p class=MsoToc2><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379034">6.2<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>Checking in model.xmi<span style='color: | |
| windowtext;display:none;text-decoration:none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>7</span></a></span></span></p> | |
| <p class=MsoToc1><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379035">7.<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>Some Ways to Minimize Shared File Conflicts<span | |
| style='color:windowtext;display:none;text-decoration:none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>7</span></a></span></span></p> | |
| <p class=MsoToc1><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379036">8.<span style='font-size:12.0pt;color:windowtext; | |
| text-decoration:none'> </span>For ClearCase Users<span style='color:windowtext; | |
| display:none;text-decoration:none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>8</span></a></span></span></p> | |
| <p class=MsoToc1><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379037">Appendix A: Based on Your Actions, What Files Change?<span | |
| style='color:windowtext;display:none;text-decoration:none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>9</span></a></span></span></p> | |
| <p class=MsoToc1><span class=MsoHyperlink><span style='color:blue'><a | |
| href="#_Toc128379038">Appendix B: For each EPF Composer File, What Changes Affect | |
| the File?<span style='color:windowtext;display:none;text-decoration: | |
| none'> </span><span | |
| style='color:windowtext;display:none;text-decoration:none'>12</span></a></span></span></p> | |
| <p class=MsoTitle style='text-align:justify'><br clear=all style='page-break-before: | |
| always'> | |
| Using EPF Composer with a Version Control System</p> | |
| <h1 style='text-align:justify'><a name="_Toc121737927"></a><a | |
| name="_Toc128379013">1.<span style='font:7.0pt "Times New Roman"'> | |
| </span>Overview of EPF Composer Files</a></h1> | |
| <p style='text-align:justify'>Before we delve into the details of using EPF | |
| Composer with a version control system, you should be aware of some files | |
| play a key role in the EPF Composer library. These need to be carefully controlled | |
| because they contain information that must be kept in synch with other files | |
| in your library. They are referenced often in this document. The following | |
| summarizes those files and the role they play in your EPF Composer library. | |
| For specific information on what changes affect what EPF Composer .xmi file, | |
| see <i>Appendix A: Based on Your Actions, What Files Change?</i> or <i>Appendix | |
| B: For each EPF Composer File, What Changes Affect the File?</i>.</p> | |
| <h2 style='text-align:justify;'><a | |
| name="_Toc128379014">1.1<span style='font:7.0pt "Times New Roman"'> | |
| </span>library.xmi</a></h2> | |
| <p style='text-align:justify'>There is one library.xmi file for each method | |
| library. This file contains a reference to every plug-in in your EPF Composer | |
| library. It also contains the details of what is included in each configuration, | |
| including which content packages, which process packages, and which processes | |
| (capability patterns and delivery processes) are included, as well as the | |
| specification of whats included in each view. When you create new packages, | |
| EPF Composer does not modify this file, but this file is updated if you create | |
| a new process. This file is shared by all plug-ins in your EPF Composer library, | |
| so you need to be especially careful to coordinate changes being made by different | |
| individuals. </p> | |
| <h2 style='text-align:justify;'><a | |
| name="_Toc128379015">1.2<span style='font:7.0pt "Times New Roman"'> | |
| </span>plugin.xmi</a></h2> | |
| <p style='text-align:justify'>There is one plugin.xmi file for each plug-in. | |
| This file contains a reference to every content element in the plug-in, as | |
| well as the presentation names, brief descriptions, and relationships for | |
| each element, such as guidance, inputs or outputs (tasks), performing role | |
| (tasks), work products responsible for (role) etc. It also contains the definition | |
| of what is included in each standard category as well as the definition and | |
| contents of each custom category. When more than one person works on a plug-in, | |
| you need to be especially careful about coordinating changes to this file | |
| and any files it references. </p> | |
| <h2 style='text-align:justify;'><a | |
| name="_Toc128379016">1.3<span style='font:7.0pt "Times New Roman"'> | |
| </span><method content element>.xmi</a></h2> | |
| <p style='text-align:justify'>There is one file per method content element. | |
| It contains the descriptive text for the method content element for all fields | |
| except the name, presentation name, and brief description. The file name | |
| (<method content element>) is the same as the name field for the element. | |
| (One exception to this: if you create a second method content element with | |
| the same name and that element is located in the same directory in your library, | |
| then EPF Composer will append 2 to the end of the actual filename. The | |
| appended 2 will not appear in the name field in EPF Composer.)</p> | |
| <h2 style='text-align:justify;'><a | |
| name="_Toc128379017">1.4<span style='font:7.0pt "Times New Roman"'> | |
| </span>model.xmi</a></h2> | |
| <p style='text-align:justify'>There is one model.xmi file for each process (capability | |
| pattern or delivery process). This file contains a reference to the descriptors | |
| (role, task, and work product), as well as the names and brief descriptions | |
| for each of them. It also contains the diagrams. However, the brief description | |
| and presentation name for the process itself is kept in the plugin.xmi.</p> | |
| <h2 style='text-align:justify;'><a | |
| name="_Toc128379018">1.5<span style='font:7.0pt "Times New Roman"'> | |
| </span>content.xmi</a></h2> | |
| <p style='text-align:justify'>There is one content.xmi file for each process | |
| (capability pattern or delivery process). This file contains the descriptive | |
| text for the descriptors of the process elements, with the exception of the | |
| names, presentation names and brief descriptions.</p> | |
| <h1 style='text-align:justify'><a name="_Toc128379019"></a><a | |
| name="_Toc124955446"></a><a name="_Toc124955472"></a><a name="_Toc124955447"></a><a | |
| name="_Toc124955473"></a>2.<span style='font:7.0pt "Times New Roman"'> | |
| </span>Locate your Library and Prime It Appropriately</h1> | |
| <p style='text-align:justify'>Now lets get started. Before you can set up | |
| your version control system to support your Method Library, you need to decide | |
| where you want to locate your method library. </p> | |
| <p style='text-align:justify'>Next, you may need to prime your library. If | |
| you want to use the Method Library that is provided with EPF Composer (BUP), | |
| rather than create all of your method content from scratch, then you also | |
| need to prime your library with the bundled library.</p> | |
| <h2 style='text-align:justify;'><a | |
| name="_Toc128379020">2.1<span style='font:7.0pt "Times New Roman"'> | |
| </span>You Want to Extend BUP</a></h2> | |
| <p style='text-align:justify'>If you want to use the Method Library that is | |
| provided with EPF Composer, you will need all of the files in the <b>\library</b> | |
| directory (located in the directory where you unzipped EPF Composer) to be | |
| in the same location as all of the files that you will create as part of your | |
| own plug-ins. </p> | |
| <p style='text-align:justify'>We suggest that you make a copy of the \library | |
| directory and place it where you want your controlled source. Also place | |
| the library.xmi file (<i>\library\library.xmi</i>) under source code control, | |
| since you will need to modify this file. </p> | |
| <p style='text-align:justify'>EPF Composer users will typically have all plug-ins | |
| that are bundled with EPF Composer locked, to remind that these files should | |
| not be changed. We suggest that you keep them locked. There is no need to | |
| control the source of the EPF Composer library shipped with the product, with | |
| the exception of library.xmi. You should control the source for all of the | |
| plug-ins that you create. EPF Composer creates a separate directory for each | |
| plug-in, so it will be easy for you to distinguish your source files from | |
| those that were shipped with EPF Composer. </p> | |
| <p style='text-align:justify'>When you start EPF Composer, you just need to | |
| point it to the directory where your controlled library.xmi file exists.</p> | |
| <p style='text-align:justify'>Differently from EPF Composer users, EPF project | |
| committers have write access to CVS repositories and are expected to source | |
| control the plug-ins available in order to develop and maintain their contents.</p> | |
| <h2 style='text-align:justify;'><a | |
| name="_Toc128379021">2.2<span style='font:7.0pt "Times New Roman"'> | |
| </span>You Want to Create Your own Library</a></h2> | |
| <p style='text-align:justify'>If you want to create your own method content | |
| entirely from scratch using EPF Composer and are not interested in using any | |
| of the supplied method content, then you just need to point EPF Composer to | |
| the directory where you want your library files to exist (Use the menu item | |
| File > New > Method Library in EPF Composer).</p> | |
| <h2 style='text-align:justify;'><a | |
| name="_Toc128379022">2.3<span style='font:7.0pt "Times New Roman"'> | |
| </span>A Note for IBM Rational ClearCase Users</a></h2> | |
| <p style='text-align:justify'>You cannot successfully use a dynamic view with | |
| EPF Composer. You need to create a snapshot view.</p> | |
| <h2 style='text-align:justify;'><a | |
| name="_Toc128379023">2.4<span style='font:7.0pt "Times New Roman"'> | |
| </span>A Note about the .project File</a></h2> | |
| <p style='text-align:justify'>When you start EPF Composer, it will create a | |
| .project file in the directory where your controlled library.xmi file exists. | |
| You should not place this .project file under version control since the tool | |
| will create one on each users workspace.</p> | |
| <h2 style='text-align:justify;'><a | |
| name="_Toc128379024">2.5<span style='font:7.0pt "Times New Roman"'> | |
| </span>Put all Files being Developed under Version Control</a></h2> | |
| <p style='text-align:justify'>As files and directories are added to your method | |
| library, place them under version control.</p> | |
| <h1 style='text-align:justify'><a name="_Toc128379025"></a><a | |
| name="_Ref124216809"></a><a name="_Ref124216337"></a><a name="_Toc121737931">3.<span | |
| style='font:7.0pt "Times New Roman"'> | |
| </span>Ensure the Appropriate Files Are Writable</a></h1> | |
| <p style='text-align:justify'>Whenever you make changes using EPF Composer that | |
| cause changes to the underlying files for your Method Library, those files | |
| must be writable. Due to the way the EPF Composer is designed, more than | |
| one file may need to be modified when you make a change. (See <i>Appendix | |
| A: Based on Your Actions, What Files Change?</i> for a list of actions that | |
| cause this situation.) Many version control systems keep the controlled files | |
| in your file system read-only unless you have unlocked or checked out the | |
| files. Before you can make changes in EPF Composer you need to guarantee | |
| that the files you will be modifying are writable. There are two methods | |
| you can use to accomplish this.</p> | |
| <h2 style='text-align:justify;'><a | |
| name="_Toc128379026"></a><a name="_Toc121737932">3.1<span style='font:7.0pt "Times New Roman"'> | |
| </span>Method 1 (Recommended): Work directly in your controlled source library</a></h2> | |
| <p style='text-align:justify'>You can point EPF Composer directly to your controlled | |
| source (e.g., to your snapshot from IBM Rational ClearCase or to your working | |
| directory from CVS). When you want to make a change in EPF Composer, you | |
| need to ensure that the files EPF Composer needs to modify are writable. | |
| This typically means checking out the files in your version control system. | |
| </p> | |
| <p style='text-align:justify'>When you first start EPF Composer, you are asked | |
| for the location of the method library. You should point EPF Composer to | |
| your library snapshot, that is, to the directory that contains the library.xmi | |
| file. </p> | |
| <p style='text-align:justify'><b>Pros:</b> This method is the simplest. There | |
| is no need to synchronize your workspace with your controlled source, as in | |
| Method 2 below. Another advantage to this method is that it enforces proper | |
| version control because you must obtain proper control over the files you | |
| need to modify before you make any changes.</p> | |
| <p style='text-align:justify'><b>Cons:</b> You may find it frustrating to | |
| need to continually check out files before you can make any changes. If you | |
| can check out all of the files in the plug-in you will be working in, you | |
| can minimize the files you need to check out before you can proceed with your | |
| work; however, you may not always be able to do this. Additionally, you cannot | |
| easily see the changes that are made to the files you update. Some errors | |
| can be easily caught by making such a comparison. For instance, if someone | |
| accidentally dragged/dropped an item from the library view into a rich text | |
| view, a link is created. If this was done inadvertently, the user may not | |
| have noticed the creation of the link. The comparison will point out the | |
| incorrect change.</p> | |
| <h2 style='text-align:justify;'><a | |
| name="_Toc128379027"></a><a name="_Toc121737933"></a><a name="_Toc124772802"></a><a | |
| name="_Toc124772837"></a><a name="_Toc124772804"></a><a name="_Toc124772839"></a>3.2<span | |
| style='font:7.0pt "Times New Roman"'> </span>Method 2: | |
| Work in a copy of your controlled source library</h2> | |
| <p style='text-align:justify'>You can make a copy of your controlled source | |
| from your version control system; make all of the files writable, and point | |
| EPF Composer to this copy for the Method Library. When you want to make a | |
| change, you still need to understand what files will be changed and obtain | |
| proper control over these files (e.g., check them out of your version control | |
| system) so that no one else will update them while you are updating them. | |
| Once youve made your changes, you can compare the controlled source with | |
| your copy to discover what files changed using a directory comparison tool | |
| such as Beyond Compare® from Scooter Software (<a | |
| href="http://www.scootersoftware.com/">www.scootersoftware.com</a>). Copy the | |
| files that changed over to your source control library and check these files | |
| into your version control system. </p> | |
| <p style='text-align:justify'>When you first start EPF Composer, you are asked | |
| for the location of the method library. You should point EPF Composer to | |
| your copy of your controlled source library, that is, to the directory that | |
| contains the library.xmi file. </p> | |
| <p style='text-align:justify'><b>Pros:</b> Since all of the files are writable, | |
| EPF Composer will allow any change. When you are just experimenting in your | |
| sandbox and do not intend to make your changes permanent, this can be quite | |
| useful. This method is also useful if you want to compare the changes you | |
| have made with the current source in your source library before checking in | |
| your changes.</p> | |
| <p style='text-align:justify'><b>Cons: </b>The disadvantage to this method | |
| is that there is more manual work involved in copying files back and forth | |
| to ensure that your copy of the source library is up-to-date. Theres also | |
| the tendency to forget to check out the files from your version control system | |
| before you make changes. This could lead to conflicts when you try to check | |
| these files back in because someone else may have modified them while you | |
| were making your changes. This is especially true for library.xmi or plugin.xmi.</p> | |
| <p style='text-align:justify'><b>Caution:</b> We offer this method as an alternative | |
| because there are times when it is useful. However, if you use this method | |
| to make changes to controlled source, <b>you must be very careful</b> to ensure | |
| that you check out the files you need and ensure that no one has changed them | |
| in your source library since you initially made your copy of these files.</p> | |
| <h1 style='text-align:justify'><a name="_Ref124216864"></a><a | |
| name="_Toc121737934"></a><a name="_Toc128379028"></a><a name="_Ref125593979"></a><a | |
| name="_Ref124249400"></a><a name="_Ref124216936"></a><a name="_Toc121737936">4.<span | |
| style='font:7.0pt "Times New Roman"'> | |
| </span>Extremely Important: Refresh EPF Composers Memory Cache</a></h1> | |
| <p style='text-align:justify'>When you open a method library in EPF Composer, | |
| some of the information contained in the source files is read into memory. | |
| If you update the files in your Method Library outside of EPF Composer, you | |
| risk losing those changes if you do not force EPF Composer to refresh its | |
| memory cache. When you update files from your version control system, those | |
| files are being changed outside of EPF Composer. </p> | |
| <p style='text-align:justify'><b>Rule: Whenever you update files from your | |
| version control system,</b> y<b>ou MUST refresh EPF Composers memory cache.</b> | |
| </p> | |
| <p style='text-align:justify'>You can refresh the memory cache by either:</p> | |
| <ul type=disc> | |
| <li style='text-align:justify;line-height:normal'>Shutting down EPF Composer | |
| and starting it again</li> | |
| <li style='text-align:justify;line-height:normal'>Reopening your method library | |
| in EPF Composer (File > Open > Method Library)</li> | |
| </ul> | |
| <p style='text-align:justify'>Here is a very common scenario that illustrates | |
| this problem.</p> | |
| <p style='text-align:justify;line-height:normal'>1.<span style='font:7.0pt "Times New Roman"'> | |
| </span>You start EPF Composer</p> | |
| <p style='text-align:justify;line-height:normal'>2.<span style='font:7.0pt "Times New Roman"'> | |
| </span>You realize that you want to make a change that will affect the plugin.xmi | |
| file</p> | |
| <p style='text-align:justify;line-height:normal'>3.<span style='font:7.0pt "Times New Roman"'> | |
| </span>You go to your version control system and discover that you do not | |
| have the latest version of plugin.xmi because another team member has updated | |
| it. </p> | |
| <p style='text-align:justify;line-height:normal'>4.<span style='font:7.0pt "Times New Roman"'> | |
| </span>You update plugin.xmi from the library and check it out.</p> | |
| <p style='text-align:justify;line-height:normal'><i><span style='color:black'>5.<span | |
| style='font:7.0pt "Times New Roman"'> </span></span></i>You | |
| go back to EPF Composer and make your change. <i><span style='color:black'>(Notice | |
| that since you left EPF Composer open, it has the old plugin.xmi in its memory | |
| cache.)</span></i></p> | |
| <p style='text-align:justify;line-height:normal'>6.<span style='font:7.0pt "Times New Roman"'> | |
| </span>You check back in all of the files involved in your change, including | |
| plugin.xmi.</p> | |
| <p style='text-align:justify;line-height:normal'>7.<span style='font:7.0pt "Times New Roman"'> | |
| </span><b><span style='color:black'>PROBLEM:</span></b> Since you did NOT | |
| refresh EPF Composers memory cache after you updated and checked out plugin.xmi, | |
| the plugin.xmi you have just checked into your version control system has | |
| lost the changes made by your teammate.</p> | |
| <p style='text-align:justify;line-height: | |
| normal'><span style='color:black'>If you encounter this problem, the safest way | |
| to recover is to back out your changes and redo them with the proper version | |
| of plugin.xmi in EPF Composers memory cache.</span></p> | |
| <p style='text-align:justify;line-height: | |
| normal'><span style='color:black'>NOTE: When you check out the files you need | |
| to modify, if you are uncertain whether any file changed, then it is best | |
| to be safe: shut down and restart EPF Composer before making your changes.</span></p> | |
| <h1 style='text-align:justify'><a name="_Toc128379029">5.<span | |
| style='font:7.0pt "Times New Roman"'> | |
| </span>Make Both Applications Think They Are in Control</a></h1> | |
| <p style='text-align:justify'>Both EPF Composer and your version control system | |
| need to be in control of the names of files and directories. Some changes | |
| that you make to the Method Library in EPF Composer will cause files to be | |
| renamed, deleted or moved, but your version control system will know nothing | |
| about these changes. You need to manually simulate the same change for your | |
| version control system. Changes that affect the names of files or directories, | |
| or that delete files or directories, must be performed in both EPF Composer | |
| and in your version control system.</p> | |
| <p style='text-align:justify'>The following instructions describe how to rename | |
| a method element using IBM Rational Clear Case. The procedure for other version | |
| control systems is similar. The procedure to rename a directory or to delete | |
| a file or directory is also similar. When new files are created, dont forget | |
| to put them under source code control, as usual.</p> | |
| <h2 style='text-align:justify;'><a | |
| name="_Toc128379030"></a><a name="_Toc121737935">5.1<span style='font:7.0pt "Times New Roman"'> | |
| </span>Rename a Method Element</a></h2> | |
| <p style='text-align:justify'>Renaming a method element not only changes the | |
| name of the elements file, but also causes a change to <i>plugin.xmi</i>.</p> | |
| <h3><a name="_Toc128379031">5.1.1<span style='font:7.0pt "Times New Roman"'> | |
| </span>For ClearCase Users</a></h3> | |
| <ol start=1 type=1> | |
| <li style='text-align:justify;line-height:normal'>Update your library to make | |
| sure you have the latest files.</li> | |
| <li style='text-align:justify;line-height:normal'>Use IBM Rational ClearCase | |
| to check out the content file and the <i>plugin.xmi</i> file. Put in a | |
| comment to say that you are doing a rename, in case someone needs to back | |
| out this change.</li> | |
| <li style='text-align:justify;line-height:normal'>Open EPF Composer and rename | |
| the method element. For example, rename the content element <i>oldname</i> | |
| to <i>newname</i>. EPF Composer actually renames the file <i>oldname.xmi</i> | |
| to <i>newname.xmi</i>.</li> | |
| </ol> | |
| <p style='text-align:justify'>At this point, IBM Rational ClearCase thinks you | |
| have <i>oldname.xmi</i> checked out, but that file is gone now. We need to | |
| do a rename in IBM Rational ClearCase, as well. We cannot do that while the | |
| file is checked out.</p> | |
| <ol start=4 type=1> | |
| <li style='text-align:justify;line-height:normal'>Using your file system, | |
| rename <i>newname.xmi</i> back to <i>oldname.xmi</i>.</li> | |
| <li style='text-align:justify;line-height:normal'>Check <i>oldname.xmi</i> | |
| back in.</li> | |
| <li style='text-align:justify;line-height:normal'>Use IBM Rational ClearCase | |
| to rename <i>oldname.xmi</i> to <i>newname.xmi.</i> At this point, the | |
| library is corrupt, because the old <i>plugin.xmi</i> is still referring | |
| to <i>oldname.xmi</i>.</li> | |
| <li style='text-align:justify;line-height:normal'>Check <i>plugin.xmi</i> | |
| back in. The library is no longer corrupt. </li> | |
| <li style='text-align:justify;line-height:normal'>The rename in IBM Rational | |
| ClearCase also causes a change to the version controlled DIRECTORY that | |
| contains the files, as well as a change to the file itself. Do a find | |
| checkouts on the library to make sure that the directory got checked in | |
| correctly. If the directory is still checked out, check it in. If it requires | |
| merging, just accept the automatic merge.</li> | |
| </ol> | |
| <h1 style='text-align:justify'><a name="_Toc128379032"></a><a | |
| name="_Ref124772881">6.<span style='font:7.0pt "Times New Roman"'> | |
| </span>Maintain Consistency of Method Library References</a></h1> | |
| <p style='text-align:justify'>Several files (library.xmi, plugin.xmi, and model.xmi) | |
| contain cross-reference information about other files. It is important to | |
| check in your files in a manner that preserves the validity of these cross-references. | |
| </p> | |
| <h2 style='text-align:justify;'><a | |
| name="_Toc128379033">6.1<span style='font:7.0pt "Times New Roman"'> | |
| </span>Checking in plugin.xmi or library.xmi</a></h2> | |
| <p style='text-align:justify'>The order in which you check in <i>plugin.xmi</i> | |
| and <i>library.xmi</i> depends upon the type of changes you were making. | |
| Since plugin.xmi and library.xmi contain references to other files or plug-ins | |
| (library.xmi), you will encounter errors opening EPF Composer if the files | |
| referenced by plugin.xmi or library.xmi are not present. To prevent this | |
| from occurring, you need to be careful about timing your check-ins of these | |
| two files.</p> | |
| <ul type=disc> | |
| <li style='text-align:justify'><b>New files created:</b> In this case, you | |
| should check in plugin.xmi and library.xmi after you have added the new | |
| content to source control. </li> | |
| <li style='text-align:justify'><b>Files deleted:</b> If you delete method | |
| content or a plug-in, then you should check in plugin.xmi and library.xmi | |
| first, prior to actually deleting the files from your version control system. | |
| </li> | |
| <li style='text-align:justify'><b>Other changes</b> <b>that also affect plugin.xmi | |
| or library.xmi: </b>It is probably best to check plugin.xmi or library.xmi | |
| into your version control system last, after checking in modifications made | |
| to the other files.</li> | |
| </ul> | |
| <h2 style='text-align:justify;'><a | |
| name="_Toc128379034">6.2<span style='font:7.0pt "Times New Roman"'> | |
| </span>Checking in model.xmi</a></h2> | |
| <p style='text-align:justify'>Similarly, model.xmi should be checked in first, | |
| if you delete elements from your processes, and last if you are adding new | |
| elements to your processes. See the previous section on checking in plugin.xmi | |
| or library.xmi for details.<a name="_Ref124749104"></a><a | |
| name="_Ref124248415"></a><a name="_Toc121737937"></a></p> | |
| <h1 style='text-align:justify'><a name="_Toc128379035">7.<span | |
| style='font:7.0pt "Times New Roman"'> | |
| </span>Some Ways to Minimize Shared File Conflicts</a></h1> | |
| <p style='text-align:justify'>It is recommended that you control access to the | |
| shared files (library.xmi and plugin.xmi) in order to minimize conflicts between | |
| these files that may be shared by many. You can do this by:</p> | |
| <ul type=disc> | |
| <li style='text-align:justify'>Establishing the overall content of the method | |
| library first (e.g., what plug-ins and what configurations will it include). | |
| Make these changes in EPF Composer to prime the library.xmi file. If you | |
| will have many individuals working on your library, you might want to develop | |
| your content in many separate plug-ins, so that you minimize the number | |
| of persons working on each plug-in. This will reduce the number of shared | |
| files that you need to contend with.</li> | |
| <li style='text-align:justify'>Establishing the method architecture up front | |
| (e.g., what method elements the plug-in will contain, their names, presentation | |
| names, brief descriptions, and relationships). Make these changes in EPF | |
| Composer to prime the plugin.xmi file.</li> | |
| <li style='text-align:justify'>Making many small, incremental changes, checking | |
| each change into your source library, rather than making many at one time | |
| before checking in the changes.</li> | |
| <li style='text-align:justify'>Checking out the files you need to change (see | |
| <i>Appendix A: Based on Your Actions, What Files Change?</i>), making your | |
| change, and then checking the files back in right away. (<b>Hint:</b> | |
| If you are not sure what files you need to check out, you can let EPF Composer | |
| tell you. With the files still read only, try to make your change in EPF | |
| Composer. EPF Composer will tell you what files need to be writable.)</li> | |
| </ul> | |
| <p style='text-align:justify'><b>Caution:</b> Remember, if you need to check | |
| out library.xmi or plugin.xmi to make your change, be sure you refresh EPF | |
| Composers memory cache if you did not already have the latest version of | |
| one of these files. (See <i>Extremely Important: Refresh EPF Composers | |
| Memory Cache</i>)</p> | |
| <h1 style='text-align:justify'><a name="_Toc128379036">8.<span | |
| style='font:7.0pt "Times New Roman"'> | |
| </span>For ClearCase Users</a></h1> | |
| <p style='text-align:justify'>If you are using IBM Rational ClearCase, remember | |
| that you must update your files before you check them out. This order is | |
| important because ClearCase does not update any files that you have checked | |
| out. So, if someone has made a change to a file after you obtained your snapshot | |
| of that file and you check out the file before updating it from your source | |
| library, then you will be making your changes to an old version of the file. | |
| ClearCase will not allow you to check your changed file back in. You will | |
| need to obtain a new version of the file and make your changes all over again.</p> | |
| <br clear=all | |
| style='page-break-before:always'> | |
| <h1 style='text-align:justify;'><a | |
| name="_Ref124773090"></a><a name="_Toc128379037"></a><a name="_Ref124957972">Appendix | |
| A: Based on Your Actions, What Files Change</a>?</h1> | |
| <p style='text-align:justify'>The following table shows examples of actions | |
| that may result in more than one file being updated or that could result in | |
| a change that requires special attention in your version control system, such | |
| as</p> | |
| <ul type=disc> | |
| <li style='text-align:justify;line-height:normal'>A filename change</li> | |
| <li style='text-align:justify;line-height:normal'>A filed moved from one directory | |
| to another</li> | |
| <li style='text-align:justify;line-height:normal'>A file deleted</li> | |
| <li style='text-align:justify;line-height:normal'>A file created</li> | |
| </ul> | |
| <p style='text-align:justify'><i>Note: This table shows common actions, it | |
| may not cover every action that needs special attention.</i></p> | |
| <table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0> | |
| <thead> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p><b>Action</b></p></td> | |
| <td width=196 valign=top class="Normal"> <p><b>What Changed</b></p></td> | |
| <td width=197 valign=top class="Normal"> <p><b>Comments</b></p></td> | |
| </tr> | |
| </thead> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Change the name of a method | |
| content element (task, role, work product, guidance, custom category, | |
| or standard category)</p> | |
| <p>Note: This includes contributing, extending, or replacing content | |
| elements.</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>The <method content>.xmi file name is changed</p> | |
| <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>plugin.xmi is changed</p></td> | |
| <td width=197 valign=top class="Normal"> <p>Name refers to the name field | |
| for the element in the EPF Composer editor. Be sure to rename the file | |
| in your version control system.</p></td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Change the name of a process | |
| element (capability pattern (CP) or delivery process (DP))</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>The directory name for your CP/DP is changed to match | |
| the new name.</p> | |
| <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>plugin.xmi is changed to reference the new directory name. | |
| </p></td> | |
| <td width=197 valign=top class="Normal"> <p><span style='color:black'>In | |
| your version control system, be sure to rename the directory before | |
| you check-in the updated plugin.xmi.</span></p></td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Change the Presentation Name | |
| of a method element or process</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>plugin.xmi is modified</p></td> | |
| <td width=197 valign=top class="Normal"> </td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Move a content element to another | |
| plug-in</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>File moves from one directory to another</p> | |
| <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>plugin.xmi for both plug-ins changes</p></td> | |
| <td width=197 valign=top class="Normal"> <p><span style='color:black'>In | |
| your version control system, be sure to move the file before you check-in | |
| the updated plugin.xmi files. </span></p></td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Create a new method content | |
| element (task, role, work product, guidance, custom categories, or standard | |
| category)</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>A new <method content>.xmi file is created</p> | |
| <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>plugin.xmi is changed</p></td> | |
| <td width=197 valign=top class="Normal"> <p><span style='color:black'>Need | |
| to place the new file under source code control. Be sure to place the | |
| new file under source code control BEFORE checking in plugin.xmi.</span></p></td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Delete a method content element | |
| (task, role, work product, guidance, custom categories, or standard | |
| category)</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>The <method content>.xmi file is deleted</p> | |
| <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>plugin.xmi is changed</p></td> | |
| <td width=197 valign=top class="Normal"> <p><span style='color:black'>Be | |
| sure to delete the file in your version control system.</span></p></td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Refine the descriptive text | |
| for a method element (all fields except the name, presentation name, | |
| or brief description)</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>The <method content>.xmi file is updated</p></td> | |
| <td width=197 valign=top class="Normal"> </td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Create a new plug-in</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>New directory is created</p> | |
| <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>New plugin.xmi is created in the new plug-in directory</p> | |
| <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>library.xmi is changed</p></td> | |
| <td width=197 valign=top class="Normal"> <p><span style='color:black'>Need | |
| to place new directory and new plugin.xmi file under source code control. | |
| Be sure to check in the new plugin.xmi BEFORE checking in library.xmi.</span></p> | |
| <p><span style='color:black'>Note: Y</span>ou might want to develop your | |
| content in many separate plug-ins, to minimize the number of persons | |
| working on each plug-in.<span style='color:black'> </span></p></td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Delete a plug-in</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>The entire directory for the plug-in is deleted</p> | |
| <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>library.xmi is changed</p></td> | |
| <td width=197 valign=top class="Normal"> <p><span style='color:black'>Be | |
| sure to perform the corresponding deletes in your version control system.</span></p></td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Rename a plug-in</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>The name of the plug-ins directory is changed</p> | |
| <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>library.xmi is changed</p></td> | |
| <td width=197 valign=top class="Normal"> <p><span style='color:black'>Be | |
| sure to rename the directory in your version control system.</span></p></td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Create a new capability pattern | |
| (CP) or delivery process (DP)</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>library.xmi is modified</p> | |
| <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>plugin.xmi is modified</p> | |
| <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>New directory and new model.xmi and content.xmi files | |
| are created for the new CP/DP</p></td> | |
| <td width=197 valign=top class="Normal"> <p><span style='color:black'>library.xmi | |
| is modified to update the configuration to include the new CP or DP. | |
| Plugin.xmi is updated to include a reference to the new CP or DP. | |
| Be sure to place the new file(s) under source code control BEFORE checking | |
| in library.xmi.</span></p> | |
| <p><span style='color:black'>Note: It is advisable to double-check that | |
| your new process has been selected in your configuration. If it is | |
| not, you will not see it in the Configuration View.</span></p></td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Delete a process (CP or DP)</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>library.xmi is modified</p> | |
| <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>plugin.xmi is modified</p> | |
| <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>The directory for the process and its contents are deleted</p></td> | |
| <td width=197 valign=top class="Normal"> <p><span style='color:black'>Be | |
| sure to delete the directory and its contents in your version control | |
| system.</span></p></td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Rename a process (CP or DP)</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>library.xmi is modified</p> | |
| <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>plugin.xmi is modified</p> | |
| <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>The directory for the process is renamed</p></td> | |
| <td width=197 valign=top class="Normal"> <p><span style='color:black'>Be | |
| sure to rename the directory in your version control system.</span></p></td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Create, rename, or delete content | |
| package or process package</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>plugin.xmi is modified</p> | |
| <p>Note: Content and process packages do not result in new directories | |
| being created in the file structure.</p></td> | |
| <td width=197 valign=top class="Normal"> <p><span style='color:black'>When | |
| you create a new package, you may want to select it in your configuration. | |
| This will cause library.xmi to be modified. </span></p></td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Create a new custom category</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>plugin.xmi is modified</p></td> | |
| <td width=197 valign=top class="Normal"> <p><span style='color:black'>You | |
| may notice a \customcategories directory in some of the plug-ins shipped | |
| with EPF Composer. Early versions of EPF Composer created a directory | |
| for each custom category.</span></p></td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Update the brief description | |
| for a method content element (task, role, work product, guidance, custom | |
| categories, standard category, or process (CP or DP))</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>plugin.xmi is modified</p></td> | |
| <td width=197 valign=top class="Normal"> </td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Assign a relationship to an | |
| element, such as adding guidance, tool mentors, input or output work | |
| product, responsible role, performing role, etc.</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>plugin.xmi is modified</p></td> | |
| <td width=197 valign=top class="Normal"> </td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Categorize an element by assigning | |
| it to a domain, work product kind, role set, or discipline)</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>plugin.xmi is modified</p></td> | |
| <td width=197 valign=top class="Normal"> </td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Assigning variability to an | |
| element by making it a contributor, extension, or replacement for another | |
| element</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>plugin.xmi is modified</p></td> | |
| <td width=197 valign=top class="Normal"> </td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Assigning a shape or node icon</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>plugin.xmi is modified</p></td> | |
| <td width=197 valign=top class="Normal"> </td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Add or change descriptive text | |
| for a process (not the brief description)</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>content.xmi is modified</p></td> | |
| <td width=197 valign=top class="Normal"> </td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Update the brief description | |
| an activity in a process (CP or DP) </p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>model.xmi is modified</p></td> | |
| <td width=197 valign=top class="Normal"> </td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Modify or create a diagram for | |
| a process</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>model.xmi is modified</p></td> | |
| <td width=197 valign=top class="Normal"> </td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Update the name or presentation | |
| name of an activity</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>model.xmi is modified</p></td> | |
| <td width=197 valign=top class="Normal"> </td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Update the attributes for a | |
| process activity (ongoing, repeatable, etc) </p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>model.xmi is modified</p></td> | |
| <td width=197 valign=top class="Normal"> </td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Set or update the entry or exit | |
| state of a work product</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>model.xmi is modified</p></td> | |
| <td width=197 valign=top class="Normal"> </td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Set or update activity relationships | |
| (predecessors, extend, copy)</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>model.xmi is modified</p></td> | |
| <td width=197 valign=top class="Normal"> </td> | |
| </tr> | |
| <tr> | |
| <td width=198 valign=top class="Normal"> <p>Create, delete, or modify a | |
| configuration</p></td> | |
| <td width=196 valign=top class="Normal"> <p style='line-height: | |
| normal'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> | |
| </span></span>library.xmi is modified</p></td> | |
| <td width=197 valign=top class="Normal"> </td> | |
| </tr> | |
| </table> | |
| <br clear=all | |
| style='page-break-before:always'> | |
| <h1 style='text-align:justify;'><a | |
| name="_Ref124741993"></a><a name="_Toc124662184"></a><a name="_Toc128379038"></a><a | |
| name="_Ref124958016">Appendix B: For each EPF Composer File, What Changes Affect | |
| the File?</a></h1> | |
| <p style='text-align:justify'>This section describes what changes affect what | |
| EPF Composer file.</p> | |
| <p style='text-align:justify'>The following table lists the .xmi files created | |
| and managed by EPF Composer. For each file, we describe what types of changes | |
| affect those files:</p> | |
| <table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0> | |
| <thead> | |
| <tr> | |
| <td width=193 valign=top class="Normal"> <p style='text-align:justify'><b>EPF | |
| Composer File</b></p></td> | |
| <td width=445 valign=top class="Normal"> <p style='text-align:justify'><b>Changes | |
| that Affect the File</b></p></td> | |
| </tr> | |
| </thead> | |
| <tr> | |
| <td width=193 valign=top class="Normal"> <p>library.xmi</p></td> | |
| <td width=445 valign=top class="Normal"> <ul type=disc> | |
| <li>Creating/deleting/renaming a plug-in</li> | |
| <li>Creating/deleting/renaming a process (a capability pattern or a | |
| delivery process)</li> | |
| <li>Changing a configuration</li> | |
| </ul></td> | |
| </tr> | |
| <tr> | |
| <td width=193 valign=top class="Normal"> <p>plugin.xmi (one for each plug-in)</p></td> | |
| <td width=445 valign=top class="Normal"> <ul type=disc> | |
| <li>Creating/deleting method elements (method content or processes)</li> | |
| <li>Creating/refining method element brief descriptions (method content | |
| or processes)</li> | |
| <li>Creating/refining method element names (name or presentation name)</li> | |
| <li>Creating/refining method content variability (contribute, extend, | |
| replace)</li> | |
| <li>Creating/refining relationships (guidance, inputs work products, | |
| output work products, roles) </li> | |
| <li>Creating/refining categorizations (domain, work product kind, role | |
| set, discipline)</li> | |
| <li>Creating/refining method content categories (custom or standard)</li> | |
| <li>Creating/refining method packages (method content or process packages)</li> | |
| <li>Assigning a shape or node icon</li> | |
| <li>A new plugin.xmi file is created when a new plug-in is created</li> | |
| </ul></td> | |
| </tr> | |
| <tr> | |
| <td width=193 valign=top class="Normal"> <p><method content name>.xmi | |
| (one for each method content element)</p></td> | |
| <td width=445 valign=top class="Normal"> <ul type=disc> | |
| <li>Refining the descriptive text for the method content element (all | |
| fields except the name, presentation name and brief description).</li> | |
| <li>Changing the name of a method content element will cause the name | |
| of this file to change.</li> | |
| </ul></td> | |
| </tr> | |
| <tr> | |
| <td width=193 valign=top class="Normal"> <p><process name>\model.xmi | |
| </p> | |
| <p>(one for each process)</p></td> | |
| <td width=445 valign=top class="Normal"> <ul type=disc> | |
| <li>Creating/refining activities</li> | |
| <li>Creating/refining activity brief descriptions</li> | |
| <li>Creating/refining activity names (name and presentation name)</li> | |
| <li>Creating/refining activity relationships (predecessor, extend, copy)</li> | |
| <li>Creating/refining process diagrams</li> | |
| <li>Refining the activity attributes (found on the General properties | |
| tab), such as repeatable, ongoing, etc. or predecessor relationships</li> | |
| <li>Creating/refining the entry or exit state of a work product</li> | |
| </ul></td> | |
| </tr> | |
| <tr> | |
| <td width=193 valign=top class="Normal"> <p><process name>\content.xmi | |
| (one for each process)</p></td> | |
| <td width=445 valign=top class="Normal"> <ul type=disc> | |
| <li>Refining textual content of method descriptors (tasks, roles, work | |
| products). This includes all of the descriptive text, except the | |
| presentation names and brief descriptions</li> | |
| </ul></td> | |
| </tr> | |
| </table> | |
| <p style='text-align:justify'>Made available under the EPL v1.0.</p> | |
| </div> | |
| </body> | |
| </html> |