Saturday, 30 April 2011

OBIEE – Multi User Development

The concept of the MUDE, or Multi User Development Environment, was introduced way back with Siebel Analytics 7.7. In theory it is really quite simple; in practice, although useful, it can be tedious.
Setting up the MUD
Set up is very easy. Primarily all you need is a shared folder on a filesystem, accessible to all of the relevant developers.
  • Open the Administration Tool
  • Select Options from the Tools Menu, as in the screenshot below.
Select Options from Tools Menu
Select Options from Tools Menu
  • Select the Multi-User Tab
  • Browse to the Folder containing your Multi User RPD File
  • Enter your Name and Click OK
Complete the Options' Multiuser tab
Complete the Options' Multiuser tab
And actually thats it; you’re setup.  Each developer that requires access must follow the same process.
Using the MUD
For the rest of this article we will use the samplesales.rpd file as an example.  The RPD is organized into 2 Projects.  When we want to work on the RPD in a shared environment we check out the project that we want to work on; make our changes; merge our code back into the shared repository and then, once totally happy, publish our merged repository to replace the current version.
Checking Out a Project
  • Select Multiuser, Checkout from the File MenuSelect Multiuser Checkout from the File Menu
  • You will be prompted for a Username and Password for the MUD RPD
Provide Username and Password
Provide Username and Password
  • From the Project List, select the Project(s) that you would like to Checkout and Click OK
Select Project(s) to Checkout
Select Project(s) to Checkout
  • A subset of the Current Repository will be created locally, containing only the project(s) selected.  Choose a name and location for the file; I would just accept defaults; and click Save.
Save your Modified, or subset, Repository File
Save your Modified, or subset, Repository File
The subset Repository, known as the Modified version, is now stored locally and should be open in the Admin Tool.  This is the point at which you should generally make changes.
Merging the Project back into the MUDE
  • Select Multiuser, Merge Local Changes from the File Menu
Select Multiuser Merge Local Changes from the File Menu
Select Multiuser Merge Local Changes from the File Menu
  • You should receive a request for Lock information, as below.  If you don’t you will probably receive  Information that the Repository is already locked.  The information may tell you when it is likely to be available, or you may have to contact the person currently locking it.  You don’t need to Complete the Lock Information, but it may help your fellow developers.  Click OK.
Enter Lock Information and Click OK
Enter Lock Information and Click OK
  • You will get a Merge Repositories Dialog Box.  Any conflicts between your Modified RPD and the Current RPD will be detailed here; for each conflict you must specify which specify which RPD is correct; the Merge button will not be available until all conflicts are resolved.  Resolve any conflicts and click Merge.
Note: When you Checkout, a copy of the project(s) checked out will be contained in your Modified Repository, stored locally; this will contain any changes that you have made during Checkout.  At the point of Checkout a copy of the whole MUD Repository is also taken and this is referred to as the Original Repository.  The Current Repository is the MUD, containing any changes made since your Checkout.  The 3 versions of the RPD are required for the 3 Way Merge.
  • At this point you should check Consistency of the Merged Repository, Click Yes
Click Yes to Check Consistency
Click Yes to Check Consistency
  • All going well, you should recieve a blank sheet as below; click to Close the Consistency Check
Click to Close the Consistency Check
Click to Close the Consistency Check
You should now have a copy of the Current Repository with your changes merged.  At this point we have not committed to the merge; we can still Discard Local Changes; although we would lose our changes, we would not impact the MUD.  We have also locked the MUD so no other changes can be made until we do either discard these changes or publish them to overwrite the Current Repository.
Publishing the Merged Repository
  • Select Multiuser, Publish to Network from the File Menu
Select Multiuser - Publish to Network
Select Multiuser - Publish to Network
At this point you will be asked again whether you would like a Consistency Check.  If you have made no further changes since the Merge then there is no reason to.  However, you are able to make changes post merge, whilst the Repository is still locked; this second Consistency Check should be used in this case.
When to Configure the Merged RPD
We should configure a locked RPD, post Merge, when our changes could be considered global to the RPD; such as changing the Administrator password.  It is not necessary, but may be useful for example if we introduced a new Dimension that joins to every Fact.  And as you start to use the MUD you will come to learn there are a couple of strange ‘features’ that can be overcome by editing in the locked RPD.
You should remember that this is not a risky approach as you are not committed until you Publish your changes; but locking the RPD for longer periods may impact other developers.
OBIEE Project Management
So far I’ve not mentioned how you organize your RPD into Projects, but you will need to know how to do this and how to make changes.  You can manage projects in either the Checked Out or Locked RPD.
  • Select Projects from the Manage Menu
Select Project from the Manage Menu
Select Project from the Manage Menu
  • The Project Manager will open; double click to view or edit an existing Project
Double Click on an existing Project to View it
Double Click on an existing Project to View it
Note: To Create a new Project Select NewProject from the Action Menu
  • In the Project Definition Window the applet on the left shows Objects available in the RPD and the applet on the right shows those Objects included in this Project.  Use the Add and Remove buttons to manage the Objects contained withint this Project and click OK.
Choose the Objects contained in the Project
Choose the Objects contained in the Project
Note: An object can be contained in more than one Project; and indeed the same Project can be checked out by many different users at the same time.
The next time you Checkout, any new projects should be displayed; and edited projects should reflect any changes made.

No comments:

Post a Comment