Best practice forum (Archived)

This forum discussion has been removed

 
Simon Coggins
Re: Feedback activity reports
by Simon Coggins - Thursday, 7 November 2013, 6:09 PM
Group Totara

Hi Austen, 

Removing existing functionality is obviously something that we don't do lightly, unfortunately in this case I'm afraid it's necessary.
 
This functionality really consists of two parts:
 
1. The ability to select groups of feedbacks and aggregate the data into a new database table.
2. The ability to produce reports that summarize that data.
 
When this was originally developed we made the decision to build both parts of this functionality on top of report builder, which I now believe (with hindsight) was the wrong choice.
 
The first part was implemented as "Activity groups" which made use of tagging and then Report builder "Preprocessor" to allow the report source to generate the tables it needs. Although this was written in a general way to make it reusable in other cases, in practice this hasn't happened, and in fact changes to the internal structure of the feedback module in subsequent versions has caused the existing functionality to break in later releases.
 
The second part makes use of report builder to generate the query, but all of the display of the report is done using some custom code that again is specific to this case. That means that the report builder code is littered with lots of extra code to handle this special case.
 
Although we are still planning on adding graphical reporting functionality to report builder (hopefully in 2.6!), it is likely to be limited to producing a single graph at a time - the complexity of the requirements of your feedback report (individual per-question graphs, question level aggregation and custom formatting) make it  unlikely that it will be possible to do in a generic way.
 
Given we have limited development resources we sometimes have to make difficult decisions about where to focus our efforts and in this case it's hard to justify the ongoing maintenance of a feature that's essentially unused by anyone but yourselves (the code started giving fatal errors in the 2.2 release but no-one noticed and we removed the menu item entirely in 2.4).
 
Now that you are moving onto 2.4 I think there are a couple of options available:
 
1. Take the existing code and continue to maintain it as a customisation. This would include getting it working with the new feedback module data structure and also updating to handle any changes to report builder.
 
2. Reworking the functionality to remove the dependency on report builder. This would probably greatly simplify the code and make it easier to maintain going forward.
 
I realise this is not ideal for you as you seek to reduce the amount of custom code in your installation, but I can't see another path that would provide a general purpose solution for Totara that would also meet this quite specific need.
 
Simon