Random Thoughts

Views on life

Archive for the ‘Administration’ Category

How to setup report bursting (data driven publication) in BusinessObjects

Posted by Hemanta Banerjee on February 23, 2011


One of my favourite features of BusinessObjects is the data driven publication or report bursting. This allows the administrator to very easily setup personalized reports to be delivered to the users at scheduled intervals. For example if I want to send out a pipeline report with all of their active opportunities to all my sales managers every week the report publication feature would allow me to do this with just 1 single report as opposed to creating multiple reports, one for each sales manager.

So how do we set it up. It is quite simple. Let us say we have a report that shows the internet sales orders by country as shown in the report below.

image

Now I want to create a publication such that the sales administrators for each of the regions get the report for their respective territories. So first I set up another report (called recipient report) which list all the users and their email addresses as shown below.

image

Instead of hardcoding the users I have decided to make it very parameterized by using the database and crystal reports. In a database table I maintain the contact details for each of sales administrator and the territories that they manage.

image

This approach allows me to change the distribution at any time without having to worry about modifying any of the reports or scheduled jobs. Now using Crystal reports I have developed the report shown above, which is what I am going to use as the input for the scheduled job.

Now comes the process of setting up the scheduled job. In CMC (or Infoview) right click on the folder where you want to save the job and create a new publication job.

image

 

Now give the job a name and also select the report that you want to send to your users.

image

 

The next step is setting up the recipients of this report. You would use Enterprise Recipients if you wanted to send the report to the users of the BusinessObjects system. However this is not mandatory. As shown below you can also email the report to other users who do not have access to your BusinessObjects server. These could be your employees or even your customers/business partners.

image

With Dynamic recipients I can email reports to anyone as long as the mail server information is setup correctly in my BOE system. You would need to set this up in a couple places and I will cover this in a later post. For now assuming it is setup we can use the recipient report created earlier and map the user name and emails from that report.

image

The next step is personalization. I want the sales administrator for Australia to only get the orders from Australia. This is setup in the personalization section of the job. In this case the report is grouped by DimGeography.EnglishCountryRegionName and I use that split the report.

image

As shown above I can use the country name from the report and mapping to the country name for the recipient I am instructing the job to split the report by  DimGeography.EnglishCountryRegionName and use the Recipient Mapping column to deliver to the right user.

image

After setting the other aspects such as format and schedule, you can go ahead and test this publication job. You can either deploy it directly or you can test it first. I would recommend testing it, whereby you can give your email address and the job would run but instead of emailing the reports to the users it would be delivered to you.

image

That’s all there is to setting up publications. Now coming to setting up the mail servers, there are a couple of services for which we would need to set the email servers. The easiest way to get it to work is to first use a local email server to test the functionality and then moving to the corporate mail server. You would need to setup email as a destination for the following

  • Adaptive Job Server
  • Destination Job Server
  • Program Job Server
  • Publication Job Server
  • Crystal Reports Job Server

For each of the service right click and select destination as shown below

image

And set the details for the email server.
image

Posted in Administration, BusinessObjects, Distribution, Publication | Tagged: , , , , | 7 Comments »

Migrating from development to production in BOE (Lifecycle manager)

Posted by Hemanta Banerjee on December 8, 2010


One of the cool new features in BOE XI 3.1 is the new lifecycle manager (LCM) module. Migrating reports and other objects from development to production has been a challenge in all of my previous implementations and I am happy that BusinessObjects provides some out of the box functionality to make this process really simple. When using LCM for migration you create jobs. Once a job is created it can be used several times to promote content from one deployment to another.

Please note that LCM is a separate installation and requires the following Services:

  1. Central Management Server: LCM job itself is an object which is saved in CMC.
  2. Adaptive Processing Server: The LCM job server is added to the Adaptive processing server
  3. Web Application Server: LCM is a web application
  4. Input FRS : This is a server you need available after installing, as jobs that you create in LCM are saved in the Input FRS and CMS repository.
Administrative Settings

Access to the LCM application is set by managing the security for the application in CMC as shown below.

image

Also before creating new jobs you need to add the source and target BOE systems in the LCM application using the administration options shown below.

image

Creating the LCM Job

To migrate objects, you have to first have to specify which content you want to promote. This is done in LCM tool with 3 main steps:

1. Create a Job: A job is collection of objects that can be moved from one BOE environment to another.

When you create a new job you must logon to the source system and an Input FRS should be running and enabled as the Job is saved as an Object in the CMS database and as a file in the Input FRS.

image

In the example above I am migrating objects from my BOE environment as the source to a BIAR file.

2. Add Objects: Add the required objects from the CMS repository that should be migrated. In this example I am migrating all the reports related to the sales and finance department.

image

3. Add the dependent objects : Objects such as universes, connections, images and other dependencies on which the primary objects depend on also have to be added to the job. LCM will automatically compute the dependents when you click on “Manage Dependencies”.

image

And now all the objects and their dependents are selected in the job as shown below.

image

Now my job is ready for the next step which is promotion. You can promote content when deployments are connected and also when they are isolated. When deployments are connected you can directly migrate to the destination. When they are isolated you use a LCMBIAR file to transport the content.

Promoting to target

But before promoting you need to set a bunch of options.

image

1. Map Connections: You need to map all the universe, QWAAS URL and Crystal report database connection mappings to the target.

image

2. Schedule: To set how often the job should run.

image

3. Security: You can specify to promote the security of the objects in the job as a best practice only promote security when changes have been made, typically with a significant revision of the application.

4. Test: As the last step you can test what would happen when promoting the job, without committing the objects to destination

To promote a job you can schedule it or you can run it manually. The figure below shows the 2 scenarios of connected and isolated environments.

Posted in Administration, BusinessObjects, LCM | Tagged: , , , , | 3 Comments »

Auditing III: How to enable auditing for Crystal Reports and WEBI viewing

Posted by Hemanta Banerjee on November 4, 2010


A couple of weeks back I had written an article on enabling auditing in BOE. The same functionality is available in Crystal Reports server as well. However I had missed out what activities can be audited. So writing this post to complete my previous posting. Below are the most of the common scenarios that the administrators want to audit.

Crystal Reports Cache Server: Viewing of Crystal reports is audited by Crystal Cache Server.

image

Crystal Reports Jobs: Can be turned on by enabling auditing for Crystal reports job server.

image

Destination Job Server: Will audit all jobs that output to emails, ftp, and file system.

image

Event Server: Audits all events that are registered on the BOE or Crystal Reports server.

image

Publication Job Server: Will audit all publication jobs.

image

WEB Intelligence: Audits access to all WEBI reports.

image

For steps on how to turn on auditing and how to look at audit data you can go to my previous posts on the same topic.

Auditing I: How to enable audits logging in BOE XI 3.1 

Auditing II: How to import the auditing reports in BOE

Posted in Administration, Audit, BusinessObjects | Tagged: , , , , , | 1 Comment »

How to setup report scheduling and report distribution for BusinessObjects

Posted by Hemanta Banerjee on October 29, 2010


I came across this posting on the BOBJ board asking how to setup report distribution, but the reports should run only if the ETL process is successful. This ofcourse can be done using event based scheduling in BusinessObjects. So here you go – in this post I will talk about scheduling including event based scheduling. I will also talk about how to setup report distribution using EMAIL or to a folder.

Setting up Calendars

Let us first look at the various options for scheduling reports. BusinessObjects allows for scheduling reports either based on time, custom calendars or events. The simplest is to use the built in schedules provided out of the box.

image

These cover most of the common scenarios such as “1st day of the month” etc. For example the screenshot below shows that the report will run on the 3rd Monday of every month.

image

If none of these meet the requirements you can also setup custom calendars. For example let us say I want to run a report on the 3rd day of every quarter except Q4 where I want to run it on the 9th day of the quarter. This cannot be met by any of the standard calendars, so I will go ahead and define a custom calendar.

image

After setting the name I can go ahead and select the days when I want to run the report. I can either select specific days as shown below

image

I can also choose by day of the month. For example below the report will run on the 3rd and 10th day of every month.

image

Similarly I can also schedule for day of the week. For example below the report will run on the 1st thursday and third thursday and friday of every month.

image

While we can do a lot of fancy things I would recommend that we keep it simple. After defining the calendar we can go any report and schedule it using our custom calendar that we have defined.

image

Setting up Events

We can also schedule reports to be triggered on events. There are 3 kinds of events.

image

Custom Events: They have to be raised by calling the BusinessObjects SDK. Used to integrate reporting with other applications. We can have any application/web service use the BOE SDK to raise an event to trigger generation of a report.

File Events: BOE will looking for specific files, for example below the BOE will wait for a file called etl_complete.txt on d:\temp and will trigger the event if this file is found.

image

Scheduled Event: This is usually defined to define event chains. For example I want to run report 2 only if report 1 was successful.

image

Scheduling

Now let us setup a scenario. I want to run the P&L report only if the ETL is complete. And if the P&L report is run successfully then I will run the Balance Sheet report as well. Right click on the P&L report and select Schedule.

image

Since I want to test this I am scheduling it to “Now”. I am also setting the retry for 20 and retry interval to 60 seconds. This essentially means that the server will wait for 20 mins for the ETL Complete event to occur. 

image

I also setup the events as part of the scheduling setup. I want to wait for the ETL complete event. This event will be triggered by the ETL application by placing a file in d:\temp folder. Also if the report generation is successful I will trigger the P&L Complete event which can be used to trigger the Balance Sheet report.

image

Last few steps are setting the format and the destination which I have set as PDF and the report will be delivered to the default enterprise location for the user. Checking the status of the job I can see that it is waiting for the ETL complete event.

image

As soon as the ETL process places the file BOE automatically picks it up and kicks off the job.

image

And successfully completes the job.

image

Event Chaining

As discussed earlier I can also chain events. For example I have scheduled the Balance Sheet Report to run when the P&L Complete event is triggered.

image

The P&L report is waiting for the ETL to complete and the Balance Sheet report is now waiting for the P&L report to be complete. This is what I mean by event chaining.

image image

 

As soon as the ETL process places the trigger file it first kicks off the P&L report and if that is successful will trigger the balance sheet report.

image

If both are successful they will be delivered based on the settings for the job which in this example was the inbox for the user in infoview.

image

In a separate post I will talk more about how to configure other destinations such as email and FTP servers.

Posted in Administration, BusinessObjects, Custom Calendar, Distribution, Event | Tagged: , , , , , , , | 1 Comment »

How to configure IIS Tomcat connector (ISAPI connector) for BusinessObjects

Posted by Hemanta Banerjee on October 28, 2010


One of the frequent questions I run into on the BOBJ board is around setting up IIS and tomcat connector for BusinessObjects. I believe most of these posts are from customers using BusinessObjects Edge which does not support IIS as the web server. In order for this to work I used the Jakarta connector (AJP13) from Apache which allows IIS to forward specific requests to Tomcat. This is especially useful if you want to enable Windows Integrated Authentication for your IIS server and setup SSO with trusted authentication. This setup would enable the user to logon to InfoView without having to enter any user id or password.

Setting up ISAPI connector with IIS

The AJP13 Jakarta connector (version 1.2.14) can be found on Apache Software’s site at: http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.14/. Download the isapi_redirect-1.2.14.exe.

image

This is a windows installer and after installation it would have setup a couple of things. By default the software is installed in “C:\Program Files\Apache Software Foundation\Jakarta Isapi Redirector”.

image

Installing and Configuring the Jakarta Connector on IIS

Step1: Configure the ISAPI connector configuration files. There are 2 main files to edit

workers.properties.minimal – This file provides configuration properties needed to connect to Tomcat. Find the “worker.ajp13w.host” and change the value from localhost to <machine_name>

image

uriworkermap.properties: This file contains all the mappings that will use by the ISAPI connector. There are some defaults. In the next step we will add the BusinessObjects related URL’s here.

image

I needed to add the following to this file as shown above

/businessobjects/*=wlb
/jsfadmin/*=wlb
/dswsbobje/*=wlb
/styles/*=wlb
/AnalysisHelp/*=wlb
/AnalyticalReporting/*=wlb
/AdminTools/*=wlb
/AnalyticalReporting/*=wlb
/bomm/*=wlb
/BusinessProcessBI/*=wlb
/CmcApp/*=wlb
/CmcAppActions/*=wlb
/CrystalReports/*=wlb
/DataServices/*=wlb
/doc/*=wlb
/dswsbobje/*=wlb
/ExtendedAnalytics/*=wlb
/fim/*=wlb
/Flexstore/*=wlb
/InfoViewApp/*=wlb
/InfoViewAppActions/*=wlb
/InfoViewPCM/*=wlb
/MetadataManagement/*=wlb
/OpenDocument/*=wlb
/PerformanceManagement/*=wlb
/PlatformServices/*=wlb
/PMC_Help/*=wlb
/polestar/*=wlb
/PolestarAppActions/*=wlb
/polestar_help/*=wlb
/polestar_tutorial/*=wlb
/STS/*=wlb
/VoyagerClient/*=wlb
/webservice/*=wlb
/Xcelsius/*=wlb

 

Step 2: Setup the virtual directory in IIS: The installer also defines the ISAPI redirector as a virtual directory in IIS as shown below. Check that execute permissions for this virtual directory is set to “Scripts and Executables”.

image

You also have to define the web service extension if using IIS. Right click on “Web Service Extensions” and define a new Web Service Extension called “Jakarta mod_jk” and required file as isapi_redirect.dll which can be found in the bin folder of Jakarta ISAPI redirector.

image

Now restart IIS using IISRESET.exe on the command line.

Installing and Configuring the Jakarta Connector on Tomcat

Now that you have the IIS ISAPI filter installed and configured on the IIS side, you have to configure Tomcat to accept connections from IIS. To do this, we will configure Tomcat’s AJP13 listener.

  1. On the Tomcat system (INSTALLDIR\Tomcat55) find the server.xml located in Tomcat’s \conf directory.
  2. Edit the server.xml. Search for the port=”8009” and uncomment and change the connector entry to look as follows

    <Connector enableLookups="false" port="8009" protocol="AJP/1.3" redirectPort="8443" tomcatAuthentication="false"/>

Save and restart Tomcat. If you do a netstat-an command on the command line you should see the tomcat connector listening on port 8009.

image

You can now test the connector by navigating to one of the tomcat samples such as the infoview URL on the webserver. For example: /InfoViewApp/">http://<iiswebserver>/InfoViewApp/.

Posted in Administration, IIS, ISAPI | Tagged: , , , , , , | 2 Comments »

How to configure NTLM for Crystal Reports Server/BusinessObjects Enterprise/Edge

Posted by Hemanta Banerjee on October 28, 2010


To simplify administration, BOE supports user and group accounts that are created using external directories such as LDAP, Active Directory and NT. In my previous post I had described the process for configuring LDAP authentication. Similar to setting up the authentication for LDAP the administrator needs to perform some basic setup to configure the server with the information needed to connect to the NTLM server.

Before I go to the setup needed in CMC, let me walk through some of the key concepts in a NTLM deployment. For my testing I am using the local windows users and groups. In order to make the administration simpler define a group in your NT server that will hold all the BOE users. I am calling it BOE_Users.

image

With that done now I can go to my CMC and enable NTLM authentication. The only difference between LDAP and NTLM is that in NT all I need to specify is the NT domain for user authentication.

image

For the meaning of the other settings please refer to the details on the LDAP post here. After selecting update the user and group will be added to the repository and now you can setup the access control for the user/group.

image

For details on how this works and how to enable the drop down allowing the user to select the authentication mode you can go to the LDAP posting. In a subsequent posting I will explain how to enable SSO and trusted authentication with NTLM which will allow the user to logon to Infoview without having to enter their user name and password.

Posted in Administration, Authentication, BusinessObjects, Installation, LDAP, NTLM | Tagged: , , , , , , | 3 Comments »

How to configure LDAP for Crystal Reports Server/BusinessObjects Enterprise/Edge

Posted by Hemanta Banerjee on October 21, 2010


To simplify administration, BOE supports user and group accounts that are created using external directories such as LDAP, Active Directory and NT. In my previous post I had described the process for configuring Windows NT authentication. Similar to setting up the authentication for NT the administrator needs to perform some basic setup to configure the server with the information needed to connect to the LDAP server.

Before I go to the setup needed in CMC, let me walk through some of the key concepts in a LDAP deployment. In my setup I have setup a freeware directory server Apache Directory. This is easy to setup and free so it works best for my testing. For the LDAP client I have used another freeware directory client from the Apache foundation called Apache Directory Studio.

image

You can easily create new users and groups using the directory studio and works great for the testing purposes. Ofcourse in a real production environment none of this would be necessary as you would be connecting to your corporate LDAP server. In order to make the administration simpler define a group in your LDAP server that will hold all the BOE users. I am calling it BOEUsers.

image

Now we can go to CMC and add this group in the LDAP configuration for BOE. You can add new authentication providers in BOE by clicking on the Authentication link in CMC.

image

After enabling LDAP, enter the connection details for the LDAP server. In my case I have installed on the localhost and my baseDN is dc=example,dc=com. You would also need to provide the logon credentials for the user which can be used by BOE to connect to the LDAP server for authentication. In my case I have used the admin ID however this is not essential. You can use any ID with read privileges on the baseDN.

image

You would also need to provide the LDAP group that will be mapped to BOE. I have used the BOEUsers group defined earlier. You will also need to define a couple of other parameters relating to how to map the users. For new deployments choose the options as shown below. If you want to map existing BOE users to LDAP userid’s then you can choose “Assign each added LDAP alias to an account with the same name” in the alias options. Also if your group mapped above contains only BOE users then the option selected in the Alias Update section will suffice. Otherwise if there are other users in the group who would not have access to BOE you can choose “Create new users when the user logs in” option in the Alias update options.

image

Now click on update. If you have selected the options above you will notice that the users from the LDAP group have now been imported as BOE users.

image

And the user has been mapped to the corresponding LDAP alias.

image

Now you can add this user to any BOE group for access control assignment and other security settings. The user can logon by selecting LDAP as the authentication mode in Infoview.

image

Enable Selection of Authentication Mode for Infoview and CMC

By default the authentication drop down is not displayed in Infoview. But you can enable it with a few settings. You need to change some settings on the web.xml file for your infoview application. The web.xml file is stored in the <INSTALLDIR>\Tomcat55\webapps\InfoViewApp\WEB-INF.web.xml and <INSTALLDIR>\Tomcat55\webapps\CmcApp\WEB-INF.web.xml.

To prompt users for the authentication type on the logon screen, locate the <authentication.visible> parameter and change its <param-value> from false to true. You would need to restart the Tomcat application server after this change.

<!– You can specify the default Authentication types here –>
<!– secEnterprise, secLDAP, secWinAD, secSAPR3 –>
<context-param>
<param-name>authentication.default</param-name>
<param-value>secEnterprise</param-value>
</context-param>
<!– Choose whether to let the user change the authentication type –>
<!– If it isn’t shown the default authentication type from above will be used –>
<context-param>
<param-name>authentication.visible</param-name>
<param-value>true</param-value>
</context-param>

Remember to stop TOMCAT and clear the tomcat cache at <INSTALLDIR>\Tomcat55\work\Catalina\localhost. Restart the application server and you should see the drop down for authentication providers in your Infoview logon page.

Now the user can logon to the system with their NT password.

image

How does LDAP Integration work

The diagram below is a summary of how LDAP authentication works between BusinessObjects and the LDAP server. When BOE is integrated with LDAP users and passwords are stored in LDAP and no longer defined in the Business Objects repository. The BusinessObjects clients authenticate against LDAP at runtime. The LDAP users inherit security from repository groups which are mapped to the LDAP group using repository group mapping.

iLDAP attribute (could be “role” attribute) to repository group mapping

image

The BusinessObjects LDAP users belong to group(s) that exist in the Business Objects repository. Access rights are attached to these repository profiles and to their parent groups. The authorization is made in two phases (1) At login, the system retrieves the list of security profiles associated to the user, by querying the LDAP corporate directory (2) Then the system computes the user access rights by combining the access rights associated to user security profiles in the repository.

image

Posted in Administration, Authentication, BusinessObjects, Installation, LDAP | Tagged: , , , , , | 6 Comments »

How to deploy BusinessObjects in a distributed environment (BOE Federation)

Posted by Hemanta Banerjee on October 21, 2010


Yesterday while talking to one of my shipping customers I realized that a traditional centralized BOE deployment would not work for them. They have multiple offices (Belgium, Luxemburg, Shanghai, Singapore). While the offices are all connected the bandwidth is an issue for them and they would like their users to use the WAN as little as possible.

While having separate deployments for each office is always an option, it also means that each BOE server would need to be managed separately – update reports in 4 places, manage security in 4 places etc.. you get the picture.

This is where Federation comes in. It is a great feature of BOE that allows BI administrators to create a process for copying BI content from one system to another while keeping the systems synchronized. The objectives of Federation are to:

  • Simplify the administration of multiple deployments.
  • Enable the distribution of content and/or security principals across geographically separated repositories
  • Avoid heavy use of Wide Area Network (WAN).

Essentially it is a great way to still manage the deployment in 1 place and replicate the content so that it can be accessed locally by the users. Federation enables administrators to distribute content and implement a consistent rights policy across this organization.One origin site can replicate an object to multiple destinations through multiple jobs. The only restriction is that you cannot replicate replicated content.

image

There are 2 main design patterns that can be used for such a deployment

(1) Centralized Design, distributed usage – In this business scenario, report creators and designers create reports, universes at the Origin Site. The Destination Sites then pull the content from the Origin Site and then reports are run at Destination Sites. Scheduling is performed at remote sites, instances stay at remote sites where the local databases reside. Localized instances can also be sent back to the Origin Site.

(2) Central Schedule, Distributed Access – In this case, all BI content is managed from a single origin site. This is where the data is and where the scheduling occurs. All pending job are sent to the origin site to run. The instances from the completed jobs are then sent back to the branch sites to be viewed.

Steps to create replication jobs.

Step 1: Create a Replication List on the Origin Site – A replication list is a list of objects to be replicated by a replication job. It only has pointers to the objects (reports, users, and universes) that have been selected for replication.

image image

 

Select the objects to be replicated. If you want to replicate the entire repository then just select “Replicate All repository objects” and click save.

Step 2: Create a Remote Connection on the destination site – Remote Connection objects contain the necessary information to connect to the remote BOE Server. this is The remote connection is create in the destination site. The remote BOE deployment is always considered the origin site and the BOE deployment where you create the remote connection object is always considered the destination site.

image

Step 3: Create a replication job on the destination site – A replication job is used to replicate content between two BOE Servers. A replication job must have the associated remote connection, the replication list.

image

Step 4: Schedule the Replication Job to run on the destination site

Couple of points to note:

1. Local data source connections have to be defined on the remote site. If the BOE server cannot find the definition of the local connections it will try to run the report against the origin site.

2. Do not try to use this for moving reports from developments to production. There is a separate LCM utility to do that. Details on that will come in a separate post.

3. Make sure that proper conflict resolution is set up to handle scenarios where reports can be modified both on the origin and destination site. Ideally the origin server should take precedence and will overwrite the changes at the destination.

More details on this can be found on the SDN website http://wiki.sdn.sap.com/wiki/display/BOBJ/Federation+in+BOE+XI+3.1

 

Posted in Administration, BusinessObjects, Federation | Tagged: , , | 1 Comment »

Auditing II: How to import the auditing reports in BOE

Posted by Hemanta Banerjee on October 18, 2010


In my last post here I had explained how to enable auditing in BOE. This post focuses on using the provided universe and reports that give a great jump start to analysing the audit database.

Thankfully SAP provides a universe and some sample reports. While they are not exactly 100% of what you would need it is a great start. The universe is bundled with the BOE samples and can be found in “Program Files\Business Objects\BusinessObjects Enterprise 12.0\Samples\universe”.

image

Open the Activity.unv file using your universe designer. You will have to set the database connection to point to your auditing database. This can be done by setting the connection information in the properties for the universe.

image

Export the universe to BOE repository. I have created a separate folder called “Audit” for placing the universe as well as any reports that I will subsequently create against the audit database.

image

image

The key folders in the universe are

Class/Object Purpose
Activity Captures all the activity details including name, duration, object accessed (universe/document),
Job Time Frame This is used for scheduled jobs
Session Analysis Used to analyze the logon session, duration, client IP
Server Information Used to analyze the BOE services such as job server, RAS used to respond to end user queries.

 

There are some reports also bundled with the samples (D:\Program Files\Business Objects\BusinessObjects Enterprise 12.0\Samples) which can be imported using the BIAR tool. Unfortunately the reports have not been updated and you are probably better off developing your own (unless you are just demo’ing). Some key reports that you might want to develop:

Number of User Sessions – This metric will allow you to trend the adoption of the system based on number of user sessions by week, month, quarter.

Peak Usage – Analyze the number of users accessing the system by hour to determine peak usage patterns.

Average Refresh Time – Will allow you to report to the stakeholders the average refresh time for each report and also the system wide refresh time. Will keep the whiners away.

Top 5/10 Longest Average Refresh Time by Document – Will help pinpoint reports that probably need some work

Top 10 Longest Refresh Instances By User – The report would help you to proactively identify which users are experiencing bad performance and proactively try to address their requirement.

Least/Most Accessed Documents

Posted in Administration, Audit, BusinessObjects | Tagged: , , , | 1 Comment »

Auditing I: How to enable audits logging in BOE XI 3.1

Posted by Hemanta Banerjee on October 18, 2010


One of the great new features in XI 3.1 is the auditing capabilities. The following new capabilities have been included in :

  • Provides client auditing for all two- and three-tier clients.
  • Captures IP address and machine name, if the name can be resolved.
  • Tracks which service triggered an event, rather than the server.
  • Audits the folder path so that, even if you have multiple reports with the same name, you know to which report the event refers.
  • Audits the parent-child relationships and parent CUID, which enables you to build reports that aggregate all operations to the level of a common parent.

What is the benefit of auditing – it brings BI administrator of the BOE environment enabling them to understand how the system is being used and make improvements in areas such as unused reports, long running reports etc. that need additional focus.

The first step is to turn on auditing and set the location of the audit database. The DSN for the audit database can be set on the CCM

image

You can verify the configuration in the “Configuration” tab for the SIA.

image

With the auditing database set, now you can logon to CMC and enable auditing for logon events by enabling auditing in the CMC properties.

image

Similarly you turn on auditing for other applications such as Desktop Intelligence, WEBI as shown below.

image

Note: You need to restart the services after you enable auditing

You can view the audit events in the auditing tables in the database. The key tables to watch are :

Table Purpose Description
APPLICATION_TYPE Metadata Applications
EVENT_TYPE Metadata English description of the event types
DETAIL_TYPE Metadata English description of the event detail
AUDIT_EVENT Data Table that captures all the events
AUDIT_DETAIL Data Detail table for Audit events

To test whether it is working open up Desktop Intelligence and see how it shows up in the audit trail.

For example the code below shows all the user generated events on my system

select AUDIT_EVENT.Event_ID,
          Event_Type_Description,
          User_Name,
          Detail_Type_Description,
          Detail_Text,
          Object_Type

from AUDIT_EVENT, AUDIT_DETAIL, DETAIL_TYPE, EVENT_TYPE
where
AUDIT_EVENT.Event_ID = AUDIT_DETAIL.Event_ID and
AUDIT_DETAIL.Detail_Type_ID = DETAIL_TYPE.Detail_Type_ID and
AUDIT_EVENT.Event_Type_ID = dbo.EVENT_TYPE.Event_Type_ID
and User_Name <> 'System Account'

image

The CMS acts as the system auditor; the BusinessObjects Enterprise server that you monitor is an auditee. As the auditor, the CMS controls the overall audit process. Each server writes audit records to a log file local on the server. At regular intervals, the CMS communicates with the auditee servers to request copies of records from the auditee’s local log files. When the CMS receives these records it writes data from the log files to the central auditing database.

The CMS also controls the synchronization of audit actions that occur on different machines. Each auditee provides a time stamp for the audit actions that it records in its log file. To ensure that the time stamps of actions on different servers are consistent, the CMS periodically broadcasts its system time to the auditees. The auditees then compare this time to their internal clocks. If differences exist, the auditees correct the time stamps that are recorded in their log files for subsequent audit actions.

In a next post I will describe how you can use WEBI to generate reports and perform analysis on this data.

Posted in Administration, Audit, BusinessObjects | Tagged: , , , | 1 Comment »

 
%d bloggers like this: