Welcome to yEd Q&A!
Here you can ask questions and receive answers from other members of the community and yEd developers. And you can tell us your most wanted feature requests.

Export with commandline, not GUI

+9 votes
I'd like to use the export function as part of a script to convert graphml files without using the GUI. I'd like to be able to type (something along the lines of):

yEd --export-to eps --outfile myfile.eps myGraph.graphml

and get an eps export of myGraph.grahml in the file myfile.eps.
asked Nov 24, 2011 in Feature Requests by Martin (210 points)

1 Answer

–2 votes

Sorry, but the yEd Software License Agreement explicitly forbids what you are trying to do. See section 1. License Condition: "The Software may not be used as part of an automated process."

However, it is possible to use yFiles for Java, the commercial Java class library upon which yEd is based, for this purpose.

answered Nov 24, 2011 by thomas.behr [yWorks] (124,270 points)
edited Nov 25, 2011 by thomas.behr
...and for the non-programmers who love using yEd for diagramming?  Using yFiles for Java isn't a useful answer.  Creating a product that I could buy would be.  I'm willing to live with invoking it from the command-line as "/usr/lib/java/jreX.Y/bin/java -jar asdfasdf.jar -license /path/to/my/license -input infile.graphml -output outfile.extension", so it's reasonable to package it as a JAR file, even with specific JDK requirements; it's reasonable to require a license file to be present on the system.
It's just not *useful* to require me to be (or to find) a Java programmer.
I don't find it reasonable to require me to pay $7200 just to be able to automate exporting.  I would find it entirely reasonable to have a "Pro" version of yEd (costing ~US$200) that included features such as this.

I'm willing to pay a proportionate amount for the functionality I want.  I already paid a stupid amount of money for MS Visio, and it sits unused because yEd (free!) is a better tool for my needs.
Hmm... I'd even be willing to live with a (possibly authenticated, possibly pay-for-use) graphml-to-XXX web service.
> ...and for the non-programmers who love using yEd for diagramming?

Non-programmers have to start yEd, open the diagram, and export it to the desired format.  It is not like it cannot be done, it just takes slightly longer than using a command line tool.

yEd is based on a high-quality commercial software library. Obviously, the library needs to have some features that are not in yEd, otherwise why buy the library? So, we had to make a decision about what is available and what is not. And support for automated processes did not make it.

That said, I really fail to see how a web service would be more convenient than the manual conversion. After all, as a non-programmer, you would have to
1. start your browser,
2. navigate to the website,
3. upload the GraphML, and
4. download the conversion result.
And you would be subject to the usual problems. If your connection sucks because it is "5 pm somewhere", no conversion. If our server is down for maintenance, no conversion. Etc., etc.
As I just said elsewhere, you wrote the library, so you get to also write the rules... I'm free to wish you would align better with my needs, and I'm able to tell you that you'd have at least one customer willing to pay.  Beyond that, well...

An online service would be acceptable because I can still semi-automate that (using curl or wget), and it would still be better than remembering to make sure I've re-exported every single diagram I've updated before regenerating the master PDF.

e.g.
#/bin/sh
# online GraphML-to-X conversion
# usage: yworks-export.sh userid password graphml-filename output-filename output-format
curl --silent --fail --show-error --anyauth --user ${1}:${2} --form file=@${3}\;type=application/octet-stream --output ${5} https://autoconvert.yworks.com/convert?format=${6}


...and voila, I have something that can be embedded in my document-processing pipeline, and it's something you can track and charge me for.  There's an almost infinite number of ways to authenticate a remote user, and at least 3 or 4 of them are reasonably secure :-).  My internet connection(s) are sufficiently robust, and my needs sufficiently non-critical, that the occasional downtime isn't a major concern.  (Plus, I can always do it by hand from yEd!)

If you ever developed such a service, I'd be willing to pay a monthly or annual fee to use it - somewhere in the neighbourhood of $10-20/month or $100-175/year would probably fly in the general market.  My sense is that the people who really want to automate GraphML conversion REALLY REALLY REALLY want to automate it, but only at a moderate price point - $2700 just seems ridiculous unless I'm in the software business.

Perhaps you have a partner company or client who'd be willing to develop such a service, or product as described previously?
Same here! In my case, another possible, in-between solution, would be: when manually exporting a parent-graphml file, it would also export the linked-graphs. (Like subprocess in a BPM diagram).

By the way, thanks for this awesome software.
Imprint | Privacy Policy