BusinessObjects Board

Changing User Preferences to a Default Home Page in XI R2

Here is the Script to Sync all the User Preferences in the Business Objects Repository to a set a Default Home page (Infoview , My Infoview , Dashboard …) . This Script works for both Business Objects Infoview XI R2 and Performance Management XI R2 Modules using a Java Web Server (Tomcat). This is very useful when you want to set a single home page for all users after login into the Business Objects XI R2 Deployment instead of manually changing the Home page and Preferences Parameters individually in user preferences and could also be used to set up a standard user profile for example : Java Viewer for WebI and DHTML Viewer for Crystal Reports Users in the XI R2 deployment .

The Installation Instructions are as follows
Copy the files in the zip file to the following locations on to the Web Server (Tomcat) is located or the Directory on the webserver where the Business Objects Directories are located:

D:\Program Files\Business Objects\Tomcat\webapps\businessobjects\enterprise115\desktoplaunch\InfoView\preference\

Login as Administrator into Infoview, go to User Preferences, scroll down to the bottom of the General tab, u should see the new button.

Please Restart the Web Server (Tomcat) after these files have been copied for the new settings to take effect.

You should see a new button (sync preferences from current user to all)appear in the User Preferences → General Tab. I would recommend that you disable the ability to change preferences for all users other than the administrator user.

:lol: :lol: :lol:
CopyPreference.zip (12.0 KB)


EnterpriseArchitect :us: (BOB member since 2006-03-23)

Approved, and moved to BOB’s Downloads.


MichaelWelter :vatican_city: (BOB member since 2002-08-08)

I have BOXIr2(Tomcat) (SP - 3), I did try the above method, but it not working :frowning: .


kurt (BOB member since 2006-11-06)

Please try deleting the Tomcat Work folders (Temp Cache Files) and restart the Tomcat service . Tomcat will automatically regenerate the work folders and the button should appear.


EnterpriseArchitect :us: (BOB member since 2006-03-23)

It does work, thank you very much.


kurt (BOB member since 2006-11-06)

Hi - this is an excellent script - really very useful.

I experienced one minor issue with it though - all preferences I needed copied except for ‘Desktop Intelligence viewer’.

Ideally we’d like to set the default to PDF for everyone.

Is there something else I could add to include this too?

i.e. another .getProfileString call for Deski Viewer settings? Struggling to find in SDK docs.

Thanks,
Gary


greemayes (BOB member since 2006-02-21)

is there any such global prefereance script for weblogic on Solaris 10 BOXI R2 sp3 without having to install EPM(we do not have license for EPM).


shyamdev :japan: (BOB member since 2005-08-05)

I dont believe EPM is “required”. I am using the script just find without EPM installed.

As far as DeskI settings, if you goto Query Builder of the Admin Launchpad.

Use this query:

SELECT SI_DATA FROM CI_SYSTEMOBJECTS WHERE SI_PROGID = 'CrystalEnterprise.User' 

Or you can query a specific user:

SELECT SI_DATA FROM CI_SYSTEMOBJECTS WHERE SI_PROGID = 'CrystalEnterprise.User' And SI_Name = 'Administrator'

You will get a list of whatever settings are set for that user.
From there you can just add it to the script.

For Example:
Say we want to set CADENZA_SelectedView, which doesnt appear to be in the script (possibly intentional to limit query execution time)

In the script add a line to get, that says:

String sCADENZA_SelectedView = sUser.getProfileString("CADENZA_SelectedView");

And one to set:

iUser.setProfileString("CADENZA_SelectedView", sCADENZA_SelectedView);

That should do the trick. There are potentially hundereds of possible settings that can be set here which is probably why they are not all in the script.

I would set a users prefs up how you want them, the query for that users prefs, and setup the script to do just those. Even if that involves removing some of the ones that are in the script now.

Interestingly ALL prefs can be set in one step using a vbs file. Apparently the Java and .NET SDK’s are quite different.


setPrefs.vbs
'*****************************************************************
'This script will copy preferences from the user specified below 
'to all other users on the system.
'This will simulate "Global Preferences"
'This script has no prompts, since it was written to be published 
'and run from within BOE.
'I do suggest you disable preferences button deny rights to preferences
'if you are using this script


'Begin parameters
'*****************************************************************

Const ceUsername = "Administrator" 'This is a BO admin
Const cePassword = ""			   'password for User specified above
Const ceAPSName = "cms"	   'BOE CMS Name
Const ceAuthType = "secEnterprise" 'Auth Type, usually secEnterprise
const sourceUser = "administrator"  'This is the user to copy preferences FROM
AllUsers = "0" 'Set this value to 1 if you are manually running the script to set rights on all inboxes, otherwise the script will only look for users added today
Scheduled = "0" 'Set to 1 if scheduling this script in BOE this will make it run silently, otherwise use 0

'******************************************************************
'End Parameters
'Do not modify past this line (unless you know what you are doing)
'******************************************************************



dim today
today = Year(date) & "." & Month(date) & "." & Day(date)


Set ceSessionManager = CreateObject("CrystalEnterprise.SessionMgr")
Set ceSession = ceSessionManager.Logon(ceUserName, cePassword, ceAPSName, ceAuthType)
Set ceInfoStore = ceSession.Service("","InfoStore")


Set sUser = ceInfoStore.query("SELECT SI_NAME, SI_DATA FROM CI_SYSTEMOBJECTS WHERE SI_PROGID = 'CrystalEnterprise.User' And SI_Name = '"& sourceUser &"'").Item(1)

if AllUsers = "0" then
	Set targetUsers = ceInfoStore.query("SELECT top 50000 SI_NAME, SI_DATA FROM CI_SYSTEMOBJECTS WHERE SI_PROGID = 'CrystalEnterprise.User' And SI_Name != '"& sourceUser &"' AND SI_CREATION_TIME >= '"& today &"'")
else
	Set targetUsers = ceInfoStore.query("SELECT SI_NAME, SI_DATA FROM CI_SYSTEMOBJECTS WHERE SI_PROGID = 'CrystalEnterprise.User' And SI_Name != '"& sourceUser &"'")
end if

For each user in targetUsers
  user.properties.add "SI_Data", sUser.properties("SI_Data").properties
Next

ceInfoStore.commit targetUsers

'Inform End User Script is complete
if Scheduled = "0" then
	MsgBox targetUsers.count & " User(s) updated" & vbCrLf & "Done"	
end if

GigaGuy :us: (BOB member since 2007-02-13)

When i click on the “sync preferences from current user to all” i get the below error.

“The property with ID SI_DATA does not exist in the object”


KhoushikTTT :us: (BOB member since 2005-02-24)

How about a script that will change preferences for a given security group? I have diverse groups and I only want to set the default folder for a select group.


alpha1145 :us: (BOB member since 2006-01-04)

Hi,
I tried this code, i was able to see the new button “Sync preferences from current user to All” when i logged in as Administrator. But when i clicked on it I got this message “The property with ID DOCUMENT_WIViewTechno does not exist in the object” and the preferences were also not set to what were set for the Administrator. Can you tell if i need to update this property in the webi.properties or some where ?

Thanks

  • Raj

krprasad (BOB member since 2004-01-30)

Hi,
I was able to find the issue and fix it. Basically seems like its trying to get the value for viewer that is not available in the JSP. I commented that variable and many other such variables which i kept getting as i fixed one by one.

//String sDocWIViewTechno = sUser.getProfileString(“DOCUMENT_WIViewTechno”);

and also
//iUser.setProfileString(“DOCUMENT_WIViewTechno”,sDocWIViewTechno);

  • Rajendra

krprasad (BOB member since 2004-01-30)

Hi, has someone tried this SCRIPT on XI 3.0?
I upgrade our system but now I have lost this feature… :cry:

Thanks!


Branda (BOB member since 2005-09-26)

Can someone tell me how to disable the button for all other users?


mnotelte (BOB member since 2002-08-29)

Disable the ‘preferences’ button in Infoview? It is a specific right you can set in the Infoview application rights section.

Granting the change user’s preferences right for InfoView allows users to
modify all the preferences for their view of InfoView.


Orange :netherlands: (BOB member since 2006-09-18)

Hi alpha1145,

Have you got any solution for changing preferences for a particular group?
If you have can you please share it?


MightyBO :us: (BOB member since 2007-06-28)

I found this script very usefull. Installing was easy end it worked without problems.

But now we want to remove this button from Infoview. I saved the original files and move the originals files back. I restarted tomcat, but the button is still there.

My question is: ‘How can I remove this tool’.

Thanks for your help


rudwh :netherlands: (BOB member since 2008-12-01)

The Workfiles folder on your web server would need to be deleted to remove the cache files and the button can be removed.


EnterpriseArchitect :us: (BOB member since 2006-03-23)

This seems to be a useful script. How about .Net? :expressionless: Any plans for a .Net version?


twenty5 (BOB member since 2008-01-22)

I am talking about the post made on BOBJ forum preferences issue…

I tried by downloading and installing in tomcat but still it doesn’t work…

And my other issue is making our “Performance Manager” as home page to our users… can any one help me out in this…

Thanks in advance


starter123 (BOB member since 2008-03-13)