# Site Reports ## Introduction A report is a little bit of functionally in the CMS designed to provide a report of your data or content. You can access the site reports by clicking "Site Reports" in the left hand side bar and selecting the report you wish to view. ![](_images/sitereport.png) By default the CMS ships with a couple basic reports - ## Default Reports * "Empty Pages" which will generate a list of pages without content * "Pages edited in the last 2 weeks" which will list all the pages edited in the last 2 weeks in order of most recently edited. * "To Do" which displays all the ToDo notes you have added to each page and a link to the page. This is in 2.2.2 and later * Also the Ecommerce module provides 2 or 3 reports out of box. Such as All Products, Orders... ## Creating Custom Reports You can create reports for you own data quickly and easily. A general knowledge of Silverstripe's [Datamodel](/topics/datamodel) would help before you attempt this. Inside the Mysite/Code folder - your projects code, create a file called CustomSideReport or MyProjectSiteReport and inside this file we can add our site reports. CustomSideReport.php :::php Now this won't do anything! You will just get a blank report that doesn't work! So for this to do something we have to fill in these 3 methods title() records() and fieldsToShow() till we have something like this. For example if you want to list every Page on your site! CustomSideReport.php :::php array("NestedTitle", array("2")), ); } } ?> Reload the CMS and test it out for your self! You should be able to select the report and view all the pages. ## Notes * Your CustomSideReport_ReportName must extend SideReport! * You can have more then 1 report in the 1 file. Actually its recommended!. You should create 1 CustomSideReport.php file and add class's as you need them inside that for each report. ## TODO * How to format and make nicer reports. * More examples. ## API Documentation `[api:ReportAdmin]`