Friday, February 1, 2013

[OBIEE 11g] Multi User Development Using SVN




Multi user development using SVN in OBIEE 11.1.1.6



To involve several consultants working on the same OBIEE repository. To cover this necessity OBIEE admin tool offered the Multi User Development option (MUD) .

However, since the release 11.1.1.6 there is a new option available to achieve similar functionality and allow teams of OBIEE developers to work concurrently on the same repository. It’s based on the use of a source versioning control tool to track the new developments and highlights the conflicts that might arise.

Apart from being able to use this way to manage our OBIEE repository, this is not a replacement of the old MUD option as each one of these approaches has its unique pros and cons.

In this article I explain how you can have your dev team working on the same RPD using subversion instead of the MUD approach and also what features we gain and lose along the way.



A review on the MUD option


In order to understand the benefits and drawbacks of the new source control approach, we are going to review how the old MUD option works.

Basically, behind the stage, admin tool uses the merge and compare capabilities to enable multiple developers to work on subsets of the main RPD called projects.

Each of these projects is then merged and published back to the master repository that is shared on a network location available to the developers.  The projects however, should be created beforehand by a MUD administrator that might be one of the developers or a project owner.





Working with MUD has the following advantages:

- Enhances the organizations of big repositories into different projects
- It “works” out of the box

On the other hand, after several projects using MUD we found some disadvantages too:

- Difficult set up,  complex to understand by new developers
- Working with shared dimensions between projects is cumbersome
- Sharing the RPD over the network is limited when teams are not in the same LAN

Now let’s see how we can make use of the new source version option to enable our dev team to work on the same RPD without using the MUD option.


Multi user development over source control

Before 11.1.1.6.0, the repository has always been treated as one single (and rather big) binary file with extension RPD. However, since this release, we have the possibility of managing the repository as a set of XML files. This means that each one of the first-class objects of the RPD (as presentation tables, hierarchies, physical tables…) is no longer part of one big file, but rather a XML text file on its own.  A repository treated this way is in MDS XML format.



Once the repository is in this MDS XML format, we can start source controlling the individual XML files as they are text based and no longer binary.  To start working in this way, we are going to need third party tools and some set up. We usually recommend subversion (svn) as the source control engine, particularly VisualSVN for the server side and Tortoise-SVN as the client.

In addition to these third party tools, make sure that your OBIEE instance is running 11.1.1.6.0 or higher, and that you have close at hand the SVN configuration file that you will find here:

$OBIEE_HOME/instances/instance1/config/OracleBIServerComponent/coreapplication_obis1/scm-conf-svn.template.xml


As part of the one-time set up, you’ll have to install the VisualSVN server and create your SVN repository with the contents of the RPD file on MDS XML format.

This would be the same task as putting the RPD on a shared network location when using MUD. Notice however that when using SVN we don’t need to create separate projects.



After that, each one of the developers needs to install the Tortoise-SVN client on their development machines and checkout for the first time the master repository. This operation will transfer all the XML files to their workstations so they can open the repository using the new MDS-XML option.

The OBIEE Admin tool will allow you to select between the Standalone or Use Source Control options. Pick the second one and browse for the XML control file we mentioned before. After doing that you can go and start working under source control.



This step will be the equivalent of setting up the MUD options on each one of the development workstations. One of the advantages of MUD against the SVN option is that everything is built out of the box and you don’t need any third party tools or software. It’s also worth to say that the admin tool will work with any source control engine, not only SVN.

So, what is it happening under the covers here? The admin tool is opening the local working copy of the RPD that is stored as MDS XML on your hard drive. This means that when you add or modify objects in the repository and then save, you are just adding or modifying local files. On other words, admin tool won’t commit your changes to the master repository on the remote SVN repository; you’ll have to do it by yourself using the Tortoise-SVN client using the commit option.



It will be then, after committing your changes, when subversion will update the master remote repository and identify possible conflicts with modifications that other developers might have done. After that, you might want to update your local working copy to retrieve the latest changes from everyone else.

This methodology allows several developers to work in the same repository without worrying about overwrite other’s changes as the subversion engine takes care of everything.

As usual, in case of conflicts, the tortoise-SVN client will ask us to resolve it by choosing whose change is the correct one or allowing us to merge both changes in the same file. This resembles the way that MUD identifies and resolves changes.



Here in ClearPeaks, we’ve been testing this new approach to allow our consultant teams to work on the same repository. The experience overall has been positive and successful; however I’d like to address some challenges that we found along the way.


Thoughts after using SVN multi user development

Maybe the best improvement that we noticed when using the SVN approach is that we didn’t have to setup the cumbersome MUD structure in terms of projects and network administration for the shared repository. It’s more familiar to us, as software engineers, to work with the well-known SVN repository structure and also to install the VisualSVN server or the tortoise-SVN clients.

Also we found these additional major improvements:

- Having the remote repository on a VisualSVN server allowed us to access the RPD contents via https easily and secure from different countries.
- The ability to create branches that SVN offers was really helpful to develop new requirements once the main project was deployed.

On the other hand, we found several issues when using it:

- The parent-child hierarchies cause the consistency check to fail. Hopefully this will get fixed soon by Oracle
- For big repositories it takes longer time to load the repository into the admin tool (our latest RPD took around 5 minutes to load in MDS XML format while taking just 10 seconds on offline mode)
- In case of conflicts it’s really hard to read through the XML source files to know what is going on.  In this matter MUD is better as it will show you exactly which object changed and how.

In this article we saw another effective approach to allow multiple developers to work concurrently on the same repository using subversion as the version control system instead of the MUD option.







[OBIEE ] Differences Between Siebel Analytics And OBIEE


 

Differences Between Siebel Analytics & OBIEE




Oracle BI Answers-Based Metadata Dictionary Feature


This feature enables administrators to analyze metadata repository statistics in Oracle BI Answers. The OBIEE server can generate metadata dictionary which describes the metrics contained in a rep and the attribs of rep objects. Its an XML doc. 

In OBIEE this can be accessed directly from BI Answers selection pane where specific metadata information will be shown to guide report construction. Once this BI Answers based functionality is been enabled an icon will appear next to each Subject Area, Table name, and Column shown in the selection pane for that Subject Area. Clicking on the icon will open up a specific Metadata Dictionary page to show information for that element and links to related repository information


Multi-Select Dashboard Prompts Feature


This feature enables users to analyze data more easily with an easier to use method. Prior to this, a multi-select dashboard prompt with a large number of values could become difficult to work with.


 A new search feature adds the ability to better navigate and select values from a multi-select prompt when there are many values. Modifications to the existing multi-select dashboard prompt now allow the user to search through the available values using four matching schemes: begins with, ends with, contains, and is Like (Pattern Match). Wildcards like % can also be used in the query.

 A more sophisticated paging mechanism is also now present which allows the user to page ahead according to a configured search set size as needed. Some other features are also added in multiselect prompts like copy paste of values and selection of multiple value susing shift key.




Integration with BI Dashboard Feature


2 new Interactive Dashboard features have been added to provide additional interactivity with Microsoft Office.

1) Download to PowerPoint
This new link is found within the “Report Links” Download menu and will download a static version of that report to PowerPoint. The Oracle BI Office Add-in does not need to be installed to use this functionality.


2) Paste reports directly into MS Office applications
This functionality is also made available along with the other Dashboard Report Links configured using the Dashboard Editor. A new “Copy” link can be added to a report that will copy the XML definition of the current report to the Windows clipboard. 

Pasting this link using the Paste function found in the Oracle BI menu will convert the copied XML into an Office version of that report. This functionality will only work where the Oracle BI Office Add-in has been installed. Once pasted, this Dashboard report will then be translated into native Office objects that can be subsequently refreshed with live data at any point.




Import Oracle Catalog Feature


Enables Admins to import Database objects through a native Oracle OCI connection. 

The OBI Admin Tool supports importing of physical Database objects through a native Oracle OCI connection and reuses the same OCI connection for queries. This feature mitigates the need to setup an ODBC connection to an Oracle Database purely for importing metadata objects into the Admin Tool.



Embedded Database Functions Feature


Enables users & Admins to create more powerful reports by directly calling Database functions from either Oracle BI Answers or by using a Logical column (in the Logical Table source) within the Metadata (repository). Eg: Evaluate function etc.



Presentation Variable


A new variable has been introduced which help accepting the dynamic values from the user in Oracle BI Answers. presentation variable must be declared in a dashboard prompt (using the Set Variable field), and its name and value are determined by the user.
format : @{variables.variable_name}



Time series Functions


The Time series wizard has been removed from OBIEE and some new functions called Time Series functions have been introduced







[OBIEE 10g] Admin Tool Pointing To Sql Server




Admin tool pointing to SQL Server



This requirement is  to pointing to SQL Server on Unix Box.  


For WINDOWS as Operating System:


We can define a system DSN for SQL Server DB and specify the name of the DB on which we are working in that system DSN.


For UNIX as Operating System:


OBIEE makes use of the DataDirect Connect ODBC Drivers for connectiing to LINUX and UNIX boxes. These drivers are present in the location


$OracleBI/odbc. The 32-bit drivers are installed in $OracleBI/odbc/lib and 64-bit drivers are installed in $OracleBI/odbc/lib64.



 1) We need to modify the odbc.ini file and make an entry for new DSN. So, better    take a backup of the file before making any changes to the file.

2) Locate the path to ODBC driver file, SEmsss23.so in Unix system. It resides in
$OracleBI/odbc/lib. Copy the path to a notepad.

3) Now,open the oddbc.ini file. We can locate the odbc.ini file in
$OracleBI/setup.
 
4) Make the below entry in odbc.ini file:

[DSN Name]
Driver=/u01/app/oracle/product/10.1.3/dobiee1/bi/odbc/lib/SEmsss23.so
Description=DataDirect 5.1 SQL Server Wire Protocol
Address= <IP>,1433(PORT)
AlternateServers=
AnsiNPW=Yes
ConnectionRetryCount=0
ConnectionRetryDelay=3
Database=<DB Name>
LoadBalancing=0
LogonID=
Password=
QuoteID=No
ReportCodePageConversionErrors=0


In the above entry,

- The header of the entry should correspond to your DSN you used on Windows.
- Set the Driver parameter to the file name and location of the DataDirect driver for MS SQL   Server(the one  which we copied in step 2)
- The Address should be the IP of the SQL Server, then a comma, then the port (default1433).
- The Database should be set to the Database we are using.


5) We also need to make changes to the DBFeatures.ini file.

6) The DBFeatures.ini file can be located at $OracleBI/server/Config.

7) For the appropriate SQL server section in the file, turn the 

IDENTIFIER_QUOTE_CHAR parameter off by setting the following:

IDENTIFIER_QUOTE_CHAR = ”;

The default is:

IDENTIFIER_QUOTE_CHAR = “”;

Hope it helps. Kindly keep me posted for any more information