bo interview questions & answers& servers details..pdf

120
Business Objects Enterprise Certified Professional XI Level Two Certification Exam: Sane 301 Edition: 2.0 C C C E E E R R R T T T M M M A A A G G G I I I C C C 1

Upload: amanblr12

Post on 26-Oct-2015

95 views

Category:

Documents


4 download

DESCRIPTION

BO interview answers and questions

TRANSCRIPT

Business Objects Enterprise Certified

Professional XI Level Two Certification Exam: Sane 301

Edition: 2.0

CCCEEERRRTTT MMMAAAGGGIIICCC

1

1. What are the major components of Business Objects?

Business Objects is composed of various components that are accessible through the Web or reside on your desktop computer. The major components are InfoView, WebIntelligence, and Business Objects Editor.

2. Define “the Universe” in context of Business Objects?

A universe is a database interface, which maps everyday business terms to the data in a database. The universe simplifies the process of creating reports by providing an easy way see and understand the data. It also provides automatic joins between database tables based on key values.

Universes consist of classes and objects. Objects represent fields in a database table. An object’s name may have been changed from the original EDW Oracle column name in order to make the object’s name more meaningful to the user. Classes are logical groupings of objects. For example, all address fields might be grouped together in one class.

3. How many and what are the different types of business object types ?

There are three different types of objects:

• Dimension • Detail • Measure

4. Explain Dimension Objects

Dimension objects are typically character-type data, such as Name, City, UIN, and dates. Dimension objects usually will not contain numeric data that can be used in calculations.

5. What is a Detail Object?

A detail object is always associated with a dimension object. A detail object provides additional information about the dimension object. For example, Telephone Type Description could be a detail object associated with a dimension object called Telephone Type Code

6. Does universe require Detail objects?

Detail objects are not required in a universe. They are used as a way to organize the data within the universe.

7. What are Measure Objects?

2

Measure objects are numeric data that are the result of calculations. Measure objects are used to provide dynamic numerical information in query. A measure’s value will change depending on the context. For example, the value of salary will be different when calculated for one pay period or for one year.

8. What are the types of user rights Business Object users have? Each

Business Objects user is assigned certain rights by Decision Support. The rights assigned to each user define the user’s profile which define access to:

• document lists • document editors • universes for creating and editing queries • saving documents on the server • sending documents to other users • database connections

9. What do you understand regarding Enterprise XI Framework? Enterprise XI provides a framework for information delivery. The information can be in any form, from any place on the intranet or Internet, without causing compatibility problems. The Enterprise XI Framework has an open architecture that supports any kind of information entity. In Enterprise XI, information entities are called InfoObjects and are stored in the Central Management Server (CMS) memory space, also known as the Infostore.

The Enterprise Framework is intended to be seamless to the Enterprise XI administrator. In the Central Configuration Manager (CCM), the CMS has an option in its properties to determine a port number. This port information will set the listening port of the CMS service and affect how the servers talk to one another.

10.What do you understand regarding eBusiness Framework?

The eBusiness Framework is an open framework that enables various components to plug in to Enterprise XI framework.

11. What are the major components of Business objects Enterprise

Framework?

• Crystal Reports (opening or saving reports from/to Enterprise

XI) • OLAP Intelligence (opening or saving reports from/to Enterprise

XI)

3

• Publishing Wizard (adding reports to Enterprise XI) • Import Wizard (importing objects from previous and current

versions of Enterprise XI) • Business View Manager (opening or saving Business Views

from/to the System database) • Universe Designer (exporting universes to Enterprise XI) • CCM (enabling or disabling servers)

12. What are the various end to end Business object enterprise processing

tiers?

In Enterprise XI, there are five tiers:

• The Client Tier • The Application Tier • The Intelligence Tier • The Processing Tier • The Data Tier

13. Illustrate how the various enterprise components fits within the multi-

tier system?

The following diagram illustrates how each of the components fits within the multi-tier system.

4

14. The various components showed in the above diagram can be installed on one machine only or is it necessary to be installed in different machines?

To provide flexibility, the components that make up each of these tiers can be installed on one machine, or spread across many. Each tier is a layer of the system that is responsible for a role in the overall architecture. There are many servers involved in this architecture. Some of these servers are only responsible for doing work, others only responsible for managing the servers doing the work.

The services can be vertically scaled to take full advantage of the hardware that they are running on, and they can be horizontally scaled to take advantage of multiple computers over a network environment. This means that the services can all run on the same machine, or they can run on separate machines. The same service can also run in multiple instances on a single machine.

15. Describe the client tier of the Business Objects enterprise system?

The client tier is the only part of the Enterprise XI system that administrators and end users interact with directly. This tier is made up of the applications that enable users to administer, publish, and view reports and other objects.

16. What is the CMC of enterprise system?

Central Management Console The Central Management Console (CMC) allows you to perform user management tasks such as setting up authentication and adding users and groups. It also allows you to publish, organize, and set security levels for all of your Enterprise XI content.

Additionally, the CMC enables you to manage servers, create server groups, monitor system metrics and control authentication and licensing. Because the CMC is a web-based application, you can perform all of these administrative tasks remotely. The CMC also serves as a demonstration of the ways in which you can use the administrative objects and libraries in the Enterprise XI SDK to create custom web applications for administering Enterprise XI

17. Explain “InfoView” of the Business Objects enterprise system?

InfoView Enterprise XI comes with InfoView, a web-based interface that users access to view, export, print, schedule and track published reports.

5

InfoView is the main user interface for working with reports through Enterprise XI.

The web client (InfoView) makes a request to the web server, which forwards the user request directly to an application server (on the application tier) where the request is processed by components built on the Enterprise XI Software Development Kit (SDK) – either Java or .NET.

18. Can the Infoview of enterprise system be customized?

Recognized users of Enterprise XI can customize a personalized version of InfoView. It also serves as a demonstration of the ways to use the Enterprise XI SDK to create a custom web application for end users.

19. Shall the enterprise system supports viewing, printing, exporting reports without installing crystal reports on the local machine?

Yes. Enterprise XI supports the viewing, printing, and exporting of reports without the need for installing Crystal Reports on the local machine. Report viewing is supported through different viewers compatible with the features of ActiveX, Java, and DHTML.

20. What is the component that allows creating dashboards in the Business Objects enterprise system?

Dashboard Manager, which provides the functionality to create dashboards, can be accessed from InfoView. A dashboard contains user-defined settings and can include web sites and objects, such as reports or documents. One or more dashboards can be created and displayed as needed.

For example, you can create a dashboard that contains web sites, Crystal reports or Web Intelligence documents that you frequently access. To view the dashboard, you can either make the dashboard your default view, or you can click its link in the navigation panel. The default name for a dashboard is My InfoView, and its default location is your Favorites folder.

21. Describe the CCM the Business Objects enterprise system?

CCM stands for Central Configuration Manager,

6

The CCM is a server-management tool that allows you to configure each of your Enterprise XI server components. This tool can start, stop, enable, and disable servers. It allows you to view and to configure advanced server settings. On Windows, these settings include default port numbers, CMS database and clustering details, SOCKS server connections and more. On Windows, the CCM allows you to add or remove servers from your Enterprise XI system. On UNIX, some of these functions are performed using scripts and other tools.

22. How can the reports be added to the enterprise system by users and

administrators?

The reports can be added using the Publishing Wizard The Publishing Wizard is a locally-installed Windows application that enables both administrators and users to add reports to Enterprise XI. By assigning object rights to Enterprise XI folders, you control who can publish reports and where they can publish them.

The Publishing Wizard publishes reports from a Windows machine to Enterprise XI servers running on Windows or UNIX.

23. How will the users, groups, reports be imported from an existing

Enterprise XI implementation?

The Import Wizard is a locally-installed Windows application that guides administrators through the process of importing users, groups, reports, and folders from an existing Enterprise XI implementation. The Import Wizard runs on Windows, but you can use it to import information into a new Enterprise XI system running on Windows or on UNIX.

24. What is the Application Tier of Business Objects enterprise system?

Application Tier The application tier hosts the server-side components that are needed to process requests from the client tier as well as the components that are needed to communicate these requests to the appropriate server in the intelligence tier. The application tier includes support for report viewing and logic to understand and direct web requests to the appropriate Enterprise XI server in the intelligence tier. The components included in your application tier will vary because Enterprise XI is designed to support a variety of web development platforms.

25. Does Business Objects enterprise framework supports integration with

J2EE and .NET services?

7

Yes. Business objects enterprise system supports integration with Java and Microsoft bases platforms.

26. Explain how the integration can be done using Enterprise framework

for J2EE and .NET platforms?

Enterprise XI provides integration with Java and Microsoft-based platforms through native J2EE, Microsoft .NET, and Web Services SDKs.

These kits are made up of robust components, sample applications, and documentation. Developers install these components on web application platforms including BEA WebLogic, IBM WebSphere, Apache, Oracle 10g Application Server, Sun One, or Microsoft IIS. The SDKs provide a high-level API to control every aspect of Enterprise XI using the developer language of choice.

27. What is the role of the application tier in the Business Objects

enterprise framework?

The application tier acts as the translation layer between the user and the Business Intelligence (BI) platform. The components process requests from the users in the client tier and then communicate these requests to the appropriate service in the intelligence tier. The application tier includes support for document viewing, scheduling, and logic to understand and direct web requests to the appropriate Enterprise XI component.

28. What are the components the enterprise system uses to run the

system with a third-party applications server?

Enterprise XI systems use the Java SDK or the .NET SDK to run the system with a third-party application server. The application server acts as the gateway between the web server and the rest of the Enterprise XI components. The application server is responsible for processing requests from your browser, sending certain requests to the Web Component Adapter (WCA), and using the SDK to interpret components in Java Server Pages (JSP) or in Active Server pages (ASP).

29. Does enterprise framework supports Crystal Server Pages inaddition

to JSP and ASP?

Enterprise XI continues to support Crystal Server Pages (CSP) for legacy system support. However, developers are encouraged to use industry standard JSP and ASP whenever possible when building web applications.

8

30. Explain the Business Objects enterprise system integration for Java Platform?

Enterprise XI systems that use the Enterprise XI Java SDK run the SDK on a third-party web application server such as Apache TomCat or WebSphere. The web application server acts as the gateway between the web server and the rest of the components in Enterprise XI. The web application server is responsible for processing requests from your browser, through the WCA, and using the Java SDK to interpret components in JSP files. The web application server also supports Java versions of the Enterprise XI InfoView, other Enterprise XI applications and uses the SDK to convert report pages (.epf files) to HTML format when users view pages with a DHTML viewer.

31. Explain the Business Objects enterprise system integration for

Windows .NET Platform?

Enterprise XI installations that use the .NET Framework include Primary Interop Assemblies (PIAs) that allow you to use the COM Enterprise XI SDK with ASP.NET. Enterprise XI also includes a set of .NET Server Components that you can optionally use to simplify the development of custom applications. This configuration requires the use of a Microsoft IIS web server.

A Web Connector, Web Component Server (WCS), or a WCA is not needed for custom ASP.NET applications.

32. Explain the Business Objects enterprise system integration for Web

application environments?

Enterprise XI supports ASP, CSP, and JSP files. Enterprise XI includes web applications developed in CSP and JSP such as the Enterprise XI Web Desktop/InfoView and the sample applications available for Enterprise XI Launchpads.

It also supports the development of custom web applications that use ASP, CSP, JSP, and ASP.NET pages. CSP files provide functionality similar to that provided by Microsoft’s ASP files.

JSP files allow you to develop cross-platform J2EE applications that use Enterprise XI objects in conjunction with your own custom objects, or a wide variety of objects from third parties.

33. Explain the Business Objects enterprise system integration for

Webservices?

Enterprise XI includes a comprehensive Web Services SDK that allows developers to integrate documents directly into applications using

9

industry-standard technology. It consists of a series of web-based functions that use .NET or J2EE platforms and developer environments.

34. What are the benefits of using Webservices in context of Business

Objects enterprise system integration?

Web Services make it easier and faster to integrate Business Objects technology with other web-based applications, and facilitate the deployment of Business Objects with customized applications.

WebServices are available for document display, refresh, and providing drill-down functionality to users. For developers, the Web Services provider is deployed on the server side with an Enterprise XI server. The API enables the creation of customized web sites, applications, or web services that access the Enterprise XI services.

35. Explain the Business Objects enterprise system Web Component

Adapter?

Web Component Adapter Enterprise XI provides a web application, the WCA, that allows your web application server to run Enterprise XI applications and to host the CMC. The web server communicates directly with the web application server that hosts the Enterprise XI SDK. The WCA runs on the web application server and provides all services that are not directly supported by the Enterprise XI SDK. The web server passes requests directly to the web application server, which then forwards the requests on to the WCA. The WCA supports the CMC and OLAP Intelligence document viewing and interaction.

36. What are the available versions of WCA in Business Objects enterprise

system integration?

There are two versions of the WCA:

.NET - The .NET WCA must be installed on an IIS web application server.

Java - The Java WCA must be installed on a J2EE web application server.

37. Explain the Intelligence tier of Business Objects enterprise system?

Intelligence Tier The Intelligence tier manages the Enterprise XI system. It maintains all of the security information, sends requests to the appropriate servers, manages audit information, and stores report instances.

10

38. What are the various servers Intelligence tier consists of ?

The Intelligence tier of Enterprise XI consists of five servers:

• Central Management Server (CMS) • Cache Server • Input and Output File Repository Servers (FRS) • Event Server

39. What is the role of the Processing tier?

The Processing tier accesses the data and generates the reports.

40. What are the various servers of the processing tier of Business

Objects enterprise system?

The Processing tier of Enterprise XI consists of eight servers:

• Report Job Server

• Program Job Server

• Web Intelligence Job Server

• Web Intelligence Report Server

• Report Application Server (RAS)

• Destination Job Server

• List Of Values Job Server (LOV)

• Page Server

41. Explain about the the Data Tier of Business Objects enterprise

system?

Data Tier The data tier is made up of the databases that contain the data used in the reports. Enterprise XI supports a wide range of corporate databases.

11

42. What is a Web client and Webserver in context of Business Objects enterprise system?

Web Client A web browser is a software application that enables a user to display and interact with HTML documents hosted by web servers or held in a file system. A web client is hosted within the web browser and presents the user with a specific gateway to the main application.

The web clients, InfoView or the CMC make requests to the web server, which forwards the user requests directly to a web application server where the requests are processed by components built on the Enterprise XI SDK – either Java or .NET.

Web Server The web server manages communication between the web browser and the Enterprise XI SDKs.

43. List the responsibilities of the webservices of Business Objects

enterprise system?

The primary responsibility of the web services is to receive and to interpret user requests from user interfaces such as the InfoView or the CMC. The web services then contact other Enterprise XI servers to determine the response to the request and format the response so that it can be returned to the web client.

When using the DHTML viewer or Advanced DHTML viewer, the web services convert Encapsulated Page Format (EPF) files to DHTML. Report viewing in Enterprise XI uses Page On Demand technology that sends each page of a report as it is requested by the user. The EPF files hold the individual report pages.

When viewing an OLAP Intelligence report using the DHTML OLAP Intelligence viewer, the web services connect to the OLAP data source to retrieve the views of data required for the report. When viewing an OLAP Intelligence report using the ActiveX OLAP Intelligence viewer, the web client makes a direct connection to the OLAP data source to retrieve the views of data.

44. What is the role and importance of Web Application Server ?

Web Application Server WAS Enterprise XI systems that use the Enterprise XI Java SDK or the Enterprise XI .NET SDK run on a third-party web application server. The web application server acts as the gateway between the web server and the rest of the components in Enterprise XI. The web application server is responsible for processing requests from your

12

browser. It also supports InfoView and other Business Objects applications, and uses the SDK to convert EPF files to HTML format when users view pages with a DHTML viewer.

45. What is the role and importance of Web Component Adapter ?

Web Component Adapter WCA The web server communicates directly with the web application server that hosts the Enterprise XI SDK. The WCA runs within the web application server and provides all services that are not directly supported by the Enterprise XI SDK. The web server passes requests directly to the web application server, which then forwards the requests on to the WCA.

The WCA has two primary roles:

• It processes ASP.NET (.aspx) and JSP files. • It also supports Business Objects applications such as the CMC

and Crystal Reports viewers that are implemented through viewrpt.aspx requests.

46. What is a Java WCA?

The Java Web Component Adapter The Java WCA is a Java web application that runs on your Java web application server. The WCA hosts web components, including a CSP plug-in that allows you to run CSP applications on your Java web application server. You must deploy the WCA to run the CMC, and other CSP applications in a Java Enterprise XI environment.

47. How to install and deploy the WCA ?

The Enterprise XI setup program configures the Web archive file that implements the WCA webcompadapter.war file with the following information:

• The name and location of your CMS. • The default display name of the WCA. • The location of the directories where the WCA can find CSP

pplications. • The location it should use for log files.

To deploy the WCA, you must first configure your web application server to use the cewcanative.jar file, typically by adding its path to the CLASSPATH of the web application server. Then you must deploy the WCA archive webcompadapter.war file as a web application.

13

48. What is a .NET WCA ?

The .NET Web Component Adapter The .NET WCA is a web application that runs on your web application server. The WCA hosts web components, including a CSP plug-in that allows you to run CSP applications. You must deploy the WCA to run the CMC, and other CSP applications, in a .NET Enterprise XI environment.

49. What is the component in the enterprise system that maintains the database information?

The CMS (Central management server) maintains a database of information that allows you to manage the Enterprise XI Framework. The data stored by the CMS includes information about users and groups, security levels, content, and servers. The CMS also maintains the Repository, and a separate audit database of information about user actions.

50. What is are the functions of CMS ?

The CMS has four main functions:

Maintaining security By maintaining a database of users and their associated object rights, the CMS enforces who has access to Enterprise XI and the types of tasks they are able to perform. This also includes enforcing and maintaining the licensing policy of your Enterprise XI system.

Managing objects The CMS keeps track of the location of objects and maintains the folder hierarchy. By communicating with the Report and Program Job Servers, the CMS is able to ensure that scheduled jobs run at the appropriate times.

Managing servers By staying in frequent contact with each of the servers in the system, the CMS is able to maintain a list of server status. The web client (InfoView or CMC) accesses this list, through the SDK, to identify which Cache Server is free to use for a report viewing request.

Managing auditing By collecting information about user actions from each Enterprise XI server, and then writing these records to a central audit database, the CMS acts as the system auditor. This audit information allows system administrators to better manage their deployment.

14

51. What is the role of a Cache Server ?

The Cache Server is responsible for handling all report viewing requests. The Cache Server checks whether or not it can fulfill the request with a cached report page. If the Cache Server finds a cached page that displays exactly the required data, with data that has been refreshed from the database within the interval that you have specified as the default, then the Cache Server returns that cached report page.

52. What happens if the Cache server cannot fulfill the request with a cached report page?

If the Cache Server cannot fulfill the request with a cached report page, it passes the request along to the Page Server. The Page Server runs the report and returns the results to the Cache Server. The Cache Server then caches the report page for future use, and returns the data to the viewer.

By storing report pages in a cache, Enterprise XI avoids accessing the database each and every time a report is requested.

If you are running multiple Page Servers for a single Cache Server, the Cache Server automatically balances the processing load across Page Servers.

53. What is the role of Page Server ?

The Page Server is primarily responsible for responding to page requests from the Cache Server by processing reports and generating EPF files.

The EPF files contain formatting information that defines the layout of the report. The Page Server retrieves data for the report from an instance or directly from the database (depending on the user’s request and the rights he or she has to the report object). When retrieving data from the database, the Page Server automatically disconnects from the database after it fulfills its initial request and reconnects if necessary to retrieve additional data to conserve database licenses.

The Cache Server and Page Server work closely together. Specifically, the Page Server responds to page requests made by the Cache Server. The Page Server and Cache Server also interact to ensure cached EPF files are reused as frequently as possible and new pages are generated as soon as they are required. Enterprise XI takes advantage of this behavior by ensuring that the majority of report viewing requests are made to the Cache Server and Page Server. The Page Server only

15

allows viewing of reports. However, if a user’s default viewer is the Advanced DHTML Viewer, the report is processed by the RAS or if you want users to create and modify reports in your web applications, you must use the RAS. The Page Server also supports COM, ASP.NET, and Java viewer SDKs.

54. Does the Page server support load balancing of jobs ?

Yes. The Page Server automatically load balances jobs, sends previously requested requests to the same Page Server sub-process and uses the default printer driver for the account running the Page Server for formatting and layout.

55. Can the page server be audited?

You cannot audit the Page Server. All requests go through the Cache Server, so to audit page requests you must enable and configure auditing on the Cache Server.

56. What is Report Job Server in the Business Objects enterprise

framework?

Report Job Server A Job Server processes scheduled actions on objects at the request of the CMS. You can configure a Job Server to process reports, programs, Web Intelligence documents, LOV objects or destinations when you add it to your Enterprise XI system.

If you configure a Job Server to process report objects, it becomes a Report Job Server. The Report Job Server processes scheduled reports, as requested by the CMS, and generates report instances (instances are versions of a report object that contain saved data). To generate a report instance, the Report Job Server obtains the report object from the Input FRS and communicates with the database to retrieve the current data. Once it has generated the report instance, it stores the instance on the Output FRS.

The Job Server will spawn a child process for each concurrent report job and it is these child processes, which connect through CORBA to the Input and Output FRS.

57. What are the destinations the Job server can be configured to send

scheduled reports ?

The Job Server can be configured to send scheduled reports to their scheduled destinations – including four specific destinations:

16

• SMTP • Inbox • FTP • Unmanaged Disk

58. What are the various types of formats the reports can be exported by

the Job server ?

The Job Server can also export the report in various file formats including the following:

• Crystal Reports (RPT) • Excel • PDF • Rich Text Format (RTF)

59. What are the various types of events the Job server can be audited ? The Job Server can be audited with settings in the CMC and can audit three types of events:

• A job has been run successfully. • A job has failed to run. • A job failed but will try to run again.

60. How to Program a Job Server ?

A Job Server processes scheduled actions on objects at the request of the CMS. If you configure a Job Server to process program objects, it becomes a Program Job Server. The Program Job Server processes scheduled program objects, such as Java or Script programs, as requested by the CMS. Program objects allow you to write, publish, and schedule custom applications. This includes scripts or Java programs that run against, and perform maintenance work on, Enterprise XI.

To run a program, the Program Job Server first retrieves the files from storage on the Input FRS, and then runs the program. By definition, program objects are custom applications. Therefore the outcome of running a program will be dependent upon the particular program object that is run. Unlike report instances, which can be viewed in their completed format, program instances exist as records in the object history. Enterprise XI stores the program’s standard out and standard error in a text output file. This file appears when you click a program instance in the object history.

17

61. What is the component of Business Objects enterprise framework that manages and monitors the file-based events?

Event Server The Event Server manages file-based events. This includes monitoring for file-based events and notifying the CMS when an event has occurred.

When you set up a file-based event within Enterprise XI, the Event Server monitors the directory that you specified. When the appropriate file appears in the monitored directory, the Event Server triggers your file-based event: that is, the Event Server notifies the CMS that the file-based event has occurred. The CMS then starts any jobs that are dependent upon your file-based event.

After notifying the CMS of the event, the Event Server resets itself and again monitors the directory for the appropriate file. When the file is newly created in the monitored directory, the Event Server again triggers your file-based event.

62. What is RAS of enterprise framework?

Report Application Server (RAS)processes reports that users view with the Advanced DHTML Viewer. The RAS also provides the ad-hoc reporting capabilities that allow users to create and modify reports over the Web, as well as saving reports to the CMS.

The RAS is very similar to the Page Server; it too is primarily responsible for responding to page requests by processing reports and generating EPF pages. But the RAS uses an internal caching mechanism that involves no interaction with the Cache Server.

63. What platforms does RAS support?

As with the Page Server, the RAS supports COM, ASP.NET, and Java viewer SDKs. The RAS also includes an SDK for report creation and modification, providing you with tools for building custom report interaction interfaces.

64. Explain regarding the File Repository Servers of enterprise

framework?

File Repository Servers There is an Input FRS and an Output FRS in every Enterprise XI implementation.

18

The Input FRS manages all of the report objects and program objects that have been published to the system by administrators or users. Objects are published to the system in many ways such as using the Publishing Wizard, CMC, Import Wizard, Crystal Reports, or Web Intelligence.

The Output FRS stores and manages all of the report and program instances generated by the Report Job Server or the Web Intelligence Report Server, and the program instances generated by the Program Job Server.

65. What is the responsibility of FRS of enterprise framework?

The FRS are responsible for listing files on the server, querying for the size of a file, querying for the size of the entire file repository, adding files to the repository, and removing files from the repository.

66. Can the Input and Output FRS of enterprise framework can share the

same directories?

No. The Input and Output FRS cannot share the same directories. This is because one of the FRS could then delete files and directories belonging to the other.

In larger deployments, there may be multiple Input and Output FRS, for redundancy. In this case, all Input FRS must share the same directory. Likewise, all Output FRS must share a directory.

67. What are Report Instances of enterprise framework?

Instances are the results of an object being scheduled. A report object may have many report instances. The two types of objects that can be scheduled are Crystal reports and Program objects. A Crystal Report instance is a report with saved data (as of the time that the report was processed). A Program instance is a text file to which any output of the program is written.

68. What is Web Intelligence Job Server?

The Web Intelligence Job Server processes scheduling requests it receives from the CMS for Web Intelligence documents. It forwards these requests to the Web Intelligence Report Server, which will generate the instance of the Web Intelligence Document (WID), stores the instance in the Output FRS and reports the status of running WID Jobs to the CMS.

The Web Intelligence Job Server does not actually generate object

19

instances. When a user requests to view and interact with a stored document instance, the Web Intelligence report server accesses that instance directly.

As with all job servers, it uses the same main executable as the other job servers and manages sub-processes, launching a job server child (jobserverchild.exe) sub-process for each concurrent scheduled job. The Web Intelligence Job Server sends successful instances to their scheduled destinations including Inbox and SMTP.

69. What are the events the Web Intelligence Job Server can be audited?

The Web Intelligence Job Server can be audited with settings in the CMC and can audit three types of events:

• A job has been run successfully. • A job has failed to run. • A job failed but will try to run again.

70. What is the component of the enterprise framework that provides

Core web intelligence display and interaction?

The Web Intelligence Report Server provides core Web Intelligence display and interaction within the platform for end-user query and analysis. The Web Intelligence Report Server is accessed when the CMS requests the creation or viewing of a Web Intelligence document for further interaction.

The Web Intelligence Report Server is used to create, edit, view, and analyze WID. It also processes scheduled WID and generates new instances of the document, which it stores on the Output FRS. Depending on the user’s access rights and the refresh options of the document, the Web Intelligence Report Server will use cached information, or it will refresh the data in the document and then cache the new information. The caching is done in XML format with each page in a separate directory.

The Web Intelligence Report Server connects to universes and reporting databases and creates XML pages of the documents to send back to the SDK and can export documents to Excel and PDF formats

71. How to perform ad-hoc query and analysis by using the Web

Intelligence Report Server of Business Objects enterprise framework? For users who want to conduct ad-hoc query and analysis, the Web Intelligence Report Server requests a predefined metadata object, called a universe, from the repository and opens an HTML or Java- based query panel. Users can then drag and drop requested fields,

20

filters, or objects onto the Web Intelligence user interface. The Web Intelligence report server handles report viewing, modification, and interaction. This includes advanced on-report analysis functionality Due to the interactive nature of Web Intelligence, no separate RAS is required.

72. What is the purpose of LOV Job server of Business Objects enterprise

framework?

List of Values Job Server The LOV Job server purpose is to support the scheduling of predefined LOV or prompts. These lists support dynamic and cascading prompts for Crystal Reports .

The key benefit of having predefined and scheduled lists of values is that the report does not have to query the database to gather the prompts every time a user requests a specific view of a report. On- demand LOV that query the database are handled by the RAS. Wherever possible, prompt lists should be scheduled in cases where the cascading prompt levels do not change regularly such as for country, state, city, and customer lists.

73. Which objects are processed by the LOV Job server of Business

Objects enterprise framework?

The LOV Job Server processes scheduled LOV objects. These are actually RPT files in the Input FRS that contain the values of specific fields in a Business View.

LOV are used to implement dynamic prompts and cascading LOV within Crystal Reports. LOV objects do not appear in the CMC or InfoView.

The LOV Job Server behaves similarly to the Report Job Server in that it retrieves the scheduled objects from the Input FRS and saves the instance it generates to the Output FRS. There is never more than one instance of a LOV object. On demand LOV objects are processed by the RAS.

74. Explain the Client Communication of Business Objects enterprise

workflow?

Client communication Connecting to the Enterprise XI environment can be done with a thin client – such as InfoView or the CMC through a web browser. Connection can also be made with a thick client application such as the Import Wizard or the Publishing Wizard. This section will review the connectivity processes of the two methods and their relationship to the

21

Enterprise XI Framework.

75. What are the web clients of Business Objects enterprise workflow?

Web (Thin) clients To use the Enterprise XI web clients (InfoView or CMC), all that is required is a web browser. When a user enters the URL for the InfoView or CMC the web browser will send that request to the specified server through TCP/IP.

76. List the Application Clients of Business Objects enterprise workflow?

Application (Thick) clients Thick client applications are the executables that are installed on the local machine. These applications need to connect to Enterprise XI and include the Enterprise Framework DLLs with the application and latch on to the Framework upon connection.

These are the common thick client applications:

• Import Wizard • Publishing Wizard • Business View Manager • Universe Designer • Crystal Reports • OLAP Intelligence

They connect to the CMS to verify username and log on, do the work they need to do and disconnect from the system. Developers can easily create a client application that accesses the Enterprise system in this way because the COM objects are intentionally left exposed for developers to use. An example would be VB applications that silently connect to the CMS to trigger a custom event and log off.

Another example of this is OLAP Intelligence. An analytic report has been designed and is ready to be published to the system. The Save to CMS option opens a dialog box asking for username, password, authentication type and the CMS to connect to. It then loads the Enterprise Framework DLLs, connects to the Enterprise XI environment through the Framework and retrieves a list of folders. After the user chooses a folder to save the CAR file in, the thick client uploads it to the FRS through the Framework. OLAP Intelligence then closes the connection to the Framework and allows the user to continue using the application.

77. List various steps of Business Objects enterprise workflow?

22

Workflow - Logging on to Enterprise 1. The web client sends the logon request in a URL typically through the web server to the web application server. 2. The web application server will interpret the JSP or ASP page and the values sent in the URL request and will determine that the request is a logon request. The web application server will send the username, password, and authentication type to the specified CMS for authentication. 3. The CMS will validate the username and password against the appropriate source such as Enterprise, Windows AD, or LDAP. For example, Enterprise authentication would be authenticated against the System database. Upon successful validation, the CMS creates a session for the user in its own memory and a license is used. 4. The CMS sends a response to the web application server to let it know that the validation was successful. The web application server generates a logon token for the user session in its memory. From the rest of this session, the web application server will use the logon token to validate the user against the CMS

78. Describe the Report viewing process with the Cache Server and Page Server of Business Objects enterprise workflow?

Report viewing with the Cache Server and Page Server Upon receiving a report-viewing request, the Cache Server checks to see if it has the requested pages cached. Cached pages are stored as EPF files. If a cached version of the EPF file is available, the Cache Server checks with the CMS to see if the user has rights to view the report. If the user is granted the right to view the report, the Cache Server sends the EPF file to the web application server.

If a cached version of the EPF page is unavailable, the Cache Server requests new EPF pages from the Page Server. The Page Server retrieves the report from the Input FRS, first checking with the CMS to see if the user has rights to view the report.

If the report is an instance, and the user only has View rights, the Page Server will generate pages of the report instance using the data stored in the report object. That is, the Page Server will not retrieve the latest data from the database. If the report is an object, the user must have View On Demand rights to view the report successfully (because the Page Server needs to retrieve data from the database). If the user has sufficient rights, the Page Server generates the EPF pages and forwards them to the Cache Server. The Cache Server then caches the EPF files and sends them to the application server.

23

If the initial request was made through a CSP file (viewreport.csp), the viewer SDK (residing on the web application server) is used to generate HTML that represents both the DHTML viewer and the report itself. The HTML pages are then returned through the web server to the user’s web browser. If the initial request was made through a Crystal Web Request (viewrpt.cwr), the web application server forwards the EPF pages through the web server to the report viewer software in the user’s web browser.

79. Describe the Report viewing process with the Report Application

Server of Business Objects enterprise workflow?

Report viewing with the Report Application Server Upon receiving a report-viewing request, the RAS checks to see if it has the requested report data in cache. The RAS has its own caching mechanism, which is separate from the Cache Server. If cached report data is available, the RAS checks with the CMS to see if the user has rights to view the report. If the user is granted the right to view the report, the RAS returns EPF pages to the application server. If a cached version of the page is unavailable, the RAS retrieves the report from the Input File Repository Server, first checking with the CMS to see if the user has rights to view the report. The RAS then processes the report and returns the EPF pages to the application server.

If the user is granted View rights to the report object, then the RAS will only ever generate pages of the latest report instance. That is, the RAS will not retrieve the latest data from the database. If, however, the user is granted View On Demand rights to the report object, then the RAS will refresh the report against the database.

The interactive search and filter features provided by the Advanced DHTML viewer are available only if the user has View On Demand rights (or greater) to the report object.

When the application server receives the EPF pages from the RAS, the viewer SDK is used to generate HTML that represents both the Advanced DHTML viewer and the report itself. The HTML pages are then returned through the web server to the user’s web browser.

80. List the workflow steps for viewing a report on Demand?

Workflow - Viewing a report on demand 1. The web client sends the schedule request in a URL typically through the web server to the web application server. 2. The web application server will interpret the requested page and the values sent in the URL request. It will determine that it is a request to view the first page of the selected report object.

24

3. The web application server will send a request to the CMS to ensure that the user has rights to view the object. The CMS checks the System database to verify the user rights. 4. The CMS sends a response to the web application server to confirm the user has sufficient rights to view the object. 5. The web application server sends a request to the Cache Server requesting the first page of the report object. 6. The Cache Server checks to see if the page already exists. Unless the report meets the requirements for On Demand report sharing (within 15 minutes of another On Demand request, same rights, DB logon, parameters), the Cache Server sends a request for the Page Server to generate the page. 7. The Page Server parent process determines whether it should start a new Page Server child to process the report or if there is already one available to process it. The Page Server Child then retrieves the report template from the Input FRS. 8. The Input FRS streams a copy of the instance to the Page Server child. The Page Server child opens the report in its memory and checks to see if the report contains data. 9. Since a report object does not have data, the Page Server child will connect to the database to query for data. The database returns data to the Page Server child. The Page Server child processes the report and then generates the first page of the report. The Page Server holds the report in temp files in memory until it reaches a 60-minute idle time. The temp files are then deleted from memory. 10. The Page Server sends the EPF page to the Cache Server. The Cache Server stores a copy of the EPF page in its cache directory. 11. The Cache Server sends the EPF page to the web application server. If the DHTML Viewer were used, the web application server would convert the EPF to DHTML. 12. The web application server sends the EPF page to the web server. The web server sends the EPF page to the user’s machine where it is rendered in the viewer on the web client.

81. List the workflow steps for viewing a Web Intelligence Report?

Workflow - Viewing a Web Intelligence report 1. The web client sends the schedule request in a URL typically through the web server to the web application server. 2. The web application server will interpret the requested page and the values sent in the URL request and will determine that it is a request to view a Web Intelligence report. 3. The web application server will send a request to the CMS to ensure that the user has rights to view the object. The CMS checks the System database to verify the user rights. 4. The CMS sends a response to the web application server to confirm the user has sufficient rights to view the object.

25

5. The web application server sends a request to the Web Intelligence Report Server requesting the report. 6. The Web Intelligence Report Server requests the report from the Input FRS. The Input FRS streams a copy of the report to the Web Intelligence Report Server. The Web Intelligence Report Engine opens the report in its memory. The QT.dll generates the SQL from the Universe that the report is based on. 7. The Web Intelligence Report Server connects to the database to run the query. The query data is passed through QT.dll to the Report Engine where the report is processed. 8. The Web Intelligence Report Server sends the finished report to the web application server. 9. The web application server sends the finished report to the web server. The web server sends the finished report to the user’s machine where it is rendered in the web client.

82. What are the data choices when reporting over the web?

When reporting over the Web, the choice to use live or saved data is one of the most important decisions you’ll make. Whichever choice you make, however, Enterprise XI displays the first page as quickly as possible, so you can see your report while the rest of the data is being processed.

83. What is “Live data” in context of Business Object enterprise

framework reporting ?

On-demand reporting gives users real-time access to live data, straight from the database server. Use live data to keep users up-to- date on constantly changing data, so they can access accurate information. For instance, if the managers of a large distribution center need to keep track of inventory shipped on a continual basis, then live reporting is the way to give them the information they need.

Before providing live data for all your reports, however, consider whether or not you want all of your users connecting to the database server on a continual basis. If the data isn’t rapidly or constantly changing, then all those requests to the database do little more than increase network traffic and consume server resources. In such cases, you may prefer to schedule reports on a recurrent basis so that users can always view recent data (report instances) without connecting to the database server.

84. What is “Saved data” in context of Business Object enterprise

framework reporting ?

Report instances are useful for dealing with data that is not continually updated. When users navigate through report instances, and drill down

26

for details on columns or charts, they do not access the database server directly; instead, they access the saved data. Consequently, reports with saved data not only minimize data transfer over the network, but also lighten the database server’s workload.

You can schedule these reports in Enterprise XI so that they automatically refresh from the database on a predetermined basis. For example, if your sales database is only updated once a day you can run the report on a similar schedule. Sales representatives then always have access to current sales data, but they are not connecting to the database every time they open a report.

85. List the work flow steps for scheduling a report?

Workflow - Scheduling a report 1. The web client sends the schedule request in a URL through the web server to the web application server. 2. The web application server will interpret the request and the values sent, and will determine that the request is a schedule request. The web application server will send the schedule time, database logon values, parameter values, destination, and format to the specified CMS. 3. The CMS will ensure that the user has rights to schedule the object. If the user has sufficient rights, the CMS will add a new record to the System database. The CMS will also add the instance to its list of pending schedules. 4. The CMS checks its pending schedule list every 15 seconds. When the CMS finds a report that is ready to be scheduled, the CMS evaluates whether there is an available Report Job Server. The CMS sends the schedule request along with the report location, database logon, parameter, format, and destination information to the Report Job Server. 5. The Report Job Server requests the report from the Input FRS. 6. The Input FRS streams the report to the Report Job Server. 7. The Report Job Server spawns a Report Job Server Child executable to run the report. The Report Job Server Child opens the report and connects to the database to query for the report data. 8. The database returns the report data to the Report Job Server. The Report Job Server Child then processes the report. 9. Once the report is processed, the Report Job Server Child saves (submits a CORBA request to stream) the report to the Output FRS. 10. The Report Job Server Child removes itself from memory. The Report Job Server reports back to the CMS to let the CMS know that the report has been processed successfully. 11. The CMS updates the instance record in the system database to change the instance status to Success.

27

86. List the work flow steps for viewing a successfully scheduled instance?

Workflow - Viewing a successfully scheduled instance 1. The web client sends the view an instance request in a URL through the web server to the web application server. 2. The web application server will interpret the requested page and the values sent in the URL request and will determine that it is a request to view the first page of the selected report instance. The web application server will send a request to the CMS to ensure that the user has rights to view the instance. 3. The CMS checks the system database to verify the user rights. 4. The CMS sends a response to the web application server to confirm the user has sufficient rights to view the instance. 5. The web application server sends a request to the Cache Server requesting the first page of the report instance. 6. The Cache Server checks to see if the page already exists. If the page does exist, the Cache Server can return the page to the web application server. If the page does not exist, the Cache Server sends a request for the Page Server to generate the page. 7. The Page Server parent process determines whether it should start a new Page Server child to process the report or if there is already one available to process it. The Page Server child requests the report instance from the Output FRS. 8. The Output FRS streams a copy of the instance to the Page Server child. The Page Server child opens the report in its memory and checks to see if the report contains data. Since an Instance has data, the Page Server child will find data and generate pages. 9. The Page Server sends the EPF page to the Cache Server. The Cache Server stores a copy of the EPF page in its cache directory. 10. The Page Server sends the EPF page to the web application server. 11. If the DHTML Viewer is used, the web application server sends the DHTML page to the web server. The web server sends the DHTML page to the user’s machine where it is rendered in the web client. 12. If the ActiveX Viewer is used, the web application server sends the EPF page to the web server. The web server sends the EPF page to the user’s machine where it is rendered in the ActiveX Viewer in the web client.

87. List the work flow steps for viewing a successfully scheduled instance

in the Advanced DHTML Viewer?

Workflow - Viewing a successfully scheduled instance in the Advanced DHTML Viewer 1. The web client sends the request to view an instance in a URL typically through the web server to the web application server. 2. The web application server will interpret the requested page and the values sent in the URL request and will determine that it is a request

28

to view the first page of the selected report instance. 3. The web application server will send a request to the CMS to ensure that the user has rights to view the object. The CMS checks the system database to verify the user rights. 4. The CMS sends a response to the web application server to confirm the user has sufficient rights to view the object. 5. The web application server sends a request to the RAS requesting the first page of the report instance. 6. The RAS requests the report instance from the Output FRS. The Output FRS streams a copy of the instance to the RAS. The RAS opens the report in its memory and checks to see if the report contains data. Since an instance has data, the RAS will find data and generate pages. The RAS holds the report in temp files in memory until it reaches a 30-minute idle time. The temp files are then deleted from memory. 7. The RAS sends the EPF page to the web application server. The web application server converts the EPF to DHTML.

88. List the work flow steps for processing a scheduled Web Intelligence

report?

Workflow - Processing a scheduled Web Intelligence report 1. The CMS checks its pending schedule list every 15 seconds. When the CMS finds a report that is ready to be scheduled, the CMS evaluates whether there is an available Web Intelligence Job Server. The CMS sends the schedule request along with the report location and other processing information to the Web Intelligence Job Server. 2. The CMS sends a create job message to the Job Server and Job Server creates (or contacts existing) a child process to run the job. The child connection is returned to the CMS 3. The CMS sends the run job message (including destination information) to the Job Server Child. The Job Server Child (using the procWebi processing plug-in) contacts the Web Intelligence Report Server asking it to open/refresh/save the report. 4. The Web Intelligence Report Server requests the report from the Input FRS. The Input FRS streams a copy of the report to the Web Intelligence Report Server. 5. The Web Intelligence Report Engine opens the report in its memory. The QT.dll generates the SQL from the universe that the report is based on. 6. The Web Intelligence Report Server connects to the database to run the query. The query data is passed through QT.dll to the Report Engine where the report is processed. 7. The Web Intelligence Report Server sends the finished report to the Output FRS. 8. The Web Intelligence Report Server notifies the Web Intelligence Job Server Child that the instance was a success.

29

9. The Job Server Child gets the processed report from the CMS/FRS and delivers it to the specified destination. 10. The Web Intelligence Job Server Child updates the instance status to the CMS. 11. The CMS updates the instance record in the system database to change the instance status to success.

89. List the work flow steps for viewing an OLAP Intelligence report?

Workflow - Viewing an OLAP Intelligence report 1. The web client sends the schedule request in a URL typically through the web server to the web application server. 2. The web application server will interpret the requested page and the values sent in the URL request and will determine that it is a request to view an OLAP Intelligence report object. 3. The web application server will send a request to the CMS to ensure that the user has rights to view the object. The CMS checks the system database to verify the user rights. 4. The CMS sends a response to the web application server to confirm the user has sufficient rights to view the object. 5. The web application server sends a request to the Input FRS to retrieve a copy of the OLAP Intelligence report. The Input FRS streams a copy of the OLAP Intelligence report to the web application server. 6. If using the DHTML OLAP Intelligence Viewer: a) The web application server opens the report in its memory, and then connects to the OLAP server to request the view of data. b) The OLAP server returns the view of data to the web application server. c) The web application server formats the data through the WCA into a DHTML page. d) The web application server forwards the DHTML page to the web server. e) The web server sends the DHTML page to the user’s machine where it is rendered on the web client. 7. If using the ActiveX Viewer: a) The web application server sends the report file to the web server. b) The web server sends the report file to the web client. The web client opens the report file in memory. c) The web client connects to the OLAP server. The OLAP server returns the view of data to the web client. d) The ActiveX Viewer formats the data to display to the client and this last step is repeated as the user requests new views of the data.

90. List the work flow steps for viewing a Microsoft Word document?

30

Workflow - Viewing a Microsoft Word document 1. The web client sends the schedule request in a URL typically through the web server to the web application server. 2. The web application server will interpret the requested page and the values sent in the URL request and will determine that it is a request to view an instance that has been exported to Word format. 3. The web application server will send a request to the CMS to ensure that the user has rights to view the object. The CMS checks the system database to verify the user rights. 4. The CMS sends a response to the web application server to confirm the user has sufficient rights to view the object. 5. The web application server sends a request to the Output FRS to retrieve a copy of the Word document. These same steps apply for third-party objects that have been added to the system, except that they are stored in the Input FRS. The Output FRS streams a copy of the Word doc to the web application server. 6. The web application server forwards the Word document to the web server. The web server sends the Word document to the user’s machine where it is rendered in the Word viewer on the web client.

91. List the work flow steps for scheduling to a destination?

Workflow - Scheduling to a destination 1. The web client sends the schedule request in a URL typically through the web server to the web application server. 2. The web application server will interpret the JSP page and the values sent in the URL request and will determine that the request is a request to schedule a document to a destination. The web application server will send the schedule time and destination to the specified CMS. 3. The CMS will ensure that the user has rights to schedule the object. If the user has sufficient rights, the CMS will add a new record to the system database. The CMS will also add the instance to its list of pending schedules. 4. The CMS checks its pending schedule list every 15 seconds. When the CMS finds a report that is ready to be scheduled, the CMS evaluates whether there is an available Destination Job Server. The CMS sends the schedule request along with the report location and destination information to the Destination Job Server. 5. Depending upon whether the report being sent to a destination is a report object or a report instance, the Destination Job Server requests the report from the Input or Output FRS. If the report is a report instance, the Destination Job Server requests the report from the Output FRS. The Output FRS streams the report to the Destination Job Server. 6. The Destination Job Server spawns a Job Server Child executable to

31

run the report. The Job Server Child opens the report. 7. The Job Server Child sends the report to the specified destination. If the destination is to send a shortcut to a user inbox the Job Server Child will update the shortcut in the CMS database to point to the object location. If the destination is to send a copy to a user inbox, then the Job Server Child will copy the object to the Input File Repository Server. 8. The Job Server Child removes itself from memory. The Job Server reports back to the CMS to let the CMS know that the report has been sent successfully. 9. The CMS updates the instance record in the system database to change the instance status to success.

92. List the work flow steps for processing a scheduled list of values?

Workflow - Processing a scheduled List of Values 1. The LOV object scheduled and the schedule request is sent to the CMS. 2. The CMS checks the system database (if it does not have the information in memory) to verify that the user has permissions to schedule this object. 3. The CMS records the instance in the system database and adds the pending instance to its queue of pending schedules 4. When it is time for the LOV object to be processed, the CMS sends the schedule request to the LOV Job Server. The LOV Job Server retrieves the LOV object from the repository in the system database through the CMS. 5. The LOV Job Server spawns a Jobserverchild.exe and retrieves the LOV report template from the Input FRS. 6. The LOV Job Server updates the report in the Input FRS if there are any changes to the Business View or LOV definitions in the repository. 7. The Jobserverchild.exe connects to the reporting database to retrieve the records and populates the report with data. 8. The Jobserverchild.exe sends the report instance with saved data to the Output FRS. 9. The LOV Job Server notifies the CMS that the LOV object was successfully processed and the CMS updates the status of the instance.

93. List the work flow steps for viewing a report with prompts

Workflow - Viewing a report with prompts - List of Values 1. A request to view the report goes from web client to web application server. 2. The web application server checks the user’s rights to view the report against the CMS. 3. The CMS checks the system database to confirm the user has

32

appropriate rights. 4. The CMS responds to the web application server confirming that the user has appropriate rights. 5. The web application server sends a request for the first page of the report to the Cache Server. The Cache Server determines that it does not have the page. 6. The Cache Server requests the page from the Page Server. 7. The Page Server retrieves a copy of the report instance from the Input FRS. It opens the report in memory and checks to see if the report has data. In this case it does not, so the Page Server needs to process the report. The Page Server determines that it requires prompt information before it can process the report. 8. The Page Server sends a request to the web application server (through the Cache Server) notifying the web application server that a prompt is required. 9. The web application server sends a request to the Page Server (through the Cache Server) to determine which prompt is required. The Page Server reads the report to determine which prompt is required and then notifies the web application server (through the Cache Server) which prompt is required. 11. The web application server sends a request to the Page Server (through the Cache Server) asking for a prompt window. The Prompt Engine on the Page Server retrieves the LOV object from the repository in the system database. 12. The Page Server requests that the RAS process the LOV report. 13. The RAS retrieves the LOV report from the Input FRS. 14. The RAS processes the report. If data requires updating, the RAS runs the query against the database. 15. The RAS returns the LOV value rowset to the prompt engine on the Page Server. 16. The prompt engine uses the EROM API to navigate through the values in the rowset returned by the report. The prompt engine on the Page Server creates the prompt window with the values included and sends the prompt window back through the Cache Server to the web application server. 17. The web application server sends the prompt window to the user so that the user can select values. The user selects values that are returned to the web application server. 18. The web application server sends the values to the Page Server (through the Cache Server). 19. The Page Server now has the values and can process the report. Once it has processed the report, the Page Server can generate pages that are sent via the Cache Server and web application server to the web client.

94. List the work flow steps for scheduling a report – List of Values?

33

Workflow - Scheduling a report - List of Values 1. The user requests the schedule window in InfoView. The request for the schedule window is sent to the web application server. 2. The web application server requires the prompt section of the schedule window, so it sends a request to the prompt engine on the RAS. 3. The prompt engine on the RAS retrieves the LOV object from the repository in the system database. If no report file is identified in the properties of the LOV object, (the LOV object was added to Enterprise XI through the CMC, Import Wizard, or Publishing Wizard) the prompt engine on the RAS will use the EROM API to create the report file on the RAS. 4. The RAS retrieves the LOV report from the Input FRS. 5. The RAS processes the report and if data requires updating it runs the query against the database. The RAS returns the LOV value rowset to the RAS prompt engine. 6. The prompt engine uses the EROM API to navigate through the values in the rowset returned by the report. The prompt engine creates the scheduling prompt window with the values included and sends the prompt window back to the web application server. 7. The web application server sends the scheduling prompt window to the user so that the user can select values. NOTE: If dynamic cascading prompts are being used, the Prompt Engine will navigate through the values in the LOV report rowset to drill down to the next level and return the next level of values. 8. The user selects values, which are returned to the web application server.

95. List the work flow steps for scheduling a report – List of Values

(CMC)?

Workflow - Scheduling a report - List of Values (CMC) 1. The user requests the schedule window in the CMC. The request for the schedule window is sent to the Web application server. 2. The Web application server requires the prompt section of the schedule window, so it sends a request to the Prompt Engine that resides on the Web application server. 3. The Prompt Engine requests the LOV object from the CMS. 4. The CMS retrieves the LOV object from the repository in the system database. NOTE If there is no report file identified in the properties of the LOV object, (the LOV object was added to Enterprise XI through the CMC, Import Wizard, or Publishing Wizard) the prompt engine on the web application server will use the EROM API to create the report file on the RAS. 5. The CMS returns the LOV object to the web application server. 6. The Web application server sends a request to the RAS Server to

34

process the LOV report. 7. The RAS Server retrieves the LOV report from the Input FRS. 8. The RAS Server processes the report. If data requires updating, the RAS Server runs the query against the database. 9. The RAS Server returns the LOV value rowset to the Prompt Engine on the web application server. 10. The prompt engine on the web application server uses the EROM API to navigate through the values in the rowset returned by the report. The prompt engine creates the scheduling prompt window with the values included. The web application server sends the scheduling prompt window to the user so that the user can select values. 11. The user selects values, which are returned to the web application server. NOTE If dynamic cascading prompts are used, the prompt engine will navigate through the values in the LOV report rowset to drill down to the next level and return those values.

96. What is the performance impact for On-Demand reports compared to

Schedules reports of Business Objects enterprise framework?

Scheduled reports compared to On Demand reports The biggest performance issue specific to On Demand reports is the time it takes the reporting database to return uncompressed data across the network and the Page Server to complete the processing of the report. If the database takes 5 minutes to process the request, the user will wait that time and more for the requested page.

The time it takes to process a viewing request is going to be completely visible to the end user. If that time is too long, this report is a bad candidate for On Demand reporting.

When processing a request for a scheduled report, the biggest performance hit is moving a report with saved data from the Output FRS to the Page Server.

The time it takes for the database and Job servers to process the scheduling request is moved to the back end and away from the end user. Reports that take too long to process are candidates for scheduled reporting and viewing.

In almost all cases, viewing a scheduled report will be faster than viewing an On Demand report. Streaming a report with saved data from the Output FRS to the Page Server will be faster than retrieving a report template and getting new data from the database. Creating cached data from the saved data within a report is always faster than

35

opening a report template, connecting to the database, waiting for the data to return and then creating the cached data.

97. Explain the concept of grouping for On-Demand reports of Business

Objects enterprise framework?

Group Tree When viewing reports using Page on Demand, the Group Tree populates the left frame of the viewers. It is used to quickly navigate to specific groups. The cache file representing the Group Tree is called the totaller.etf.

The size of the totaller.etf file is in direct proportion to the number of groups and subgroups that are contained in the report. If the report has a large number of groups and subgroups, this file can grow to megabytes (MB) in size.

When viewing a report with a large group tree over the internet, the additional time may be required to download the totaller.etf.

The idea of grouping is to organize records into logical groups. The first design consideration is to make sure you are not grouping on unique records. If your report returns 500,000 records and you are grouping on Social Security Number, you are going to create 500,000 groups. The Group Tree is going to be unmanageable.

98. What are the various Servers Components of Business Objects enterprise framework?

Servers components The Intelligent Tier consists of the CMS, Cache Server, Event Server and Input and Output FRS. Aside from the Output FRS, the communication between these servers is in short bursts and they expect a timely response to their queries. They are memory and processor intensive.

The Processing Tier consists of all the Report and Job Servers, the RAS and the Page Server. These servers will use a great deal of disk space and memory, and are also very processor intensive.

99. What is Crystal Enterprise?

Crystal Enterprise is a flexible, scalable, and reliable solution for delivering powerful, interactive reports to end users via any web application—intranet, extranet, Internet or corporate portal. Whether it is used for distributing weekly sales reports, providing customers with personalized service offerings, or integrating critical information into

36

corporate portals, Crystal Enterprise delivers tangible benefits that extend across and beyond the organization. As an integrated suite for reporting, analysis, and information delivery, Crystal Enterprise provides a solution for increasing end-user productivity and reducing administrative efforts.

100. Explain Object Management of Crystal Enterprise?

Crystal Enterprise increases your ability to centralize critical information and distribute it consistently to users. Crystal Enterprise 10 allows you to manage and secure a broad range of information and objects, including spreadsheets, text files, programs, reports, and hyperlinks. An updated publishing tool and anew object packaging feature round out this broad set of object management capabilities.

101. Explain Hyperlink Objects of Crystal Enterprise?

Hyperlink objects provide a standard mechanism for accessing information from external systems. You can use these objects to provide a URL connection to legacy reports, web services, or other information resources hosted in third party systems, and you can apply Crystal Enterprise security to these objects. This allows customers to standardize on managing relevant business intelligence content in Crystal Enterprise—delivering and securing the content in a common interface.

102. Explain Object Packages of Crystal Enterprise?

Object packages simplify administration by allowing you to schedule, secure and manage a set of related reports and programs as a single object. This ensures that each instance of a package provides a consistent and synchronized snapshot of a set of related data. The new managed report navigation feature provides a means to link reports in an object package so that end users can easily move between related report instances.

103. Explain third party object support of Crystal Enterprise?

The third party object support available in Crystal Enterprise 10 allows you to distribute additional information associated with core operational reports (for example, closely related documents or legacy reports). With the Crystal Enterprise 10 security model and user interface you can distribute Microsoft Word, Microsoft PowerPoint, Microsoft Excel, Adobe Acrobat, rich text, text, and program files.

104. Explain the Unified Publishing Wizard of Crystal Enterprise?

37

The Crystal Enterprise 10 Publishing Wizard allows you to publish a number of objects, such as reports, Microsoft Office documents, and other files, to Crystal Enterprise simultaneously.

105. Explain the System Management of Crystal Enterprise?

Crystal Enterprise allows you to decentralize the administration of large deployments, for example you can delegate or automate specific tasks. Additionally, you can use the new auditing capabilities to monitor system usage.

106. Describe the Delegated administration of Crystal Enterprise?

Delegated administration allows you, the system administrator, to distribute administration tasks to application administrators or IT resources in specific business units. The IT group can configure the system and ensure server health, while each business unit gains responsibility for object management and security.

107. What are the types of Crystal Enterprise administrators the

delegated administration is based on?

Delegated administration is based on three types of Crystal Enterprise administrators: • Global administrators A global administrator manages the entire Crystal Enterprise deployment. This person can assign specific users and groups to be managed by specific application administrators. • Application administrators An application administrator can manage folders, reports, and cubes for specific business unit, but cannot see objects of other business units. An application administrator can implement an application-level security model by assigning users and groups to objects. • Server administrators A server administrator can mange the addition, removal, and/or modification of Crystal Enterprise servers.

108. What is “Notification”?

Notification is an object-level trigger, primarily designed to help you catch critical job failures or notify users when new information is available. Based on the success or failure of an individual object instance

109. What are the various ways Notification can be sent in Crystal

Enterprise?

38

you can send notification via: • An email to an administrator, the object owner, or other users. • An event that triggers a program or report object to run. • An audit file, stored in the Crystal Enterprise auditing database. • Program objects

110. How program objects can be incorporated into the

administration of a Crystal Enterprise system:

A reconciliation process runs nightly and populates a database. On completion, a file—nightlybatch.txt—is created, with a batch number. A file event in Crystal Enterprise detects the file creation and runs five reports against the reconciliation data from that night. The completion of these five report jobs triggers a program object. This program object runs a script that moves nightlybatch.txt to another directory, which launches another process in another system.

111. Explain the auditing capabilities of Crystal Enterprise?

New auditing capabilities in Crystal Enterprise provide you, the administrator, with a detailed historical view of user and object interaction, and of system usage.

This allows you to fine-tune system performance, retire unused reports, and provide business units with a comprehensive snapshot of their usage patterns.

Servers in Crystal Enterprise are now designed to record pertinent statistical metrics to an auditing database. (System administrators specify whether or not to audit metrics and the time interval of the audit for each server.) The auditing cache file is periodically passed to the Crystal Management Server (CMS), where the auditing sub-system maintains a database that stores the information.

You can compile and present this data using performance sample audit reports, supplied with Crystal Enterprise or your own custom Crystal report.

112. What are the various administrative tasks associated with

Crystal Enterprise?

The Administrative tasks can be roughly divided into three major categories: user management, content management, and server management.

113. What are the applications to be used to manage Crystal

Enterprise?

39

Typically the following applications shall be used to manage Crystal Enterprise: • Crystal Management Console (CMC) This web application is the most powerful administrative tool provided for managing a Crystal Enterprise system. It offers you a single interface through which you can perform almost every task related to user management, content management, and server management. • Crystal Configuration Manager (CCM) This server administration tool is provided in two forms. In a Windows environment, the CCM allows you to manage local and remote servers through its Graphical User Interface (GUI) or from a command line. In a UNIX environment, the CCM shell script (ccm.sh) allows you to manage servers from a command line. • Crystal Publishing Wizard This application allows you to publish your reporting content to Crystal Enterprise quickly. It also allows you to specify a number of options on each report that you publish. Although this application runs only on Windows, you can use it to publish reports to Crystal Enterprise servers that are running on Windows or on UNIX.

114. Explain about the CCM - Crystal Configuration Manager?

The Crystal Configuration Manager (CCM) is a server-management tool that allows you to configure each of your Crystal Enterprise server components. This tool allows you to start, stop, enable, and disable servers. It also allows you to view and to configure advanced server settings such as default port numbers, CMS database and clustering details, SOCKS server connections, and more.

115. What are the security features supported by the Crystal

Enterprise architecture?

The Crystal Enterprise architecture addresses the many security concerns that affect today’s businesses and organizations. The current release supports features such as distributed security, Single Sign On (SSO), resource access security, granular object rights, and third- party Windows NT, LDAP, and Windows AD authentication in order to protect against unauthorized access. To allow for further customization of security, Crystal Enterprise supports dynamically loaded processing extensions. And, for monitoring and auditing purposes, Crystal Enterprise allows to log various web statistics, thus enabling you to detect potential security concerns.

116. How Crystal Enterprise authenticates and authorizes?

Authentication is the process of verifying the identity of a user who attempts to access the system, and authorization is the process of

40

verifying that the user has been granted sufficient rights to perform the requested action upon the specified object.

117. What is Primary authentication of Crystal Enterprise?

Primary authentication occurs when a user first attempts to access the system. The user provides a user name and password and specifies an authentication type. The authentication type may be Enterprise, Windows NT, LDAP, or Windows AD authentication, depending upon which type(s) you have enabled and set up in the Authorization management area of the Crystal Management Console (CMC). The user’s web browser sends the information by HTTP to your web server, which routes the information through the Web Connector to the Web Component Server (WCS).

118. How does an Enterprise authentication handled in Crystal

Enterprise?

If the user specifies Enterprise Authentication, the SDK ensures that the Crystal Enterprise security plug-in performs the authentication.

The Crystal Management Server (CMS) uses the Crystal Enterprise security plug-in component to verify the user name and password against the system database. Alternatively, if the user specifies Windows NT, LDAP, or Windows AD Authentication, the SDK uses the corresponding security plug-in to authenticate the user.

If the security plug-in reports a successful match of credentials (including a match to an appropriate group membership for Windows NT, Windows AD, or LDAP authentication), the CMS grants the user an active identity on the system

119. What are the various actions performed by Crystal Enterprise

after granting the user an active identity on the system?

• The CMS stores the user’s information in memory in a CMS session variable. While active, this session consumes one user license on the system. • The CMS generates and encodes a logon token and sends it to the WCS. • The WCS stores the user’s information in memory in a WCS session variable. While active, this session stores information that allows Crystal Enterprise to respond to the user’s requests. • The session variable does not contain the user’s password. • The WCS sends the logon token to the user’s web browser, and the web browser caches the token in a cookie. Until the logon token

41

expires, its encoded information serves as the user’s valid ticket for the system.

Each of these steps contributes to the distributed security of Crystal Enterprise, because each step consists of storing information that is used for secondary identification and authorization purposes. This is the model used in the Crystal Enterprise web desktop.

120. In a SSO situation, will the user prompted for credentials?

In a Single Sign On situation, Crystal Enterprise retrieves users’ credentials and group information directly from the Windows NT or Windows AD system. Hence, users are not prompted for their credentials.

121. Explain the Secondary authentication and authorization of

Crystal Enterprise?

Secondary authentication is the process of double-checking the identity of each user who attempts to view, run, schedule, or otherwise act upon an object that is managed by Crystal Enterprise. Authorization is the process of verifying that the user has been granted sufficient rights to perform the requested action upon the specified object.

122. What are the security-related steps WCS performs when user

attempts to access an object?

When a user attempts to access an object on the system, the web browser sends the request by HTTP to the WCS. Before fulfilling the user’s request, the WCS performs a series of security-related steps. First, the WCS ensures that the user has a valid logon token: • If there is a valid logon token, the WCS proceeds to its next task. • If there is no valid logon token, the primary authentication process is repeated. Second, the WCS checks internally for an active WCS session that matches the user’s logon token: • If the corresponding WCS session variable remains in memory, the WCS proceeds to its next task. • If the WCS session variable has timed out, the user is logged back on with the logon token. The SDK authenticates the user against the appropriate user database, and the CMS and the WCS recreate the required session variables. In this case, Crystal Enterprise does not have to prompt the user for credentials, because the encoded logon token contains the required information.

Third, the WCS ensures that the appropriate server component actually processes the user’s request:

42

• If the WCS can process the request itself, it queries the CMS database for the rights associated with the object that the user requested. For instance, if the user requests a list of reports in a specific folder, the WCS queries the CMS database for a list of the reports that the user is authorized to see. The WCS then dynamically lists the reports in an HTML page, and sends the page to the user’s browser. • If a different server component must process the request, the WCS sends the request and the user’s logon token to the appropriate server component. That server component then queries the CMS database for the rights associated with the object that the user requested.

123. List the Security management components of Crystal

enterprise?

Security management components System security within Crystal Enterprise is distributed across most components, but it is managed primarily by the WCS, the CMS, and the security plug-ins. These components work together to authenticate and to authorize users who access Crystal Enterprise, its folders, and its other objects.

124. Explain Web Component Server (WCS) ?

The WCS is the gateway between the web server/Web Connector machine and the remaining Crystal Enterprise components. As such, the WCS receives all HTTP requests that are sent to Crystal Enterprise from users’ web browsers.

125. What is the purpose of WCS of Crystal Enterprise?

The WCS ensures that each user has a valid logon token for the system. If the logon token is missing, or if it has expired, the WCS initiates the primary authentication process. The WCS is also responsible for maintaining the user’s session state in the WCS session variable. This session variable contains information that Crystal Enterprise uses when fulfilling user’s requests.

126. What are the security tasks CMS(Crystal Management Server)

performs?

In relation to system security, the CMS performs a number of important tasks. The majority of these tasks rely upon the database that the CMS uses to keep track of Crystal Enterprise system data. This data includes security information, such as user accounts, group memberships, and object rights that define user and group privileges.

43

When you first set up your system, the CMS allows you to create user accounts and groups within Crystal Enterprise. And, with its third-party security plug-ins, the CMS allows you to reuse existing user accounts and groups that are stored in a third-party system (a Windows NT user database, an LDAP directory server, or a Windows AD server). The CMS supports third-party authentication, so users can log on to Crystal Enterprise with their current Windows NT, LDAP, or Windows AD credentials.

When users log on, the CMS coordinates the authentication process with its security plug-ins; the CMS then grants the user a logon token and an active session on the system. The CMS also responds to authorization requests made by the rest of the system. When a user requests a list of reports in a particular folder, the CMS authorizes the request only when it has verified that the user’s account or group membership provides sufficient privileges.

127. What is the purpose of Security plug-ins?

Security plug-ins expand and customize the ways in which Crystal Enterprise authenticates users. Crystal Enterprise currently ships with the system default Crystal Enterprise security plug-in and with the Windows NT, LDAP, or Windows AD security plug-ins. Each security plug-in offers several key benefits.

Security plug-ins facilitate account creation and management by allowing you to map user accounts and groups from third-party systems into Crystal Enterprise. You can map third-party user accounts or groups to existing Crystal Enterprise user accounts or groups, or you can create new Enterprise user accounts or groups that corresponds to each mapped entry in the external system.

The security plug-ins dynamically maintain third-party user and group listings. So, once you map a Windows NT, LDAP, or Windows AD group into Crystal Enterprise, all users who belong to that group can log on to Crystal Enterprise.

Moreover, security plug-ins enable to assign rights to users and groups in a consistent manner, because the mapped users and groups are treated as if they were Enterprise accounts. For example, you might map some user accounts or groups from Windows NT, and some from an LDAP directory server. Then, when you need to assign rights or create new, custom groups within Crystal Enterprise, you make all of your settings in the CMC.

Each security plug-in acts as an authentication provider that verifies user credentials against the appropriate user database. When users log on to

44

Crystal Enterprise, they choose from the available authentication types that you have enabled and set up in the Authorization management area of the CMC: Enterprise (the system default), Windows NT, LDAP, or Windows AD.

128. Explain about Crystal Enterprise security plug-in?

The Crystal Enterprise security plug-in (secEnterprise.dll) is installed and enabled by default when you install Crystal Enterprise. This plug- in allows you to create and maintain user accounts and groups within Crystal Enterprise; it also enables the system to verify all logon requests that specify Enterprise Authentication. In this case, user names and passwords are authenticated against the Crystal Enterprise user list, and users are allowed or disallowed access to the system based solely on that information.

129. Explain the Signle Sign On and Sign Up features of Crystal

Enterprise?

Single Sign On The Crystal Enterprise authentication provider supports anonymous Single Sign On for the Guest account. Thus, when users connect to Crystal Enterprise without specifying a user name and password, the system logs them on automatically under the Guest account. If you assign a secure password to the Guest account, or if you disable the Guest account entirely, you disable this default behavior.

Sign Up By default, users who are logged on under the Guest account also have the ability to sign up and create their own, new accounts on the system.

130. What does the Windows NT security plug-in facilitates in context

of Crystal Enterprise?

The Windows NT security plug-in (secWindowsNT.dll) allows you to map user accounts and groups from your Windows NT user database to Crystal Enterprise; it also enables Crystal Enterprise to verify all logon requests that specify Windows NT Authentication. Users are authenticated against the Windows NT user database, and have their membership in a mapped NT group verified before the CMS grants them an active Crystal Enterprise session.

This plug-in is compatible with NT 4 and Windows 2000 Active Directory user databases (when Windows 2000 Active Directory is configured in non-native mode only). If a Windows 2000 Active Directory user database is configured in native mode and contains

45

universal groups that span several domains, you must use the Windows AD security plug-in. Once you have mapped your NT users and groups, all of the Crystal Enterprise client tools support NT authentication, except for the Crystal Import Wizard. You can also create your own applications that support NT authentication.

131. Does the Windows NT security plug-in supports Single Sign On?

Yes. The Windows NT security plug-in supports Single Sign On, thereby allowing authenticated NT users to log on to Crystal Enterprise without explicitly entering their credentials. The Single Sign On requirements depend upon the way in which users access Crystal Enterprise: either via a thick client, or over the Web. In both scenarios, the security plug-in obtains the security context for the user from the authentication provider, and grants the user an active Crystal Enterprise session if the user is a member of a mapped NT group: • To obtain NT Single Sign On functionality from a thick-client application (such as the Crystal Publishing Wizard), the user must be running a Windows operating system, and the application must use the Crystal Enterprise SDK. In this scenario, the Windows NT security plug-in queries the operating system for the current user’s credentials when the client is launched. • To obtain Single Sign On functionality over the Web, the system must use Microsoft components only. Specifically, the user must be running Internet Explorer on a Windows operating system, and the web server must be running Internet Information Server (IIS).

132. What is the purpose of LDAP security plug-in in context of

Crystal Enterprise?

The LDAP security plug-in (secLDAP.dll) allows you to map user accounts and groups from your LDAP directory server to Crystal Enterprise; it also enables the system to verify all logon requests that specify LDAP Authentication. Users are authenticated against the LDAP directory server, and have their membership in a mapped LDAP group verified before the CMS grants them an active Crystal Enterprise session. User lists and group memberships are dynamically maintained by Crystal Enterprise. You can specify that Crystal Enterprise use a Secure Sockets Layer (SSL) connection to communicate to the LDAP directory server for additional security.

133. Explain LDAP authentication for Crystal Enterprise?

LDAP authentication for Crystal Enterprise is similar to NT and AD authentication in that you can map groups and set up authentication, authorization, and alias creation. Also as with NT or AD authentication, you can create new Enterprise accounts for existing LDAP users, and

46

can assign LDAP aliases to existing users if the user names match the Enterprise user names. In addition, you can do the following:

• Implement LDAP authentication when Crystal Enterprise is running on Windows or on UNIX. • Map users and groups from the LDAP directory service. • Specify multiple host names and their ports.

Once you have mapped your LDAP users and groups, all of the Crystal Enterprise client tools support LDAP authentication, except for the Crystal Import Wizard. You can also create your own applications that support LDAP authentication.

134. How does Crystal Enterprise supports processing extensions?

Crystal Enterprise offers the ability to further secure your reporting environment through the use of customized processing extensions. A processing extension is a dynamically loaded library of code that applies business logic to particular Crystal Enterprise view or schedule requests before they are processed by the system. Note: On Windows systems, dynamically loaded libraries are referred to as dynamic-link libraries (.dll file extension). On UNIX systems, dynamically loaded libraries are often referred to as shared libraries (.so file extension). You must include the file extension when you name your processing extensions.

135. Explain report-processing extension?

Report-processing extension enforces row-level security. This type of security restricts data access by row within one or more database tables. The developer writes a dynamically loaded library that intercepts view or schedule requests for a report (before the requests are processed by the Job Server, Page Server, or Report Application Server). The developer’s code first determines the user who owns the processing job; then it looks up the user’s dataaccess privileges in a third-party system. The code then generates and appends a record selection formula to the report in order to limit the data returned from the database. In this case, the processing extension serves as a way to incorporate customized row-level security into the Crystal Enterprise environment. through the use of Business Views.

136. How to configure the processing extensions via CMC?

The CMC provides methods for registering your processing extensions with Crystal Enterprise and for applying processing extensions to particular object.

47

By enabling processing extensions, you configure the appropriate Crystal Enterprise server components to dynamically load your processing extensions at runtime. Included in the SDK is a fully documented API that developers can use to write processing extensions.

137. What is an “Active trust relationship”?

In a networked environment, a trust relationship between two domains is generally a connection that allows one domain accurately to recognize users who have been authenticated by the other domain. While maintaining security, the trust relationship allows users to access resources in multiple domains without repeatedly having to provide their credentials.

138. How an Active trust relation ship works in a Crystal Enterprise

environment?

Within the Crystal Enterprise environment, the active trust relationship works to provide each user with seamless access to resources across the system. Once the user has been authenticated and granted an active session, all other Crystal Enterprise components can process the user’s requests and actions without prompting for credentials. As such, the active trust relationship provides the basis for Crystal Enterprise’s distributed security.

139. What are Logon tokens?

A logon token is an encoded string that defines its own usage attributes and contains a user’s session information. The logon token’s usage attributes are specified when the logon token is generated. These attributes allow restrictions to be placed upon the logon token to reduce the chance of the logon token being used by malicious users.

140. What are the usage attributes for logon token?

The current logon token usage attributes are: • Number of minutes This attribute restricts the lifetime of the logon token. • Number of logons This attribute restricts the number of times that the logon token can be used to log on to Crystal Enterprise.

Both attributes hinder malicious users from gaining unauthorized access to Crystal Enterprise with logon tokens retrieved from legitimate users.

141. Explain the ticket mechanism used for distributed security?

48

Enterprise systems dedicated to serving a large number of users typically require some form of distributed security. An enterprise system may require distributed security, for instance, to support features such as load balancing, stateless environments, or transfer of trust (the ability to allow another component to act on behalf of the user).

Crystal Enterprise addresses distributed security by implementing a ticket mechanism (one that is similar to the Kerberos ticket mechanism). The CMS grants tickets that authorize components to perform actions on behalf of a particular user.

In Crystal Enterprise, the ticket is referred to as the logon token. This logon token is most commonly used over the Web. When a user is first authenticated by Crystal Enterprise, he or she receives a logon token from the CMS. The user’s web browser caches this logon token. When the user makes a new request, other Crystal Enterprise components can read the logon token from the user’s web browser.

This use of the logon token provides the distributed security that is required for load balancing to be implemented in conjunction with effective fault-protection. For instance, suppose that you are running one web server and two Web Component Servers, and each of the three components is running on a separate machine. The Web Connector is installed on the web server, so as to direct all Crystal Enterprise requests to the Web Component Servers.

142. Explain the load balancing of Crystal Enterprise traffic?

By default, the Web Connector balances all Crystal Enterprise traffic across the two Web Component Servers: when a user first connects to Crystal Enterprise, the Web Connector passes the logon request to whichever Web Component Server has the most resources available. If the log on is successful, the user is granted a logon token and an active identity on the system.

143. Where does the user’s active identity will be stored?

The user’s active identity is stored as a session variable on the Web Component Server that processed the request; consequently, the user’s active identity is not immediately accessible by the other Web Component Server. For this reason, the Web Connector uses the user’s logon token to route all of the user’s requests to the Web Component Server that is storing the user’s session. By doing so, the Web Connector maintains security while providing optimal performance: the user’s identity is verified, but the system does not have to repeatedly prompt the user for his or her credentials; in addition, the user is

49

prevented from unnecessarily consuming resources on both Web Component Servers.

If the Web Component Server that is storing the user’s active session is taken offline, the logon token again serves a critical purpose. If one Web Component Server ceases to respond to a user’s requests, the Crystal Enterprise web desktop and the CMC are designed such that the Web Connector is instructed to redirect the request to the remaining Web Component Server. The client application logs the user on with the valid logon token, and the remaining Web Component Server

144. How does the session tracking supported?

The CMS implements a simple tracking algorithm. When a user logs on, he or she is granted a CMS session, which the CMS preserves until the user logs off, or until the WCS session variable is released. The WCS session is designed to notify the CMS on a recurring basis that it is still active, so the CMS session is retained so long as the WCS session exists. If the WCS session fails to communicate with the CMS for a ten-minute time period, the CMS destroys the CMS session. This handles scenarios where client-side components shut down irregularly.

145. What is meant by “Environment protection” in the context of

Crystal Enterprise?

Environment protection refers to the security of the overall environment in which client and server components communicate. Although the Internet and web-based systems are increasingly popular due to their flexibility and range of functionality, they operate in an environment that can be difficult to secure. When you deploy Crystal Enterprise, environment protection is divided into two areas of communication: • Web browser to web server • Web server to Crystal Enterprise

146. How to secure the communication between the Web browser

and webserver?

Web browser to web server When sensitive data is transmitted between the web browser and the web server, some degree of security is usually required. Relevant security measures usually involve two general tasks: • Ensuring that the communication of data is secure. • Ensuring that only valid users retrieve information from the web server. These tasks are typically handled by web servers through various security mechanisms, including the Secure Sockets Layer (SSL)

50

protocol, Windows NT Challenge/Response authentication, and other such mechanisms.

You must secure communication between the web browser and the web server independently of Crystal Enterprise.

147. How to Audit web activity using Crystal Enterprise?

Crystal Enterprise provides insight into your system by recording web activity and allowing you to inspect and to monitor the details. The WCS allows you to select the web attributes—such as time, date, IP address, port number, and so on—that you want to record. The auditing data is logged to disk and stored in comma delimited text files, so you can easily report off the data or import it into other applications.

148. How Crystal Enterprise protects data against malicious logon

attempts?

No matter how secure a system is, there is often at least one location that is vulnerable to attack: the location where users connect to the system. It is nearly impossible to protect this location completely, because the process of simply guessing a valid user name and password remains a viable way to attempt to “crack” the system.

Crystal Enterprise implements several techniques to reduce the probability of a malicious user achieving access to the system. The various restrictions listed below apply only to Enterprise accounts— that is, the restrictions do not apply to accounts that you have mapped to an external user database (Windows NT, LDAP, or Windows AD). Generally, however, your external system will enable you to place similar restrictions on the external accounts.

149. What are the Crystal Enterprise Password restrictions?

Password restrictions ensure that Enterprise users create passwords that are relatively complex. You can enable the following options: • Enforce mixed-case passwords This option ensures that passwords contain at least two of the following character classes: upper case letters, lower case letters, numbers, or punctuation. Must contain at least N characters By enforcing a minimum complexity for passwords, you decrease a malicious user’s chances of simply guessing a valid user’s password.

150. What are the Crystal Enterprise Logon restrictions?

51

Logon restrictions serve primarily to prevent dictionary attacks (a method whereby a malicious user obtains a valid user name and attempts to learn the corresponding password by trying every word in a dictionary). With the speed of modern hardware, malicious programs can guess millions of passwords per minute. To prevent dictionary attacks, Crystal Enterprise has an internal mechanism that enforces a time delay (0.5–1.0 second) between logon attempts. In addition, Crystal Enterprise provides several customizable options that you can use to reduce the risk of a dictionary attack: • Disable accounts after N failed attempts to log on • Reset failed logon count after N minute(s) • Re-enable account after N minute(s)

151. What are the Crystal Enterprise User restrictions?

User restrictions ensure that Enterprise users create new passwords on a regular basis. You can enable the following options: • Must change password every N day(s) • Cannot reuse the N most recent password(s) • Must wait N minute(s) to change password These options are useful in a number of ways. Firstly, any malicious user attempting a dictionary attack will have to recommence every time passwords change. And, because password changes are based on each user’s first logon time, the malicious user cannot easily determine when any particular password will change. Additionally, even if a malicious user does guess or otherwise obtain another user’s credentials, they are valid only for a limited time.

152. What are the Guest account restrictions?

Guest account restrictions By default, users who are logged on under the Guest account also have the ability to sign up and create their own, new accounts on the system. The Guest account restrictions allow you to disable this default behavior.

The Crystal Enterprise authentication provider supports anonymous Single Sign On for the Guest account. Thus, when users connect to Crystal Enterprise without specifying a user name and password, the system logs them on automatically under the Guest account. If you assign a secure password to the Guest account, or if you disable the Guest account entirely, you disable this default behavior.

153. What is account management?

Account management can be thought of as all of the tasks related to creating, mapping, changing, and organizing user and group information. The Users and Groups management areas of the Crystal

52

Management Console (CMC) provide you with a central place to perform all of these tasks. In the Users area, you can specify everything required for a user to access Crystal Enterprise.

154. What are the CMC specifications to create user accounts?

To create user accounts, specify the following: • Account name (required) • Full name • Email • Description • Password settings • Connection type • Group membership

155. How to create groups?

In the Groups area, you can create groups that give a number of people access to the report or folder. This enables you to make changes in one place instead of modifying each user account individually. To create groups, specify the following: • Group name (required) • Description • Users who belong to the group • Subgroups that belong to the group • Group membership

156. What are the available user account authentication types?

• Enterprise authentication Use the system default Enterprise Authentication if you prefer to create distinct accounts and groups for use with Crystal Enterprise, or if you have not already set up a hierarchy of users and groups in a Windows NT user database, an LDAP directory server, or a Windows AD server.

• Windows NT authentication If you are working in a Windows NT environment (Windows NT/2000), you can use existing NT user accounts and groups in Crystal Enterprise. When you map NT accounts to Crystal Enterprise, users are able to log on to the Crystal Enterprise web desktop with their NT user name and password. This eliminates the need to recreate individual user and group accounts within Crystal Enterprise.

• LDAP authentication If you set up an LDAP directory server, you can use existing LDAP user

53

accounts and groups in Crystal Enterprise. When you map LDAP accounts to Crystal Enterprise, users are able to access the Crystal Enterprise web desktop with their LDAP user name and password. This eliminates the need to recreate individual user and group accounts within Crystal Enterprise.

• Windows AD authentication If you are working in a Windows 2000 environment, you can use existing AD user accounts and groups in Crystal Enterprise. When you map AD accounts to Crystal Enterprise, users are able to log on to the Crystal Enterprise web desktop with their AD user name and password. This eliminates the need to recreate individual user and group accounts within Crystal Enterprise. Note: You can use Enterprise Authentication in conjunction with either NT, LDAP, or AD authentication, or with all of the three authentication plug-ins.

157. What is the purpose of Folder in context of Crystal Enterprise?

Folders provide you with the ability to organize and facilitate content administration.

They are useful when there are a number of reports that a department or area requires frequent access to, because you can set object rights and limits once, at the folder level, rather than setting them for each report or object within the folder.

By default, new objects that you add to a folder inherit the object rights that are specified for the folder.

158. How to create and delete folders?

Creating and deleting folders There are several ways to create new folders in Crystal Enterprise. In the Crystal Management Console (CMC), go to the Folders management area to create new folders and to add subfolders to the existing hierarchy of folder objects.

Creating a new folder This procedure shows how to create a new folder at the top of your folder hierarchy. Folders created in this way are, in effect, subfolders of the top-level (or root) Crystal Enterprise folder. 1 Go to the Folders management area of the CMC. 2 Click New Folder. 3 On the Properties tab, type the name and description of the new folder. This example creates a new Marketing folder:

54

Click OK. The new folder is added to the system, and its Properties tab is refreshed. You can now use the Objects, Subfolders, Limits, and Rights tabs to add objects and to change settings for this folder.

Adding a report to a new folder You can add objects individually to any folder in a number of ways. Follow this procedure to add a report to a new folder that you have just created. For complete information on publishing reports and other objects.

To add a report to a new folder 1 Once you’ve created the new folder, click its Objects tab.

Click New Object.

The New Object page appears.

55

On the Report tab, in the File name field, type the full path to the report. If you do not know the path, click Browse to perform a search. 4 If you do not want the user to see a thumbnail preview of the report in Crystal Enterprise, clear the Generate thumbnail for the report check box. 5 If the report references objects in your Crystal Repository, select the Use Object Repository when refreshing report check box to update these objects now. 6 Ensure that the correct folder name appears in the Destination field. Tip: If there are many folders on your system, use the “Look for” field to search, or click Previous, Next, and Show Subfolders to browse the folder hierarchy. 7 Click OK. The report is published to Crystal Enterprise.

159. How to set limits for folders, users, and groups?

Limits allow you to delete report instances on a regular basis. You set limits to automate regular clean-ups of old Crystal Enterprise content. Limits that you set on a folder affect all objects that are contained within the folder. At the folder level, you can limit the number of instances that remain on the system for each object or for each user or group; you can also limit the number of days that an instance remains on the system for a user or group Publishing overview

56

160. What is meant by “Publishing” in context of Crystal Enterprise reports?

Publishing is the process of adding objects such as Crystal reports to the Crystal Enterprise environment and making them available to authorized users.

161. What are the various types of objects that can be published to

Crystal Enterprise?

There are several types of objects that you can publish to Crystal Enterprise: reports (RPT and CAR files), programs, Microsoft Excel files, Microsoft Word files, Microsoft PowerPoint files, Adobe Acrobat PDFs, rich text format files, text files, and hyperlinks, as well as object packages, which consist of report and/or program objects. When you publish an object to Crystal Enterprise, an entry is made in the Crystal Management Server (CMS) database.

162. What are the various ways objects can be published to Crystal

Enterprise?

You can publish objects to Crystal Enterprise in three ways: Use the Crystal Publishing Wizard when you: • Have access to the locally installed application. • Are adding multiple objects or an entire directory.

Use the Crystal Management Console (CMC) when you are: • Publishing a single object. • Taking care of other administrative tasks. • Performing tasks remotely. • Save directly to your Enterprise folders when you are: • Designing reports with Crystal Reports. • Using the Crystal Analysis Application Designer. • Creating other objects with Crystal Enterprise plug-in components.

163. What are the various publishing options available in Crystal

Enterprise?

During the publishing process, you specify how often an object is run. You can choose to set a schedule (recurring), or you can choose to let users set the schedule themselves (on demand). For RPT report files, this affects when data is refreshed and what data users see (you cannot schedule Crystal Analysis reports (CAR files)): • Specifying the data that users see (recurring) This option is recommended for objects that are accessed by a large number of people and that do not require separate database logon credentials. Benefits

57

• Users view the same instance of the report, reducing the number of times the database is hit (and thus system resources are used more effectively). • The report instance is static (contains saved data) and is stored on the Cache Server, allowing multiple users to access the report at the same time. Drawbacks • The report instance the users see is based on the selection criteria (parameters and record selection formulas) and schedule set by the administrator. • Allowing users to update the data in the report (on demand) This option is recommended for smaller reports that use parameters and selection formulas, require separate database logon credentials, or have frequent data changes. Benefits • Users are able to determine the frequency in which the data in the report is updated. Drawbacks • Multiple users generating reports at the same time increases the load on the system and the number of times the database is hit. • Each unique report page is cached separately. It’s possible that the Cache Server can contain many copies of the cached report, each of them being generated by hitting the Page Server and database.

164. How to Enable repository refresh in Crystal Enterprise?

Enabling repository refresh The Crystal Repository is a central location which stores shared report elements such as text objects, bitmaps, custom functions, and custom SQL commands. You can choose to refresh an object’s repository fields if the object references the repository. To complete this task, the Crystal Publishing Wizard needs to connect to your Crystal Repository database from the local machine.

To enable repository refresh 1 Select a report, and then select the Use Object Repository when refreshing report check box if you want to refresh it against the repository. Tip: Click the “Enable All” button if you want to refresh all objects that reference the repository; click the “Disable All” button if you want to refresh none of the objects.

165. How to set common access levels in Crystal Enterprise?

Setting common access levels An access level is essentially a predefined set of object rights. Crystal Enterprise provides a set of access levels that allow you to set common object security levels quickly. The available predefined access

58

levels are No Access, View, Schedule, View On Demand, and Full Control.

Access levels are based on a model of increasing rights: beginning with No Access and ending with Full Control, each access level builds upon the rights granted by the previous level. For example, the Schedule access level includes and adds to the rights that are granted by the View access level.

166. What are the things to be aware of when assigning an access

level to a group?

• When you assign an access level to a group, each user in the group will have at least that level of access to the object. If the user is a member of multiple groups, then he or she inherits the combination of each group’s rights. Thus, when a user is a member of multiple groups, he or she inherits the greatest possible rights. • When you assign an access level directly to a user, you ensure that the user has only that level of access to the object. In other words, you prevent the user from inheriting rights that he or she may have otherwise acquired by virtue of group membership. This list provides a brief description of each access level:

167. What “No Access” access level signifies?

The user or group is not able to access the object or folder. The Crystal Enterprise web desktop, the Crystal Publishing Wizard, and the CMC enforce this right by ensuring that the object is not visible to the user.

168. What is “View” access level signifies?

View If this access level is set at the folder level, the user or group is able to view the folder, the objects contained within the folder, and all generated instances of each object. If this access level is set at the object level, the user can view the object, the history of the object, and all generated instances of the object. The user cannot, however, schedule the object or refresh it against its data source.

169. What is “Schedule” access level signifies?

Schedule The user or group is able to view the object or folder and its contents, and to generate instances by scheduling the object to run against the specified data source once or on a recurring basis. The user or group can view, delete, and pause the scheduling of instances that they own. They can also schedule to different formats and destinations, set

59

parameters and database logon information, pick servers to process jobs, add contents to the folder, and copy the object or folder.

170. What is “View on Demand” access level signifies?

View On Demand In addition to the rights provided by the Schedule access level, the user gains the right to refresh data “on demand” against the data source.

171. What is “Full Control” access level signifies?

Full Control This access level grants all of the available advanced rights. It is the only access level that allows users to delete objects (folders, objects, and instances). This access level also allows users to modify all of the object’s properties, including the object rights that are set on the folder or object.

Basically, this access level is designed to provide a user or group with administrative control over one or more folders or objects. Users can then log on to the CMC and add, edit, and remove content as required, without being members of the actual Administrators group.

172. What is “Advanced” access level signifies?

Advanced This access level does not include a predefined set of object rights. Instead, it allows you to customize a user’s or group’s access to an object by selecting from the complete range of available object rights. Note: There is no predefined access level to grant users the rights required to create or modify reports through the Report Application Server (RAS).

173. How to set an access level for a user or group?

To set an access level for a user or group 1 Go to the Objects or Folders management area of the CMC. 2 Locate the object whose rights you want to modify. 3 Click the link to the object, and then click its Rights tab. 4 In the Name column, locate the user or group whose rights you want to specify. If the user or group is not listed, click Add/Remove. Add the appropriate user or group and click OK. You are returned to the object’s Rights tab. 5 In the Access Level column, select the access level (No Access, View, Schedule, View On Demand, or Full Control) that is appropriate for the user or group. 6 Click Update.

60

174. How to view or set advanced rights?

To view or set advanced rights 1 Go to the Objects or Folders management area of the CMC. 2 Locate the object whose rights you want to modify. 3 Click the link to the object, and then click its Rights tab. 4 In the Name column, locate the user or group whose rights you want to specify. If the user or group is not listed, click Add/Remove. Add the appropriate user or group and click OK. You are returned to the object’s Rights tab. 5 The next step depends upon the entry that already appears in the Access Level list for this user or group:

175. What is meant by Base rights in context of Crystal Enterprise?

Base rights The Crystal Enterprise system defines a set of base rights that apply to all objects in the system. For example, the “View objects” right is a base right: it applies equally well to folders, to reports, and to other Crystal Enterprise objects. In addition to these base rights, however, each type of object provides an additional set of rights that apply only to that object type. For example, the “Refresh the report’s data” right applies only to report objects.

176. What is meant by Available rights in context of Crystal Enterprise?

The Crystal Management Server (CMS) is the component that keeps track of available rights. The list of available rights includes the base rights and all other object-specific rights that have been provided by particular object types, such as Crystal report objects.

On the Advanced Rights pages, you will find that all of the available rights are displayed for every object on the system. For example, the rights displayed for a folder object seem to correspond exactly to the rights displayed for a report object, even though object-specific rights such as “Refresh the report’s data” do not apply to folder objects. Available rights are displayed for every object on the system for purposes of inheritance, so that you can set object security at the folder level (rather than repeating the same settings for every object in the folder). Although certain object specific rights do not strictly apply to the folder object itself, these rights may apply to objects that inherit rights from the folder.

61

In other words, the “Refresh the report’s data” right is displayed for the folder object so that you can grant a user the right to refresh the data in all reports for which the user inherits rights from this folder.

177. What are the types of inheritance object rights available in Crystal Enterprise?

In regards to object rights, Crystal Enterprise recognizes two types of inheritance: group inheritance and folder inheritance. By taking advantage of the ways in which object rights are inherited, you can reduce the amount of time it takes to secure the content that you have published to Crystal Enterprise. Additionally, you can set up Crystal Enterprise such that you can integrate new users and new content quickly and easily.

To facilitate administration, it is recommended that you enable and disable inheritance with access levels whenever possible (instead of with advanced rights).

Additionally, it is recommended that you make your initial settings at the top-level Crystal Enterprise folder and disable inheritance only when necessary.

178. Explain Group inheritance in the context of Crystal Enterprise? Group inheritance allows users to inherit rights as the result of group membership.

Group inheritance proves especially powerful when you organize all of your users into groups that coincide with your organization’s current security conventions. For example, if you create a user called Sample User, and add it to an existing group called Sales, then Sample User will automatically inherit the appropriate rights for each of the reports and folders that the Sales group has been added to. When group inheritance is enabled for a user who belongs to more than one group, the rights of both groups are considered when the system checks credentials. The user is denied any right that is explicitly denied in any group, and the user is denied any right that remains completely “not specified”; thus, the user is granted only those rights that are granted in one or more groups (explicitly or through access levels) and never explicitly denied.

179. Explain Folder inheritance in the context of Crystal Enterprise?

Folder inheritance allows users to inherit any rights that they have been granted on an object’s parent folder. Folder inheritance proves

62

especially powerful when you organize Crystal Enterprise content into a folder hierarchy that reflects your organization’s current security conventions. For example, suppose that you create a folder called Sales Reports, and you provide your Sales group with View On Demand access to this folder. By default, every user that has rights to the Sales Reports folder will inherit the same rights to the reports that you subsequently publish to this folder. Consequently, the Sales group will have View On Demand access to all of the reports, and you need only set the object rights once, at the folder level. Note: If you need to disable or modify inheritance patterns for a particular folder or object within your folder hierarchy, you can do so with access levels or with advanced rights.

180. How to enable inheritance with an access level?

To enable inheritance with an access level 1 Go to the Objects or Folders management area of the CMC. 2 Locate the object whose rights you want to modify. 3 Click the link to the object, and then click its Rights tab. 4 In the Name column, locate the user or group whose rights you want to specify. If the user or group is not listed, click Add/Remove. Add the appropriate user or group and click OK. You are returned to the object’s Rights tab. 5 In the Access Level column, select Inherited Rights for the user or group. 6 Click Update. The Net Access column now displays the effective rights that the user or group has inherited for this object. Note: If the entry displayed in the Net Access column is Advanced, ensure that both types of inheritance are enabled in the parent folder’s advanced rights settings.

181. How to disable inheritance with an access level?

To disable inheritance with an access level Note: This procedure disables group and folder inheritance for a user account. When applied to a group, this procedure does not prevent group members from inheriting rights by virtue of membership in other groups. 1 Go to the Objects or Folders management area of the CMC. 2 Locate the object whose rights you want to modify. 3 Click the link to the object, and then click its Rights tab. 4 In the Name column, locate the user whose rights you want to specify.

63

If the user is not listed, click Add/Remove. Add the appropriate user and click OK. You are returned to the object’s Rights tab. 5 In the Access Level column, select the access level (No Access, View, Schedule, View On Demand, or Full Control) that is appropriate for the user. 6 Click Update. The Net Access column now displays the effective rights that the user has to the object. Because you have disabled all inheritance, the Net Access entry equals the Access Level entry.

182. Denied rights and granted rights, which rights has higher precedence?

Denied rights take precedence over granted rights. This can cause seemingly contradictory results when inheritance is enabled. Suppose that the “View objects” right is explicitly denied to a Sales group for a particular folder of reports. For the same folder, the “View objects” right has been explicitly granted to a Manager user, and the “Respect current security by inheriting rights from parent groups” check box is selected.

The Manager user is a member of the Sales group. In this scenario, the Manager user is both granted and denied the “See object” right to the folder. Because denied rights take precedence, the Manager user is effectively denied the ability to see the folder, so long as the user account inherits rights from its parent group (Sales). To remedy this situation, you could clear the “Respect current security by inheriting rights from parent groups” check box on the Advanced Rights page for the Manager user, or you could remove the Manager user from the Sales group. Rights that are not specified are denied by default. On the Advanced Rights page for any object, the Inherited Rights column may label certain rights as “Not Specified.” This entry denotes rights that are neither granted nor denied by inheritance. To prevent possible security breaches, Crystal Enterprise automatically denies rights that are not specified.

183. What are General object management concepts?

General object management concepts apply to all objects, such as moving, copying, and deleting objects ex: how to search for objects, how to modify object properties, and how to set object rights for users and groups.

184. What are the Report object management concepts?

64

Managing report objects includes applying processing extensions, specifying alert notification, changing database information, updating parameters, using filters, and working with hyperlinked reports.

185. What are the Program object management concepts?

Program object management concepts includes program object configuration, and security considerations for program objects.

186. What are object package management concepts?

Object package management concepts include managing object packages and instances, and how to manage them through the Crystal Management Console (CMC). Additionally, this also includes how to create an object package and how to add objects to an object package.

187. What are report objects?

A report object is an object that is created using a Crystal designer component (such as Crystal Reports or Crystal Analysis). Report objects contain report information (such as database fields). When you schedule a report, Crystal Enterprise generates an instance or instances of the object. A report object can be made available to everyone or to individuals in selected user groups.

Note: When you publish a report object to Crystal Enterprise, only the structure of the report (the template information) is saved; that is, the published report object contains no saved data.

188. What are report instances?

Crystal Enterprise creates report instances from report objects—that is, an instance is created when a report object is processed by the Report Job Server. Essentially, an instance is a report object that contains report data that is retrieved from one or more databases. Each instance contains data that is current at the time the report or query is processed.

189. How to set a report object’s refresh options?

To set a report object’s refresh options 1 In the Objects management area of the CMC, select a report object by clicking its link. 2 On the Properties page, click the Refresh Options link. 3 Choose the report elements that you want to refresh from the source report file.

65

4 Click Refresh Report.

190. What is the purpose of report viewing options available in

Crystal Enterprise?

The report viewing options available in Crystal Enterprise allow you to balance users’ need for up-to-date information with the need to optimize data retrieval times and overall system performance.

Crystal Enterprise allows you to enable data sharing, which permits different users accessing the same report object to use the same data when viewing or refreshing a report. Enabling data sharing reduces the number of database calls, thereby reducing the time needed to generate a report instance for subsequent users of the same report, while greatly improving overall system performance under load.

You can control data sharing settings on either a per-report or a per- server basis. If you specify which servers a report uses for viewing, you can use per-server settings to standardize data sharing settings for groups of reports, and centrally administer these settings. Per- report settings permit you to specify that particular reports will not share data. They also allow you to tailor the data sharing interval for each report to meet the needs of that report’s users. In addition, per- report settings enable you to decide on a report-by-report basis whether it is appropriate to allow users to access the database whenever they refresh reports.

Data sharing may not be ideal for all organizations, or for all reports. To get full value from data sharing, you must permit data to be reused for some period of time. This means that some users may see “old” data when they view a report on demand, or refresh a report instance that they are viewing.

191. Explain the default report viewing options available in Crystal Enterprise?

The default report viewing options for Crystal Enterprise emphasize data freshness and integrity. By default, when you add a report to Crystal Enterprise it is configured to use per-server settings for report sharing. The default server settings ensure that users always receive up-to-date information when they refresh a report, and guarantee that the oldest data given to any user is 0 minutes old. If you choose to enable per-report settings, the default settings allow data sharing, allow a viewer refresh to retrieve fresh data from the database, and ensure that the oldest data given to a client is 5 minutes old.

66

192. How to set a report viewing options for a report?

To set report viewing options for a report 1 In the Objects management area of the CMC, select a report by clicking its link. 2 Click the Process tab. 3 In the “Data Refresh for Viewing” area, click “Use report specific viewing settings.” Then select the options that you want to set for this report. 4 Click Update.

193. What is alert notification?

Alerts are custom messages, created in Crystal Reports, that appear when certain conditions are met by data in a report. Alerts may indicate action to be taken by the user or information about report data. If the alert condition (as defined in Crystal Reports) is true, the alert is triggered and its message is displayed.

194. What transport mechanism Crystal enterprise uses for

notification?

In Crystal Enterprise, you can choose to send alert notification when scheduling a report. If you enable alert notification, messages are sent through an SMTP server. You can configure email delivery options, specify the “To,” “Cc,” and “From” fields for the email, add subject and message information, set a URL for the viewer you want the email recipient to use, and set the maximum number of alert records to send. Note: • The Alert Notification link is available only if the report object contains alerts. • Alerts are triggered in the report object even if you disable alert notification. • To enable alert notification, you must also ensure that the Report Job Server’s SMTP Destination is enabled and configured.

195. How to set filters?

In the Filters page, you set the default selection formulas for the report. Selection formulas are similar to parameter fields in that they are used to filter results so that only the required information is displayed. Unlike parameters, end users will not be prompted for selection formula values when they view or refresh the report.

When users schedule reports through a web-based client such as the Crystal Enterprise web desktop, they can choose to modify the

67

selection formulas for the reports. By default, if any formulas are set in the CMC, they will be used by the web-based client.

In addition to changing selection formulas, if you have developed your own processing extensions, you can select the processing extensions that you want to apply to your report. When you use filters in conjunction with processing extensions, a subset of the processed data is returned. Selection formulas and processing extensions act as filters for the report.

196. What is the purpose of hyperlinked reports?

Crystal Reports lets you use hyperlinks to navigate from one report object to another. You can move to a Report Part within the report itself, to other report objects or their parts, or to specific instances of reports or Report Parts. This navigation is available only in the new script-based DHTML viewers (zero-client, server-side viewers) included in Crystal Enterprise 10. By linking directly from one object to another, the required data context is passed automatically so that you navigate to the object and data that is relevant.

Initially, when you add hyperlinks between reports in Crystal Reports, you create a link from one file directly to another. However, when you publish linked report files simultaneously to the same object package, the links are modified to point to managed report objects. (Each link is changed, so that it references the appropriate destination report by Enterprise ID, rather than by file path.) Also, the modified links become relative inside the object package. When you schedule the object package, Crystal Enterprise processes its reports, and again modifies hyperlinks within each report instance: hyperlinks between report objects in an object package are converted to hyperlinks between report instances in a specific instance of the object package.

To view hyperlinked reports, you must publish both the home and destination reports to the same Crystal Enterprise system. (A home report is one that contains a hyperlink to another report: the destination report.)

197. What are program objects?

A program object is an object in Crystal Enterprise that represents an application.

198. What are the advantages of publishing a program object to

Crystal Enterprise?

68

Publishing a program object to Crystal Enterprise allows you to use Crystal Enterprise to schedule and run the program object and to manage user rights in relation to the program object.

When you publish a program object or its associated files to Crystal Enterprise, they are stored in the File Repository Server (FRS). Each time a Crystal Enterprise program runs, the program and files are passed to the Program Job Server, and Crystal Enterprise creates a program instance. Unlike report instances, which you can view in their completed format, program instances exist as records in the object history.

Crystal Enterprise stores the program’s standard out and standard error in a text output file. This file appears when you click a program instance in the object History.

199. What are the types of applications that can be published to Crystal Enterprise as program objects?

Three types of applications can be published to Crystal Enterprise as program objects: • Executable Executable programs are binary files, batch files, or shell scripts. They generally have file extensions such as: .com, .exe, .bat, .sh. You can publish any executable program that can be run from the command line on the machine that runs the Program Job Server. • Java You can publish any Java program to Crystal Enterprise as a Java program object. For Java program objects to have access to Java SDK objects, your class must implement the IProgramBase interface from the Crystal Enterprise Java SDK (com.crystaldecisions.sdk.plugin.desktop.program.IProgramBase). • Script Script program objects are JScript and VBScript scripts. They are run on Windows using an embedded COM object and can—once published—reference the Crystal

200. How to set Authentication for program objects?

Be aware of the potential security risks associated with the publication of program objects. As the administrator, you must protect the system against abuse. The level of file permissions for the account under which a program object runs will determine what modifications, if any, the program can make to files.

69

You can control the types of program objects users can run, and you can configure the credentials required to run program objects.

201. How to enable or disable a type of program object?

Enabling or disabling a type of program object As a first level of security, you can configure the types of program objects available for use. To enable or disable a type of program object 1 In the Objects management area of the CMC, click Object Settings. 2 Click the Program Objects tab. 3 Select the type or types of program objects you want users to run.

202. How to set authentication for Java programs ?

Crystal Enterprise allows you to set security for all program objects. For Java programs, Crystal Enterprise forces the use of a Java Policy File, which has a default setting that is consistent with the Java default for unsecure code. Use the Java Policy Tool (available with the Java Development Kit) to modify the Java Policy File, to suit your specific needs.

The Java Policy Tool has two code base entries. The first entry points to the Crystal Enterprise Java SDK and allows program objects full rights to all Crystal Enterprise JAR files. The second code base entry applies to all local files. It uses the same security settings for unsecure code as the Java default for unsecure code.

203. What are object packages?

Object packages function as distinct objects in Crystal Enterprise. Think of them as folders you can schedule, along with all of their contents.

Object packages can be composed of any combination of report and program objects that are published to the Crystal Enterprise system. (Non-Crystal Enterprise objects, such as Excel, Word, Acrobat, Text, Rich Text, PowerPoint, and Hyperlink objects, cannot be added to object packages.)

204. What are Object components?

The objects within an object package are called object package component objects. Placing multiple component objects in a single object package allows you to schedule them simultaneously. For

70

reports, object packages allow users to view synchronized data across reports. Component objects are not autonomous. They have more limited configuration options than other objects, and they do not appear in the list of all objects on the first page of the Objects management area of the CMC. Rather, you can only view them by opening their object package.

205. What are Object package instances?

Crystal Enterprise creates an object package instance each time it runs an object package. The object package instance contains individual instances of each of its component objects. Component instances are tied to object package instances, rather than to component objects. For example, if you run an object package, and thereby create an instance, then remove a report object from the object package, the existing object package instance does not change; it still contains the report instance from the report object that you removed. Future instances of the object package, however, will reflect the change.

For hyperlinked report instances in object package instances, the hyperlinks point to the other report instances in the same object package instance.

206. Explain the authentication options available for object packages? Object packages simplifies both Enterprise and database authentication. You enter your Enterprise authentication only once to schedule the object package, including all of its component objects. Consequently, you must have scheduling rights for each of the objects inside the object package. If you attempt to schedule a package that contains one or more component objects to which you do not have schedule rights, the component instance(s) fail(s).

For database authentication, you specify database logon information for each report component object in the object package. (If you copied the report into the object package, it initially inherits the database logon information of the original report.)

207. What is the purpose of scheduling an Object?

Scheduling an object lets you run it automatically at specified times. You can schedule report objects, program objects, and object packages.

71

When you schedule an object, Crystal Enterprise generates an instance that contains information that is captured when the object is run. Report instances contain relevant database information; for example, instances for program objects contain the standard out and standard error produced by that instance of the program. Your instance uses all of the settings that you have set in the CMC for the original object.

208. What are the various types of scheduling options available in Crystal Enterprise?

Scheduling Systems You can specify the servers that objects use for scheduling, and you can create calendars to provide your users with sets of common scheduling dates.

Scheduling objects You can schedule objects in various ways, such as scheduling objects on demand, daily or monthly, in batches, or with events.

209. How to Manage Calendars?

Calendars make it easy for you to schedule complex recurring jobs efficiently. A calendar is a customized list of run dates for scheduled jobs. When users schedule objects, they can use a calendar to run the job on a predefined set of dates. By providing calendars for your users, you can create more complex processing schedules than you can with the standard scheduling options.

Calendars are particularly useful when you want to run a recurring job on an irregular schedule, or if you want to provide users with sets of regular scheduling dates to choose from. Calendars also allow you to create more complex processing schedules, combining unique scheduling dates with recurring ones.

For example, if you want a report object to run every business day except for your country’s statutory holidays, you can create a calendar with the holidays marked as “non-run” days, on which the report object cannot be run. Crystal Enterprise will run the job every day you have specified as a “run” day in your calendar.

210. Is there any limitation for number of calendar events to schedule in Crystal Enterprise?

No. You can set up as many calendars as you want in Crystal Enterprise. Calendars you create appear in the Calendar selection list available when you choose to schedule an object using a calendar.

72

When you apply the calendar to a job, Crystal Enterprise runs the job on the run dates as scheduled.

You can apply calendars to any object that can be scheduled, including report objects, program objects, and object packages.

211. Can the access level be specified for Calendar ?

You can grant or deny users and groups access to calendars. Depending how you organize your calendars, you may have specific sets of dates that you want to be available only for certain employees or departments.

For example, your finance team may use a series of financial tracking dates that aren’t useful for other departments. Users will only be able to see the calendars they have the rights to see, so you can use rights to hide calendars that aren’t applicable to a particular group.

212. How to grant access to a calendar?

To grant access to a calendar 1 Go to the Calendars management area of the CMC. 2 Select the calendar you want to grant access to. 3 Click the Rights tab. 4 Click Add/Remove to add users or groups that you want to give access to the selected calendar. The Add/Remove page appears. 5 In the Select Operation list, select Add/Remove Groups, Add Users, or Remove Users. 6 Select the user or group you want to grant access to the specified calendar. If you have many users on your system, select the Add Users operation; then use the “Look for” field to search for a particular account. 7 Click OK. 8 On the Rights tab, change the Access Level for each user or group, as required. 9 To choose specific rights, choose Advanced. For complete details on the predefined access levels and advanced rights, see “Rights and Access Levels” on page 413. 10 Click Update.

213. Is it possible to schedule Objects in batches ?

73

Yes. You can schedule objects in batches using the object packages feature. Object packages function as distinct objects in Crystal Enterprise. They can be composed of any combination of report and program objects published to the Crystal Enterprise system. (Other types of objects, such as Excel, Word, Acrobat, Text, Rich Text, PowerPoint, and Hyperlink objects, cannot be added to object packages.)

Using object packages to schedule batches of objects simplifies authentication. In terms of reports, it allows users to view synchronized data across report instances.

214. Scheduling an object with events ?

When you schedule an object with events, the object will be run only when the additional condition (that is, the event) occurs. You can tell an object to wait for any, or all of the three event types: file-based, custom-based, and schedule-based.

If you want a scheduled object to trigger an event, you must choose a schedule based event.

Note: A file-based event is triggered upon the existence of a specified file. A custom-based event is triggered manually. A schedule-based event is triggered by another object being run.

When you schedule an object that waits for a specified event, the object will run only when the event is triggered, and only when the rest of the schedule conditions are met. If the event is triggered before the start date of the object, the object will not run.

If you have specified an end date for this object, and if the event is not triggered before the end date occurs, the object will not run because not all of the conditions will have been met. Also, if you choose a weekly, monthly, or calendar schedule, the object will have a specified time frame in which it can be processed.

The event must be triggered within this specified time for the object to run. For example, if you schedule a weekly report object that runs every Monday, the event must be triggered within the 24-hour period on Monday; if the event is triggered outside of the 24-hour period, then the report will not run.

You can also schedule an object which triggers a schedule-based event upon completion of the object being run. When the object is run,

74

Crystal Enterprise will trigger the specified event. For a schedule-based event, if the event is based on the instance being run successfully, for example, the event won’t be triggered if the instance fails.

215. Does FTP scheduling supported?

Yes. Crystal Enterprise enables you and your users to schedule an object to a File Transfer Protocol (FTP) server. To connect to the FTP server, you must specify a user who has the necessary rights to upload files to the server.

Note: You must have this destination feature enabled in the Job Server in order to schedule an object to an FTP server

216. Does SMTP scheduling supported?

Yes. With Simple Mail Transfer Protocol (SMTP) mail support, you and your users can do the following: • Send an object as an attachment in the email. • Specify the “To,” “Cc,” and “From” in the email. • Add subject information. • Include additional information in the body message, which will accompany the object that is being delivered. Crystal Enterprise supports Multipurpose Internet Mail Extensions (MIME) encoding. Note: You must have this destination feature enabled and configured in the Report Job Server in order to schedule an object to be sent via email.

217. What are the supported formats a report instance can be saved?

The following formats are supported: • Crystal Report • Excel • Excel (Data Only) • Word • Acrobat • Rich Text • Plain Text • Paginated Text • Tab-separated Text • Tab-separated Values • Character-separated Values For Excel, Paginated Text, Tab-separated Values, and Character- separated Values, you specify certain formatting properties for the

75

report. For example, if you select Character-separated Values, you can enter characters for the separator and delimiter; you can also select the two check boxes: “Same number formats as in report” and “Same date formats as in report.”

218. Does viewing the history of instances supported ?

Yes. The History page displays all of the instances for a selected object. The Instance Time column displays the title of the instances and the date of the last update for each instance. The Status column displays the status of each instance. The Run By column indicates which user scheduled the instance. For report objects, the Format column displays which format the report is, or will be stored in and the Parameters column indicates what parameters were or will be used for each instance. For program objects, the Arguments column lists the command-line options that were or will be passed to the command line interface for each instance.

Crystal Enterprise creates instances from objects. That is, a report instance is created when a report object is scheduled and run by the Report Job Server.

Essentially, a report instance is a report object that contains report data that is retrieved from one or more databases. Each instance contains data that is current at the time the report is processed. You can view specific report instances on the History page of the report object.

Crystal Enterprise creates a program instance each time that a program object is scheduled and run by the Program Job Server. Unlike report instances, which can be viewed in their completed format, program instances exist as records in the object history.

Crystal Enterprise stores the program’s standard out and standard error in a text output file. This file appears when you click a program instance in the object History.

219. How to schedule notification for an object’s success or failure ? You can set scheduling options that automatically send notification when an object instance succeeds or fails. You can send notification using audit or email notification. You can also combine multiple notification methods, and provide different notification settings for successful and failed instances.

76

For example, you may have a large number of reports that run a new instance every day. You need to check each instance to make sure it ran properly, and then send out emails to the users who need to know that the new report is available.

With thousands of reports, it would take too much time to manually check the reports and contact the users who need the information. Using notification settings in Crystal Enterprise, you can set each object to automatically notify you when the report fails to run properly, and you can automatically inform users when new report instances run successfully.

220. How Crystal Enterprise determines success or failure for Report Objects?

A report instance runs successfully if it doesn’t encounter any errors while processing the report or accessing the database. A report instance may fail if the user does not provide the correct parameters or logon information.

221. How Crystal Enterprise determines success or failure for Program Objects?

For program objects, the program must run in order to succeed. If the program does not run, the instance is considered a failure. If the program runs, but does not perform the tasks it is supposed to, it is still considered a successful instance because the program object ran. Crystal Enterprise does not monitor problems with the program object’s code.

222. How Crystal Enterprise determines success or failure for Object Packages?

An object package may fail if one of its components fails. To change this setting, click the object package’s Properties tab and clear the “Scheduled package fails upon individual component failure” option. You can also set scheduling options for individual objects within an object package.

Note: You cannot set audit or email notification for object packages, but you can set any type of notification for the individual objects in the object package. You can also schedule object packages with events on the Schedule tab.

77

223. Explain about Object level notification?

You can set notification at the object level, and you can apply it to all objects that can be scheduled in Crystal Enterprise. You can select unique notification options for each object, sending different types of notification for different conditions. For object packages, you can set only event notification, which will trigger an event based on success or failure of the object package.

To monitor object successes and failures from a more general perspective, use the auditing functionality within Crystal Enterprise. If notification fails, then the object instance fails. For example, if an email notification sends a message to an invalid email address, then the notification fails and the object instance is recorded as a failure in the object’s history.

224. What are the types of Notification options available in Crystal enterprise?

The types of notification options available are

• Audit notification • Email notification • Event notification

225. How to use Audit Notification?

To use audit notification, you must configure the auditing database and enable auditing for the servers. If you use auditing to monitor your Crystal Enterprise system, you can use audit notification.

When you select audit notification, information about the scheduled object is written to the auditing database. You can choose to have a notification sent to the auditing database when the job runs successfully, when it fails to run, or both.

Note: For the Crystal Report Server and the Crystal Program Server, you can also set audit notification on the Auditing tab.

226. How to use Email notification?

You can send an email as a notification of an object instance’s success or failure.

You can choose the sender and recipients of the email message. You can send an email when the instance fails and when it succeeds. For example, you could send your administrator an email if the report

78

fails, but when the report succeeds you can automatically send a notification to everyone who needs the report to let them know it is now available.

227. How to use Event notification?

You can choose a Crystal Enterprise event that will be triggered based on the completion of the object instance.

Note: Notification of a scheduled object’s success or failure is not the same as alert notification. Alert notification must be built into the design of the report. For example, alert notification can send an email to you whenever a specific value in the report exceeds $1000000. In this case, the notification has nothing to do with the contents of the report - it’s just about whether or not the report object instance has failed or succeeded.

228. What is Crystal Repository?

The Crystal Repository is a database in which you manage shared report elements such as text objects, bitmaps, custom functions, and custom SQL commands. When you save any Business View, it is also saved to the Crystal Repository.You can refresh a report’s repository objects with the latest version from your Crystal Repository when you publish reports to Crystal Enterprise. Alternatively, you can refresh a report’s repository objects on demand over the Web.

The Crystal Repository is now hosted by the Crystal Management Server (CMS) system database. Before publishing reports that reference repository objects, move your existing Crystal Repository to the Crystal Management Server (CMS) database.

229. Can the data from one repository be copied to another repository?

Yes. Crystal Enterprise enables you to copy the contents of one Crystal Repository database into another database. This procedure is also referred to as migrating a Crystal Repository database. You can migrate repository data from a different repository database (from version 9 of Crystal Reports, or version 9 of Crystal Enterprise) into your current CMS database. Or, you can migrate the repository data from your current CMS database into a different data source.

230. What is the purpose of Event based Object scheduling?

79

Event-based scheduling provides you with additional control over scheduling objects: you can set up events so that objects are processed only after a specified event occurs. Working with events consists of two steps: creating an event and scheduling an object with events. That is, once you create an event, you can select it as a dependency when you schedule an object. The scheduled job is then processed only when the event occurs.

231. How many types of events can be created in the Events management area of the Crystal Management Console (CMC)?

You can create three kinds of events:

- File events - Schedule events - Custom Events

232. How to create a file-based event?

When you define a file-based event, you specify a filename that the Event Server should monitor for a particular file. When the file appears, the Event Server triggers the event. For instance, you might want to make some reports dependent upon the regular file output of other programs or scripts.

233. How to create a schedule-based event?

When you define a schedule-based event, you select an object whose existing recurrence schedule will serve as the trigger for your event. In this way, schedule-based events allow you to set up contingencies or conditions between scheduled objects. For instance, you might want certain large reports to run sequentially, or you might want a particular sales summary report to run only when a detailed sales report runs successfully.

234. How to create Custom events?

When you create a custom event, you create a shortcut for triggering an event manually. Basically, your custom event occurs only when you or another administrator clicks the corresponding “Trigger this event” button in the CMC.

80

235. What is the process that occurs after creating File-based events?

File-based events wait for a particular file (the trigger) to appear before the event occurs. Before scheduling an object that waits for a file-based event to occur, you must first create the file-based event in the Events management area of the CMC. Then you can schedule the object and select this event. File-based events are monitored by the Event Server. When the file that you specify appears, the Event Server triggers the event. The Crystal Management Server (CMS) then releases any schedule requests that are dependent on the event.

For instance, suppose that you want your daily reports to run after your database analysis program has finished and written its automatic log file. To do this, you specify the log file in your file-based event, and then schedule your daily reports with this event as a dependency. When the log file appears, the event is triggered and the reports are processed. Note: If the file already exists prior to the creation of the event, the event is not triggered. In this case, the event is triggered only when the file is removed and then recreated. If you want an event to be triggered multiple times, you must remove and recreate the file each time.

236. What is the process that occurs after creating Schedule-based events?

Schedule-based events are dependent upon scheduled objects. That is, a schedulebased event is triggered when a particular object has been processed. When you create this type of event, it can be based on the success or failure of a scheduled object, or it can be based simply on the completion of the job.

Most importantly, you must associate your schedule-based event with at least two scheduled objects. The first object serves as the trigger for the event: when the object is processed, the event occurs. The second object is dependent upon the event:

when the event occurs, this second object runs. For instance, suppose that you want report objects R1 and R2 to run after program object P1 runs. To do this, you create a schedule-based event in the Events management area. You specify the “Success” option for the event, which means that the event is triggered only when program P1 runs successfully. Then, you schedule reports R1 and R2 with events, and select your new schedule-based event as the dependency. Schedule program P1 with events, and set program P1 to trigger the schedule- based event upon successful completion.

81

Now, when program P1 runs successfully, the schedule-based event is triggered, and reports R1 and R2 are subsequently processed.

237. What is the process that occurs after creating Custom events? A custom event occurs only when you explicitly click its “Trigger this event” button.

As with all other events, an object based on a custom event runs only when the event is triggered within the time frame established by the object’s schedule parameters.

Custom events are useful because they allow you to set up a shortcut that, when clicked, triggers any dependent schedule requests.

For instance, you may have a scenario where you want to schedule a number of reports, but you want to run them after you have updated information in your database. To do this, create a new custom event, and schedule the reports with that event. When you update the data in the database and you need to run the reports, return to the event in the CMC and trigger it manually. Crystal Enterprise then runs the reports.

238. Can a custom event be triggered multiple times?

Yes. You can trigger a custom event multiple times. For example, you might schedule two sets of event-based program objects to run daily— one set runs in the morning, and one set runs in the afternoon. When you first trigger the related custom event in the morning, one set of programs is run; when you trigger the event again in the afternoon, the remaining set of programs is run. If you neglect to trigger the event in the morning and trigger it only in the afternoon, both sets of programs run at that time.

239. How can the metrics be viewed. What is the information metrics consist of?

The CMC allows you to view server metrics over the Web. These metrics include general information about each machine, along with details that are specific to the type of server. The CMC also allows you to view system metrics, which include information about your product version, your CMS, and your current system activity.

240. How to view current server metrics?

82

The Servers management area of the CMC displays server metrics that provide statistics and information about each Crystal Enterprise server. The general information displayed for each server includes information about the machine that the server is running on—its name, operating system, total hard disk space, free hard disk space, total RAM, number of CPUs, and local time. The general information also includes the time the server started and the version number of the server.

241. For Input and Output File Repository servers what kind of metrics will be listed?

The Metrics tab of each File Repository Server lists the root directory of the files that the server maintains, indicates the maximum idle time, and displays the number of active files and active client connections. It also lists the total available hard disk space, as well as the number of bytes sent and received.

Each File Repository Server also has an Active Files tab, which lists the filename, the number of readers, and the number of writers for each active file.

242. For Web Component Servers what kind of metrics will be listed? The Metrics tab of the Web Component Server (WCS) includes statistical data about the requests that it handles. It lists the total number of requests, the current number of requests, the total number of bytes sent, the average bytes per request, the total time taken, and the average time taken per request. This information is useful in determining how efficiently the WCS is handling the requests that are sent to it.

243. For Cache servers what kind of metrics will be listed?

The Metrics tab of the Cache Server displays the maximum number of processing threads, the maximum cache size, the minutes before an idle job is closed, the minutes between refreshes from the database, whether or not the database is accessed whenever a viewer’s file (object) is refreshed, the location of the cache files, the total threads running, the number of requests served, the number of bytes transferred, the cache hit rate, the number of current connections, and the number of requests that are queued.

83

The Metrics tab also provides a table that lists the Page Servers that the Cache server has connections to, along with the number of connections made to each Page Server.

244. For Event server what kind of metrics will be listed?

The Metrics tab of the Event Server contains statistics on the files that the server is monitoring. This tab includes a table showing the file name and the last time the event occurred.

245. For Page Server what kind of metrics will be listed?

The Metrics tab of the Page Server contains information on how the server is running.

It lists the maximum number of simultaneous report jobs, the location of temporary files, the number of minutes before an idle connection is closed, the minutes before a report job is closed, the maximum number of database records shown when previewing or refreshing a report, the oldest processed data given to a client, whether a viewer refresh always hits the database, and the setting for the Report Job Database Connection.

It also shows the number of current connections, the number of requests queued, the current number of processing threads running, the total number of requests served, and the total bytes transferred.

246. For Report Application Server what kind of metrics will be listed? The Metrics tab of the Report Application Server (RAS) shows the number of reports that are open, and the number of reports that have been opened. It also shows the number of open connections, along with the number of open connections that have been created.

247. For Report Job Server what kind of metrics will be listed?

The Metrics tab of the Job Server lists the current number of jobs that are being processed, the total number of requests received, the total number of failed job creations, the processing mode, and the location of its temporary files.

248. For Program Job Server what kind of metrics will be listed?

The Metrics tab of the Program Job Server lists the current number of program objects that are being processed, the total number of

84

requests received, the total number of failed program object creations, the processing mode, and the location of its temporary files.

249. For Crystal Management Server what kind of metrics will be listed?

The Metrics tab of the CMS lists only the general information about the machine it is running on. The Properties tab, however, shows a list of users who have active sessions on the system. Click any user’s link to view the associated account details.

250. How to view Server metrics?

To view server metrics 1 Go to the Servers management area of the CMC. 2 Click the link to the server whose metrics you want to view. 3 Click the Metrics tab.

251. How to view System metrics ?

Viewing system metrics The Settings management area of the CMC displays system metrics that provide general information about your Crystal Enterprise installation. The Properties tab includes information about the product version and build. It also lists the data source, database name, and database user name of the CMS database.

The Metrics tab lists current account activity, along with statistics about current and processed jobs.

The Cluster tab lists the name of the CMS you are connected to, the name of the CMS cluster, and the names of other cluster members.

252. Does Crystal Enterprise supports clustering CMS and failover support?

Yes. If you have a large or mission-critical implementation of Crystal Enterprise, you will probably want to run several CMS machines together in a CMS cluster.

A CMS cluster consists of two or more CMS servers working together to maintain the system database. If a machine that is running one CMS fails, a machine with another CMS will continue to service Crystal Enterprise requests.

85

This “failover” support helps to ensure that Crystal Enterprise users can still access information when there is equipment failure.

253. What are the clustering requirements to meet to add a new CMS server to a cluster?

You must meet the following clustering requirements: • For best performance, the database server that you choose to host the system database must be able to process small queries very quickly. The CMS communicates frequently with the system database and sends it many small queries. If the database server is unable to process these requests in a timely manner, Crystal Enterprise performance will be greatly affected. • For best performance, run each CMS cluster member on a machine that has the same amount of memory and the same type of CPU. • Configure each machine similarly: • Install the same operating system, including the same version of operating system service packs and patches. • Install the same version of Crystal Enterprise (including patches, if applicable). • Ensure that each CMS connects to the CMS database in the same manner: whether you use native or ODBC drivers, ensure that the drivers are the same on each machine, and are a supported version. • Ensure that each CMS uses the same database client to connect to its system database, and that it is a supported version. • Check that each CMS uses the same database user account and password to connect to the CMS database. This account must have create, delete, and update rights on the system database. • Run each CMS service/daemon under the same account. (On Windows, the default is the “LocalSystem” account.) • Verify that the current date and time are set correctly on each CMS machine (including settings for daylight savings time). • Ensure that each and every CMS in a cluster is on the same Local Area Network. • If you wish to enable auditing, each CMS must be configured to use the same auditing database and to connect to it in the same manner. The requirements for the auditing database are the same as those for the system database in terms of database servers, clients, access methods, drivers, and user IDs.

86

254. How to set root directories and idle times of the File Repository Servers?

The Properties tabs of the Input and Output File Repository Servers enable you to change the locations of the default root directories. These root directories contain all of the report objects and instances on the system. You may change these settings if you want to use different directories after installing Crystal Enterprise, or if you upgrade to a different drive (thus rendering the old directory paths invalid).

255. Hoe to modify the performance settings for the Report Application Server? The Server tab of the Report Application Server (RAS) in the Crystal Management Console allows you to modify the number of minutes before an idle connection is closed, and the maximum number of simultaneous processing threads.

256. What is “Minutes Before an Idle Connection is Closed” setting? The “Minutes Before an Idle Connection is Closed” setting alters the length of time that the RAS waits for further requests from an idle connection. Before you change this setting, it is important to understand that setting a value too low can cause a user’s request to be closed prematurely, and setting a value that is too high can affect the server’s scalability (for instance, if the ReportClientDocument object is not closed explicitly, the server will be waiting unnecessarily for an idle job to close).

257. What is the “Maximum Simultaneous Report Jobs” setting?

The “Maximum Simultaneous Report Jobs” setting limits the number of concurrent reporting requests that a RAS processes. The default value is acceptable for most, if not all, reporting scenarios. The ideal setting for your reporting environment, however, is highly dependent upon your hardware configuration, your database software, and your reporting requirements.

258. What is the procedure to modify performance settings for the RAS?

87

To modify performance settings for the RAS 1 Go to the Servers management area of the CMC. 2 Click the link to the RAS whose settings you want to change. 3 Make your changes on the Server tab. 4 Click Apply to submit changes and restart the server so that the changes take effect immediately.

259. How to set the email destination?

Setting the default email (SMTP) destination 1 Go to the Servers management area of the CMC. 2 Click the link to the Job Server whose settings you want to change. 3 On the Destinations tab, click the Crystal Enterprise.Smtp link. 4 On the Properties tab, complete the required fields with the information that corresponds to your SMTP server.

260. What are the required fields for SMTP server ?

• Domain Name Enter the fully qualified domain of the SMTP server. • Server Name Enter the name of the SMTP server. • Port Enter the port that the SMTP server is listening on. (This standard SMTP port is 25.) • Authentication Select Plain or Login if the Job Server must be authenticated using one of these methods in order to send email. • SMTP User Name Provide the Job Server with a user name that has permission to send email and attachments through the SMTP server. • SMTP Password Provide the Job Server with the password for the SMTP server. • From Provide the return email address. In this example, the SMTP server resides in the crystaldecisions.com domain. Its name is EMAIL_SERV and it is listening on the standard SMTP port. Plain text authentication is being used, and an account called CrystalJobAccount has been created on the SMTP server for use by the Report Job Server.

88

261. What is the purpose of Auditing?

Auditing allows you to monitor and record key facts about your Crystal Enterprise system. Having information about who is using your system and which objects they are accessing allows you to answer system- level questions like “which groups within the company use our Crystal Enterprise system the most?” or “how many concurrent user licenses are we using at any given time?”.

Auditing also allows you to better administer individual user accounts and reports by giving you more insight into what actions users are taking and which reports they are accessing.

This information lets you be more proactive in managing the operation and deployment of your Crystal Enterprise system, while helping you better evaluate the value that Crystal Enterprise provides to your organization.

262. How does auditing work?

The Crystal Management Server (CMS) acts as the system auditor, while each Crystal Enterprise server that controls actions that you can monitor is an auditee.

To audit an action in Crystal Enterprise, you must first determine which server controls that action. Then you must enable auditing of that action in the Servers management area of the Crystal Management Console. As the auditee, the Crystal Enterprise server will then begin to record these audit actions in a local log file.

As the auditor, the CMS controls the overall audit process. Each server writes audit records to a log file local to 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, they make a correction to the time stamp they record in their log files for subsequent audit actions.

Once the data is in the auditing database you can run pre-configured reports

89

against the database or design custom reports to suit your own needs.

263. Which actions can I audit?

You can use auditing to track the actions of individual users of Crystal Enterprise as they log in and out of the system, access data, or create file-based events. You can also monitor system actions like the success or failure of scheduled objects.

For each action, Crystal Enterprise records the time of the action, the name and user group of the user who initiated the action, the server where it was performed, and a variety of other parameters. Once you have collected this data, you can use a custom or pre-configured report to view the raw data, or to answer more complex queries such as “how many concurrent licenses are we using at a given time?”.

264. What are the list of audit actions for folders?

Folders A folder is created. CMS A folder is deleted. A folder is modified. (The name, location, or description of a folder is modified.)

265. What are the list of audit actions for Reports?

Reports A report has been viewed successfully. Cache Server report could not be viewed. A report is opened successfully using: • the Web Report Design Wizard. • the Advanced DHTML viewer. • a custom application that uses RAS SDK.

266. What are the list of audit actions for Report Application Server?

RAS A report fails to open. A report has been created successfully using: • the Web Report Design Wizard. • a custom application that uses the RAS SDK. Or A report has been saved successfully using the Web Report Design Wizard.

90

A report fails to be created. Or A report fails to save (using the Web Report Design Wizard). A report is saved successfully (using a custom application based on the RAS SDK). A report fails to save using a custom application based on the RAS API.

267. What are the list of audit actions for Users?

Users A concurrent user logon succeeds.

CMS A named user logon succeeds. A user logon fails. A user’s password is changed. User logs off.

268. How CMS controls the synchronization of audit actions?

Controlling synchronization of audit actions The CMS controls the synchronization of audit actions that occur on different machines. The CMS periodically broadcasts its system time to the auditees in UTC (Coordinated Universal Time). The auditees compare this time to their internal clocks, and then make the appropriate correction to the time stamp (in UTC) they record for subsequent audit actions. This correction affects only the time stamp that the auditee records in its audit log file. The auditee does not adjust the system time of the machine on which it is running.

By default, the CMS broadcasts its system time every 60 minutes.

269. What are the various command-line options available to change

the interval of Audit actions?

-AuditeeTimeSyncInterval minutes You can turn off this option by setting minutes to zero. This built-in method of time synchronization will be accurate enough for most applications. For more accurate and robust time synchronization, configure the auditee and auditor machines to use an NTP (Network Time Protocol) client, and then turn off internal synchronization by setting

-AuditeeTimeSyncInterval 0 Tip: If you have a CMS cluster, apply the same command-line options to each server. Only one CMS in the cluster acts as the auditor.

91

However, if this CMS fails, another CMS takes over auditing. This CMS will apply its own command-line options. If these options are different than those of the original auditor, audit behavior may not be what you expect.

270. How to identify the audit action recorded in Crystal Enterprise System database?

The auditing database collects records of all auditable actions that occur in your Crystal Enterprise system. There are two ways of identifying which kind of action each database record represents: the numeric AuditID and the text-based AuditString.

Knowing the audit IDs and the exact audit strings can help you construct queries for particular actions in your custom reports. Some audit strings are the same every time they are generated. For example, if a user changes their password, the audit string is always “User password has been changed.” Other audit strings vary because they include additional information about the action. For example, if a user logon fails, the audit string includes a section that describes the reason for the failure.

When a logon fails because the user mistyped a user name, the complete audit string is “User logon failed. Reason: Unknown user.” If a logon fails because the user entered the wrong password, the complete audit string is “User logon failed. Reason: Invalid password.”

271. What does the CMS audit id and string “65537 Concurrent user logon succeeded” represents?

65537 Concurrent user logon succeeded.

The user logged on successfully, using a concurrent user license.

272. What does the CMS audit id and string “65538 Named user

logon succeeded” represents?

65538 Named user logon succeeded.

The user logged on successfully, using a named user license.

273. What does the CMS audit id and string “65540 User logged off”

represents?

65540 User logged off the enterprise system.

92

274. What does the CMS audit id and string “65541 User password changed” represents?

65541 User password has been changed.

275. What does the CMS audit id and string “65539 User logon failed”

represents?

65539 User logon failed.

Reason: VariableString No valid license key found.

Logon failed because there was no valid license key available. Only guest and administrator can logon in Standard mode.

In Standard mode, the only valid user names are guest and administrator. The logon failed because the user attempted to log on using a different user ID.

Unknown user. Logon failed because the user entered a user name that is not valid on this system.

User account disabled. Logon failed because the user’s account is disabled. Concurrent user limit reached.

Logon failed because all concurrent user licenses are already in use. Invalid password. Logon failed because the user entered an invalid password.

276. What does the folder audit id and string “65542 New folder

created” represents?

65542 New folder created. A new folder is created, or an existing folder is copied. Note that this audit string will not be recorded when a new user account is created, even though creating a user creates a user folder.

277. What does the folder audit id and string “65543 Folder VariableString deleted from path” represents?

65543 Folder VariableString deleted from path VariableString2 VariableString1 contains the folder name A folder is deleted.

93

Note that this audit string will be recorded when a user account (and therefore the user’s folder) is deleted. VariableString2 contains the folder’s path

278. What does the folder audit id and string “65544 Folder modified” represents?

65544 Folder modified. The name, location, or description of the folder was changed.

279. What does the folder audit id and string “65545 Job failed. Reason: VariableString unresponsive Job Server Child process” represents?

65545 Job failed. Reason: VariableString unresponsive Job Server Child process.

A scheduled report or scheduled program failed to run because communication with the running instance was lost, and the scheduled time for running the job expired.

Note: This action must be audited by the CMS as Job Servers are not aware of losing communications with a job.

280. What does the Cache Server audit id and string “65545 Job failed. Reason: VariableString unresponsive Job Server Child process” represents?

65545 Job failed. Reason: VariableString unresponsive Job Server Child process. A scheduled report or scheduled program failed to run because communication with the running instance was lost, and the scheduled time for running the job expired.

Note: This action must be audited by the CMS as Job Servers are not aware of losing communications with a job.

281. What does the Cache Server audit id and string “196609 Report

with VariableString data viewed successfully” represents?

196609 Report with VariableString data viewed successfully. saved User successfully viewed a report that has saved data. live User successfully viewed a report that has live data.

94

282. What does the Cache Server audit id and string “196610 Report viewed unsuccessfully” represents?

196610 Report viewed unsuccessfully. Reason VariableString Many options User attempted to view a report object, but was not successful for the reason listed in the variable section of the audit string.

283. What does the following Job Server audit id and string represents?

327681 Job successful. Elapsed time: VariableString seconds. Elapsed time in seconds

The object ran as scheduled and the job completed successfully within the indicated time.

284. What does the following Job Server audit id and string represents?

327682 Job failed Elapsed time: VariableString seconds. The scheduled job did not complete successfully. The attempt took the indicated amount of time.

285. What does the following Job Server audit id and string represents?

327683 Job failed. Elapsed time: VariableString seconds. Job will be retried by the CMS.

The scheduled job did not complete successfully. The attempt took the indicated amount of time. The job will will be retried by the CMS at a later time.

286. What does the Job Server audit id and string “262145 Event registered” represents?

262145 Event registered User creates a file-based event that can be used to schedule objects.

287. What does the Job Server audit id and string “262146 Event unregistered” represents?

262146 Event unregistered User deletes a file-based event.

95

288. What does the Job Server audit id and string “262147 Event updated” represents?

262147 Event updated Event object was modified by a user, or by the system. Events are updated when a user modifies the name or description of the file-based event.

289. What does the Job Server audit id and string “262148 Event triggered” represents?

262148 Event triggered File-based event was initiated.

290. What does the Report Application Server audit id and string “458753 Report was opened for viewing and/or modification” represents?

458753 Report was opened for viewing and/or modification User opened a report for viewing or modification.

Note: In a few cases, this audit string may be generated when the report opens but cannot be viewed. This may occur when:

• There are problems with the database setup for the report. For example, you may see this message when the database driver for the report is not present on the client machine • A processing extension associated with the report aborts viewing, or fails. • The report used Business Views and the user did not have permissions to refresh the underlying data connections. • The machine running the RAS ran out of space in its temporary directory.

291. What does the Report Application Server audit id and string “458754 Report was saved to the CMS” represents?

458754 Report was saved to the CMS. An existing report was saved. Note: This AuditID is generated when a custom application created using the RAS SDK saves a report (using the Save method).

292. What does the Report Application Server audit id and string

“458755 Report was created and saved to the CMS” represents?

458755 Report was created and saved to the CMS A new report was created and saved.

96

Note:

• This AuditID is generated when a custom application created using the RAS SDK saves a new report (using the Save As method). • This AuditID is also generated when an existing report is saved using the Web Design Report Wizard.

293. What does the Report Application Server audit id and string “458756 Report could not be opened” represents?

458756 Report could not be opened. Reason: VariableString Many options The report could not be opened by the RAS, for the reason listed in the variable section of the audit string.

294. What does the Report Application Server audit id and string “458757 Report could not be saved to the CMS” represents?

458757 Report could not be saved to the CMS. Reason: VariableString Many options An existing report could not be saved by RAS, for the reason listed in the variable section of the audit string. Note: This AuditID is generated when a custom application created using the RAS SDK cannot save a new report (using the Save As method).

295. What does the Report Application Server audit id and string

“458758 Report could not be created in the CMS” represents?

458758 Report could not be created in the CMS. Reason: VariableString

Many options A newly created report could not be saved by RAS, for the reason listed in the variable section of the audit string. Note: This AuditID is also generated when an existing report fails to save from the Web Design Report Wizard.

296. What are Server Groups in the context of Crystal Enterprise System?

Server groups provide a way of organizing your Crystal Enterprise servers to make them easier to manage. That is, when you manage a group of servers, you need only view a subset of all the servers on your system. More importantly, server groups are a powerful way of

97

customizing Crystal Enterprise to optimize your system for users in different locations, or for objects of different types.

If you group your servers by region, you can easily set up default processing settings, recurrent schedules, and schedule destinations that are appropriate to users who work in a particular regional office. You can associate an object with a single server group, so the object is always processed by the same servers. And you can associate scheduled objects with a particular server group to ensure that scheduled objects are sent to the correct printers, file servers, and so on.

Thus, server groups prove especially useful when maintaining systems that span multiple locations and multiple time zones. If you group your servers by type, you can configure objects to be processed by servers that have been optimized for those objects. For example, processing servers need to communicate frequently with the database containing data for published reports. Placing processing servers close to the database server that they need to access improves system performance and minimizes network traffic.

Therefore, if you had a number of reports that ran against a DB2 database, you might want to create a group of Page Servers that process reports only against the DB2 database server. If you then configured the appropriate reports to always use this Page Server group for viewing, you would optimize system performance for viewing these reports.

After creating server groups, configure objects to use specific server groups for scheduling, or for viewing and modifying reports. You can change the status, obtain metrics, and configure your servers in the Server Groups management area—just as you would in the Servers management area. The only difference is that you see only the servers that you added to the server group.

297. What are Server SubGroups in the context of Crystal Enterprise System?

Working with server subgroups Subgroups of servers provide you with a way of further organizing your servers. A subgroup is just a server group that is a member of another server group.

For example, if you group servers by region and by country, then each regional group becomes a subgroup of a country group. To organize servers in this way, first create a group for each region, and add the appropriate servers to each regional group. Then, create a group for

98

each country, and add each regional group to the corresponding country group.

There are two ways to set up subgroups: you can modify the subgroups of a server group, or you can make one server group a member of another. The results are the same, so use whichever method proves most convenient.

298. Explain the One-machine setup configuration?

One-machine setup

This basic configuration separates the Crystal Enterprise servers from the rest of your reporting environment and from your web server, and installs all Crystal Enterprise servers on a single machine.

This grants the Crystal Enterprise servers their own set of processing resources, which they do not have to share with database and web server processes. These are the general steps to setting up this configuration for the default Windows installation of Crystal Enterprise:

• Install all of the Crystal Enterprise servers on a single, dedicated machine. • Install and configure the Web Connector on your web server machine. • Run the CMS database on your database server.

If you are still using the MSDE CMS database on Windows, migrate the CMS database to a supported database server. See the Platforms.txt file included with your product distribution for a list of supported database servers.

For a UNIX installation (or for a Windows installation that uses the Crystal Enterprise Java SDK), install your Crystal Enterprise servers on the same machine as your Java web application server and the Web Component Adapter.

299. Explain the Three-machine setup configuration?

Three-machine setup

This second configuration divides the Crystal Enterprise processing load in a logical manner, based on the types of work performed by each server. In this way, you prevent the server components from having to compete with each other for the same hardware and

99

processing resources. In addition, this scenario prepares your system for further expansion to provide redundancy. Note: It is recommended that you use three multi-processor machines (dual-CPU or better), with at least 2 GB RAM installed on each machine.

These are the general steps to setting up this configuration for the default Windows installation of Crystal Enterprise: • Install the CMS and the Event Server on one machine. Tip: Here, the Event Server is installed on the same machine as the CMS. In general, however, the Event Server should be installed on the machine where your monitored, file-based events occur. • Install the WCS and the Cache Server on the second machine. • Install the Page Server, the Job Server, the Report Application Server (RAS), and the Input and Output File Repository Servers on the third machine.

For a UNIX installation (or for a Windows installation that uses the Crystal Enterprise Java SDK), install the Java web application server and the Web Component Adapter on the same machine as your Cache Server.

Note: As with the one-machine setup, install your Crystal Enterprise servers on machines that are separate from your web server and database servers. This grants the Crystal Enterprise servers their own set of processing resources, which they do not have to share with database and web server processes.

300. Explain the Six-machine setup configuration?

Six-machine setup

This third configuration mirrors the three-machine setup. You maintain the logical breakdown of processing based on the types of work performed by each server, but you increase the number of available machines and servers for redundancy and fault-tolerance. For instance, if a server stops responding, or if you need to take one or two machines offline completely, you need not interrupt Crystal Enterprise requests in order to service the system.

This tested configuration is designed to meet the reporting requirements of 85% of all deployment scenarios. If you have further requirements or more advanced configuration needs, contact your Crystal Decisions sales representative for additional assistance. Note: It is recommended that you use six multi-processor machines (dual-CPU or better), with at least 2 GB RAM installed on each

100

machine.

These are the general steps to setting up this configuration for the default Windows installation of Crystal Enterprise: • Install the three-machine setup first. Verify that Crystal Enterprise is functioning correctly. • Install a second CMS/Event Server pair on the fourth machine. This machine must have a fast network connection (minimum 10 Mbps) to the CMS that you have already installed. Cluster the two CMS services, so they share the task of maintaining the CMS database. Ensure that each CMS accesses the CMS database in exactly the same manner (the same database client software, the same database user name and password, and so on). • Install a second WCS/Cache Server pair on the fifth machine. Modify your Web Connector configuration to ensure that the Web Connector communicates with the two distinct WCS hosts. or Install a second Java web application server and Web Component Adapter on the fifth machine, along with a second Cache Server. Consult your web application server documentation for information on load-balancing and clustering your application servers. Ensure that the web.xml file is configured correctly for each WCA. • Install a second Page Server, Job Server, and RAS on the remaining machine, along with a pair of Input and Output File Repository Servers. Ensure that all Page Servers and Job Servers can access your reporting database in exactly the same manner. Install and configure any required database client software similarly on each machine, along with any ODBC DSNs that are required for your reports. Note: As with the one-machine setup, install your Crystal Enterprise servers on machines that are separate from your web server and database servers. This grants the Crystal Enterprise servers their own set of processing resources, which they do not have to share with database and web server processes.

301. How to increase the over all system capacity to be more scalable?

As the number of report objects and users on your system increases, you can increase the overall system capacity by clustering two (or more) Crystal Management Servers (CMS).

You can install multiple CMS services/daemons on the same machine. However, to provide server redundancy and fault-tolerance, you

101

should ideally install each cluster member on its own machine.

CMS clusters can improve overall system performance because every Crystal Enterprise request results, at some point, in a server component querying the CMS for information that is stored in the CMS database. When you cluster two CMS machines, you instruct the new CMS to share in the task of maintaining and querying the CMS database.

302. How to increase the over all scheduling reporting capacity to be more scalable?

All Crystal reports that are scheduled are eventually processed by a Report Job Server. You can expand Crystal Enterprise by running individual Report Job Servers on multiple machines, or by running multiple Report Job Servers on a single multi-processor machine.

If the majority of your reports are scheduled to run on a regular basis, there are several strategies you can adopt to maximize your system’s processing capacity:

• Install the Report Job Server in close proximity to (but not on the same machine as) the database server against which the reports run. Ensure also that the File Repository Servers are readily accessible to all Report Job Servers (so they can read report objects from the Input FRS and write report instances to the Output FRS quickly). Depending upon your network configuration, these strategies may improve the Report Job Server’s processing speeds, because there is less distance for data to travel over your corporate network. • Verify the efficiency of your reports. When designing reports in Crystal Reports, there are a number of ways in which you can improve the performance of the report itself, by modifying record selection formulas, using the database server’s resources to group data, incorporating parameter fields, and so on. • Use event-based scheduling to create dependencies between large or complex reports. For instance, if you run several very complex reports on a regular, nightly basis, you can use Schedule events to ensure that the reports are processed sequentially. This is a useful way of minimizing the processing load that your database server is subject to at any given point in time. • If some reports are much larger or more complex than others, consider distributing the processing load through the use of server groups. For instance, you might create two server groups, each containing one or more Report Job Servers. Then, when you schedule recurrent reports, you can specify that it be processed by a particular server group to ensure that especially large reports are distributed evenly across resources.

102

• Increase the hardware resources that are available to a Report Job Server. If the Report Job Server is currently running on a machine along with other Crystal Enterprise components, consider moving the Report Job Server to a dedicated machine. If the new machine has multiple CPUs, you can install multiple Report Job Servers on the same machine (typically no more than one service/ daemon per CPU).

303. How to increase the on-demad viewing capacity to be more scalable?

When you provide many users with View On Demand access to reports, you allow each user to view live report data by refreshing reports against your database server. For most requests, the Page Server retrieves the data and performs the report processing, and the Cache Server stores recently viewed report pages for possible reuse. However, if users use the Advanced DHTML viewer, the Report Application Server (RAS) processes the request. If your reporting requirements demand that users have continual access to the latest data, you can increase capacity in the following ways:

• Increase the maximum allowed size of the cache.

• Verify the efficiency of your reports. When designing reports in Crystal Reports, there are a number of ways in which you can improve the performance of the report itself, by modifying record selection formulas, using the database server’s resources to group data, incorporating parameter fields, and so on.

• Increase the number of Page Servers that service requests on behalf of any single Cache Server. You can install additional Page Servers on multiple machines, or you can run multiple Page Servers on a single multi-processor machine (typically no more than one service/daemon per CPU).

• Increase the number of Page Servers, Cache Servers, and Report Application Servers on the system, and then distribute the processing load through the use of server groups. For instance, you might create two server groups, each containing one or more Cache Server/Page Server pairs along with one or more Report Application Servers. You can then specify individual reports that should always be processed by a particular server group.

304. How to improve the web response speeds to be more scalable?

103

Because all user interaction with Crystal Enterprise occurs over the Web, you may need to investigate a number of areas to determine exactly where you can improve web response speeds. These are some common aspects of your deployment that you should consider before deciding how to expand Crystal Enterprise:

• Assess your web server’s ability to serve the number of users who connect regularly to Crystal Enterprise. Use the administrative tools provided with your web server software (or with your operating system) to determine how well your web server performs. If the web server is indeed limiting web response speeds, consider increasing the web server’s hardware and/or setting up a “web farm” (multiple web servers responding to web requests to a single IP address).

• Take into account the number of users who regularly access your system. If you are running a large deployment, ensure that you have set up a CMS cluster. If you find that a single application server (that is, the WCS or the Java web application server) inadequately services the number of scripting requests made by users who access your system on a regular basis, consider the following options:

• Increase the hardware resources that are available to the application server. If the application server is currently running on the web server, or on a single machine with other Crystal Enterprise components, consider moving the application server to a dedicated machine. If the new machine has multiple CPUs, you can install multiple WCS services/daemons or Java application servers on the same machine (typically no more than one per CPU).

• If you are using the default Windows installation of Crystal Enterprise, set up two (or more) WCS machines to take advantage of the dynamic load balancing that is built into the Web Connector components. The Web Connector distributes the processing load evenly across WCS hosts: each new Crystal Enterprise session is sent to the least used WCS. This also provides you with the benefits of being able to take one WCS machine offline for service, without bringing down the entire system.

• If you are using the UNIX installation of Crystal Enterprise (or have configured your Windows installation to use the Crystal Enterprise Java SDK), consider setting up two (or more) Java application servers.

Note: Crystal Enterprise does not support the session-replication functionality provided by some Java web application servers.

305. How to configure the web farm for load balancing?

104

Configuring your web farm for load balancing

A web farm is a group of two or more web servers working together to handle browser requests. If you are using the default installation of Crystal Enterprise on Windows, the Web Connectors that reside on each of the web servers need to be configured so they are aware of the Web Component Servers they should communicate with.

Note: Crystal Enterprise supports web farms with and without affinity masks.

After the connectors have been configured, they can load-balance requests between the Web Component Servers. When a web server establishes a connection with a Web Component Server, it uses a round robin algorithm to identify the next available Web Component Server.

The only exceptions to this occur when a web server uses a CGI web connector, or if a session state was created on a previous request to the Web

306. How to utilze the existing resources more efficiently ?

One of the most effective ways to improve the performance and scalability of your system is to ensure that you get the most from the resources that you allocate to Crystal Enterprise.

Optimizing network speed and database efficiency When thinking about the overall performance and scalability of Crystal Enterprise, don’t forget that Crystal Enterprise depends upon your existing IT infrastructure.

307. What are the bandwidth considerations to be more scalable? Crystal Enterprise uses your network for communication between servers and for communication between Crystal Enterprise and client machines on your network.

Make sure that your network has the bandwidth and speed necessary to provide Crystal Enterprise users with acceptable levels of performance. Consult your network administrator for more information.

308. How to use the appropriate processing server to be more scalable?

105

When users view a report using the Advanced DHTML viewer, the report is processed by the Report Application Server rather than the Page Server and Cache Server.

The Report Application Server is optimized for report modification. For simple report viewing you can achieve better system performance if users select the DHTML viewer, the Active X viewer, or the Java viewer.

These report viewers process reports against the Page Server. If the ability to modify reports is not needed at your site, you can disable the Advanced DHTML viewer for all users of Crystal Enterprise.

309. How to disable the Advanced DHTML viewer ?

Disabling the Advanced DHTML Viewer 1 In the Crystal Management Console, select Crystal Applications. 2 Select Web Desktop. 3 On the Preferences tab, go to the Viewers area. Clear the option labeled Allow users to use the Advanced DHTML Viewer. 4 Click Update.

310. How to Optimize Crystal Enterprise for report viewing ?

Optimizing Crystal Enterprise for report viewing

Crystal Enterprise allows you to enable data sharing, which permits different users accessing the same report object to use the same data when viewing a report on demand or when refreshing a report. Enabling data sharing reduces the number of database calls, thereby reducing the time needed to provide report pages to subsequent users of the same report while greatly improving overall system performance under load. However, to get full value from data sharing, you must permit data to be reused for some period of time. This means that some users may see “old” data when they view a report on demand, or refresh a report instance that they are viewing.

311. What is a firewall?

A firewall is a security system that protects one or more computers from unauthorized network access. A firewall restricts people to entering and leaving your network at a carefully controlled point. It also prevents attackers from getting close to your other defenses. Typically, a firewall protects a company’s intranet from being

106

improperly accessed through the Internet. A firewall can enforce a security policy, log Internet activity, and be a focus for security decisions. A firewall can’t protect against malicious insiders or connections that don’t go through it. A firewall also can’t set itself up correctly or protect against completely new threats.

312. What are TCP/IP and packets?

TCP/IP (Transmission Control Protocol/Internet Protocol) is the communications protocol used on the Internet. The units of data transmitted through a TCP/IP network are called packets. Packets are typically too small to contain all the data that is sent at any one time, so multiple packets are required, each containing a portion of the overall data. When data is sent by TCP/IP, the packets are constructed such that a layer for each protocol is wrapped around each packet.

Typically, TCP/IP packets have the following layers: • Application layer (for example, FTP, telnet, and HTTP). • Transport layer (TCP or UDP). • Internet layer (IP). • Network Access layer (for example, ethernet and ATM).

At the application layer, the packet consists simply of the data to be transferred. As the packet moves through the layers, each layer adds a header to the packet, preserving the data from the previous level. These headers are used to determine the packet’s destination and to ensure that it arrives intact. When the packet reaches its destination, the process is reversed: the layers are sequentially removed until the transferred data is available to the destination application.

313. What are Ports?

Ports are logical connection points that a computer uses to send and receive packets. With TCP/IP, ports allow a client program to specify a particular server program on a computer in a network.

High-level applications that use TCP/IP have ports with pre-assigned numbers. For instance, when you visit a typical HTTP site over the Web, you communicate with the web server on port 80, which is the pre-assigned port for HTTP communication.

Other application processes are given port numbers dynamically for each connection. When a service or daemon initially is started, it binds to its designated port number. When any client program wants to use that server, it must also request to bind to the designated port

107

number. Valid port numbers range from 0 to 65536, but ports 0 to 1024 are reserved for use by certain privileged services.

314. What are the various types of Firewalls?

Firewalls primarily function using at least one of three methods: packet filtering, Network Address Translation (NAT), and proxy services. Crystal Enterprise works with these firewall types.

Packet filtering rejects TCP/IP packets from unauthorized hosts and rejects connection attempts to unauthorized services. NAT translates the IP addresses of internal hosts to hide them from outside monitoring.

NAT is also called IP masquerading. Proxy services make high-level application connections on behalf of internal hosts to completely break the network layer connection between internal and external hosts.

Packet filtering Packet filtering deletes packets before they are delivered to the destination computer.

315. What are the conditions packet filtering uses to delete the packets?

Packet filtering can delete packets based on the following:

• The address the data is coming from. • The address the data is going to. • The session and application ports being used to transfer the data. • The data contained within the packet.

316. What are the types of packet filtering firewalls will work with Crystal Enterprise ?

Typically there are two types of packet filtering: stateful and stateless.

Stateful packet filters remember the state of connections at the network and session layers by recording the established session information that passes through the filter gateway. The filter then uses that information to discriminate valid return packets from invalid connection attempts.

108

Stateless packet filters do not retain information about connections in use; instead, they make determinations packet-by-packet based only on the information contained within the packet.

Firewalls that employ packet filtering will work with Crystal Enterprise.

317. What is the purpose of Network Address Translation?

Network Address Translation Network Address Translation (NAT) converts private IP addresses in a private network to globally unique, public IP addresses for use external to that network.

The main purpose of NAT is to hide internal hosts. As outgoing packets are routed through the firewall, NAT hides internal hosts by converting their IP addresses to an external address. Once the translation is complete, the firewall sends the data payload on to its original destination; thus, NAT makes it appear that all traffic from your site comes from one (or more) external IP addresses.

The firewall maintains a translation table to keep track of the address conversions that it has performed. When an incoming response arrives at the firewall, the firewall uses this translation table to determine which internal host should receive the response. Because this type of firewall essentially sends and receives data on behalf of internal hosts, NAT can also be described as a simple proxy.

318. What are the various types of Network Address Translation?

There are two basic types of NAT: • Static translation (port forwarding) grants a specific internal host a fixed translation that never changes. For example, if you run an email server inside a firewall, you can establish a static route through the firewall for that service. • Dynamic translation (automatic, hide mode, or IP masquerade) shares a small group of external IP addresses amongst a large group of internal clients for the purpose of expanding the internal network address space. Because a translation entry does not exist until an internal client establishes a connection out through the firewall, external computers have no way to address an internal host that is protected using a dynamically translated IP address. Note: Some protocols do not function correctly when the port is changed.

109

These protocols will not work through a dynamically translated connection.

Crystal Enterprise and static translation NAT can be configured so that they work together.

319. Describe SOCKS and SOCKS proxy servers?

SOCKS proxy servers SOCKS is a networking protocol that enables computers on one side of a SOCKS server to access computers on the other side of a SOCKS server without requiring a direct IP connection. A SOCKS server redirects connection requests from computers on one side of it to computers on the other side of it.

A SOCKS server typically authenticates and authorizes requests, establishes a proxy connection, and relays data between the internal and external networks. Crystal Enterprise supports and works with SOCKS servers. SOCKS servers work by listening for service requests from internal clients. When an external request is made, the SOCKS server sends the requests to the internal network as if the SOCKS server itself was the originating client. When the SOCKS server receives a response from the internal server, it returns that response to the original client as if it were the originating external server. This effectively hides the identity and the number of clients on the internal network from examination by anyone on the external network.

320. What are the typical firewall scenarios applicable for Crystal Enterprise system?

Typical firewall scenarios If all users of your Crystal Enterprise system are on your internal network, there is no need to perform any special configuration of your firewalls or of Crystal Enterprise.

Simply place all Crystal Enterprise components on computers inside your firewall.

However, if you need to provide access to Crystal Enterprise to external users, you must consider where to place each Crystal Enterprise component, and how to configure both Crystal Enterprise and your firewalls in order to provide this access.

Web Connector separated from the WCS by a firewall In most cases, clients access protected information through a web server running in a Demilitarized Zone (DMZ). A DMZ is a network

110

area that is neither part of the internal network nor directly part of the Internet. Typically, the DMZ is set up between two firewalls: an outer firewall and an inner firewall.

The only Crystal Enterprise component that needs to provide direct service to external clients is the Web Connector, which must be installed on the web server.

The most logical and secure way to position the web server and the Web Connector is to place them in the DMZ. All the other Crystal Enterprise components can then be placed on the internal network. Application tier separated from the CMS by a firewall You may chose to place your application server in the Demilitarized Zone (DMZ), while placing the Crystal Management Server (CMS) and all other Crystal Enterprise servers on the internal network.

Crystal Enterprise requires that the CMS and the remaining server components are not separated from one another by firewalls. In a Windows installation of Crystal Enterprise, the Web Component Server (WCS) acts as an application server. So this scenario also covers the case where the WCS is in the DMZ. Note: • Placing your application server in the DMZ is less secure than placing it on your internal network. For maximum security, you may prefer to place your Crystal Enterprise application server on your internal network. • The issues raised by separating the web server (and Web Connector) from the WCS by a firewall are independent of the issues raised by firewalling the WCS from the CMS. If you have a firewall in each location, you must consider the configuration issues for each firewall independently, and perform both sets of configuration.

Thick client separated from the CMS by a firewall

You can publish reports or analytic objects to Crystal Enterprise by saving these objects to Crystal Enterprise from within Crystal Reports or Crystal Analysis, or by using the Crystal Import Wizard or Crystal Publishing Wizard. However, if there is a firewall between the computer running one of these thick clients and the Crystal Management Server (CMS), this operation fails. You must configure your CMS, your File Repository Servers, and your firewall if you want to support this network configuration.

321. How to configure the Network Address Translation?

Configuring for Network Address Translation

111

If you use Network Address Translation (NAT) only on the outer firewall of the DMZ, then no special configuration is required for Crystal Enterprise to communicate properly. However, if you separate Crystal Enterprise components using NAT, you need to configure these components to communicate properly through the firewall.

Note: You can configure Crystal Enterprise to communicate properly across NAT firewalls that use static IP translation; however, Crystal Enterprise cannot communicate across a firewall whose IP translation is dynamic.

Web Connector separated from the WCS by NAT When the Web Connector (WC) is in the DMZ, you must configure the Web Connector to make initial contact with the Web Component Server (WCS) using a specific hostname and port number. Next you must configure the WCS to respond appropriately to communications from the Web Connector.

This is accomplished using the following command -port FQDN:6401 -requestport fixed

The -port command configures the WCS to listen for contact from the WC on the specified port (6401 is the default value). If a value is specified, -port also configures the WCS to send the WC an externally routable, fully qualified domain name (FQDN) for the WC to use when communicating with the WCS in subsequent interchanges. You must specify this FQDN when the Web Connector and the WCS are separated by a firewall that uses Network Address Translation. Otherwise the WCS sends the WC an internal address for subsequent communications, and the WC cannot communicate with the WCS through the firewall.

The -requestport command is used to configure the WCS to use a fixed port number for all subsequent communications with the WC. When the WC and WCS are separated by a firewall that uses NAT, you must specify this port number. You can use any free port number for fixed.

Finally, you must configure your firewall to allow communications that use the addresses and ports that you’ve specified.

322. How to configure the web connector on Windows?

To configure the Web Connector on Windows 1 Start the CCM. 2 Stop the World Wide Web Publishing Service. 3 On the toolbar, click Configure web connector. 4 In the Web Component Servers area, click Add.

112

If your WCS Host Name is already listed, select it and click Edit. 5 In the WCS Host Name field, type the name of the machine that is running the WCS. This machine must be routable from the web server that is running the Web Connector. 6 If you have customized the WCS so that it listens on a port other than the default, type your new port number in the Port field. Otherwise, ensure that the default port number (6401) appears. 7 Click OK twice to return to the CCM. 8 Start the World Wide Web Publishing Service.

323. How to configure the Web Connector on UNIX?

To configure the Web Connector on UNIX If your web server is running on UNIX, stop the web server and then set the WCSHOST or WCSHosts variable to the name of the machine that is running the WCS. This machine must be routable from the web server that is running the Web Connector. The WCSHOST or WCSHosts variable is defined in the configuration file that corresponds to your web server.

324. How to configure the WCS?

To configure the WCS 1 Start the CCM. 2 Stop the Crystal Web Component Server. 3 On the toolbar, click Properties. 4 In the Command box, add the following option: -port FQDN:6401 -requestport portnum For the -port command, replace FQDN with either the fully qualified domain name of the machine that is running the WCS. This machine must be routable from the web server that is running the Web Connector. In the -requestport command, substitute any valid free port number for portnum. 5 If you want to customize the WCS so that it listens on a port other than the default, substitute your new port number for the default value of 6401. Tip: If you change the default port number of the WCS you must perform additional system configuration. Before changing the port number, see “Changing the default server port numbers” on page 321. 6 Click OK to return to the CCM. 7 Start the Crystal Web Component Server.

325. What are the key points to be considered while troubleshooting?

113

In general, consider the following key points when troubleshooting:

• Ensure that client and server machines are running supported operating systems, database servers, database clients, and appropriate server software.

For details, consult the Platforms.txt file, included with your product distribution.

• Verify that the problem is reproducible, and take note of the exact steps that cause the problem to recur. On Windows NT/2000, use the sample reports and sample data included with the product to confirm whether or not the same problem exists.

• Determine whether the problem is isolated to one machine or is occurring on multiple machines. For instance, if a report fails to run on one processing server, see if it runs on another. If the problem is isolated to one machine, pay close attention to any configuration differences in the two machines, including operating system versions, patch levels, and general network integration.

• If the problem relates to connectivity or functionality over the Web, check that Crystal Enterprise is integrated properly with your web environment

• If the problem relates to report viewing or report processing, verify your database connectivity and functionality from each of the affected machines.

Use Crystal Reports to verify that the report can be viewed properly. If the Job or Page Servers are running on Windows, open the report in Crystal Reports on the server machine and check that you can refresh the report against the database Error detected by database driver When a processing server receives an unknown message from the database driver, an error message similar to the following appears: Error Detected By Database DLL

326. How to troubleshoot database driver errors?

To troubleshoot database driver errors

1 Verify the database drivers for consistency. Ensure that the database driver (ODBC or native) used when the report was designed in Crystal Reports matches the database driver that is installed on the Job Server, Page Server, and RAS.

114

If the Job Server or the Page Server is installed on UNIX, then the database driver will not match exactly (the UNIX version will be a .so file instead of a .dll). However, the Windows/UNIX versions of each driver should correspond in regards to version numbers or driver release.

2 Disable the report’s “Use Indexes or Server for Speed” option. Open the report in Crystal Reports and, on the File menu, click Options. On the Database tab, clear the “Use Indexes or Server for Speed” option. Disabling this option may resolve database driver errors.

3 Verify the report’s SQL statement and ensure that it has not been edited manually. Open the report in Crystal Reports and, on the Database menu, click Show SQL Query. Copy the query into a text editor; then use your database server’s query tool to run the query. If the option appears in Crystal Reports, click Reset in the Show SQL Query dialog box. Compare the regenerated query with the version displayed in your text editor. If the queries differ, save the report so it uses the regenerated SQL query.

Note: If you need to edit a report’s SQL statement, do so with a stored procedure, rather than by editing it manually. If you have developed a web application that modifies the SQL statement through code, ensure that only the WHERE clause is changed.

4 Ensure that null values are not being passed to subreports. If the report contains one or more subreports, open it in Crystal Reports and, on the File menu, click Report Options. Select the “Convert Database NULL Values to Default” check box and the “Convert Other NULL Values to Default” check box.

5 If the report is based off on ODBC driver, enable tracing to obtain more information about the error. On Windows, ODBC tracing can be started through the ODBC Data Source Administrator. On UNIX, similar tracing can be enabled in the system information file (.odbc.ini).

Once you enable tracing, run the report again from a browser to generate the tracing log. After you run the report, disable tracing and review the log file for additional “Error” or “Busy” messages. Tracing may provide additional details that allow you to troubleshoot the problem.

6 If the report is based off Informix 7.3, check the database driver.

115

If a report that uses the Informix database driver (Windows version) causes a database driver error, modify the report to use the Crystal Reports “CR Informix” driver.

7 Verify the table definition of the database that the report is based off. If your web application dynamically changes a report’s data source at runtime, ensure that the schema of each database matches the schema of the database that the report was originally designed for. Rather than running the same report against diverse data sources, consider designing a separate report for each database.

8 Verify the data type of parameter values passed through code. If your web application passes parameter values to a report, ensure that you are casting the correct data type for the parameter value. It is always a good idea to cast values to ensure they are of the correct type. For specific details, see the function reference for your development language.

327. How to ensure that server resources are available on local drives?

Ensuring that server resources are available on local drives When the Crystal Enterprise servers are running on Windows, many can be configured to use specific directories to store files. For example, you can specify the root directory for each File Repository Server, the temporary directories for the Cache and Page Servers, or the directory from which the Job Servers load processing extensions. In all cases, the directory that you specify must be on a local drive (such as C:\InputFRS or C:\Cache).

Do not use Universal Naming Convention (UNC) paths or mapped drives.

Although some Crystal Enterprise servers can recognize and use UNC paths, do not configure the servers to access network resources in this manner. Use local drives instead, because UNC paths can limit performance due to limitations in the underlying protocol.

328. What are the benefits of accessible reports ?

Benefits of accessible reports:

As more business and government leaders adopt new standards for delivering web content to people with disabilities, accessible design is becoming critical to information management and delivery.

116

Accessible design provides many benefits:

• Accessible reports are easier for everyone to use. Many accessibility guidelines result in improved usability. An accessible report must provide logical and consistent navigation. Its content must be clearly written and easy to understand.

• Accessible reports are more compatible with a variety of technologies, new and old. Accessible content is easier to export to simple formats that are more compatible with mobile phone browsers, personal digital assistants (PDAs), and other devices with low-bandwidth connections. Some people may not have a keyboard or a mouse. They may have a text-only screen, a small screen, or a slow Internet connection. Accessible design makes it easier for people with limited technology to access information.

• Accessible content is easier to reuse for other formats. In the viewers, accessible reports are more accurately copied or exported to other formats.

• Accessible reports improve server efficiency. You may reduce the number of HTTP requests on the server, by providing clear navigation so people can find what they need faster. Providing text-only alternatives can reduce the number of graphics, which take up valuable bandwidth.

• Creating accessible reports is easier than modifying existing reports to make them accessible.

If you build accessible features into your reports now, it will be significantly less expensive than to redesign existing reports later.

329. How to adapt the accessibility guidelines for accessibility reports?

The most comprehensive accessibility guidelines are the Web Content Accessibility Guidelines (WCAG), developed by the international World Wide Web Consortium (W3C). The WCAG is widely considered the definitive set of recommendations for delivering web content to people with disabilities.

The WCAG has influenced the development of similar web content standards around the world.

117

Organizations and governments worldwide are adopting the accessibility recommendations of the W3C.

• Content must be easy to understand and navigate. • Text equivalents or alternatives should be provided for non-text objects. • Objects should be logically organized to clarify relationships between objects. • Reports must not rely on any one specific type of hardware, such as a mouse, a keyboard, or a color screen.

330. How to improve the report accessibility of Crystal Enterprise system?

To begin improving the accessibility of your Crystal reports, start with accessibility guidelines that are quick and easy to implement. A small change in your design conventions or company template may have a significant impact on accessibility. Simple navigation and clearly- written content are critical for accessibility, but they are easy to implement and useful for all report users.

331. What are the general guidelines to follow when placing objects on a report?

There are a few general guidelines to keep in mind when you place objects on a report.

Organizing objects logically When you place objects on reports, make sure their placement is clear and logical, especially when you need to imply a relationship between two objects in a report. For example, if you include a text description of a chart, ensure that it is close enough to the chart to make the connection clear.

Many assistive technologies read from left to right and from top to bottom; therefore, if you include a text description and title for a chart, you should decide which one you want the user to read first. This will ensure that the objects in a report are read in the correct order.

Placing objects in order When you publish a report to Crystal Enterprise, the HTML version organizes the objects in the report according to the consecutive order that you added them in Crystal Reports, not according to where they were positioned on the report. The report appears the same on the

118

screen, but the underlying HTML code lists the reports objects in the order they were inserted. Instead of reading the report from right to left and top to bottom, screen readers and other assistive devices may follow the order specified in the HTML. To make a report accessible, you must add objects to reports in the order that you want a screen reader to read them.

Therefore, to create accessible reports, you must plan the order of your report before you begin working in Crystal Reports. Plan it on paper. Make sure you know which objects you want to add and where you want them. Include all calculations, images, and charts on your plan. When you create a new report based on your plan, you can start adding objects from the upper left corner and work your way to the bottom right corner of the report. Once the objects are placed, you can make changes to them afterwards without affecting their order. Note: If you create a text-only alternative of your report, add it to your report as a subreport and, most importantly, add the subreport before you add any other object to your report.

After you add all objects to the report, you can test their placement order by tabbing through the objects.

332. How to test the placement order of objects in a report ?

To test the placement order of objects in a report 1 Make sure no objects in the report are selected. 2 Press the Tab key. Crystal Reports selects the object that was placed on the report first. 3 Tab through the remaining objects.

The order that Crystal Reports uses to tab through the objects is the same order adopted by a screen reader that views the published version of the report.

The most common accessibility issue encountered by report designers is also one of the easiest to resolve: providing text-only versions of non-text objects. A non-text object is an object that conveys meaning through a picture or sound. Non-text objects include pictures, charts, graphical buttons, graphical representations of text, sounds, animations, and audio or video clips. People who use assistive technologies are accustomed to text-only substitutes and, therefore, will respond well to the text-only alternatives you provide. There are a number of ways you can use text to substantially improve your reports’ accessibility: • Provide text equivalents for objects in reports. • Provide text alternatives for reports.

119

• Ensure that text is written and formatted clearly. Text is a useful tool for creating accessible reports. Most assistive technologies require text input, including screen readers, speech synthesizers, and Braille displays. You can easily resize and format text, and text is the most flexible medium for import and export. Providing text equivalents When you create reports, there are many opportunities to use text equivalents to clarify non-text objects. • Place a descriptive text object next to a non-text object, and be sure to add them to the report in consecutive order. Whenever possible, a text equivalent should communicate the same information as its corresponding object in the report. If a report displays data in a pie chart, for example, include a text box next to the chart that summarizes its contents. Describe the purpose of the non-text object. For example, if an image performs an action when you click it, describe the action. For a button that opens your web site, provide a text box labeled “Click to view our web site.” • If a report includes audio links, provide a transcript for significant audio clips. • If a report links to a multimedia or video presentation, provide a transcript. You may also want to provide captioning for the audio portion and an audio description of the visual portion. Captioning should be synchronized with the audio.

333. How to add the text only alternative to a sub report?

To add a text-only alternative to a subreport 1 Create a text-only version of the report and save it. 2 Open a new report. 3 On the Insert menu, click Subreport. 4 In the Insert Subreport dialog box, select Choose an existing report and click Browse to locate the report you created in step 1. 5 Click the subreport, then choose Format Subreport from the Format menu. 6 In the Format Editor, on the Subreport tab, select On-demand Subreport. 7 To hide the subreport link, on the Font tab, choose the color that matches the background color of the report. Note: Instead of hiding the subreport link, you can conditionally suppress the section that contains the subreport.

120