Oracle BI EE 10.1.3.3/2 – Report Comments in Dashboards and Chat Options – Using Writebacks

I was asked by an end user the other day about the possibility of having an option in BI EE wherein users can enter comments about the reports and the report layouts. The user mentioned that this would be very useful during the initial project roll outs wherein end-users might need some changes to the final reports. He also mentioned that this can be useful for handling change requests. Though there is no out of the box feature in BI EE to make this functionality available, lets see how to mimic such a requirement using Writebacks. So, basically the idea is to create an external table that would store the feedback from the end users. Ensure that you have gone through my previous blog entry here which would give you details on how to enable Writebacks in BI EE. So, lets start with creating a simple table which would contain 2 columns (Username and Comments).
      
Insert a dummy row inside this table so that it does not throw out a No Data Found error in Answers(even better just insert Null for both the 2 columns).
Once this is done, import this table into the repository and design the corresponding Business Model Layer and Presentation Layer. Ensure that caching for this table is turned off.
      
Now go to answers and start creating a simple report containing the Username and Comments. In the Comments Formula Enter
CASE WHEN 1=0 THEN REPORT_COMMENTS.COMMENTS ELSE ” END
The above is to ensure that only one row is returned even when the data in the table is more than 1. In the User Column,enter USER() and hide this column.
      
      
Also, ensure that you are disabling the presentation services cache. Now, lets design a Writeback Template. The writeback template would look like the one below,
      
Ensure that you have the following SQL in your writeback template.
INSERT INTO REPORT_COMMENTS (USERNAME, COMMENTS) VALUES ( ‘@{c1}’,'@{c0}’)
Now go back to the report and ensure that you are enabling writeback for the COMMENTS column.
      
      
Now, the final step is to create another report which would again contain both the mentioned columns in the above report. But in addition this would contain a filter to remove the dummy row that we inserted earlier. Ensure that this has the presentation services cache disabled.
      
Add both these reports to the dashboard. So, now users would be in a position to enter their comments. As and when they enter the comments, it would be displayed in the other report. Administrators can make changes accordingly to any of the reports mentioned.
      
      
One other functionality where this can be useful is if you want end users to have a basic chat feature. You can use a combination of Java Script Page Refresh and writebacks to enable users to chat between themselves. The writeback column would enable users to enter a chat message and the report window would show the incoming message. This report window can be refreshed periodically to show incoming messages.