If you want to change the connector colour dynamically based on a tagged value or property, you can use a shape script like this...
/* This script is used to show whether an interface
between systems is either current (green) or future
(yellow) based on the tag value. The source and
target shapes are used to draw the arrowheads
depending on the direction of the dependency.
The main shape draws the dashed line connecting
the elements */
/*
shape source
{
if(HasProperty("Direction", "Destination -> Source"))
{
if(HasTag("Future interface","true"))
{
setpen(0,255,0,0);
setfillcolor(0,255,0);
}
else
{
setpen(255,51,0,0);
setfillcolor(255,51,0);
}
polygon(10,0,3,10, 180);
}
else
{
if(HasProperty("Direction", "Bi-Directional"))
{
if(HasTag("Future interface","true"))
{
setpen(0,255,0,0);
setfillcolor(0,255,0);
}
else
{
setpen(255,51,0,0);
setfillcolor(255,51,0);
}
polygon(10,0,3,10, 180);
}
}
}
shape target
{
if(HasProperty("Direction", "Source -> Destination"))
{
if(HasTag("Future interface","true"))
{
setpen(0,255,0,0);
setfillcolor(0,255,0);
}
else
{
setpen(255,51,0,0);
setfillcolor(255,51,0);
}
polygon(10,0,3,10, 180);
}
else
{
if(HasProperty("Direction", "Bi-Directional"))
{
if(HasTag("Future interface","true"))
{
setpen(0,255,0,0);
setfillcolor(0,255,0);
}
else
{
setpen(255,51,0,0);
setfillcolor(255,51,0);
}
polygon(10,0,3,10, 180);
}
}
}
shape main
{
layouttype="border";
noshadow="true";
setlinestyle("solid");
if(HasTag("Future interface","true"))
{
setpen(0,255,0,1);
}
else
{
setpen(255,51,0,1);
}
lineto(100,0);
}
*/
/* Just annotate whether the interface
is currently implemented or a future one via
adorning with the status */
shape main
{
h_align = "center";
v_align = "center";
if(HasTag("Future interface","true"))
Print("[future]");
else
Print("[current]");
}