WP Roadmap is a project started out of my desire to get more information about the orginization of the internal calls that WordPress makes. By organizing the list of calls by the order in which they are executed, WP Roadmap aims to create a detailed view of how WordPress works.
The code currently tracks actions, filters, includes, and requires. WP Roadmap can track the order of these calls from different page views and different versions of WordPress. If anyone has other items that they would like me to add in, please let me know.
You can see a very rough version of WP Roadmap running here. The data set is very limited, but it will give you an idea of what WP Roadmap aims to be.
The currently planned features for WP Roadmap are as follows:
- A full list of all page includes (include, require, etc) combined with other relevant function calls in their order of execution.
- Provide detailed information at each roadmap entry. This information includes the source file containing the call, the line number, the arguments passed to the function, and a full backtrace on each call.
- Be able to select an entry in the roadmap to pull up the full source-code listing that automatically scrolls down to the specific line of code and highlights it. This would be invaluable to quickly figure out how the WP core coding team did it.
- Provide this information on any WordPress version with a large selection of specific page views. The execution stack changes from version to version and page view to page view. Providing information about the specific differences of the execution stack can quickly provide needed information on why a certain hook doesn’t work properly on a specific page view or version.
- Be able to produce roadmaps of newly released versions within the hour of a new version being released. Hopefully development versions can be included in this.
Some possible future (version 2?) features for WP Roadmap are:
- A backtrace source view. This would be similar to the source view mentioned before except that it would pull out complete functions from the source of each backtrace step in order to give a quick code view from start to finish for specific points of execution. Each point along the backtrace execution path will be highlighted for quickly tracking the calls.
- Producing a number of different quick-reference cards from this data could be beneficial for many developers.
- A version compare ability. This would allow you to quickly see the differences of the execution stacks between two versions. Out of all the ideas, this will be the most difficult to implement.
Please let me know what you think about the scope of the project.