How to Add Comments in Oracle BI (OBIEE)

By adding comments in OBIEE users are able to provide their feedback on the decision making system of the enterprise.  Commenting on a dashboard or annotating a cell with feedback or other descriptive details can provide a great way to corroborate information or provide persisting perspectives. This commentary can then be viewed by other users who have access to the BI system.  Ultimately the goal of adding commentary in OBIEE is to have a system for persisting feedback, creating a call to action, and recognizing the BI System’s most prolific users. This is the basic concept of collective intelligence in Business Intelligence referred to as Collaborative BI.

This post takes a quick look at how to add comments in Oracle BI (OBIEE) (Oracle BI Enterprise Edition).

Currently there are only a few approaches to adding comments in Oracle BI (OBIEE) dashboards and the Oracle BI portal system: Custom Build, Action Framework, APEX, and BITeamwork.  This post will look at each one of these ways to create dashboard comment in OBIEE. This is a common request in all business intelligence systems but currently OBIEE is the only Business Intelligence tool that has a complete end-to-end comment management system that even integrates with Salesforce Chatter and Yammer; it’s called BITeamwork.  Let’s look at all of the options in a bit more details below.

Custom Build a Solution for Adding Comments in OBIEE

Some Oracle customers that have purchased OBIEE as their enterprise BI tool have a close relationship with their application development team within the organization.  An application development team is typically a team (a motley crew of sorts) of coding gurus with varying technology backgrounds in programming. Typically these are the folks that would develop a web portal, intranet page, custom HR application, etc. internally. Also this team typically maintains third party products such as MS SharePoint, etc.  Every now and then this same team would manage the BI systems purchased by the organization. So, when looking to embark on a project to create a commenting layer for OBIEE it is often these folks that are tapped to do the work.  If an organization doesn’t have this type of crew they may seek outside assistance.  Usually this crew has no experience with OBIEE but every now and they find a ringer or a developer that can pass as a solution developer to implement a basic solution.  A pop-up form similar to the screenshot below would give the basic input for commenting on the dashboard. A basic input form to a database table modeled in the RPD could then surface comments on the dashboard but will more than likely not scale nor be very manageable.

CustomBuildCommentBox

OBIEE is a heavily produced commercial product for the enterprise with some of the most complex JavaScript packed hashing, XML coding, and old-school XMLHTTPRequest AJAX syntax most developers have ever seen. So, embarking on a custom built commenting solution is no simple feat, yet certain simple integrations can be achieved as described above.

What to know and What to ask for in a custom commenting solution

If looking into a custom built solution for commenting in OBIEE, you will first wish to confer with the developers who will be tasked with the work and the business team who has the requirements for what functionality new commenting system should have. There are many integration factors that must be considered. Usually only simple commenting functionality is initially desired and most custom commenting solutions cannot scale. Or the interface developed for the custom build is not given a native feel to the application or it is not intuitive for user experience which encourages user adoption failure. For example, if a business requirement is merely to leave a comment on a dashboard page, the developer must find an integration point within the OBIEE dashboard, and then create some sort of input form which opens when a link to “leave a comment” is clicked.  The comment must somehow make a reference to the dashboard page, save the information in some repository or file, refresh the page so that the comment appears, and always be visible when the dashboard page is loaded.

So, if development goes smoothly, the business users will have a custom commenting solution that leaves a comment in a very non-intuitive way, with manual refreshing, and no other desired features.  Let’s quantify this for a moment. From custom builds we’ve seen in the past there is typically a 1 week design session and then a three week initial build and unit testing period for this simple functionality. Usually this is just a Proof-of-Concept (POC). So, as an example, a consulting developer cost of $165/hr (and that’s on the low-end; it’s hard to find one cheaper that knows OBIEE and Web Development) at 4-6 weeks brings the initial cost to around $26,000-$40,000. This would be just to get the POC solution into a development environment with no user acceptance testing and no migration to production.

Now once the business users get a taste of the basic custom commenting functionality, after the iterative development and tweaks, chances are quite high that they’ll seek more functionality. But this will come most likely in the form of questions, such as:  Why can’t we search for comments? How do I sort comments?  Is there a way to delete comments? How do I know who left a comment?  Can I alert a user that a comment exists? or the creme de la creme question, How can I add a cell comment (i.e.: cell annotations)?

These questions are relevant as they are inevitable because building a commenting solution isn’t so much about leaving a single comment as much as it is about managing comments.  This is similar to an electronics company building a computer monitor without all of the accoutrements of controlling brightness, tilt, volume, color, and a power switch.

Based on the ultimate desired functionality of commenting within the BISystem, we can see that a custom solution can potentially provide an immediate solution to the basic need for commenting in OBIEE, however, the costs of custom development will most likely outweigh the benefit.  It will most definitely create an ongoing maintenance headache for the lucky internal development team, and will probably never reach the full desire of the end users due to testing, an application developer’s unfamiliarity with OBIEE and integration at the level of detail required, and ultimately the cost of custom development.

Oracle APEX as a Solution for Adding Comments in OBIEE

Although the Oracle APEX dynamic web content creation tool has come a long way this product is still not completely integrated with the Oracle BI platform. The saving grace of attempting to use APEX as a commenting solution for OBIEE is that the Oracle development team has already provided a proof-of-concept for you showcasing this integration.  While the integration leaves the majority of the components needed in a comment management solution by the curb, there is some validity to the solution.  Let’s examine this in more detail.

With the Oracle BI SampleAppv309 (also v207, v305) there a dashboard (4.1 Actions) focused on actions and custom interactions prototyped in OBIEE.

Clicking on the APEX Commentary dashboard page reveals some standard dashboard sections.  The first is really an instruction set for a static configuration file that must be changed in order to ensure the demonstration of the prototyped commenting concept will work.  As you can see from these instructions, this is purely a prototype proof-of-concept that has potential if operationalized but potentially limited and may be a maintenance headache.

OBIEEAPEXActionsDashboardHeader

On the dashboard page there are a couple of analysis views. The first view on the left provides the prototype for commenting.  Mind you this is not a cell comment as that Holy Grail is only available in BITeamwork, but this is a very relevant way to add a comment to a specific table or pivot table analysis in OBIEE. The second table view on the right side of the dashboard page is a listing of the comments. What is neat here is that the comments are kept in reference to the specific column order and drill of the table view.  It also only shows the most recent comment for that particular intersection record. And in no way is this prototype set up to be context sensitive to the prompt selections or filters that may be applied.

To create a comment, the prototype latches on to the interaction attribute of the fact column, “1- Revenue”. If a comment exists for the intersection of data then a count of “# of Cumulated Comments” shows in a neighboring column in the table, if none then a 0 is displayed.  Using OBIEE conditional formatting with the Actions/Interactions (Action Framework) attribute of the column, if the count is 0 then when a user clicks on the cell value of the “1- Revenue” column then an action to “Add a Comment” appears, otherwise a comment exists and the edit or delete a comment actions appear.

OBIEEAPEXAddACommentRealTime

Once a comment is added, edited or deleted using the prototype view on the left the view on the right has no idea an action has transpired. So, this view must be manually refreshed using control links underneath the view.  Yes, there are ways to refresh the page on some predetermined frequency using a bit of JavaScript but a) that will interfere with any comment you are attempting to leave if the comment is not typed in and submitted during that frequency pause, or b) this additional refresh logic will have to be applied to every page you’d want this concept on along side this prototype APEX logic. Once the view or page is refreshed the comment appears.

OBIEEAPEXAddACommentRealTime_Refresh

The workflow from OBIEE to APEX is fairly straightforward: The user selects an option from interacting with the table; the Action Framework calls the APEX Web Service which either reads or writes information.  The dashboard page when loaded simply has the comment database table modeled through in the OBIEE RPD as a Subject Area which is referenced in another Analysis created to display the comment data from the database table.

OBIEEAPEXRPDwTABLE

Although Oracle APEX has come a long way in the last several years, the full integration with OBIEE is still advancing.  Although this appears to be a fit/gap solution for commenting in OBIEE there is much left to be desired in a stitch work integration between APEX and OBIEE.  Here are few links worth visiting for integration APEX with OBIEE in any shape or form: https://blogs.oracle.com/proactivesupportEPM/entry/obiee_apex_integration and https://support.oracle.com/rs?type=doc&id=748896.1

OBIEE Action Framework as a Solution for Adding Comments in OBIEE

Let’s start here by understanding why one may think that the Action Framework would be a good candidate for developing a commenting solution. In order to do that we’ll first need to explain the OBIEE Action Framework.  The Action Framework of OBIEE is a programmatic component within the application that ties into the application server (WebLogic Server), Oracle Fusion Middleware libraries, JavaScript, and of course, OBIEE Presentation Services. One of the general purposes of the Action Framework is to provide communication securely to external tools and consumption services such as Hyperion Essbase, Web Services, etc. using Fusion Middleware security.  Simple actions, such as linking to a web page, are created on the front-end using the GUI tool but this is very limited in nature and cannot be widely customized. More complex actions such as calling an Essbase Calc Script, executing or consuming a Web Service, or updating a record in a database table are not intuitive to develop and the configuration for this type of functionality resides in a single file, UserScript.js, found in a much obfuscated path in the Fusion Middleware home directory.  Action Framework is a great concept and even though its documentation (http://docs.oracle.com/cd/E14571_01/bi.1111/e16364/actions.htm) is quite sparse for what its full potential could be it is a nice addition to OBIEE for some integration efforts. Mark Rittman gave a presentation on OBIEE and the Action Framework and separately myself along with peer Marty Mersinger did another great presentation on the OBIEE Action Framework back at Oracle Open World in 2012 if looking for some objective perspective on the holistic topic.

Now that the definition of Action Framework is done, let’s look at the examples from the OBIEE 11g Demo SampleApp Virtual Image regarding adding a comment via the action framework.  Again, we are trying to point out the extent to which the Action Framework could be used for adding comments or annotations on a dashboard. We’ll also show some basic examples of Action Links and updating Essbase from OBIEE to show where the Action Framework is best positioned for use with OBIEE.

The Oracle BI Sample App shows us how it would be possible to allow a user to click a link marked “Add Dashboard Commentary” which would reveal an Action Framework prompt containing text fields.  It should be noted that this prompt window size, its contents or design cannot be modified nor can the attributes of any text fields. In the example provided from the /shared/4. Actions and Interactions/4.1. Actions/Insight Into Action dashboard you can see this attempt at dashboard commentary applied.

OBIEEAF_Dashboard_Annotation_01

Once a user clicks the “Execute” button the Action Framework method is called.  This custom method, in this case, simply updates a record in a custom database table.  The table is modeled in the RPD and fed through a Subject Area for which a text view is created to display the output.  Once the prompt is closed, a user is still required to manually click a refresh link or refresh the browser page to show the new comment.  Because the AF system is not 100% integrated with the OBIEE front-end, information such as the user’s name, dashboard name, etc. are not captured.

We do wish to canonize the Action Framework in OBIEE for where it does truly excel and make the most practical sense.  That is in doing things such as updating simple variables, or communicating with other Oracle systems such as Oracle Essbase. In one of the better use cases for AF we turn our attention briefly to the Sample App catalog dashboard page,  /shared/8. Integration Features/8.21 Oracle Essbase Interaction/Writeback from Tbl, which showcases an example for updating Essbase on the fly from OBIEE.

OBIEEAF_Dashboard_Essbase_WriteBack_01

Here we will update a measure called “Total Expenses” for any available intersection shown in a table view.  Clicking the link on the value in the cell gives us an action list with one option. Clicking on it gives us the AF prompt with a single text field to change the measure amount.

OBIEEAF_Dashboard_Essbase_WriteBack_02

Clicking on the “Execute” button submits an UPDATE statement to the BI Server using the AF script mentioned above and the AF prompt disappears.  We are again left with the manual intervention of refreshing the view or the dashboard page in the browser to see the change but if all goes well the value is updated in the Essbase cube and reflected on the dashboard page view.

OBIEEAF_Dashboard_Essbase_WriteBack_03

As you can see the Action Framework for OBIEE is more suited for navigation type links and for deterministic data sent as a simple updates to the BI Server or third party system. Although very basic commenting functionality could be created this falls closer to a custom build commenting solution which would encounter the same management and scalability pains.  Testing the AF can be quite difficult depending on level of expertise.  Much of the code changes require a restart to portions of OBIEE or WLS in order to have the change reflected in the system which can often make iterative development a bit more effort than one would desire but there are some major benefits for the right use case as explained above.

OBIEE BITeamwork Collaborative BI Solution for Adding Comments in OBIEE

Finally the best way to create comments in Oracle BI is a plug-in utility called BITeamwork.  This is a comprehensive comment management solution which integrates seamlessly into the Oracle Business Intelligence system.

BITW_Bookmark1

It does so by deploying into the Fusion Middleware Application Tier and leverages the Oracle BI XML Templates to embed HTML5 and JavaScript code to augment to the Oracle BI GUI.  BITeamwork provides the ability for end users to create dashboard comments and cell annotations similar to MS Excel cell commenting.

BITW_Cell_Cmment_Icon2

Its comment management solution shines through with an emphasis on “management” by providing deletion of comments, archiving of comments, security on comments, and more features that allow an intuitive ease for controlling comment access.

BITW_reply_start

A guiding principal behind BITeamwork is collaboration within the BI System.  As such users have the feel of social networking feedback in BITeamwork with the ability to “Like” a comment in OBIEE by voting on any comments to which they have access.  Similar to the Google+ or Facebook “Like” features, comments in OBIEE can be aggregated based on this feedback loop to determine the most appreciated or most important commentary in the BI System.

BITW_Secure_MostHelpfulComments

 

Clearly BITeamwork is the Holy Grail right now for commenting in Oracle BI and the solution for adding a cell comment in Oracle BI that is intuitive and truly emphasizes Collaborative BI in OBIEE. BITeamwork is available for download at http://www.biteamwork.com and can be deployed into an existing Oracle BI 11g implementation within minutes. Here are some quick start videos to learn more about BITeamwork. Also, read about many of the BITeamwork features with a bit more on the philosophy of Collaborative BI.

###


Comments: