At
work, a
coworker of mine spent a VERY long time building exstensive
network graphs using
Microsoft Visio. These graphs were great and I was tasked with putting them on my
Linux/
Apache webserver. This is a very simple process I've done before with
Visio drawings (before Microsoft purchased Visio): I create a
directory and
scp the
files to the webserver. However, this time there were some
serious problems. Not all features work under
Netscape and
no images showed up! So I'm presented with the following
information:
a.) Microsoft Visio only works properly with IE (creates two sets of html files, one for netscape and one for IE that uses proprietary vml image encoding)
b.) Viewing the HTML files on a local windows drive works fine
c.) Viewing the HTML over my Linux/Apache webserver works, but no images show up
The first thing the maker of these maps suggests is building an Microsoft IIS webserver, and it would have worked! However, I'm not going to let Microsoft thrust its way into my network without a good fight, so I explore why these images aren't showing up. After a good amount of arguing and exploring, I find that when Visio creates its proprietary image files, it does so with an extension of '.EMZ' while in the HTML it references those with '.emz' ... Windows file systems (including IIS) are not case-sensitive while *nix is. I fixed the problem with the following script:
#!/bin/bash
x=1
max=`echo "$1 + 1" | bc`
while [ "$x" -lt $max ]
do
ln -s PROJECT_All_vml_$x.EMZ PROJECT_All_vml_$x.emz
x=`echo "$x + 1" | bc`
done
echo "Be sure to thank Microsoft for this!"
which takes one argument (the maximum number of emz files in the directory) and creates symbolic links from the lower case extension to the upper case extension.
So what Microsoft has done here has made this task a little less convenient. What they almost did here was make another user who thought that Windows webservers are better than their *nix counterparts because it worked seamlessly with their Visio drawings.
We all need to put up a good fight: not against Microsoft, but for the right solution.
We must not choose to let Microsoft choose for us