Cobble is a tool for looking beneath the smooth surface of the Concrete5 highway by providing site builders with informational and diagnostic queries, the results of which can be viewed directly or exported in comma-separated value (CSV) format for easy import into a spreadsheet for detailed analysis.
To use Cobble, just install and click the 'Cobble' button on the dashboard. Clicking the 'Cobble' button does two things -- it directs you to a page where you can select queries to view or export in CSV format, but first, it analyzes the database and file system and refreshes a set of cobble tables that store the results for use by the queries.
From the Cobble page, you can also click 'Export All Zipped' to create and download a zip archive. This archive contains all query results in CSV format along with a text file containing the environment information from Dashboard > Sitewide Settings > Debug.
If after running a query, you make changes to the Concrete5 application or file system affecting themes, pages, page types or areas, you should click the 'Cobble' button again before running more queries to ensure that your changes are reflected in the query results.
Concrete5 uses a fairly complex set of rules to render pages. It does this on the fly without any prior knowledge of the contents of the filesystem. This plugin cobbles together a set of snapshots that merge information stored in the application database with that obtained by the file system including parsing template files for areas they define.
Here are a couple scenarios where Cobble may come in handy:
How do I Take Corrective Action?
Cobble is strictly an analytical tool (like Lint) that does not make any changes to the application data or filesystem.
Results returned by the diagnostic queries do not necessarily imply that your site is somehow broken. It's very likely that no actions are necessary. In some cases that do require corrective action, there may be several possibilities. It's up to site owner or developer to make the right decisions.
Cobble provides some public methods that can theoretically be used by other plugins to allow certain corrective actions to be performed conveniently (such as deleting orphaned blocks). Site owners may wish to assign higher security levels to such hypothetical plugins.
An easy way to help improve Cobble is simply to install it on a sandbox site (or any other complex site), go to the Cobble page and click the 'Export all Zipped' button to save the results of all queries to a zip file. Then start a new discussion in the 'Questions & Discussion' area here and attach your zip file along with any questions or comments. Note: the Concrete5 Environment string shown in Sitewide Settings > Debug is included in this zip file. I'll try to make sense of whatever you post. Any unexpected results may help with improving the existing queries or motivate the need for new ones.
The source is at GitHub at github.com/ddrake/cobble. Please feel free to fork. If anyone finds that the C5 license is too restrictive, I'd be happy to change it to MIT or whatever...