Managing content means managing all the various objects, for instance Crystal Reports, Excel and Word files, programs, packages, and Crystal Analysis Professional reports that are published to Crystal Enterprise. As discussed in earlier chapters, all of these are referred to as content.
The management of content implies a host of tasks, from organizing items into various container folders to applying restrictions (or rights) to the actual objects. If not planned correctly, content management can be one of the most time-consuming tasks for a Crystal Enterprise administrator. Again, with delegated administration, this task can be distributed to various subject matter experts around the organization, saving the IT department this type of work, which often involves knowledge of a particular departments requirements in detail.
The flexible Crystal Enterprise architecture accommodates almost any content-management scheme. However, there are some general guidelines to follow when determining the best approach to content management. A content management scheme consists of a folder/subfolder tree that can be defined within Crystal Enterprise and the associated permissions on those folders.
An effective content-management scheme should have the following characteristics:
Objects in Crystal Enterprise are published into the object store. Objects, when published into Crystal Enterprise, are managed through the CMC. This chapter uses the terms report and object interchangeably because most object are, in fact, reports.
This book has already provided some object publishing and management review. The Publishing Wizard, a Windows-based application for publishing reports to Crystal Enterprise, primarily publishes most content through the Save As functionality of Crystal Reports or Crystal Analysis. This chapter reviews object publishing and management from the CMC perspective.
Its also important to note that the object type determines the options and properties available to the Crystal Enterprise system administrator. For instance, because Crystal Analysis Professional reports cannot be scheduled like Crystal Reports, no scheduling options are displayed when administering a Crystal Analysis Professional report.
Because Crystal Reports are the most widely used report type, this chapter focuses primarily on that object type.
For more information on objects in Crystal Enterprise, p. 512
To add a new report to Crystal Enterprise, start the CMC and, from the home page, select Objects, and then the New Object button as shown in Figure 27.14.
After selecting New Object, the New Object dialog launches, shown in Figure 27.15. To add a report, choose to add that type of object on the left, and then type the path and filename of the report in the File Name box, or click the Browse button to locate the report file.
After selecting the report filename, indicate whether a thumbnail image of the report should be generated and displayed. A report thumbnail is a snapshot of page one of the report. This feature is currently available for Crystal Reports only. A thumbnail is merely a property of the report object, something that can be called programmatically or displayed only as an option. The Crystal Enterprise Web Desktop is a good example of an application that uses the report thumbnail.
The Generate Thumbnail for the Report option is useful for visually identifying reports, and its recommended that the Crystal Enterprise administrator leave the setting enabled.
Because the Generate Thumbnail for the Report option only applies to Crystal Reports objects, the report must be saved with the Save Preview Picture option at design time. This must be enabled in the Crystal Reports application by clicking File, Summary Info.
While enabling this option in Crystal Reports, its highly recommended that the Title, Author, and Comments fields be filled in because this information is available to users in Crystal Enterprise applications for report identification and searching. All these properties are stored in the Crystal Enterprise system database and can be leveraged for more specific report discovery.
The Summary Info dialog must be completed during report creation for the thumbnail (or report description details) to be available inside Crystal Enterprise.
The Use Object Repository when refreshing report option, new for version 9 of Crystal Enterprise, refreshes the repository objects added to the report with the most current objects. For instance, if the report designer had dragged a copyright text field onto the report, and the check box was enabled, Crystal Enterprise would check to see that the copyright text was the latest version stored in the repository and update it if a later one is available.
The final step to adding a new report to Crystal Enterprise is to select the desired enterprise folder that contains the report. This is done using the Destination option at the bottom of the New Report screen. Simply highlight the folder that should house the new report and click OK. The Crystal Enterprise administrator can also navigate to subfolders by highlighting the parent folder and clicking the Show Subfolders button.
The CMC now displays a report Properties tab, shown in Figure 27.16. The Report Title is indicated at the top of the screen. This is the actual name that Crystal Enterprise displays when users browse for the report. The report name is actually taken from the reports Title field, which can be edited in the Summary Info dialog screen in Crystal Reports. The Crystal Enterprise administrator can override the default title by manually typing a different title. Report titles can contain upper- and lowercase characters, as well as spaces.
Use a consistent naming convention for all reports, and make the report titles reasonably descriptive. This reduces object management issues when dealing with hundreds or thousands of distinct reports.
The File Name field indicates the true path and location of the actual file as it is managed by the File Repository Server (FRS). This information is controlled by Crystal Enterprise and cannot be edited. Its displayed as a reference for troubleshooting purposes.
The Description field can be used to add a detailed paragraph to note any special information about the report. The Description field is displayed in the Web Desktop, and it also will be parsed by the Web Desktop report keyword search feature.
Developers sometimes use the Description field as a catchall for keywords about the report that can be searched by a Crystal Enterprise application. Although this might be effective for a small number of reports, it can adversely affect system performance when you e dealing with large numbers of reports and is not recommended.
The Folder Path, at the top of the screen immediately above the title of the report, shows the folder structure that contains this report. Each word can be clicked to navigate to that folder. To move this object, you would first go to the containing folder, and then choose the Copy/Move/Shortcut button.
The upper-right corner of the report Properties tab contains a Preview button. The Preview button runs the report immediately on the first available Page Server. This option is useful for verifying database connectivity for the report without opening the Web Desktop.
The bottom of the report Properties tab, shown in Figure 27.17, allows the Crystal Enterprise administrator to enable the report thumbnail image using the Show Thumbnail check box. Be aware that the report must be designed with the Save Preview Picture option enabled for this setting to take effect, in addition to the settings required in Crystal Reports discussed earlier.
If any changes are made to the report Properties tab, you need to click the Update button at the bottom of the screen to commit the modifications to the system. After clicking Update, the Properties tab refreshes; this indicates that the changes were successfully committed to the system database.
On the Properties tab, just below the word Properties, links to navigate to the Refresh Options and Links appear. Clicking on the Refresh option navigates to an area where you can designate which properties of the report you want to refresh from the Object Repository or the report stored in the Crystal Enterprise system. Clicking on Links brings you to a display of the managed links in this report object so that you can verify that the links are valid. The actual links should be managed within Crystal Reports.
In addition to the report Properties tab, several other tabs pertain to the report. The first is the History tab. The History tab, shown in Figure 27.18, displays all instances of the report, including completed instancessuccessful or otherwisepending (queued) instances, recurring instances, currently running instances, and paused instances. The Crystal Enterprise administrator can use this screen to manage all instances of this report.
Recall that a report instance is a version of the parent report that has been scheduled and run at a specific point in time. The instance might have certain parameters that were specified at the time of scheduling, so very few assumptions about the report instance can be made without verifying this information. Fortunately, Crystal Enterprise stores the schedule time, scheduling user, start time, end time, and so on, as properties of the instance.
Although the number of report objects and instances stored and managed within Crystal Enterprise is, in theory, unlimited, the hardware dedicated to the CMS, CMS Database, and FRS plays a major role in determining true system scalability.
To see the details of instances (including error messages for failed instances), click the instance date/time stamp, shown in Figure 27.19, or the instance status message.
The upper-right corner of the History tab displays a row of action buttons. These include the following:
A large Crystal Enterprise deployment might generate thousands of report instances every day. Over time, the accumulation of old report instances unnecessarily consumes system resources. Crystal Enterprise has instance-limit controls for automatically managing the expiration (deletion) of old report instances. There is a global instance expiration setting in the Settings section of the CMC (discussed later in this chapter). The global expiration limits apply to all report instances in Crystal Enterprise, unless the system administrator defines exceptions on a report-by-report basis.
If a report is scheduled and a format other than Crystal Reports is specified, its still stored in the Crystal Enterprise system database as a report instance. This means that report instances could be Microsoft Excel spreadsheets, Word documents, and so on. Crystal Enterprise provides a series of server plug-ins that enable objects to be stored in the system database that are not of type Crystal Reports or Crystal Analysis Professional.
Exceptions to the global instance expiration limits are defined on the Limits tab for each report. The Limits tab, shown in Figure 27.20, enables the Crystal Enterprise administrator to override the global or folder instance expiration limits for the current report only. In the upper-left corner of the Limits tab is an option to Delete Excess Instances When There Are More Than N Instances of an Object. You can use this option to trigger old report instances to be deleted when the specified threshold has been exceeded.
This setting applies to all users and user groups unless an exception is made in the Delete Excess Instances for the Following Users/Groups section of the Limits tab. The Crystal Enterprise administrator can click the Add/Remove button in this tab to add overriding expiration limits for specific users or user groups. The user/group expiration limits take precedence over any global or folder expiration limits.
Within the Process tab, there are several sub-tabs. These sub-tabs allow you to set the options for how reports are processed.
Clicking on the Process tab navigates to the processing servers page. The Default Servers to Use for Scheduling area controls which server group executes the report.
Server groups are useful for categorizing servers by geographic region or processor speed. The server group options are useful for ensuring that reports are executed on a Crystal Enterprise Job Server that is in close physical proximity to the database server. For example, reports scheduled in Paris against the Paris sales database should be executed by a Job Server that is on the same network segment as the Paris database to maintain maximum report performance. Server groups can also be used to direct high-priority reports to servers with the most processing power.
For example, this option could be used to force the CFOs weekly financial reports to execute on the fastest server in the company. (A detailed discussion of server groups appears later in this chapter.)
The Use the First Available Server option is enabled by default and should remain enabled in most cases. This allows the report to be processed by the first available Job Server. However, the Crystal Enterprise administrator can direct Crystal Enterprise to use a specific server group when possible by enabling the Give Preference to Servers Belonging to the Selected Group option. If this option is enabled, Crystal Enterprise forces the report to execute on the first available Job Server in the group. If no Job Server is available, the report is executed by the first available Job Server outside the specified server group.
The option to Only Use Servers Belonging to the Selected Group causes the report to execute only on Job Servers within the specified group. Crystal Enterprise queues the scheduled instances of the report for the first available Job Server in the specified group. If no server is available, the report remains in the queue until one becomes available.
Be aware that the option to Only Use Servers Belonging to the Selected Group restricts Crystal Enterprises capability to intelligently designate a Job Server for the report, and might cause scheduled instances of the report to remain in the job queue longer than normal. Exercise caution when enabling this feature.
In similar fashion, viewing and modification servers designate preferences for real-time viewing and report modification. Finally, default values on the PageServer and Report Application Server (RAS) regarding how often to refresh data versus caching can be overridden for any object, enabling you to tailor settings for more and less time-sensitive reports, for instance.
The Database subsection contains database logon information for the report, shown in Figure 27.21. Although the database information, such as server name, is stored in Crystal Enterprise by default, database logon information is not stored and can only be added on this tab by the system administrator.
When a user attempts to run a report that does not already have database logon information provided, Crystal Enterprise prompts the user to type the database username and password. Note, however, if the Crystal Enterprise administrator has already configured database logon information for the report, the user is not required to enter any additional passwords. This is the preferred method for running reports that do not rely on database-level security.
To configure database login information, click the Database link and highlight the report data source to configure first. All report data sources appear in the Data Source(s) list box. Most reports only have one data source; however, reports that contain subreports or multiple databases might have more than one data source. Note that each data source must be configured independently.
To store database logon credentials with the report, highlight a data source and fill out the database, logon name, and password for the data source. Remember to click the Update button to confirm the changes. If the report has multiple data sources, you are required to highlight each data source and provide the proper logon information. Database logon information is encrypted in the Crystal Enterprise system database, and it cannot be accessed by end users, even by querying the system database directly.
Enabling the Prompt the User for New Value(s) When Viewing option causes Crystal Enterprise to confirm the default database logon information each time the report is viewed.
If a database has changed, the Use Custom Database Logon Information Specified Here option should be checked, and the relevant information added. This feature, new to Crystal Enterprise 10, enables flexibility in changing databases even after an object enters the Crystal Enterprise system. Should batch maintenance of database connections be required, a script file can change these settings via the CE-SDK. Please see Chapter 36, "Creating Enterprise Reporting Applications with Crystal Enterprise Part II," for more information.
The Parameters subsection options, shown in Figure 27.22, can be used to provide default values for parameters in the report. Specifying default parameter values can reduce the number of steps required for a user to schedule a report. Of course, users can always override the default values if they want. To specify a default value for a parameter, click the parameter value listed in the Value column. Unspecified values are indicated as [EMPTY].
The Crystal Enterprise administrator might select a default value for a parameter from the drop-down list of default parameter values (see Figure 27.23). The values that appear in the drop-down list were provided at the time of report creation in Crystal Reports. If the desired values do not appear, the Crystal Enterprise administrator can type a new value by clicking the Edit button. Certain types of parameters, such as range parameters, can accept both a beginning and ending default value.
The Clear the Current Parameter Value(s) option erases the parameters current default values, while the Prompt the User for New Value(s) when Viewing option ensures that users are reminded to confirm or modify the default parameter values each time the report is run. Any changes made to the Parameters area must be confirmed by clicking the Update button.
The benefit of using parameters with reports in Crystal Enterprise is that the user is prompted for value entry if the report is run or scheduled. No special programming is required, regardless of the report viewer in use.
The Filters subsection enables you to set the default record selection expression for the report, shown in Figure 27.24. The default record selection is normally adopted from the original report file. In most cases, the default selection expression should be left intact, but it can be useful to override this feature for specific purposes. With a proper understanding of Crystal syntax, you can modify the Record Selection Formula or Group Selection Formula manually.
At the bottom of the Filters tab is a section for indicating which Processing Extensions the report uses. A Processing Extension, discussed in Chapter 24, "Crystal Enterprise Architecture," is an optional programmatic library for controlling the display of report data. Processing Extensions were new to Crystal Enterprise 8.5 but are now largely superseded by Business Views in Crystal Enterprise 10. (Refer to Chapter 18, "Crystal Reports Semantic LayterBusiness Views," for a complete discussion of Business Views.)
Although previous versions of Crystal Enterprise managed print settings through the Destinations area, Crystal Enterprise 10 exposes these controls via the Process tab on the Print subsection. Crystal Enterprise 10 enables you to print the scheduled report by checking the Print in Crystal Reports Format option and specifying the details on the printer. Note that the printing occurs from the Job Server, so any network and other permissions must be configured on the appropriate Job Server(s). Note that this modality allows the job to be scheduled to the printer and a destination in the same run, thereby letting you schedule to an archiving system, for instance, which has a printer driver as its front-end image acquisition method.
The bottom of this section enables you to set whether you want to use the print options stored in the report itself during report creation, the default printer options, or set custom options for that object.
The Schedule tab enables you to schedule the report to run at selected times (see Figure 27.25). The CMC provides this feature as a matter of convenience so the administrator doesn have to refer to the Web Desktop for scheduling. When scheduling a report, the number of retries allowed (and the retry interval in seconds) can be specified before the report instance is marked as failed.
New in Crystal Enterprise 10, the calendar option schedules based on calendars stored in the system. A fuller discussion of calendars follows later in this chapter.
Crystal Enterprise 10 offers two methods of notification around specific jobs, in addition to the general audit logging options available in the system. The notification can audit on successful and failed jobs, and e-mail notification can also be sent, perhaps to an administrators pager to call attention to a particular failure or success.
Many organizations today work to streamline management practices and manage against goals. Thus management by exception increases daily in popularity. To fulfill the potential of this method, Crystal Enterprise sends e-mails when alerts have been triggered on reports, enabling users to receive notification when measured values are out of bounds and trigger a report alert, making it simple to manage actual results in real-time. Note that a link back to the triggering report can be composed at the bottom of the screen.
For a description of how to create alerts in reports, p. 255
Crystal Enterprise version 10 supports scheduling to destinations. You can specify a default destination, shown in Figure 27.26, for the report output on the Destination subarea. The default destination is the Crystal Enterprise FRS. This is generally the preferred destination for all report instances because the report maintains its status as a managed object within Crystal Enterprise.
However, the administrator can configure Crystal Enterprise to output the reports instances to a network folder using the Unmanaged Disk option, for example. Crystal Enterprise also supports FTP (File Transfer Protocol), which is useful for transmitting the report instances to a remote destination, such as an archiving system. Another option, Email (SMTP) is a popular solution for distributing reports as an e-mail attachment.
The Crystal Enterprise Job Server must have a destination enabled for destination scheduling features to work. Job Server destinations are configured from the Servers section of the CMC, covered later in this chapter
Not to be confused with the format or look and feel of a report, report formats imply a file format. The Format subsection, shown in Figure 27.27, enables you to specify a default output format for the report. Keep in mind that certain cosmetic report formatting features might not be supported by every export format. Also, proprietary Crystal Report features, such as drill-down and on-demand subreports, are supported only in the native Crystal Report format. These special features are ignored when exporting a report to a non-Crystal format.
The Rights tab, shown in Figure 27.28, is used to grant report access/restrictions to different users and user groups. By default, report objects inherit the same rights as their parent folder.
Much like managing groups is more effective than managing individual users, its much easier to set restrictions for those groups by folder rather than by report objects themselves.
The Rights tab lists all the users and groups with permissions explicitly defined for the current report object. Note that if a group is not listed, permissions have not been defined for the group.
The Everyone group and the Administrators group are automatically attached to all new objects and folders in the system, and cannot be removed. Note that the rights build on each other: A lower bullet in this list includes the rights above it.
Each user or group can be assigned one of the following rights:
In most organizational security models, the Everyone group is assigned the No Access privilege, or the parent folders permissions are set to No Access for the Everyone group. Doing so prevents users from accessing an object unless access is specifically granted through another user group.
Permissions in Crystal Enterprise are cumulative. In other words, the net rights of a user are equal to the sum of the permissions granted to the user. To further clarify this point, consider the permissions scenario in Table 27.1.
Because permissions are cumulative, the net rights of each user are equal to the sum of the rights assigned to each group to which the user belongs (see Table 27.2).
A users net permissions are determined by combining the rights they inherit from their group memberships. By combining permissions derived from group memberships, Crystal Enterprise enables a user to have access to the Sales folder as long as at least one of their group memberships permits it. Table 27.2 illustrates why the user Nicole is allowed Full Control of the Sales folder, even though the Everyone group is denied access as defined in Table 27.1.
Crystal Enterprise 10 includes support for several new object types (refer to Figure 27.15 for a complete list). Note that each of these objects has more or fewer configuration areas depending on the inherent type of object. For instance, a program object can be scheduled, while a Word document cannot.
Without exception, each report object in Crystal Enterprise must reside inside a folder. A folder in Crystal Enterprise is analogous to a folder on a Windows-based workstation or server. Many objects can populate a single folder, and folders can be nested inside other folders.
In general, the Crystal Enterprise folder hierarchy and report management behaves just like a standard network file system. The difference between the folder hierarchy in Crystal Enterprise and a standard network folder hierarchy is that any information about the folders is stored in the Crystal Enterprise system database, which can be queried to retrieve object information.
You can access folder management tasks by selecting Folders from the CMCs drop-down menu and clicking Go. The Folders screen in Figure 27.29 appears with a listing of all top-level folders in the folder hierarchy tree. You can click a folder name to see a list of all the reports the folder contains.
The Users folder contains a private subfolder for each Crystal Enterprise user. These personal folders store users favorite reports, if an application such as the Web Desktop allows for it.
To add a new top-level folder, click the New Folder button. On the Properties tab, shown in Figure 27.30, type the folder name. The folder name can include spaces and should be descriptive for end users because they often navigate folders themselves. The Crystal Enterprise administrator can also type a freeform description. After entering a new folder name, click the OK button to commit the change to the system database. Four additional tabs for configuring the folder are now available.
Use the Objects tab, shown in Figure 27.31, to add new objects to the folder or copy, move, shortcut, and delete objects. Administrators often also use folders to navigate to objects via this route.
The Copy function duplicates an object and assigns the duplicate object a slightly different filename on the FRS; the Shortcut function creates a duplicate report listing that points to the same filename on the FRS (similar to Windows file shortcuts). The Move function relocates the report to another folder.
The Subfolders tab in Figure 27.32 enables you to create and manage subfolders of the current top-level folder. Subfolders are useful for subcategorizing reports. Each subfolder can also have one or more child folders. Like a file system, the nesting of folders can traverse as many levels as necessary to convey the hierarchy of an organization.
The Limits tab, shown in Figure 27.33, controls instance expiration limits for reports contained within the folder. Note that report object limits (if specified) take precedence over folder limits. Folder limits only take precedence over global limits.
Report object limits take precedence over folder limits, and folder limits take precedence over global limits.
The Rights tab, shown in Figure 27.34, is used to control access to objects. The rights provided at the folder level are the same as those provided on the object level. (Refer to object rights for a definition of each option.) Instead of trying to manage rights for each individual report object, its usually easier to secure reports by specifying rights at the folder level only. Report objects always inherit the rights of their parent folder, unless exceptions are configured at the object level shown in Figure 27.34.
Note that with the addition of Delegated Administration, the CMC hides folders depending on folder rights. For instance, if an HR analyst logs on to the CMC, he does not see the Sales folder if the Sales folder Rights are set to disallow the HR analyst view rights. If a user doesn have folder rights, he doesn see any Folder information at all.