potherca / graphvizwebeditor Goto Github PK
View Code? Open in Web Editor NEWOnline editor for Graphviz DOT files.
License: GNU General Public License v3.0
Online editor for Graphviz DOT files.
License: GNU General Public License v3.0
We all love Yuml. It would be nice if we could support the yuml syntax (since it is thought out pretty decently.
As yuml syntax is a DSL we could use something like parsec to generate a DOT file from the yuml input.
The only question I am unsure of is how to detect whether or not we are in dot or yuml mode. The user shouldn't have to state this, the application should be able to automatically detect this.
Looks like I forgot to add a license to this project. AGAIN!
Will I ever learn?
Anyway, to remedy this oversight a license needs to be added to the repo and mentioned in the readme file.
And maybe next time, do this before first push, yeah?
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
composer.json
league/flysystem ~2.0
symfony/process ~5.0
phptal/phptal ~1.3
Instead of hard-coding available image type, they should be read from a config file.
That way the build script can overwrite that config file with the image types that are actually supported by the dot
build on the server.
This is a follow-up from Issue #4.
The question that remains is what to do with the errors from a previous run?
We should save the generated output in a log file and include that with any following commit of the same data, instead of just saying "file already exists"
Commit 9dea856 adds a first step towards wrapping the shell command that executes dot
in a separate piece of code, this should be improved upon to make use of the symfony/process component (manual).
This is especially useful in regards to making it easier to extend the execution options later.
When the Graphviz buildpack for Heroku has been fixed the generator should be moved to a separate repo.
We need to have an API endpoint for consumers to access directly. This would also expose the functionality to embed graph text,log and images from other sources.
This needs to be resolved before #8 can be properly implemented
There should be a link to the generated image. The graph preview could be used for this, although this would have repercussions if we switch to SVG as the output type, as the generated SVG might have links itself.
Currently the submit causes a full POST, causing a delay in the rendering, this should be replaced by an AJAX call, accompanied by a visual cue to show this is going on.
To achieve this we should create an API endpoint for the interface to consume instead of just doing a postback.
Sometimes when an error is returned by dot
the graph image is still created.
When the same data is submitted again the image generated by the previous submit is actually shown.
Instead of trusting Graphviz error codes it might be saner to just check if an image file was generated and base error output on that validation.
The only question that remains is what to do with the errors from the previous run?
We could save the generated output in a log file and include that with any following commit of the same data, instead of just saying "file already exists"
The current implementation of the UI does not play nice with smaller screens and (in combination with the text-area enhancement) does not work on mobile devices.
Although supporting phones might be a bit of a stretch, tablets should be no problem.
A new/better design needs to be draw, mobile first style, and the text-area enhancements might need to be left out for touch devices (at least until a better alternative has been found).
This new design needs to take the needs of several other issues into account that also will also need screen-space.
This project should be updated to make use of the new Heroku PHP functionality.
This should be as easy as using the improved Heroku buildpack for PHP instead of our custom one, updating the Procfile
to contain the following:
web: vendor/bin/heroku-php-apache2 web
And possibly some other trivia.
Although there is a sound logic behind having to submit a graph before the image is updated, it can be handy at time (working on smaller or more experimental graphs) to have an auto-submit/auto-update feature. This should be optional/settable through the interface.
There is a bug when retrieving a graph using ?token=HASH
.
When the graph text is changed and submitted, the changes get overwritten by the content of the graph related to the hash.
Either new content needs to take priority over the hash graph, or the hash needs to be stripped from the POST url.
Also, instead of using ?token
it would be nicer to just use a RESTfull URL scheme, with the hash being part of the resource instead of part of the options. The hash is, after all, just another representation for the data in the POST graph.
To be able to run this on Heroku we need to move file storage away from the local file system and into some external file storage. The Amazon Web Services Simple Storage Service (AWS S3) seems a good candidate, although other candidates are also available (RackSpace, Google Cloud, etc. Or we could abuse Dropbox/Copy.com style services).
The easiest way to implement this would be to refactor the code to use the FlySystem local adapter and when this works, switch over to the AWS S3 adapter. This would also make development easier as we could make the adapter configurable. (We wouldn't want to use up our entire free quota just debugging, now would we?)
If an other service provider seems more attractive than AWS we could create an adapter for it.
Instead of the PHP ridden mess it is now, the template should been clean XML parsed by PHPTAL.
Beautifully done!
http://graphviz.herokuapp.com/?token=f2d35ba02a9b3bd474056e808a4eb27c
The default setting is broken however:
Format: "png" not recognized. Use one of: canon cmap cmapx cmapx_np dot eps fig gv imap imap_np ismap pic plain plain-ext pov ps ps2 svg svgz tk vml vmlz xdot xdot1.2 xdot1.4
Perhaps it is better to switch the default to svg
?
When using HTML like labels, the text in the graph editor has all of the HTML tags stripped out.
Once #5 has been resolved, we should deploy the UI online using heroku.
Space has already been reserved for this
The "Show Previous Diagram" button should toggle the image immediately, not just after a postback.
For this to be omplemented, the previous diagram should always be send, regardless wheter or not it is to be displayed.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.