On Sat, May 14, 2011 at 3:22 PM, Bob Tarling <[email protected]> wrote: > 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?
It shouldn't be that hard to figure out whether a file is a UML 1.4 or UML 2.x file. Asking the user before opening should be an absolute last resort (and unnecessary). An implication of supporting both is that there's no such thing as "UML2 mode" for the application as a whole. The model subsystem is associated with the project, not the app. > 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. Using a static global instance of the model subsystem is a nasty design pattern that needs to be fixed regardless, so deferring work doesn't make it go away. The same basic changes are needed to support things like multiple open projects. At some point the "technical debt" which has accumulated over so many years needs to be paid down. If it's not, a greater and greater percentage of the invested effort will go into working around the kludges rather than actually implementing features useful to users. Tom ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=2738269 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]]
