Developer tool - technical sitemap

ZoeN's picture

I've been thinking it would be sweet to have a module that generates a very visual technical summary of a Drupal site. Such as:

  • a sitemap showing which menu items point to views, panels, nodes, callbacks from contrib modules, etc.
  • a data model schematic showing what content types exist, what node references they make to each other, what taxonomies they're in, and maybe which roles have permissions on which content types.
  • a graph which lists the site's pages in order of their arrangement in the menu, and shows which blocks appear on which pages.

Not that I know how to make this thing, mind you.

This would be a reference tool for site developers & maintainers, for those rare *hurumph* cases where the site's build was inadequately documented.

Comments

Boost

mikeytown2's picture

Boost uses a lot of this information to make smart cache invalidation decisions. When a node has changed it will search all views (only ones accessible to uid:0 in the latest dev) for that node; it will look for that node in the menu tree; it will look for node references in both directions; look at taxonomy terms.

So if you grab the latest dev of boost and enable the "Boost: Expiration Relationship" block and hit a node, you can see how this node plugs into the rest of the site.

Cool.

ZoeN's picture

Cool.

Zoë Neill-St. Clair
Drupalshank @ Affinity Bridge
http://www.AffinityBridge.com

Will be working on this for Drupal 7

mlncn's picture

Starting with the simpler components – whatever they prove to be – but trying not to step on the toes of NancyDru's Site documentation or Ralf's System information (neither of which have Drupal 7 ports in progress yet, but appear likely to at some point). Suggestions from people who have used those modules extensively (i have not) would be most welcome.

This will be an example module for the Definitive Guide to Drupal 7, so help from anyone who wants to prevent me from misguiding thousands is quite welcome!

benjamin, agaric

A long time ago, in a galaxy far away..

NancyDru's picture

I was considering a hook_sitedoc so that other modules could add stuff to the sitedoc report. Much of what Zoe is thinking of would be such an addition but doesn't really belong in the base version, although some of the basis for generating that information is available.

But I can tell you that you are likely to run out of memory doing some of this.

The System Information module

Ralf's picture

The System Information module already provides some of ZoeN's ideas but I think it's different enough to start as own project.

The idea sounds interesting,

Ralf's picture

The idea sounds interesting, but even after a big project.

Yeah, it's not so easy

mlncn's picture

Note that i just remembered that i have no visual skills, to even draw any of this myself, let alone know how to tell Drupal to draw it, so this is coming as lists of stuff, in its first iteration at least. Ideas and help welcome! (have been looking at http://drupal.org/project/graphviz_noderef as a method to adapt to node types etc).

benjamin, agaric

Tuesday

NancyDru's picture

I'm going to try to be at the meet up Tuesday. Let's have a beer.

Project page

mlncn's picture

Project page started: http://drupal.org/project/xray

Issues are being filed there, like the decision to use http://drupal.org/project/graphapi ! (tip: Clemens Tolboom)

See you on Tuesday, Nancy!

benjamin, agaric

Contributed Module Ideas

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: