[wp-hackers] WP Roadmap Project

Mike Schinkel mikeschinkel at gmail.com
Thu Oct 30 00:25:13 GMT 2008

RE: @WP Roadmap

Sound very cool! I look forward to seeing where you go with it.

-Mike Schinkel 

-----Original Message-----
From: wp-hackers-bounces at lists.automattic.com
[mailto:wp-hackers-bounces at lists.automattic.com] On Behalf Of Chris
Sent: Wednesday, October 29, 2008 5:55 PM
To: wp-hackers at lists.automattic.com
Subject: [wp-hackers] WP Roadmap Project

I'm currently working building what I hope will be a very valuable tool for
many WordPress developers. The tentative name of it is WP Roadmap.

I often get frustrated when I can't find exactly the right action or filter
hook to use for a specific task. I'll pick one hook, but it is activated too
late. I'll pick another, and of course, it happens way too soon. I thought
it would be great if I had a reliable means of tracking what happens in the
execution of WordPress from start to finish to build a map of sorts. The
Codex is great, but it is never completely accurate, often lags behind in
terms of version compatibility, and doesn't accurately portray when events
take place in relation to other events.

For this reason, I've decided to create WP Roadmap. The code that I've
produced so far can track calls to add_filter, apply_filters, do_action, and
do_action_ref_array functions as well as tracking include, include_once,
require, and require_once calls. Not only does it track these individual
calls, it also stores all the argument data that is passed with these calls
and a full backtrace of each call. Each step of the backtrace also includes
the function call, arguments, relevant class, source file, and line number.
As you can imagine, the backtrace data is extremely large on a single page
load, so I'm have a hard time finding out a way to represent this data.

The code and storage containers have the ability to generate roadmaps for
specific pages and specific versions. I intend to generate roadmaps for most
of the major versions (2.5+) and with a large number of page views for each

A quick sample of some of the data that this generates is provided below.
Note that this is a very small sample of the total data set for the loading
of the main page on 2.6.3 using the default template.

	Name 	Argument Data 	Source File 	Line Number
require 	./wp-blog-header.php 	
	index.php 	18
require_once 	wp-load.php 	
	wp-blog-header.php 	12
require_once 	wp-config.php 	
	wp-load.php 	27
require_once 	wp-settings.php 	
	wp-config.php 	31
require_once 	wp-includes/wp-db.php 	
	wp-includes/functions.php 	2004
add_filter 	pre_term_name 	Array ( [0] => strip_tags [1] => 10 [2] => 
1 ) 	wp-includes/default-filters.php 	20
add_filter 	pre_term_name 	Array ( [0] => trim [1] => 10 [2] => 1 ) 
wp-includes/default-filters.php 	21
add_filter 	pre_term_name 	Array ( [0] => wp_filter_kses [1] => 10 [2] 
=> 1 ) 	wp-includes/default-filters.php 	22

My very early front-end to present this data has the ability to selectively
show/hide information based upon the primary function type. 
I intend to add many filters to make it easy to find the data that people
are looking for quickly and easily.

If you are interested in this project or have any suggestions/comments,
please let me know. If you've read all of this, thank you for your time.

- Chris Jean
wp-hackers mailing list
wp-hackers at lists.automattic.com

More information about the wp-hackers mailing list