[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: thanks for tedia2sql



> > I've submitted two patches to the maintainers and, as far as I'm
> > aware, the first was accepted but the second, which I feel is
> > technically superior & which replaces the first patch, has not.
> 
> Dammit, now you forced me to think:)  I knew there was a reason I didn't
> apply the patch, but I thought it was just the ugliness of having to
> recompile to get more CPs.  This morning I realized that the real
> problem is that the diagrams become incompatible.  Two people with
> different # of CPs compiled in couldn't read each others diagrams.  And
> the feature is useless for people who don't compile their Dia.

Aha! But the exact reason I feel the second patch is technically superior
is because it solves just these two issues.

The second patch leaves the first 8 (really 6) connection points in their
original positions, ie 0,1,2 are top left, top middle, and top right,
5,6,7 are bottom same. Of course, 3&4 get obliterated anyway by the
variable number of connection points on the right & left.

Now, All the other points beyond 8 are added in a round-robin fashion, so
that if you have 12 points rather than 8, number 8 gets put between 0&1,
9 between 1&2, etc.

If you further increase the points, they continue to get round-robin
added. So now 12 gets put beside 8, 13 beside 9, etc.

Therefore, the second patch I gave you will do (as far as I've been able
to reason) the most reasonable job of making sure associations are still
connected as close to the original place as possible, given your Dia has
*MORE* connection points than the originating diagram.

If your Dia has *LESS* connection points, there's still the highest
probability that they'll end up in the right spots, given the connection
point even exists.

We already have a problem with associations getting disconnected if you
delete attributes.

No matter what, I think it would be safe (using my second,
"technically-superior" patch) to move Dia from an 8-point standard to
a (say) 20-point standard, then in the future, from 20 to >20 standard is
also easy. All old diagrams will work if we add 12 (ie: newConnPointsNum -
8) to all connection points >7 to catch associations that were connected
at the sides. Connection points on top/bottom are just left as-is.

It would definitely be hard to later on *SUBTRACT* the number of
connection points in the standard Dia, but I don't see a lot of desire
for that in the user community.

> The right way to solve this would be to up the version number for the
> UML class save format,

Is there a version number stored in the file...? Oh. I'll go look again. I
couldn't find one... and I really wanted it.

> and allow a variable number of CPs there.  Then
> the UML class object menu can allow adding & removing connection points.

It seems removing connection points is always problematic. I can think of
no algorithm that would handle it right, and certainly, when we delete
attributes currently, it becomes obvious no-one else can think of one
either.

It's the reason I'm resistant to a "variable number of connpoints"
algorithm. Every time I shorten an attribute name, or delete the "Value"
column of one, thus narrowing the Class box width, all my associations
would go kaplooey in a nasty fashion.

-- 
Tim Ellis
Senior Database Architect
Gamet, Inc.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] Mail converted by Mofo Magic and the Flying D

 
All trademarks and copyrights are the property of their respective owners.

Other Directory Sites: SeekWonder | Directory Owners Forum

GuideSMACK