Online and Offline Repository Modes


You can open a repository for editing in either online or offline mode. You can perform different tasks based on the mode in which you opened the repository.
This section includes the following topics:

Opening a Repository in Offline Mode

Use offline mode to view and modify a repository while it is not loaded into the Oracle BI Server. If you attempt to open a repository in offline mode while it is loaded into the Oracle BI Server, the repository opens in read-only mode. Only one Administration Tool session at a time can edit a repository in offline mode.
To open a repository in offline mode
  1. In the Administration Tool, select File > Open > Offline.
  2. Navigate to the repository you want to open, and then select Open.
  3. In the Open Offline dialog box, type a valid user ID and password, and then click OK.
    This opens the repository for editing.
    NOTE:  If the server is running and the repository you are trying to open is loaded, the repository will only open in read-only mode. If you want to edit the repository while it is loaded, you have to open it in online mode. Also, if you open a repository in offline mode and then start the server, the repository will be available to users; any changes you make will become available only when the server is restarted.

Opening a Repository in Online Mode

Use online mode to view and modify a repository while it is loaded into the Oracle BI Server. The Oracle BI Server must be running to open a repository in online mode. There are certain things you can do in online mode that you cannot do in offline mode. In online mode, you can perform the following tasks:
  • Manage scheduled jobs
  • Manage user sessions
  • Manage the query cache
  • Manage clustered servers
  • Stop the Oracle BI Server
To open a repository in online mode
  1. In the Administration Tool, select File > Open > Online.
    The Open Online Repository dialog box appears, from which you select a data source.
    The data sources displayed in the dialog box are all the User and System DSNs on your computer that are configured using the Oracle BI ODBC driver.
  2. Select a data source, type a valid user ID and password, and then click OK.
    The repository opens that contains the business model corresponding to the data source selected.
    NOTE:  If you expect to work extensively with the repository (for example, you plan to check out many objects), select the Load all objects option. This loads all objects immediately, rather than as selected. The initial connect time may increase slightly, but opening items in the tree and checking out items will be faster.

Checking In Changes

When you are working in a repository open in online mode, you will be prompted to perform a consistency check before checking in the changes you make to a repository.
If you have made changes to a repository and then attempt to close the repository without first checking in your changes, a dialog box opens automatically asking you to select an action to take. If you move an object from beneath its parent and then attempt to delete the parent, you will be prompted to check in changes before the delete is allowed to proceed.
Use the Check in Changes dialog box to perform the following tasks:
  • Make changes available immediately for use by other applications. Applications that query the Oracle BI Server after you have checked in the changes will recognize them immediately. Applications that are currently querying the server will recognize the changes the next time they access any items that have changed.
  • Specify that repository changes should be written to disk immediately. If the Oracle BI Server is shut down abnormally, using the Check Changes dialog box will make sure that checked-in changes to the repository can be recovered. Changes that are checked in but not saved to disk will be restored through the server's error recovery processing. (This processing takes place automatically whenever the Oracle BI Server has been shut down abnormally.)
To make changes available and have them saved to disk immediately
  • In the Administration Tool, select File > Check in Changes.
If the Administration Tool detects an invalid change, an informational message appears to alert you to the nature of the problem. Correct the problem and perform the check-in again.
NOTE:  If you make changes to a repository open in online mode, and then attempt to stop the Oracle BI Server, this option will not be available. This is because your changes will be saved automatically when the server shuts down.

Degenerate Dimension in OBIEE

A degenerate dimension (DD) acts as a dimension key in the fact table, however does not join to a corresponding dimension table because all its interesting attributes have already been placed in other analytic dimensions.

Sometimes people want to refer to degenerate dimensions as textual acts, however they're not facts since the fact table's primary key often consists of the DD combined with one or more additional dimension foreign keys.

Degenerate dimensions commonly occur when the fact table's grain is a single transaction.


How to Implement in OBIEE :

Refer: http://obieetalk.com/oracle-bi-ee-101341-%E2%80%93-modeling-degenerate-dimensions-%E2%80%93-fact-attributes

Reference:http://www.kimballgroup.com/html/designtipsPDF/DesignTips2003/KimballDT46AnotherLook.pdf

TimestampDiff and TimestampADD( Difference of two dates) in OBIEE

How to get a difference between two dates (in terms ) of days,weeks,months what every it may be

The below formula gives you no.of days between day date and current_DateDays difference: 
TIMESTAMPDIFF(SQL_TSI_DAY, Time."Day Date",CURRENT_DATE)

The below formula gives you no.of months day date and current_Date
Months difference:
TIMESTAMPDIFF(SQL_TSI_MONTH, Time."Day Date",CURRENT_DATE)

The below formula adds months to day date column
Toadd 12 months to a date column:
TIMESTAMPADD(SQL_TSI_MONTH, 12,Time."Day Date")

similarly we can write the formulas using different intervals based on the date format in the column
Here are the intervals :
SQL_TSI_SECOND, 
SQL_TSI_MINUTE, 
SQL_TSI_HOUR, 
SQL_TSI_DAY, 
SQL_TSI_WEEK, 
SQL_TSI_MONTH, 
SQL_TSI_QUARTER, 
SQL_TSI_YEAR.

External Table Authentication - Encrypted Password

I am trying to blog on this from long time now i have some time to write a blog :) how to store the encrypted passwords in database for External Database Authentication

Step1 : Create a function in Database by executing below code.

create or replace FUNCTION obiee_pass(p_login IN VARCHAR2,p_password IN VARCHAR2) RETURN VARCHAR2 IS BEGIN RETURN LTrim(To_Char(Dbms_Utility.get_hash_value(Upper(p_login)|| '/' || p_password,10000,Power(2,30)),RPad('X',29,'X') || 'X')); END;

Step2 : create a table with columns Login,Password,Loglevel,Group


we have to insert the values to the above table obiee_users

with the following statement
insert into OBIEE_USERS values('User3',obiee_pass('User3','User3'),'Group2',2);



Step3: In rpd we need to configure Click at step7 i..e. Initialization Block we need to change with following SQL CODE

SELECT USER_NAME,LOGLEVEL,GROUP_NAME FROM OBIEE_USERS where 
USER_NAME=':USER' NQS_PASSWORD_CLAUSE(and password= obiee_pass(':USER',':PASSWORD'))NQS_PASSWORD_CLAUSE

Step4: 
Login with users you will able to login to dashboards normally as before and apply the security as usual 

Default Dashboard using "PortalPath" system session Variable


I am going to explain how to make a dashboard default using portal path,you can find this on several blogs but for my reference doing this

Step1 : In below figure i have "8" dashboards out of those when a user logs in he has to see "USER" dashboard instead of My Dashboard (Default)


Step2: Create a system-session variable


Step3 : Give the following code in your default initialize box


Where "User" is my Dashboard name

Step4: Creation of Initialization block and assign PoratlPath system session variable to this newly created block




Step5:Next,Login to dashboard with Administrator user and you need to change the
"My Account" settings -->Preference-->Default Dashboard-->Default



Logout and login with Administrator you will get USER as default dashboard,if you already have "Default" no need to go for step5

Reverse function in obiee

Today,i came across with a scenario to reverse values in a column 

'abc' is one for a column where as in another column have to show 'cba'

for this i used DB REVERSE function using evaluate 

Syntax : EVALUATE('REVERSE(%1)', "Dim Customer".Customer_Name)

Filtering Table data using "Request Variable" and Session varaible/OBIEE- Request Variable

When you want to filter the table data based upon the selected value in prompt

For example ,I have a table called SRC_ORDER_LINES it will show Sales amount and Order quantity based on order_id.My requirement is in dashboard i want to filter whole table data based on the VALUE(Order quantity) selected in Prompt

1) Create a session variable initialization block with following query


2) Next,variable creation and assign the above initialization block to this newly created variable

3) Double click on Variable qty,check in "Enable any user to set the value"
4) We need to add this session variable to the "BMM layer Content Level Filter" in order to filter the table


5) Double click on LTS(Logical Table Source) of SRC_ORDER_LINES click on content tab we need to give the condition under "Using where condition to filter out row counts"

6) Coming to answers create a prompt and declare a request variable with same name as session variable "Qty"

7) Add the prompt to dashboard and its respective report .when you select value of quantity as 1500 then the SRC_ORDER_LINES will limit the rows like where qty >1500,it will retrieves only those records

Below figure shows 

Quantity >1341 records

Quantity >1881 records


How to Get page breaks in obiee

Hi,
Today i came across the post in otn forums
http://forums.oracle.com/forums/thread.jspa?threadID=1123570&tstart=0

I thought we can do that in bi publisher bursting But,David given an perfect solution for this

If,you to get a pdf by a customer type (each page one single type)

Here is my report


Goto pivot table and move the Customer type in Sections section

Next,click on hand symbol in Sections Section and you can see the Insert Page break from drop down select Column name(product_type).So that report will print by customer type



Then take a look at PDF page it will break the pages based on customer type

Getting 30days back data from the selected date in dashboard prompt

1) Create a prompt day week and declare presentation variable


2) Here is the report ,i pulled product and booked qty

To show 30days back booked quantity the date selected in prompts

In fx use

FILTER("Facts Other"."Booked Qty" USING (Time."Day Date"=TIMESTAMPADD(SQL_TSI_DAY, -30, DATE '@{day}')))




You can apply the same formula for 1....n days

For month level use
FILTER("Facts Other"."Booked Qty" USING (Time."Day Date"=TIMESTAMPADD(SQL_TSI_MONTH, -3, DATE '@{month}')))

where -3= three months back

Data/Object/Column Level Security in OBIEE

Authorization can be done in two ways 

Object level Security :In this we can restrict dashboards, pages, sections, tables
Data level Security:
 Here we can restrict access to values in columns.
Column level Security: Giving access to certain columns in a table.

Here we are having three users’ duser1, vuser1.
Groups for which the users belong to-
duser1 - DISNEY
vuser1 - VERIZON
These groups are created in repository under Manage->Security->Groups
Object & Data level security for Disney group:
When duser1 logs in and he belongs to DISNEY group who can view only Financial Dashboard (Object level security) and data in the column, based on the access given to him (Data level security). He can view only few clients (Brand 1)Restricting data in Client column.
Fig (1) : Restricting data from GROUP level

Object level security
1) Dashboard/Page/Section level security
Create these groups in Answers.
Admin->Manage Presentation Catalog Groups and Users->Create new catalog group
Give permissions to dashboards for each group as per requirement. (Object level)
Restricting the groups to a dashboard
Settings-->Administration-->Manage Interactive Dashboards-->Click on Dashboard permissions
After clicking on permissions tab then assign the respective group to your dashboard 
When a duser1 logs in he will see only Financial dashboard
Column level security:
In the presentation layer of repository we need to restrict tables and columns for those groups


Double click on the table->Permissions tab->General
Check show all user/groups and change check box read to tick or cross mark. Now the users under that group cannot view that table in answers.

We have a subject area called Sample Sales Reduced. In this we restricted Other
Dimensions table. When duser1 logs in, he cannot see table from presentation
view/answers. In the below picture we can see Other Dimensions table in
Presentation Layer of repository but its not present in Answers
In the same way i restricted particular column in a table to this
user. Here we restricted No of customers,employees, orders these three columns from
Facts other table for this users. When the user logins he cannot view those columns, but i can see these columns in repository.
In the below picture we can see Facts Others with different columns in Answers and Repository

NOTE: 
If a report is created using a column which is having access to one user and no access to other user, then the user who doesn’t have the access cannot view report they will get ERROR to avoid the error message you change the NQSCONFIG.INI file 
PROJECT_INACCESSIBLE_COLUMN_AS_NULL = NO; under security in NQSConfig.INI Change it to YES so that he can view the report properly without that column.

Configuring the Presentation Catalog for More Than 4000 Users

If you have more than 4000 Presentation Catalog users or you intend to have more than 4000 Presentation Catalog users in the future, you need to turn on the hashing of users’ home directories to take care of a file system limitation.

To do so, you set the HashUserHomeDirectories element in the Oracle BI Presentation Services configuration file (instanceconfig.xml) to 2. 


The following entry is an example:

http://docs.google.com/View?id=dgh6q53h_126fpwdd4gt


NOTE: This element must be set immediately after installing Oracle BI Presentation Services to be effective

Source:Presentation services admin guide

How to get one year back date in obiee

Formula to get one year back date 

TIMESTAMPADD(SQL_TSI_YEAR, -1, CURRENT_DATE)

Ex: current_date=05/01/2010 then we will get 05/01/2009

Evaluate Function

EVALUATE function can be used in OBIEE to directly to call a Database Function from OBIEE Answers 

Syntax:-
EVALUATE('your db function(%1,%2)', parameter list)
---%1 and %2 are no.of parameters (in this example 2 parameters will be passed to the database function)

%1, ..., %X means - x number of parameters will be passed, and the values for those parameters will be passed in the parameter list.

Example:
EVALUATE('TO_CHAR(%1,%2)' ,"Dim- Date".Start Date,'DD-MON-YY')
or
EVALUATE('TO_CHAR(%1,%2)' AS CHARACTER ( 30 ), 
"Dim- Date".Start Date, 'MON-YY')

Setting Up Multiuser Development Environment (MUDE) Using Oracle BI Administration Tool


Purpose
This tutorial covers how to set up multiuser development environment using the BI Administration Tool and work in the multiuser environment. (Specifically, this tutorial covers how to set up the development environment to support two users.)
Note: This tutorial is intended for the learners who are already familiar with the Oracle BI Administration Tool, and should have completed the Oracle by Example tutorial "Creating a Repository using Oracle Business Intelligence Administration Tool."
Approximately 50-60 minutes.

Topics

This tutorial covers the following topics:
 
 
 
 
 
 
 
 Place the cursor over this icon to load and view all the screenshots for this tutorial. (Caution: This action loads all screenshots simultaneously, so response time may be slow depending on your Internet connection.)
Note: Alternatively, you can place the cursor over each individual icon in the following steps to load and view only the screenshot associated with that step.

Overview

In this tutorial, you will be guided to set up a multiuser development environment to support two users. You will learn how to set up two users, Karen and Kurt, with the required privileges, prepare the environment, and work in the multiuser environment as these two users.
You should be familiar with the functionality of the BI Administration Tool. This tutorial uses Sales History repository (SH.rpd), and the rpd file along with the instructions to set up the same are provided in the prerequisites section.
So, to continue with the steps listed in the topics, you should have installed the required software, and performed the setup for the SH.rpd repository, and other setup as mentioned in the Prerequisites topic.

Prerequisites

Before starting this tutorial, you should:
1.
Have access to or have installed Oracle Database 10g (preferably version 10.2)
2.
Have access to or have installed the sample schemas (specifically SH)


3.Have installed Oracle BI Enterprise Edition 10.1.3.3.
4.Have completed the tutorial "Creating a Repository using Oracle Business Intelligence Administration Tool."

5.Have set up the Sales History (SH.rpd) repository following the instructions given here:
  1. Click Start > All Programs > Administrative Tools > Services.
  2. In the Services dialog box, select the Oracle BI Presentation Server and select Action > Stop to stop the service. Also, stop the Oracle BI Server. These services can be stopped in any order.
  3. Create a directory named SetupFiles under <InstallDrive>. Download and extract the SH.zip file from hereto this directory named SetupFiles.
  4. Using Windows Explorer, navigate to the SetupFiles folder and copy the sh folder and its contents to<InstallDrive>:\OracleBIData\web\catalogThis is a backup of the Presentation Catalog corresponding to the Sales History content.
  5. Open <InstallDrive>:\OracleBIData\web\config\instanceconfig.xml in Notepad and edit the CatalogPath section to point to the directory you just copied (as shown in the screen below). The path should be : <InstallDrive>:/OracleBIData/web/catalog/sh.

  6. Navigate to the SetupFiles folder and Copy sh.rpd to<InstallDrive>:\OracleBI\server\Repository.
  7. Open <InstallDrive>:\OracleBI\server\Config\NQSConfig.ini in Notepad and edit the repository name to point to the sh.rpd repository you just copied. In the Repository section, enter before "Star" to comment out any other repository name entry. Then, below that entry, create a new line and enterStar = sh.rpd, DEFAULT; to point to your repository (as shown in screen below):



    Note: NQSConfig.ini is the initialization file read by the Business Intelligence Server when it starts up. It contains a number of parameters that control server settings and behavior. In this step, you have set up the parameter that informs the server to read the sh.rpd metadata repository.
  8. Now go back to the Services dialog box, start the Oracle BI Server, and the Oracle BI Presentation Serverservices.
Note: Screenshots for this tutorial were taken in a Windows XP environment. Therefore, Start menu options may vary slightly if you are using other Windows environment.
Overview of Oracle BI Repository Three-Way Merge
By default, the Oracle BI repository development environment is not set up for multiple users. However, online editing makes it possible for multiple developers to work simultaneously, though this may not be an efficient methodology, and can result in conflicts, because developers can potentially overwrite each other's work.
A more efficient development environment would permit developers to modify a repository simultaneously and then check in changes. This can be done by setting up the multiuser environment using the Oracle BI Administration Tool to support concurrent development.
For example, after completing an implementation, the administrator may want to deploy Oracle BI to other functional areas of the company. In this example, multiple developers need to work concurrently on subsets of the metadata and merge these subsets back into a master repository without their work conflicting with that of the other developers. In other organizations, a single developer might manage all development. For simplicity and performance, this developer might want to use a multiuser development environment (MUDE) to maintain metadata code in smaller chunks instead of in a large repository. In both situations, this is accomplished by creating projects in the repository file in the BI Administration Tool and then copying this repository file to a shared network directory. Developers can check out projects, make changes, and then merge the changes into the master repository.
The Oracle BI repository development process adheres to the classic Software Configuration Management (SCM) process, which utilizes a three-way merge to manage concurrent development. Changes are managed by merge and reconciliation. Most of the merging process is automatic, and changes do not conflict. In case of any conflicts, developers can manually resolve them. The merge creates a final “merged” file based on two changed files, which are base-lined against a common parent file. This enables developers to work simultaneously on repository development. Developers manage this process using the utilities and interfaces provided in the BI Administration Tool. Changes are managed by merge and reconciliation. The merge creates a final, “merged” file based on two changed files, which are base-lined against a common parent file. Oracle BI repository is stored as an rpd file. Developers check out the file and make changes locally. Changes are then merged into a final, merged repository (rpd) file.
In this tutorial, you first set up the environment for concurrent development by two users. Then you work in the multiuser development environment to make changes to the same repository (SH.rpd) as two developers, and merge changes as appropriate to the SH.rpd.

Setting Up Two Users with the Required Privileges
In this topic, you will set up two users Karen and Kurt to give them the required privileges to support the multiuser environment. These two users already exist in the SH.rpdrepository. So, you will modify these two users, Kurt and Karen, to give them administrative privileges so that they can act as developers. As a precaution, you reset their passwords, so that the users need to communicate with the Administrator user before starting with development.
Perform the following steps: 
1.
Before continuing with setting up the users, stop the Oracle BI Server service.
Now select All Programs > Oracle Business Intelligence > Administration from the Start menu .

2.Select File > offline and select sh.rpd to open the repository in offline modeEnter Administrator as the username and password, and click OK.



3.Select Manage > Security. Click Groups in the left pane. Double-click Administrators.



4.In the Administrators dialog box that is displayed, click Add to add users to this group. In the Add Membersdialog box, select Kurt to add this user to the Administrators group.


Similarly, add the user Karen to the Administrators group. After adding both the users, click OK again to close theGroup – Administrators window.
5.Now set the passwords for the users Kurt and Karen. Click Users in the left pane. Double-click Kurt.
In the User dialog box, enter Kurt in the Password and Confirm Password fields. Click OK.


Similarly, double-click Karen, and in the User dialog box, enter Karen in the Password and Confirm Passwordfields. Click OK.
Select Action > Close to close the Security Manager window.
6.In the BI Administration window, click Save icon to save the changes to repository. It is not necessary to check consistency.

When prompted to check global consistency, click No.

7.Note that currently only one user can modify the repository at a time . To check the same perform the following steps:
Select Start > Programs > Oracle Business Intelligence > Administration to open a second instance of the Oracle BI Administration Tool.
Select File > Open > Offline. Select the sh.rpd repository. Click Open.
The following message is displayed to indicate you can open the repository in read only mode. This is because multiuser development has not been set up, so only one user can edit the repository at a time.

Click No. Select File > Exit to close this instance of the Oracle BI Administration Tool.

 


Preparing the Environment for Multiuser Development

In this topic, you create projects in the master repository. After you have copied the master repository to a shared directory, it is no longer used for development, so it can be used as a backup. Creating the original set of projects in the master repository allows you to see what changes were made after multiuser development is established by comparing the shared repository to the master. Normally, you create projects to contain all the presentation catalogs in the repository, broken down in a reasonable manner. You will perform the following tasks required for setting up the multiuser development environment:
Defining Multiple Projects

Defining Multiple Projects

In this tutorial, you create only two projects. In this practice, you create only two projects.

1.Select Manage > Projects. The Project Manager window is displayed. Select Action > New Project.


2.Enter Sales Facts Project as the name. Expand Catalogs in the left pane. Expand SH.
Select “SH”.“Salesfacts”. Click Add. Note that a Catalogs folder appears in the right pane.

Expand Catalogs in the right pane. Note that the SH catalog is included in the project. Expand SH in the right pane. note that “SH”.”Salesfacts” has been included in this project as well.
3.Now, expand the Users folder in the left pane.
Press and hold [Ctrl] key and select Administrator, Kurt, and Karen. Click Add.

A Users folder is added to the right pane. Expand the Users folder in the right pane and ensure that the three users are added to the project. Click OK to complete the project creation.

4.Similarly, create another project with the name Sales Project, to contain the same Salesfacts catalog, and add all the above three users to the project, so that the project looks like this:

After creating both the projects, your project manager window looks like this:


5.In the Project Manager window, select Action> Close.

Click Save icon in the BI Administration Tool to save the changes to the repository.

Copying Master Repository to a Shared Directory

Copy your master repository to a shared directory. This allows all the developers on the development team to access the repository.
1.Open Windows Explorer. Navigate to C:\Documents and Settings\All Users\Shared Documents. Folders in this Shared Documents folder are automatically shared with other users on this machine.
Right-click in the right pane and select New > Folder. Name the new folder RPD.

2.Copy sh.rpd from C:\OracleBI\server\Repository to the Shared Documents\RPD folder.
In the Shared Documents\RPD folder, rename the repository shared_sh.rpd.


Setting Up Multiuser Directory
In this topic, you set the multiuser directory in the Oracle BI Administration Tool to point to the shared repository you just created:
1.In the Oracle BI Administration Tool, select Tools > Options.



.

2.Click the Multiuser tab. Click Browse next to the multiuser development directory field. Browse to select Shared Documents\RPD. Click OK.


3.In the Full Name field, enter Karen . Click OK to close the Options dialog box.

In the BI Administration Tool, select File > Close to close the sh.rpd repository. Now, you are ready to perform multiuser development.

 

Working in the Multiuser Environment
Now that you have prepared the environment to allow multiuser development, you will now perform the tasks listed below for working in the multiuser development environment.
Checking Out a Project
Local Development: Making Local Changes to the Project
Merging the Changes to the Project as the First User
Publishing the Changes to the Network as the Second User

Checking Out a Project as Two Different Users

In this topic, you open the shared repository (shared_sh.rpd) and check out one of the projects that you have created in the previous topics by logging in as two different users Karen and Kurt. This facilitates you to work on the same project as two different users in the multiuser environment:
1.In the Oracle BI Administration Tool, select File > Multiuser > Checkout. The Extract from shared_sh.rpd dialog box opens. Enter Karen as the username and password. Click OK.


2.Note that the two projects you created earlier are listed in the Browse dialog box. Select Sales Project and clickOK.
The Create new subset repository dialog box opens. Change the repository file name to Karen.rpd.

In the BI Administration Tool, click Save to save the changes.
Note that this repository file is being saved to the default repository directory and not the shared repository directory you created earlier. Also, note that a copy of the shared master repository, shared_sh.rpd, has been copied to the default repository directory.
3.Note that a set of new files gets created in the Repository directory of BI Server and also in the shared directory. Review the files that were created or modified by the checkout process.
Using Windows Explorer, navigate to Shared Documents\RPD folder. Observe the new files that appear (as given in the screen below):


Navigate to <Install Drive>:\OracleBI\server\Repository . Observe the new files that appear:
4.Now check out the same project as the second user Kurt using a second instance of the Oracle BI Administration Tool.
Select Start > Programs > Oracle Business Intelligence > Administration. Select File > Multiuser > Checkout. The Extract from shared_sh.rpd dialog box opens.
Now, enter Kurt as the username and password. Click OK.



 Select the same Sales Project. Click OK.
(Note that both projects are still shown. There is no indication that Karen has the Sales Project open. This is an intentional feature of the product to support multiple developers working on a single project .)

Enter Kurt.rpd as the file name. Click Save. The Sales Project is now being worked on by two developers Kurt and Karen simultaneously.

Navigate to <Install Drive> :\OracleBI\server\Repository and note that a set of files for Kurt's repository has been added.
Note: The changes will be merged during the checkin process that is discussed in a later topic in this tutorial.
  

Local Development: Making Local Changes to a Project

In this topic, you make changes locally to a project as the first user, Karen, and verify if the changes can be merged by a second user, Kurt:
1.Modify the project as Karen and check it in to understand the checkin process.
Return to the BI Administration instance that has Karen.rpd open. The repository name is displayed on the title bar of the application.

In the Presentation layer, expand SH, right-click Channels, and select Delete. (This change can be tracked easily.)

2.Click Yes to confirm the deletion. In the BI Administration Tool, click Save to save the repository. When prompted to perform global consistency check, click No.




3.Select File > Multiuser > Merge Local Changes. This merges your changes to the shared repository.

A Lock Information window is displayed. The shared repository will be locked until checkin is complete. Accept the default values shown and click OK.

4.The Merge Repositories dialog box appears. Do not click Merge yet. Note that you first merge your modified project repository with the original copy of the project repository in the default repository directory.

Note: Examine the effects of locking the repository. In Windows Explorer, navigate to Shared Documents\RPD. You can see that an additional file shared_sh.lck appears in the directory; this is the lock file, which is created when the shared repository is locked. Also, when you navigate to D:\OracleBI\server\Repository you can see thatshared_sh.rpd and shared_sh.log are generated .

5.Now try to merge the changes as the second user Kurt.
Switch to the Oracle BI Administration instance with the Kurt.rpd open and attempt to merge local changes.
Select File > Multiuser > Merge Local Changes. An error message appears: You are already attempting to check in this file. Click OK to close the error message.

Note: No other user can check in projects while the shared repository is locked. Here, you are trying to check in the same project using the same Windows username, and so the error message warns you about this.
  
Merging the Changes to the Project as the First User
1.Return to the Oracle BI Administration Tool where the checkin is being performed for Karen.rpd and complete the merge.
In the Merge Repositories dialog box, ensure that the original subset isD:\OracleBI\server\Repository\originalKaren.rpd.
Ensure that the modified subset is D:\OracleBI\server\Repository\Karen.rpd.
Click Stats to see the statistics.


A Results dialog box is displayed showing the summary of changes. Observe that one object was deleted from the modified subset.


2.Close the Results dialog box. This takes you back to the Merge Repositories dialog box. Click Merge now.
Click No when prompted to check global consistency. At this point, the changes are merged to the local copy of the shared_sh.rpd repository and the local copy is opened. Note that the changes have not yet been published to the shared master repository.

Navigate to D:\OracleBI\server\Repository. Note that there is a new file namedshared_sh.merge_log.csv. This is a comma-separated values file listing the changes made to the repository in the merge.

Double-click shared_sh.merge_log.csv to open it using Microsoft Excel and check the changes. Closeshared_sh.merge_log.csv without saving any changes and close MS Excel.

3.Return to the Administration Tool with shared_sh.rpd open and expand the SH presentation catalog to ensure that the Channels presentation table no longer appears in the catalog.

Save the modified shared_sh.rpd repository. When prompted to check for global consistency, click No.

4.Select File > Close to close the repository. A warning appears indicating that you are closing an MUD repository without publishing or discarding your local changes, so the lock on the repository has not been released.
Click Cancel.

Note: At this point, you have the option to publish the repository (copy the local copy of the shared repository to the server), discard the local changes, or close the repository and keep the lock.

5.Select File > Multiuser > Publish to Network. (The local copy of the shared repository is merged with the shared repository and then closed and deleted).

6.Select File > Multiuser > History. Log in as Administrator with the password Administrator.


The Version 1 of shared_sh repository is opened and the history of changes is displayed.

7.Right-click the entry and select View > Details. Observe that the event details for the project are displayed.


Close the details window. Also, select Action > Close to close the the History window.

8.In the Administration Tool, select File > Open > Offline.
Navigate to Shared Documents\RPD folder and select shared_sh.rpdClick Open to open the shared master repository.

Click Yes to acknowledge that it can only be opened as read-only, and log in as Administrator .

9.Expand the SH presentation catalog and ensure that the Channels presentation table no longer appears.

Close the repository. Select File > Exit to close this instance of the BI Administration Tool.

Publishing the Changes to the Network as the Second User
As the second user Kurt, you can verify or discard the changes made and checked in by Karen and publish the changes to the net work:
1.Return to the instance of the Administration Tool with Kurt.rpd open.
Expand the SH presentation catalog and observe that Channels still appears. This is because the user Kurt had checked out this project before Karen deleted the Channels table.

Select File > Multiuser > Merge Local Changes. Click OK to accept the default lock information.



Note: The fact that Channels table was deleted is listed in the merge log and indicates that another developer did this. This is why the application copies the latest version of the shared repository when performing a checkin.
2.The Merge repositories dialog box opens. Select the listing to highlight it and then click the ellipsis button  to view the details of the objects deleted from the Current repository.

In the details dialog box that appears, click Cancel.


In the bottom panels, the original Kurt project, the modified Kurt project, and the current shared_sh repository are shown. The differences between the projects are displayed. In this case, the original and modified repositories have a Channels presentation table that is not in the current shared repository. At this point, a decision must be made about how to proceed with the merge that is whether to accept the changes made by Karen or discard the changes.

3.In the Decision column for the highlighted listing, choose Modified (A) from the drop-down list (it may be necessary to scroll to the right).
This chooses the modified repository over the current repository (this does not have Channels table), thereby rejecting the changes of the other developer, and restoring the repository to the state before Karen deletedChannels.

4.Click Merge. Click No when prompted to check for global consistency.


Ensure that Channels now appears in the SH presentation catalog.



5.Select File > Multiuser > Publish to Network to publish the repository.
Click No when prompted to check for global consistency. The local shared repository is merged with the master shared repository.


6.Open Shared Documents\RPD\shared_sh.rpd in read-only mode as Administrator and ensure that the changes made by Karen are discarded by Kurt. Ensure that Channels appears in the SH presentation catalog.




Note: In this tutorial, you have set up and worked in the multiuser environment using the BI Administration Tool. You worked on the same repository sh.rpd, to make changes as different users and merged these changes as appropriate. However, as an administrator you may want to merge the changes from multiple repositories outside of MUDE. This is sometime referred to as manual merge process, though the underlying technique remains the same, that is the three-way merge process. An OBE for describing the techniques ofMerging/Importing Objects from Different Repositories is under development, and will be made available shortly.

Summary
In this tutorial, you learned how to:
To learn more about Oracle Business Intelligence, you can refer to: