Diagramming Tool (Sequel)

Topics: Developer Forum
Coordinator
Jul 4, 2006 at 2:02 PM
Hi everybody,
The guy at mindfusion asked me the following.
What should I answer?

Bernardo Heynemann

--------------------------------
Hello Bernardo,

How will the flowchart be related to the components in
CodePlex.Vertigo.Controls.dll ? Will it be placed in a form or a user
control, so the flowchart can check if

this.Parent.GetType().Assembly == CodePlex.Vertigo.Controls.dll

or there will be inherited control so we test for

this.GetType().Assembly == CodePlex.Vertigo.Controls.dll.

We can just add both checks if you don't know yet. Please also let us know
if you need support for more assemblies, e.g. a unit-testing dll.


Regards,
Iva
MindFusion
----------------------------------
Developer
Jul 4, 2006 at 3:42 PM
I'm thinking we have should have both for flexibility. I'm guessing we'll be hosting it rather than deriving it, but I can see a path where we want the control to be a tad bit smater about the domain.

See if they're ok with it just starting with CodePlex.Vertigo instead of locking it to the exact dll name. It does open a small path for misuse, but on the other hand, we can delete this post series later on and it could be very hard to figure out what it's doing.
Coordinator
Jul 4, 2006 at 4:27 PM
I don´t think they would do that because by doing that they are trusting in the Vertigo Team not to misuse the component.

I think their proposal is ok. Bind to both assemblies, so we can do both.

Anyway, they said that if later we need to change that behavior they are willing to continue supporting us.

Bernardo Heynemann
Developer
Jul 6, 2006 at 3:19 AM
So long as they don't lock us in, we're in great shape. The only other case I'd want to ask about is for later ASP.NET usage - I'd love to see a source tree and version tree web-part pair in sharepoint :)
Coordinator
Jul 10, 2006 at 3:25 PM
The guy at mindfusion sent me another question:

---------------------------------------
Hi Bernardo,

Before we build the dlls for you, could you please check whether the
following method works correctly when the vertigo.dll is passed as its
argument:

private bool isVertigoAssembly(Assembly assembly)
{
if (assembly.FullName.IndexOf("CodePlex.Vertigo.Controls") == -1)
return false;

byte[] vertigoKeyToken = new byte[] {
0x79, 0xfe, 0x4b, 0x0c, 0xb1, 0x27, 0x44, 0xb2 };
byte[] assemblyKeyToken = assembly.GetName().GetPublicKeyToken();

if (BitConverter.ToString(vertigoKeyToken) !=
BitConverter.ToString(assemblyKeyToken))
return false;

return true;
}

If you have some time, please also check whether the method below will work
correctly when used in a control referenced from the vertigo dll assembly.

private bool loadedFromVertigoAssembly()
{
Assembly inheritingAssembly = this.GetType().Assembly;
if (isVertigoAssembly(inheritingAssembly))
return true;

if (Parent != null)
{
Assembly containingAssembly = Parent.GetType().Assembly;
if (isVertigoAssembly(containingAssembly))
return true;
}

return false;
}

Thanks,

Iva
---------------------------------------
Coordinator
Jul 10, 2006 at 3:44 PM
I will create a test for this later today EDT.
Coordinator
Jul 10, 2006 at 3:46 PM
This discussion has been copied to Work Item 859. You may wish to continue further discussion there.