Blocks: Configurable Reports

Maintained by Picture of Juan Leyva Juan Leyva
This block is a Moodle custom reports builder. You can create custom reports without SQL knowledge. It's a tool suitable for admins or teachers.
6236 sites
150 fans

This block is a Moodle custom reports builder.

You can create custom reports without SQL knowledge. It's a tool suitable for admins or teachers.

What type of reports can I create?

- Courses reports, with information regarding courses.

- Categories reports, with information regarding categories. A courses report can be embedded in this type of report.

- Users reports, with information regarding users and their activity in a course.

- Timeline reports, this is a special type of report that displays a timeline. A course or user report can be embedded in this timeline showing data depending on the start and end time of the current row.

- Custom SQL Reports, custom SQL queries. This block can use the same SQL queries that Tim Hunt's Custom SQL queries plugin.

Note for developers: You can create your own type of reports.

Who can view the reports?

When you create a report you can select which users can view it.
Links to reports are displayed in a block in the course or site frontpage.

Advanced features

Filters, pagination, logic conditions and permissions, plots, templates support, export to xls .

Request for new report types and plugins are welcome, please use the link "Bugs and issues" at the right.


Screenshot #0


Picture of Juan Leyva
Juan Leyva (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Leon Vincent
    Thu, 27 Jul 2017, 3:37 AM
    @Martin Greenway, that's the trick! chmod 755. Thanks for you help.
  • Picture of Ken Farrimond
    Fri, 4 Aug 2017, 4:30 PM
    @Ben We spent quite some time working out how to pull a variable from the url. It is quite easy to put a filter variable into the url for use in the sql, eg


    you can then have a "where" statement that uses it eg

    where"%%FILTER_VAR%%" /* dangerous code don't do this!! */

    The problem is that this opens up big vulnerabilities for code injection allowing people to access anything in the database. What we did is use the filter variable in the sql in a way that prevents code being injected by limiting what will be read to a number of less than 6 digits eg

    where"%%FILTER_VAR%%") >=1, if(length("%%FILTER_VAR%%") <6,cast("%%FILTER_VAR%%" As Decimal),1), 1)))

    We think this is hack proof, if you can see issues with it then do let me know.

  • Ben Haensel
    Tue, 8 Aug 2017, 7:46 PM
    @Ken Thanks for sharing this! This was very slick. I removed one parenthesis from your statement and the double quotes and it worked then. >=1, if(length(%%FILTER_VAR%%) <6,cast(%%FILTER_VAR%% As Decimal),1), 1))

    Thanks again! Cheers. -Ben
  • Picture of F G
    Thu, 10 Aug 2017, 11:42 PM

    Is it possible to get the sql query of Course Completion? I want to create a report that shows a summary of the training program (username and completion status of each course). The report has a "Details" Button that should show additional course information (task completed etc).

    Any idea if this can be achieved through custom reports?
  • Picture of James McLean
    Fri, 18 Aug 2017, 1:48 PM
    @ben @ken - That code is still vulnerable to SQL injection. Do not use it.
    Make sure you use the parameterised queries which are built into Moodle, and the correct variable type with optional_param()/required param() for your URL arguments and then you'll be safe.
  • Picture of Przemek Kaszubski
    Fri, 18 Aug 2017, 7:35 PM
    Dear Juan, It would be great to see officially that this plugin works OK in Moodle 3.2. I can see some positive tests were made. We've been using it up to Moodle 3.0 so far, but a recent update to Moodle 3.2+ has caused our server admins to drop support for this plugin sad
    Many thanks in advance,
  • Picture of Megu G.
    Wed, 23 Aug 2017, 8:07 PM
    I am using Moodle 3.3.1+ (Build: 20170714). Is this version supported?
  • Picture of Amanda Doughty
    Wed, 6 Sep 2017, 10:46 PM
    I have run PHP 7 tests on the code and I get a number of errors. When will this plugin be fit for PHP 7?
  • Picture of Melisa Gordillo
    Fri, 13 Oct 2017, 12:13 AM
    Hi! Have you thought about updating the plugin to version 3.3? Tthis plugin is really useful.
  • Picture of jonathan lopez
    Sat, 14 Oct 2017, 5:05 AM
    Hello my frend, one question, the plugin will have continuity
  • Picture of Javier Herrán
    Fri, 20 Oct 2017, 4:02 AM
    Buen dia Juan,

    Me gustaría saber si este proyecto tendrá continuidad para la versión 3.3 ya que se están presentando algunos inconvenientes cuando se realiza la instalación sobre esta.
    Gracias por tu pronta respuesta.
  • Picture of Martin Greenaway
    Fri, 10 Nov 2017, 6:37 PM
    What technically is the issue with 3.3 for this plugin? We have always used this plugin but obviously if it's not going to be supported going forwards we're going to have to find another solution.
  • Picture of Sameh Algable
    Wed, 15 Nov 2017, 5:36 AM
    i use moodle 3.2 , could this block work with me,? becuse i read it's for 3.1
  • Picture of Teja Majety
    Wed, 6 Dec 2017, 1:28 AM
    Hi, did anyone try it on 3.3?
  • Picture of Martin Greenaway
    Wed, 6 Dec 2017, 2:14 AM
    I think people have successfully run it on 3.3, I've installed it successfully on 3.4 but that server only had custom SQL queries, not wizard queries, and didn't use graphing, so I can't vouch for 100% functionality. From the forum thread here: I *think* it is intended to receive a bit of love and attention Soon(tm) to bring the official compatibility up to date.
1 2 3 4 5 6 7 8 9 10 11 12
Please login to post comments