PHP Classes


Recommend this page to a friend!

      Reingold Tilford  >  All threads  >  Samples  >  (Un) Subscribe thread alerts  
Summary:Please provide some output samples
Author:Ernani Joppert Pontes Martins
Date:2011-11-16 05:27:22
Update:2011-11-17 06:26:32

  1. Samples   Reply   Report abuse  
Ernani Joppert Pontes Martins - 2011-11-16 05:27:22
Please provide some usage sample outputs of the results, so the adopters can check it.

Also please describe some aplicable uses, such as for webmail tools and dynamic filesystem tree helps the adopters to make more use of it.

Cheers and congrats,


  2. Re: Samples   Reply   Report abuse  
Stefan Lwe - 2011-11-16 06:56:39 - In reply to message 1 from Ernani Joppert Pontes Martins

Hi, and thanks for your comment.

There are examples in the bin folder, just call php bin/example_DOM.php > test.svg, then open test.svg in your favourite svg viewer.

Note that some examples need to be run from the browser, as they need to know text height and width attributes, and they use the browsers rendering engine for that.

In regard to uses, here's an incomplete list:
- DOM tree visualisation (programming & debugging)
- class inheritance hierarchy visualisation (programming, program understanding, API documentation)
- file system visualisation (system administration)
- organigram/organisation chart visualisation (project management & planning)
- project hierarchy visualisation (project management & planning)
- Domain Name System visualisation (networking)
- Abstract Syntax Tree visualisation (programming & program understanding)
- Abstract Reachability Tree visualisation (huge, +100.000 nodes-per-tree trees that you encounter in e.g. program verification, like software model checking or data flow analysis)
- plants or animals order/family/genus visualisation (biology)
- ...
- basically anything that is a taxonomy, tree or tree-like structure

  3. Re: Samples   Reply   Report abuse  
Ernani Joppert Pontes Martins - 2011-11-16 07:13:29 - In reply to message 2 from Stefan Lwe
Amazing, that's great.

I'd suggest you add some png exported svg samples to another directory, just to present easily to interested person, but, as you've demonstrated, some test classes are nice to have too.

I'd also sugest you either make these information available in a EXAMPLES_OF_USAGE.txt file just to light up some users here.

Thansk for your quick reply!



  4. Re: Samples   Reply   Report abuse  
Stefan Lwe - 2011-11-16 08:19:52 - In reply to message 3 from Ernani Joppert Pontes Martins

Yes, I followed your first suggestion, and added sample output to the root folder.

Usage is explained in the README.txt, where it says:

How to use ReingoldTilford?

Point your web browser to the examples in the bin folder:

Visualisation of the directory structure of this package
- http://localhost/ReingoldTilford/bin/example_directory_tree.php

Visualisation of the DOM structure of (or any other website if you customize the example)
- http://localhost/ReingoldTilford/bin/example_DOM.php

  5. Re: Samples   Reply   Report abuse  
Ernani Joppert Pontes Martins - 2011-11-16 19:36:00 - In reply to message 4 from Stefan Lwe
Great, that's very nice...

Good luck with the innovation award!



  6. Re: Samples   Reply   Report abuse  
Stefan Lwe - 2011-11-16 20:09:51 - In reply to message 5 from Ernani Joppert Pontes Martins


Feel free to ask futher questions, esp. if you have trouble trying out the package - a lot of work went into it, decomposing the classes more and more, and making it really modular. The result is, that it is not that easy to use anymore if you want to get it customized with all the bells and whistles, but that's the price you have to pay if you want every bit customizeable.

The examples only show the basics - you can role your own TreeModel adapter, so that the core algorithm can iterate through your own data structure in a tree-iteration order.
Furthermore, you can add own factory classes for shapes, edges (i.e. use splines instead of poly lines, etc.) and texts, so this is totally configureable by passing in these dependencies from outside - no need to touch the inner core.

I can see that this would need some more documentation, but for this to happen, I need a bit of of user feedback.

Anyway, thanks for your comments.

  7. Re: Samples   Reply   Report abuse  
Ernani Joppert Pontes Martins - 2011-11-17 06:26:32 - In reply to message 6 from Stefan Lwe
I can see the effort here, it is notorious.

I just hope that if someone uses it, makes proper credit back to you.

I would surely do if so.