cancel
Showing results for 
Search instead for 
Did you mean: 

Change Infoview general properties for all users

Former Member
0 Kudos

Hi Guys,

I have around 400-500 users in our system.

All of them want their Infoview homepage to be Public Folder tree structure.

I browsed through this link http://scn.sap.com/docs/DOC-6324. But this is for changing the viewer properties.

Below is the code from the comments section.

<%@ page import = "com.crystaldecisions.sdk.plugin.desktop.user.*,

                   com.crystaldecisions.sdk.occa.infostore.*,

                   com.crystaldecisions.sdk.framework.*,

                   com.crystaldecisions.sdk.exception.SDKException"

%>

<%

String username = "Administrator";

String password = "password";

String cmsname = "cms name";

String authtype = "secEnterprise";

IEnterpriseSession oEnterpriseSession = null;

try

{

oEnterpriseSession = CrystalEnterprise.getSessionMgr().logon(username, password, cmsname, authtype);

IInfoStore oInfoStore = (IInfoStore)oEnterpriseSession.getService("","InfoStore");

String query = "select * from ci_systemobjects where si_name='administrator' and si_progid='CrystalEnterprise.User'";

IUser adminUser = (IUser)oInfoStore.query(query).get(0);

String adminInfoViewPref = adminUser.getProfileString("desktopsettings");

query = "select * from ci_systemobjects where si_progid = 'CrystalEnterprise.User' and si_name not in ('administrator', 'guest')";

IInfoObjects oInfoObjects = oInfoStore.query(query);

if(oInfoObjects.size() < 1)

out.println("no users found!");

else

{

    for(int i=0; i < oInfoObjects.size(); i++)

    {

        IUser oUser = (IUser)oInfoObjects.get(0);

        oUser.setProfileString("desktopsettings", adminInfoViewPref);

    }

    oInfoStore.commit(oInfoObjects);

}

}

catch(SDKException e)

{

    out.println(e.toString());

}

finally

{

    if(oEnterpriseSession != null)

        oEnterpriseSession.logoff();

}

%>

I get the below error:

com.crystaldecisions.sdk.exception.SDKServerException: Active Directory Authentication failed to get the Active Directory groups for the account with ID "7BD5F274041E0E42893F9CFAB1FE146D:C3MARTI;CN=poh1393, etc . . .

What i want to achieve is the Public Folder list should be displayed as the homepage for all the users.

Can someone help me out with this code or provide me a working code?

Thanks a lot

Shreyas

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Anchal,

I could execute the code in the prod server.

Previously i tried to execute in another dev server which gave the above error and it was taking very long time to update objects.

Question is will the settings be intact for all the accounts when all the users are linked to Active Directory through SSO.Right now users have only 1 entry in CMC i.e. sec:enterprise

Please note that SSO currently is not working for all the users. I want to make sure that the settings are still in when SSO works.

Regards

Shreyas

former_member189544
Contributor
0 Kudos

Hi Shreyas,

as these settings are stored on the user object and not the alias, it should be no problem.

By the way:

In BI 4.0 platform this can be accomplished out of the box...

Regards,

Harald

Former Member
0 Kudos

Hi Anchal,

Even i suspect the same issue. I will log a ticket with the Admin team as i have msg displayed in CMC as

" The Program Object for the AD Group Graph Update cannot be found. No Group Graph Updates will occur. The Program Object may have been removed from the system.

"

Any thoughts you have on this. Please share.

Regards

Shreyas

Former Member
0 Kudos

Hi Shreyas,

Assuming you are on BO 3.1, check & confirm that "UpdateADPlugin.en.biar" file is present at the below path:

<Installation directory>/Business Objects/Business objects 12.0/Packages

If the highlighted bair file is present at the specified path, perform update objects from Central configuration Manager (CCM). If the file is not present then followthe steps below:

1.Copy the "UpdateADPlugin.en.biar" file from any other working environment to the non working environment

2.Perform "Update Objects" from Central Configuration Manager(CCM)

3.Log into CMC and navigate to Win AD page if the Schedule AD Alias Update button is greyed out then restart Central Management Server (CMS)

You would need to perform the steps depending on the server version as pior to XI3.1 SP5, the 'Update Objects' button would do two main tasks:

  1. For any environment where the db was reinitialized or upgraded from a previous version using the CMS Database Copy option, 'Update Objects' was a mandatory step. 
  2. Once step 1 was finished, 'Update Objects' would execute the file "C:\Program Files (x86)\Business Objects\BusinessObjects Enterprise 12.0\win32_x86\scripts\ccmrestore.bat" and insert any missing sample reports, program objects, etc.

  After BO XI3.1 SP5 version, step 2 above is not executed.  The only way to insert these samples is to run the ccmrestore.bat file manually or to run any of the individual lines within the ccmrestore.bat in a cmd window.  

  • If you want to execute the ccmrestore.bat file, first edit it with Notepad.  In the top section, edit each of the following 4 lines:

SET ICMSNAME=%2
SET ICMSUSER=%4
SET ICMSAUTH=%6
SET ICMSPSWD=%8

Change line 1 to your CMS name.
Change line 2 to 'Administrator'
Change line 3 to 'secEnterprise'
Change line 4 to your Administrator password.

Once modified and saved, you can execute the ccmrestore.bat file by double clicking it.

  • If you wish to only add the ADplugin program objects, you can run the following line in a cmd window.  The paths referenced below are the defaults.  If you've changed any or installed to a non system drive, please alter prior to running the command.  Also be sure to change the three variables below: CMS name, CMS Administrator username,  CMS Administrator password.  Everything else can be kept as-is.  A copy/paste will work best.
IF EXIST "C:\Program Files (x86)\Business Objects\BusinessObjects Enterprise 12.0\Packages\UpdateADPlugin.en.biar" "C:\Program Files (x86)\Business Objects\javasdk\bin\java.exe" -jar "C:\Program Files (x86)\Business Objects\common\4.0\java\lib\InstallEntSDKWrapper.jar" "CMSname" "Administrator" "Password123" "secEnterprise" 1 "C:\Program Files (x86)\Business Objects\BusinessObjects Enterprise 12.0\Packages\UpdateADPlugin.en.biar" 1>&2

Hence if you are on BO XI 3.1 SP05 or higher version, you would need to run ccmrestore.bat file manually.

Hope it helps.

Regards,

Anchal

Former Member
0 Kudos

Hi Anchal,

Thanks for sharing.

I did find the UpdateADPlugin.en.biar in the specified path and clicked on update in CCM.

However it is taking long time just to find out what is to be updated.

What will be the next step after updating CCM?

Should i go to CMC and update the AD graph? After this when i run the code, will it work.

FYI im using

BO Version: BOXI R3.1 SP3

DB: SQL 2008

Former Member
0 Kudos

Hi Shreyas,

Yes, once the graph is updated successfully, you can try to execute the java code.

Awaiting your response.

Regards,

Anchal

Former Member
0 Kudos

Hi Shreyas,

I am assuming that you are passing enterprise user credentials in the java code to connect to BO server.

The code looks fine, however, I believe that while copying over the preferences to the target users, the query to retrieve target users is not executed successfully as the AD user account has not been removed completely from the AD group on the BO Enterprise side.

To resolve the same,Go to CMC > Authentication > Windows AD and update the graph.

Once the AD graph is updated successfully, try to execute the java code.

Hope it helps.

Regards,

Anchal