I'd hope that when we first go live with UML2 that we will no longer be expecting the user to select the mode of startup for ArgoUML in advance.
I'd hope it would be possible to load either UML1.4 or UML2 without a restart. I'm interested in any thought of how we might achieve this. At ArgoUML startup we need to default to UML2 for any new projects but if someone then attempts to load a UML1.4 we want to load it seemlessly with no mode changes. If we are in UML2 mode then how do we determine that the user is trying to load a UML1.4 file? Option A) Give the user checkbox on the open file dialog to specify that this is UML1.4 Option B) Load the file first assuming it is UML2 and if it fails then retry in UML1.4 mode. Option C) Keep .zargo .uml for UML 1.4 only. For UML2 save files use the extensions .zargo2, .uml2. When reloading a file ArgoUML will know as soon as the file has been chosen what mode to load it in. Option D) Keep .zargo .uml for UML 1.4 only. For UML2 save files in a project folder structure. There may be some benefits in using a project directory structure to save a project in the same way that Papyrus does. A folder represents the project and individual files are stored in the folder instead of within a zip file. This has the benefit that we won't get problems with corrupted zip file when running out of memory during save. On top of this we may well have a lot of tedious work to change the pattern through our code of Model.getInterface().doSomething(). If different projects can be using different model implementations then we can't just go through Model all the time. Creating a project should have a reference to the model implementation passed to it and then that reference should be used by anything relating to that project. However myProject.getModel().getInterface().doSomething() will be even more tedious than what we currently have. We could probably provide helpers in the Project interface and so allow myProject().getInterface().doSomething() Having just typed all the above I think of the obvious alternative. We could insist UML1.4 users stick to an older version of ArgoUML once we have gone to UML2. It will certainly save a lot of effort with all the above (although doesn't necessarily discount doing some of it anyway). We may have to do a few defect releases of the UML1.4 version but most effort can then go into UML2. What are your thoughts to any of the above? Bob ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=2736546 To unsubscribe from this discussion, e-mail: [[email protected]]. To be allowed to post to the list contact the mailing list moderator, email: [[email protected]]
