sfApplicationMapPlugin ======================== Provides you with a task generating images of appliaction-module-action structure of the project using the graphviz tool. Installation ============ Install the plugin via the subversion repository by executing the following command from the project root directory: $ svn co http://svn.symfony-project.com/plugins/sfApplicationMapPlugin/branches/1.4 plugins/sfApplicationMapPlugin or by using the default symfony plugin install command: $ ./symfony plugin:install sfApplicationMapPlugin Usage ===== After you have created your applications, modules and actions, simply type the following command: $ ./symfony project:application-map which creates the _doc/graph_ directory and few files inside it: * __project.dot__, __APP_NAME.dot__ - source graphviz files used for image files generating, _project_ file defines the entire project, whereas each APP_NAME stands for name of each application. and alternative images of application map: * __project.dot.png__, __APP_NAME.dot.png__ : images created by __dot__ command * __project.neato.png__, __APP_NAME.neato.png__ : images created by __neato__ command * __project.twopi.png__, __APP_NAME.twopi.png__ : images created by __twopi__ command * __project.circo.png__, __APP_NAME.circo.png__ : images created by __circo__ command * __project.fdp.png__, __APP_NAME.fdp.png__ : images created by __fdp__ command All possible GraphViz modes are used so that you can just choose which image is the most readable for you. Configuration ============= All visual settings of the images can be set in the __config/map.ini__ file of the plugin. Example settings look like the following: app_shape = doublecircle app_style = filled app_fillcolor = goldenrod2 You can find all properties properly interpreted by GraphViz in its documentation, such as [colors](http://www.graphviz.org/doc/info/colors.html) or [shapes](http://www.graphviz.org/doc/info/shapes.html). Important notes =============== * All actions in _actions.class.php_ or _components.class.php_ must be documented for the plugin to parse them. Use the default action skeleton documentation block provided with symfony. Application map examples ======================== ## dot example ![Example dot application map](http://img97.imageshack.us/img97/2540/applicationsdot.png "Example dot application map") ## fdp example ![Example fdp application map](http://img502.imageshack.us/img502/9818/applicationsfdp.png "Example fdp application map") ## dot example with components ![Example dot application map with components](http://img21.imageshack.us/img21/2540/applicationsdot.png "Example dot application map with components") ## fdp example with components ![Example fdp application map with components](http://img39.imageshack.us/img39/9818/applicationsfdp.png "Example fdp application map with components") ## dot example of medium-size project [ ![Example dot medium-size project application map](http://img139.imageshack.us/img139/2540/applicationsdot.png "Example dot medium-size project application map") ](http://img265.imageshack.us/img265/2540/applicationsdot.png "click to enlarge") _click to enlarge_ ## circo example of medium-size project [ ![Example circo medium-size project application map](http://img694.imageshack.us/img694/9061/applicationscirco.png "Example circo medium-size project application map") ](http://img202.imageshack.us/img202/9061/applicationscirco.png "click to enlarge") _click to enlarge_ ## fdp backend application map [ ![Example backend fdp application map](http://a.imageshack.us/img840/9180/backendfdp.th.png "Example circo medium-size project application map") ](http://a.imageshack.us/img840/9180/backendfdp.png "click to enlarge") _click to enlarge_ ## circo frontend application map [ ![Example frontend circo application map](http://a.imageshack.us/img841/8924/frontendcirco.th.png "Example circo medium-size project application map") ](http://a.imageshack.us/img841/8924/frontendcirco.png "click to enlarge") _click to enlarge_ Prerequisites ============= * You must have [GraphViz](http://www.graphviz.org/Documentation.php) installed on your system. Additional ========== * coming soon: support for plugin modules * thanks for all comments, suggestions and bug reports, they help a lot! Feel free to write me.