I'm trying to expand an existing php-based project. I need to be able to allow users to create basic flow diagrams inside their web browser. Drag and drop environments with movement and resize abilities on a js canvas.

Start blocks,
information blocks (possible hyperlinks too),
Decision Blocks,
End Blocks,
obviously lines to link them,
that kind of thing.

But it must automatically expand when you type into it and look very professional. On top of that, this must be stored into a database so it can be redrawn for other user levels. Also need to be able to interpret the coords quite simply as I would have to draw other objects/buttons around or on top of the diagram later on.

I am fairly experienced in PHP and javascript, but I would really prefer not to spend 3-4 months writing my own javascript drawing tool to try and do this.

Are there any php libraries, or javascript libraries that allow me to do this? JQuery plugins would be fantastic as I would not have to maintain the middle layers source code. I just can't find a tool to do exactly what I want. There are a couple charting tools out there, but it doesn't really help.

I would prefer open source solutions as this is a backyard project, but anything at this stage would be appreciated. Please see what you can find :)

Many thanks

Pretty much yes. I know its a difficult one to find.

Gliffy - exactly what I want. Supports Java, PHP and Ruby. Don't really have the finance to get it though. I would like to browse around for open source alternatives first. But very good start!

Raphaelgwt - good. don't mind the extra bit of work. But it's GWT based :( Although I have some GWT experience, I need to be able to use it in PHP as I have a already existing php project with 2 years of development behind it. I was hoping for a PHP plugin or a javascript/ajax solution. Don't see a chance for rewriting it!

I don't mind if its a watered down project that I have to spiff up or modify. I just dont want to spend 3 months writing my own implementation.

Thank you for your help so far! :) very impressed by Gliffy, havn't seen it before :)

Doesn't look to bad. On the right track!

I would much prefer an open source solution though for 2 reasons:
1. Its free and i'm working on a backyard project. Don't want to invest any money until it takes off, which i'm sure it will. But I have to create the actual product from scratch first and I'm almost done.
2. I need to use it in a very specific way and I might need to modify the source code. If it's not open source, it's most likely obfusculated and I won't be able to do anything with it but use their pre-defined method. Need more flexibility.

I have been looking at basic shape drawing libraries such as RaphaelJS. Thinking of maybe doing it from a lower level if need be.

Any ideas, input or other alternatives would be appreciated.

I provided what I can. Now it's up to you. Suggest that you update this thread once you decide what you're going to do (and maybe when you have something working).

Will do. Thanks for all the help. It has been very useful.

Havn't found something quite ideal, so im going to have to create my own diagramming tool. Hopefully I can use some php drawing library as a base.

Will update the thread when I get something up and running. Any other contributions will still be appreciated :)

Many thanks