The main stars of Microsoft Office have had an Open XML file format for several versions.
The next version of Visio does too!
You can download and play with preview releases of Microsoft’s looming new version of Office. Amongst the offerings of the Office 2013 Customer Preview are bits for Visio 2013.
John Goldsmith and David Parker have already blogged about it. And Al Edlund has been busy working out some tools to tear the new files apart for exploration and manipulation.
Basically, the new file format is now a zipped bag of lots of little files. This is how the Open XML standard works. The main file types you’ll see for Visio 13 are vsdx and vsdm. The x is for normal files, the m for those containing VBA macros. This is just like what we see in Word and Excel.
As Al pointed out in a forum post, there are several articles on the subject.
The Visio team has gone over the anatomy and explored some developer scenarios with a few code snippets. Have a look:
Introduction to the Visio 2013 file format (.vsdx)
And David Parker has put a visual spin on it here:
Al himself has done a bunch of coding against the new format, and has uploaded his ‘pkgVisio’ utility to CodePlex for all to enjoy. He’s even provided two videos to help get you going: Part 1 and Part 2.
I won’t go into the specifics of the file format in this article, since the resources mentioned herandeks bum
do that just fine. But I did take a few minutes to do some investigation, and see for myself “just how much junk there is” inside of one of these beasts!
The Visio 2013 Preview comes with a “Take a Tour” document, created in Visio and saved with the new format. The document has five pages which contain 82 (top-level) shapes. Yes, lots of shapes and even imported images. Here’s a quick peek:
click to view larger image
If you copy the file, then change its extension to .zip, you can open it and browse it like the directory structure that it actually is. Inside, you’ll find a whopping 83 items! This includes 14 subdirectories and 69 files, all zipped together so that you don’t have to worry about the complexity. Here’s a look at the directory structure:
Those 69 files includes filetypes with these extensions: .bin, .bmp, .emf, .png, .rels, .xml and .bin.rels files.
Here’s a listing of the file:
…\docProps
…\visio
…\[Content_Types].xml
…\_rels
…\docProps\app.xml
…\docProps\core.xml
…\docProps\custom.xml
…\docProps\thumbnail.emf
…\visio\document.xml
…\visio\embeddings
…\visio\masters
…\visio\media
…\visio\pages
…\visio\solutions
…\visio\theme
…\visio\windows.xml
…\visio\_rels
…\visio\embeddings\oleObject1.bin
…\visio\embeddings\oleObject2.bin
…\visio\embeddings\oleObject3.bin
…\visio\embeddings\oleObject4.bin
…\visio\embeddings\oleObject5.bin
…\visio\embeddings\oleObject6.bin
…\visio\embeddings\oleObject7.bin
…\visio\embeddings\_rels
…\visio\embeddings\_rels\oleObject1.bin.rels
…\visio\embeddings\_rels\oleObject2.bin.rels
…\visio\embeddings\_rels\oleObject3.bin.rels
…\visio\embeddings\_rels\oleObject4.bin.rels
…\visio\embeddings\_rels\oleObject5.bin.rels
…\visio\embeddings\_rels\oleObject6.bin.rels
…\visio\embeddings\_rels\oleObject7.bin.rels
…\visio\masters\master1.xml
…\visio\masters\master10.xml
…\visio\masters\master11.xml
…\visio\masters\master12.xml
…\visio\masters\master13.xml
…\visio\masters\master14.xml
…\visio\masters\master15.xml
…\visio\masters\master16.xml
…\visio\masters\master17.xml
…\visio\masters\master18.xml
…\visio\masters\master19.xml
…\visio\masters\master2.xml
…\visio\masters\master3.xml
…\visio\masters\master4.xml
…\visio\masters\master5.xml
…\visio\masters\master6.xml
…\visio\masters\master7.xml
…\visio\masters\master8.xml
…\visio\masters\master9.xml
…\visio\masters\masters.xml
…\visio\masters\_rels
…\visio\masters\_rels\masters.xml.rels
…\visio\media\image1.png
…\visio\media\image10.png
…\visio\media\image11.emf
…\visio\media\image2.emf
…\visio\media\image3.emf
…\visio\media\image4.emf
…\visio\media\image5.emf
…\visio\media\image6.emf
…\visio\media\image7.bmp
…\visio\media\image8.emf
…\visio\media\image9.png
…\visio\pages\page1.xml
…\visio\pages\page2.xml
…\visio\pages\page3.xml
…\visio\pages\page4.xml
…\visio\pages\page5.xml
…\visio\pages\pages.xml
…\visio\pages\_rels
…\visio\pages\_rels\page1.xml.rels
…\visio\pages\_rels\page2.xml.rels
…\visio\pages\_rels\page3.xml.rels
…\visio\pages\_rels\page4.xml.rels
…\visio\pages\_rels\page5.xml.rels
…\visio\pages\_rels\pages.xml.rels
…\visio\solutions\solution1.xml
…\visio\solutions\solutions.xml
…\visio\solutions\_rels
…\visio\solutions\_rels\solutions.xml.rels
…\visio\theme\theme1.xml
…\visio\_rels\document.xml.rels
…\_rels\.rels
Crazy, huh?
For end-users, this is probably not something you want to concern yourself with–or even know about in the first place.
For network administrators, you will want to know about the new file types and how it will affect backward compatibility and file sharing amongst users that might have different versions of Visio (let’s hope for an add-on for older products that can read the “future” file format and load new drawings!)
For developers, there’s a really interesting opportunity for generating Visio files without firing up the Visio engine, or for speedily making massive changes across large collections of documents (think localization of text!)
Wayne Perlich says
Hi Chris —
Thanks for the summary. Backward compatibility is the big issue. In Office, older versions cannot read the new “x” version files…unless I’ve missed something.
Wayne
Josh says
Interesting, I would like to play around with this. Looks like it would make editing and managing document masters quite a bit easier.
Not to sound like an idiot but what is localization of text?
Tim Norton says
Wayne,
There are compatability plugins for Office 2007 to read Office 2010 formats.
I’m making an assumption the Visio has this as well
Wayne Perlich says
Thanks Tim, I’ll check into it.
Visio Guy says
@Josh,
Localization means translation of text into “local” languages. With the new format, finding and replacing text is (probably) quite easy to do, and you don’t need to fire up Visio to do it.
Visio Guy says
@Tim/Wayne,
I vaguely remember the compatibility add-ins that let older Office apps read the newer file formats. I don’t know of any such tool for the new Visio format. Nothing’s been promised as far as I know.
John Marshall says
The big thing is that the file fomrat is no longer proprietory. You no longer need Visio if all you want to do is tweak some text or replace an image. Translators will be very happy. They will no longer need a copy of Visio to convert a vsd to a vdx to do translations. The downside is that Visio wannabes can easily convert vsdx to their own file format. Of course, for the time being, they will need Visio 2013 to convert from vsd to vsdx.
Visio Guy says
A good reason for MS to make sure Visio is/stays a tip-top application.
Improvements to Shape Data and layout/routing would help a lot. It is already a pain to re-create connected layouts on your own, and Visio is often worth the price just for that. But layout falls short very often. There aren’t enough styles and the algorithms are sophisticated enough.
I often tell people who want to generate Visio diagrams without Visio to be wary of “having to recreate all of Visio’s functions” to get what they want. Like John says, image swapping and text translation are easy, but if you are generating connected diagrams, you start reprogramming large swaths of Visio functionality, which gets expensive very quickly.
The collaboration and SharePoint integration will be big for some customers, and I imagine is something that the Visio knock-offs won’t be able to easily match.
VC Sekhar Parepalli says
One feature I am waiting in Visio since a long time is:
Update the Task-Notes in a batch fashion.
Steps:
1) Select more than one task
2) Right Click > Select Notes
3) Enter the new notes
Expected behavior:
All the tasks selected would carry the new notes.
Current behavior (including Visio 2013):
Only the task right clicked at Step-2, carries the new notes.
Appreciate if some one can share some tips to get this done in any other manner or any work around etc..
Thanks
VC