| <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";} |
| .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:12.0pt'>Version |
| <1.0></span></p> |
| |
| <p></p><br> |
| |
| <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="#_Toc128301463">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="#_Toc128301464">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="#_Toc128301465">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="#_Toc128301466">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="#_Toc128301467">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="#_Toc128301468">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="#_Toc128301469">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="#_Toc128301470">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="#_Toc128301471">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="#_Toc128301472">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="#_Toc128301473">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="#_Toc128301474">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="#_Toc128301475">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="#_Toc128301476">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="#_Toc128301477">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="#_Toc128301478">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="#_Toc128301479">5.<span style='font-size:12.0pt;color:windowtext; |
| text-decoration:none'> </span>Keep Both Applications Happy<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="#_Toc128301480">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=MsoToc1><span class=MsoHyperlink><span style='color:blue'><a |
| href="#_Toc128301481">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="#_Toc128301482">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="#_Toc128301483">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="#_Toc128301484">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="#_Toc128301485">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="#_Toc128301486">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="#_Toc128301487">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="_Toc128301463">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="_Toc128301464">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="_Toc128301465">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="_Toc128301466">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="_Toc128301467">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="_Toc128301468">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="_Toc128301469"></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="_Toc128301470">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="_Toc128301471">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="_Toc128301472">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="_Toc128301473">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="_Toc128301474">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="_Toc128301475"></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="_Toc128301476"></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="_Toc128301477"></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="_Toc128301478"></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="_Toc128301479">5.<span |
| style='font:7.0pt "Times New Roman"'> |
| </span>Keep Both Applications Happy</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="_Toc128301480"></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> |
| <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="_Toc128301481"></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="_Toc128301482">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="_Toc128301483">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="_Toc128301484">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="_Toc128301485">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="_Toc128301486"></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=197 valign=top class="Normal"> <p style='text-align:justify'><b>Action</b></p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'><b>What |
| Changed</b></p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'><b>Comments</b></p></td> |
| </tr> |
| </thead> |
| <tr> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>Change |
| the name of a method content element (task, role, work product, guidance, |
| custom category, or standard category)</p> |
| <p style='text-align:justify'>Note: This includes contributing, extending, |
| or replacing content elements.</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify;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='text-align:justify;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 style='text-align:justify'>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=197 valign=top class="Normal"> <p style='text-align:justify'>Change |
| the name of a process element (capability pattern (CP) or delivery process |
| (DP))</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify;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='text-align:justify;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 style='text-align:justify'><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=197 valign=top class="Normal"> <p style='text-align:justify'>Change |
| the Presentation Name of a method element or process</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify;line-height:normal'>plugin.xmi |
| is modified</p></td> |
| <td width=197 valign=top class="Normal"> </td> |
| </tr> |
| <tr> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>Move |
| a content element to another plug-in</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify;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='text-align:justify;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 style='text-align:justify'><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=197 valign=top class="Normal"> <p style='text-align:justify'>Create |
| a new method content element (task, role, work product, guidance, custom |
| categories, or standard category)</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify;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='text-align:justify;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 style='text-align:justify'><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=197 valign=top class="Normal"> <p style='text-align:justify'>Delete |
| a method content element (task, role, work product, guidance, custom |
| categories, or standard category)</p></td> |
| <td width=197 valign=top class="Normal"> <p class=InfoBlue0 style='text-align:justify;'><span style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> |
| </span></span>The <method content>.xmi file is deleted</p> |
| <p class=InfoBlue0 style='text-align:justify;'><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 style='text-align:justify'><span style='color:black'>Be |
| sure to delete the file in your version control system.</span></p></td> |
| </tr> |
| <tr> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>Refine |
| the descriptive text for a method element (all fields except the name, |
| presentation name, or brief description)</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify;line-height:normal'>The |
| <method content>.xmi file is updated</p></td> |
| <td width=197 valign=top class="Normal"> </td> |
| </tr> |
| <tr> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>Create |
| a new plug-in</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify;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='text-align:justify;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='text-align:justify;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 style='text-align:justify'><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 style='text-align:justify'><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=197 valign=top class="Normal"> <p style='text-align:justify'>Delete |
| a plug-in</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify;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='text-align:justify;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 style='text-align:justify'><span style='color:black'>Be |
| sure to perform the corresponding deletes in your version control system.</span></p></td> |
| </tr> |
| <tr> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>Rename |
| a plug-in</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify;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='text-align:justify;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 style='text-align:justify'><span style='color:black'>Be |
| sure to rename the directory in your version control system.</span></p></td> |
| </tr> |
| <tr> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>Create |
| a new capability pattern (CP) or delivery process (DP)</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify;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='text-align:justify;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='text-align:justify;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 style='text-align:justify'><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 style='text-align:justify'><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=197 valign=top class="Normal"> <p style='text-align:justify'>Delete |
| a process (CP or DP)</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify;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='text-align:justify;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='text-align:justify;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 style='text-align:justify'><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=197 valign=top class="Normal"> <p style='text-align:justify'>Rename |
| a process (CP or DP)</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify;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='text-align:justify;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='text-align:justify;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 style='text-align:justify'><span style='color:black'>Be |
| sure to rename the directory in your version control system.</span></p></td> |
| </tr> |
| <tr> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>Create, |
| rename, or delete content package or process package</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify;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='text-align:justify'>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 style='text-align:justify'><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=197 valign=top class="Normal"> <p style='text-align:justify'>Create |
| a new custom category</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify;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 style='text-align:justify'><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=197 valign=top class="Normal"> <p style='text-align:justify'>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=197 valign=top class="Normal"> <p style='text-align:justify'>plugin.xmi |
| is modified</p></td> |
| <td width=197 valign=top class="Normal"> </td> |
| </tr> |
| <tr> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>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=197 valign=top class="Normal"> <p style='text-align:justify'>plugin.xmi |
| is modified</p></td> |
| <td width=197 valign=top class="Normal"> </td> |
| </tr> |
| <tr> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>Categorize |
| an element by assigning it to a domain, work product kind, role set, |
| or discipline)</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>plugin.xmi |
| is modified</p></td> |
| <td width=197 valign=top class="Normal"> </td> |
| </tr> |
| <tr> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>Assigning |
| variability to an element by making it a contributor, extension, or |
| replacement for another element</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>plugin.xmi |
| is modified</p></td> |
| <td width=197 valign=top class="Normal"> </td> |
| </tr> |
| <tr> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>Assigning |
| a shape or node icon</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>plugin.xmi |
| is modified</p></td> |
| <td width=197 valign=top class="Normal"> </td> |
| </tr> |
| <tr> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>Add |
| or change descriptive text for a process (not the brief description)</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>content.xmi |
| is modified</p></td> |
| <td width=197 valign=top class="Normal"> </td> |
| </tr> |
| <tr> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>Update |
| the brief description an activity in a process (CP or DP) </p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>model.xmi |
| is modified</p></td> |
| <td width=197 valign=top class="Normal"> </td> |
| </tr> |
| <tr> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>Modify |
| or create a diagram for a process</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>model.xmi |
| is modified</p></td> |
| <td width=197 valign=top class="Normal"> </td> |
| </tr> |
| <tr> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>Update |
| the name or presentation name of an activity</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>model.xmi |
| is modified</p></td> |
| <td width=197 valign=top class="Normal"> </td> |
| </tr> |
| <tr> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>Update |
| the attributes for a process activity (ongoing, repeatable, etc) </p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>model.xmi |
| is modified</p></td> |
| <td width=197 valign=top class="Normal"> </td> |
| </tr> |
| <tr> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>Set |
| or update the entry or exit state of a work product</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>model.xmi |
| is modified</p></td> |
| <td width=197 valign=top class="Normal"> </td> |
| </tr> |
| <tr> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>Set |
| or update activity relationships (predecessors, extend, copy)</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>model.xmi |
| is modified</p></td> |
| <td width=197 valign=top class="Normal"> </td> |
| </tr> |
| <tr> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>Create, |
| delete, or modify a configuration</p></td> |
| <td width=197 valign=top class="Normal"> <p style='text-align:justify'>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="_Toc128301487"></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 style='text-align:justify'>library.xmi</p></td> |
| <td width=445 valign=top class="Normal"> <ul type=disc> |
| <li style=' |
| text-align:justify'>Creating/deleting/renaming a plug-in</li> |
| <li style=' |
| text-align:justify'>Creating/deleting/renaming a process (a capability |
| pattern or a delivery process)</li> |
| <li style=' |
| text-align:justify'>Changing a configuration</li> |
| </ul></td> |
| </tr> |
| <tr> |
| <td width=193 valign=top class="Normal"> <p style='text-align:justify'>plugin.xmi |
| (one for each plug-in)</p></td> |
| <td width=445 valign=top class="Normal"> <ul type=disc> |
| <li style=' |
| text-align:justify'>Creating/deleting method elements (method content or |
| processes)</li> |
| <li style=' |
| text-align:justify'>Creating/refining method element brief descriptions |
| (method content or processes)</li> |
| <li style=' |
| text-align:justify'>Creating/refining method element names (name or presentation |
| name)</li> |
| <li style=' |
| text-align:justify'>Creating/refining method content variability (contribute, |
| extend, replace)</li> |
| <li style=' |
| text-align:justify'>Creating/refining relationships (guidance, inputs work |
| products, output work products, roles) </li> |
| <li style='text-align:justify'>Creating/refining categorizations (domain, |
| work product kind, role set, discipline)</li> |
| <li style=' |
| text-align:justify'>Creating/refining method content categories (custom |
| or standard)</li> |
| <li style='text-align:justify'>Creating/refining method packages (method |
| content or process packages)</li> |
| <li style='text-align:justify'>Assigning a shape or node icon</li> |
| <li style='text-align:justify'>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 style='text-align:justify'><method |
| content name>.xmi (one for each method content element)</p></td> |
| <td width=445 valign=top class="Normal"> <ul type=disc> |
| <li style=' |
| text-align:justify'>Refining the descriptive text for the method content |
| element (all fields except the name, presentation name and brief description).</li> |
| <li style=' |
| text-align:justify'>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 style='text-align:justify'><process |
| name>\model.xmi </p> |
| <p style='text-align:justify'>(one for each process)</p></td> |
| <td width=445 valign=top class="Normal"> <ul type=disc> |
| <li style=' |
| text-align:justify'>Creating/refining activities</li> |
| <li style='text-align:justify'>Creating/refining activity brief descriptions</li> |
| <li style='text-align:justify'>Creating/refining activity names (name |
| and presentation name)</li> |
| <li style='text-align:justify'>Creating/refining activity relationships |
| (predecessor, extend, copy)</li> |
| <li style='text-align:justify'>Creating/refining process diagrams</li> |
| <li style='text-align:justify'>Refining the activity attributes (found |
| on the General properties tab), such as repeatable, ongoing, etc. |
| or predecessor relationships</li> |
| <li style='text-align:justify'>Creating/refining the entry or exit state |
| of a work product</li> |
| </ul></td> |
| </tr> |
| <tr> |
| <td width=193 valign=top class="Normal"> <p style='text-align:justify'><process |
| name>\content.xmi (one for each process)</p></td> |
| <td width=445 valign=top class="Normal"> <ul type=disc> |
| <li style=' |
| text-align:justify'>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></p> |
| <p class=MsoTitle style='text-align:justify'><span style='font-size:10.0pt'>Made available under the EPL v1.0</span></p> |
| </div> |
| </body> |
| </html> |