views:

744

answers:

2

Problem: A lot of our design and architecture documentation were created and maintained in Enterprise Architect - for better or worse, that is how it is. These documents are stored in our subversion repository - which works out pretty well for the folks that create and update them - since we have licenses for EA - but many of the developers (both internal and external) who work on our codebase and need to make use of the diagrams but dont all have EA licenses.

Poor Solution: We could manually export the EA documents to a portable format and then check those in, but there are bound to be times when the portable format version is out of date with the EA document since it relies on the human to take the steps to manually convert.

Better Solution: We have been looking for a method to automate the conversion. This could be run as a post-commit hook or as part of our continuous integration system. The part we are missing is the piece that allows us to automate the conversion. Any ideas?

+1  A: 

I am not familiar with this product but the Web site you link to mentions an Automation interface. This should allow you to control Enterprise Architect from a scripting language such as VBScript or JavaScript. It may be possible to print via this interface; if so, you could install a PDF printer driver (or print to a file using a generic PostScript printer driver and use GhostScript to convert it to PDF.

Ken Keenan
+1  A: 

We have Enterprise Architect and we have it nicely integrated with Word. We wrote our own Wicket/Jetty WebApp that publishes links to EA diragrams as an HTTP URL that we then "Insert&Link" into our UCR (or anything else) documents. The web app displays a tree like structure of links, one for each package and then we just copy the link into the word document.

It works really well. We can make as many changes as we like in EA and then in the Word document just go CTRL+A to select all and hit F9 to update all links. Unfortunately I didn't write the code so I can't tell you exactly how it's published from EA. I think there's some Java code that just polls the EA server and sucks out everything if it detects changes.

Richard Perfect
This is interesting, I suppose the take away point is that there is at least some Java API we can use. However, we aren not running an EA server - just the stand alone app.
Shane C. Mason