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]]

Reply via email to