1
Suggestions and Requests / Version Control
« on: September 18, 2003, 07:46:27 am »
EA 3.60 Version Control Improvement Requests
Present Situation
We are currently developing a software system in which many developers are involved and therefore we have a strong need to version control the EA UML models that will allow many developers to change the overall model at the same time.
The policy that we have adopted, as suggested in your user guide, is to partition the model into logical packages which are configured as ‘Control Package’ and saved into xml files. These xml files are kept under version control (actual version control tool is irrelevant.)
If a developer needs to change a package, he performs a reserved check out before he can start working on the package. After some changes have been done to it and the package is required to be revision controlled, he saves it to file and commits the file to revision control. This is great, just what we want.
We do not want to use CSS for version control.
We use the following EA 3.60 features to achieve the above.
· Package control
· Save of controlled packages into xml files
· Batch Import of xml files
Although these features are all desirable, they do not go far enough to make package control easy for a development team.
Problems
1. After changing a control package and saving it to file, we end up with the situation that the information contained in its xml file is consistent with those in the xml files of the parent control packages.
We do not want developers to be updating all the xml files up the package hierarchy to make all them consistent. This is time wasting, but most importantly, the merging of parent packages would be very difficult when some other developer wants to save a sibling package of a previously updated package. Checking out an entire control package hierarchy is out of the question.
2. Although it is possible to live with inconsistent xml files of a control package hierarchy, the batch xml importing way of working, however, does not help in overcoming this problem. Since the batch xml import displays and loads the control package xml files alphabetically, potentially, the information in a parent package could prevail over the information of a control sub-package, depending on the order and times in which they are loaded, leading to a model being displayed with missing information.
Change Requests
We are requesting the following improvements.
1. When configuring a control package, we would like to be given the option of whether the content of all its control sub-packages should be saved to file or not when the package is saved.
Therefore, when saving a control package to file and the package has been not configured to save the content of all its control sub-packages to file, the generated xml file should only have references to the control sub-packages and nothing about their content. Of course all information about the content of the control sub-packages will be in their own corresponding xml files and therefore no information is lost.
Note that if not under package control, the content of a sub-package should always be saved to file.
2. When Batch importing XMI files, it is highly desirable that the packages are displayed, as well as the actual import of the xml files themselves, in a hierarchical top-down manner rather than alphabetically. This will not only allow a developer to select a particular leaf of a package hierarchy very easy, but it will also solve the package xml file content inconsistency problem.
3. When using Batch importing XMI files, it would be also desirable to be given the option for the tool to follow dynamically the references of all control sub-packages and their control sub-packages and display them hierarchically so that all xml files could be imported with one single invocation. If this option is not available, the loading of an entire model will require many iterative invocations of batch xml imports. The number of invocations will depend on the number of levels in the control package hierarchy.
Present Situation
We are currently developing a software system in which many developers are involved and therefore we have a strong need to version control the EA UML models that will allow many developers to change the overall model at the same time.
The policy that we have adopted, as suggested in your user guide, is to partition the model into logical packages which are configured as ‘Control Package’ and saved into xml files. These xml files are kept under version control (actual version control tool is irrelevant.)
If a developer needs to change a package, he performs a reserved check out before he can start working on the package. After some changes have been done to it and the package is required to be revision controlled, he saves it to file and commits the file to revision control. This is great, just what we want.
We do not want to use CSS for version control.
We use the following EA 3.60 features to achieve the above.
· Package control
· Save of controlled packages into xml files
· Batch Import of xml files
Although these features are all desirable, they do not go far enough to make package control easy for a development team.
Problems
1. After changing a control package and saving it to file, we end up with the situation that the information contained in its xml file is consistent with those in the xml files of the parent control packages.
We do not want developers to be updating all the xml files up the package hierarchy to make all them consistent. This is time wasting, but most importantly, the merging of parent packages would be very difficult when some other developer wants to save a sibling package of a previously updated package. Checking out an entire control package hierarchy is out of the question.
2. Although it is possible to live with inconsistent xml files of a control package hierarchy, the batch xml importing way of working, however, does not help in overcoming this problem. Since the batch xml import displays and loads the control package xml files alphabetically, potentially, the information in a parent package could prevail over the information of a control sub-package, depending on the order and times in which they are loaded, leading to a model being displayed with missing information.
Change Requests
We are requesting the following improvements.
1. When configuring a control package, we would like to be given the option of whether the content of all its control sub-packages should be saved to file or not when the package is saved.
Therefore, when saving a control package to file and the package has been not configured to save the content of all its control sub-packages to file, the generated xml file should only have references to the control sub-packages and nothing about their content. Of course all information about the content of the control sub-packages will be in their own corresponding xml files and therefore no information is lost.
Note that if not under package control, the content of a sub-package should always be saved to file.
2. When Batch importing XMI files, it is highly desirable that the packages are displayed, as well as the actual import of the xml files themselves, in a hierarchical top-down manner rather than alphabetically. This will not only allow a developer to select a particular leaf of a package hierarchy very easy, but it will also solve the package xml file content inconsistency problem.
3. When using Batch importing XMI files, it would be also desirable to be given the option for the tool to follow dynamically the references of all control sub-packages and their control sub-packages and display them hierarchically so that all xml files could be imported with one single invocation. If this option is not available, the loading of an entire model will require many iterative invocations of batch xml imports. The number of invocations will depend on the number of levels in the control package hierarchy.