You are on page 1of 428

Creating Custom Web Applications

using Actuate Active Portal


Information in this document is subject to change without notice. Examples provided
are fictitious. No part of this document may be reproduced or transmitted in any
form, or by any means, electronic or mechanical, for any purpose, in whole or in part,
without the express written permission of Actuate Corporation.
© 1995 - 2004 by Actuate Corporation. All rights reserved.
Printed in the United States of America.
Contains information proprietary to:
Actuate Corporation
701 Gateway Boulevard
South San Francisco, CA 94080
http://www.actuate.com
The software described in this manual is provided by Actuate Corporation under an
Actuate License agreement. The software may be used only in accordance with the
terms of the agreement.
Actuate Corporation trademarks and registered trademarks:
Actuate, the Actuate logo, e.Analysis, Correlink, Correlink Framework, e.Report,
e.Reporting, e.Spreadsheet, Encyclopedia Formula One, Internet Spreadsheet, Lens,
Lens Builder, Live Report Document, Nimble, the Nimble logo, Nimble Technology,
Pace, ReportCast, Report Encyclopedia, ReportingEngines, the ReportingEngines
logo, Reportlet, Spreadsheets Everywhere, Tidestone Technologies, and XML reports.
Third party trademarks or registered trademarks of their respective owners,
companies, or organizations:
Apache Software Foundation (http://www.apache.org/): Axis, Crimson,
Jakarta-ORO, Tomcat, Xalan, Xerces, and XML4C. Apple Computer, Inc.: Mac OS,
Macintosh, TrueType. BEA Systems, Inc.: BEA Liquid Data for WebLogic, BEA
WebLogic Portal, BEA WebLogic Portal Server, BEA WebLogic Server, BEA WebLogic
Workshop. Bits Per Second, Ltd. and Graphics Server Technologies, L.P.: Graphics
Server. Borland Software Corporation: JBuilder. Bruno Lowagie and Paulo Soares:
iText, licensed under the Mozilla Public License (MPL). Codejock Software: Xtreme
Toolkit. Component One, LLC.: VSFlexGrid Pro. DataDirect Technologies Corp:
DataDirect Connect. Fred L. Drake, Jr. (http://sourceforge.net/projects/expat):
Expat XML parser, created by James Clark, licensed under the MIT License. Hewlett-
Packard Company: HP-UX. IBM Corporation: 1-2-3, AIX, DB2, Informix-ESQL/C,
ICU, Lotus, and WebSphere. Indiana University Extreme! Lab (http://
www.extreme.indiana.edu): XML Pull Parser and XPP. InstallShield Corporation:
InstallShield. InterNetivity Inc.: Databeacon. JDBM Project (http://
jdbm.sourceforge.net): JDBM. LEAD Technologies, Inc.: LEADTOOLS. Linus
Torvalds: Linux. Lucent Technologies, Inc.: FPDTOA, created by David M. Gay.
Microsoft Corporation: ActiveX, Microsoft, MS-DOS, MSN, Windows. Nanode LLC:
OpenJNLP, licensed under the Mozilla Public License (MPL). Netscape
Communications Corporation, Inc.: Netscape, Netscape Communications, Netscape
Communicator, Netscape Enterprise Server, and Netscape Navigator. The OpenSSL
Project (http://www.openssl.org/): Mac OS X, Mac OS X Server, OpenSSL Toolkit.
Oracle Corporation: Oracle Call Interface. Progress Software Corporation: Progress.
Quadralay Corporation: WebWorks. Rogue Wave Software, Inc.: NobleNet RPC and
Rogue Wave SourcePro. SAP AG: SAP, SAP BW, SAP R/3. Sun Microsystems, Inc.:
100% Pure Java, iPlanet, J2EE, Java and all Java-based marks, JavaServer Pages, ONC,
Solaris, SPARC, Sun, Sun Microsystems, and Sun ONE. Sybase, Inc.: CT-Library.
Symantec Corporation: Visual Cafe. Unicode, Inc.: Unicode. World Wide Web
Consortium (W3C): HTML Tidy and tidy.c. X/Open Company, Ltd.: UNIX. Zero G
Software, Inc.: InstallAnywhere. Zope Corporation: DCLC and Digital Creations.
All other brand or product names are trademarks or registered trademarks of their
respective owners, companies or organizations.
Document No. 040628-2-630301 June 25, 2004
Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xi
Exploring Actuate 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Addressing diverse customer profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Addressing customer requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Supporting international information delivery requirements . . . . . . . . . . . . . . . . . xiii
Providing a scalable, high-performance server . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Providing a complete information delivery solution . . . . . . . . . . . . . . . . . . . . . . xiv
Introducing the Actuate 8 and ReportingEngines product suites . . . . . . . . . . . . . . . . xv
About the Actuate iServer System product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xx
About Creating Custom Web Applications using Actuate Active Portal . . . . . . . . . . . xxiii
Online documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
Using online manuals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv
Using online help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv
Using the Actuate online help system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv
Using report-specific online help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii
Typographical conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii
Syntax conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxviii

Part 1
Customizing Actuate Active Portal
Chapter 1
Introducing Actuate Active Portal . . . . . . . . . . . . . . . . . . . . . . . . . . 3
About Actuate Active Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Understanding Actuate Active Portal load balancing . . . . . . . . . . . . . . . . . . . . . . 5
Deploying a load-balancer for an Actuate iServer cluster . . . . . . . . . . . . . . . . . . . . 6
About using a cluster of application servers. . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Managing session state across application servers. . . . . . . . . . . . . . . . . . . . . . . 6
Configuring session state management on a J2EE application server . . . . . . . . . . . . 7
Configuring session state management for a .NET application server . . . . . . . . . . . 9
Using Actuate Active Portal sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Logging in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Navigating the Actuate Active Portal web site . . . . . . . . . . . . . . . . . . . . . . . . . .13
Working with channels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
Submitting a request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
Understanding synchronous requests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
Understanding asynchronous requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

i
Viewing a report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
About Actuate Active Portal options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
About Actuate Active Portal functionality levels . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Understanding functionality levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Customizing functionality levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Customizing functionality level features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Preserving functionality levels and features . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
About Actuate Analytics experience levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Understanding experience levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Customizing experience levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
About Actuate Active Portal skins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Accessing skins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Managing skins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Using the Skins Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Generating a web archive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Customizing and cloning skins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Understanding Actuate Active Portal pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Working with Actuate Active Portal URIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
About Actuate Active Portal URIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Using a special character in a URI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
About UTF-8 encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Setting up Actuate Active Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Chapter 2
Creating a custom Active Portal for .NET web site. . . . . . . . . . . . 45
Working with Active Portal for .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Understanding Active Portal for .NET directory structure . . . . . . . . . . . . . . . . . . . . 47
Building a custom Active Portal for .NET context root . . . . . . . . . . . . . . . . . . . . . . 49
Customizing an Active Portal for .NET web site . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Modifying global styles for colors and fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Modifying styles using skin customization pages . . . . . . . . . . . . . . . . . . . . . . . . 53
Linking in additional style definition files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Specifying colors and fonts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Customizing accessible files and page structure using templates. . . . . . . . . . . . . . . . . 56
Using regions in templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Changing a template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Customizing banners and the side menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Modifying graphic images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Locating existing pages and linking in new pages . . . . . . . . . . . . . . . . . . . . . . . . . 62
Modifying existing content or creating new content . . . . . . . . . . . . . . . . . . . . . . . . 64
Obtaining information about the user and the session . . . . . . . . . . . . . . . . . . . . . 65

ii
Customizing requester pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
Modifying the existing requester pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
Creating a custom requester page and using a URI to execute a report . . . . . . . . . . .70
Create a new custom requester page and your own code to run the report . . . . . . . .71
Integrating Reportlets with Actuate Active Portal . . . . . . . . . . . . . . . . . . . . . . . .71
About Reportlets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
Displaying Reportlets in an HTML page with Active Portal for .NET . . . . . . . . . . .71
Modifying text and messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
Customizing Actuate iServer error messages . . . . . . . . . . . . . . . . . . . . . . . . . . .72
Customizing Actuate Active Portal text and messages . . . . . . . . . . . . . . . . . . . . . .74
Configuring Active Portal for .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75
Customizing Active Portal for .NET configuration . . . . . . . . . . . . . . . . . . . . . . . .76
Understanding Actuate Active Portal configuration parameters . . . . . . . . . . . . . . . .76
Configuring session state for .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81

Chapter 3
Creating a custom Active Portal for JSP web site . . . . . . . . . . . . 85
Working with Active Portal for JSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86
Understanding Active Portal for JSP directory structure . . . . . . . . . . . . . . . . . . . . . .87
Building a custom Active Portal for JSP context root . . . . . . . . . . . . . . . . . . . . . . . .90
Customizing an Active Portal for JSP web site . . . . . . . . . . . . . . . . . . . . . . . . . . . .92
Modifying global styles for colors and fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94
Modifying styles using skin customization pages . . . . . . . . . . . . . . . . . . . . . . . .94
Linking in additional style definition files . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94
Specifying colors and fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
Customizing accessible files and page structure using templates . . . . . . . . . . . . . . . . .98
Specifying a template and template elements . . . . . . . . . . . . . . . . . . . . . . . . . . .99
Changing a template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Customizing banners and the side menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Modifying graphic images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Locating existing pages and linking in new pages . . . . . . . . . . . . . . . . . . . . . . . . . 107
Modifying existing content or creating new content . . . . . . . . . . . . . . . . . . . . . . . . 108
Obtaining information about the user and the session . . . . . . . . . . . . . . . . . . . . . 109
Customizing requester pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Creating a custom requester page and using a URI to execute a report . . . . . . . . . . 111
Creating a custom requester page with an Action class . . . . . . . . . . . . . . . . . . . 116
Integrating Reportlets with Actuate Active Portal . . . . . . . . . . . . . . . . . . . . . . . 117
About Reportlets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Displaying Reportlets in an HTML page with Active Portal for JSP. . . . . . . . . . . . 117
Modifying text and messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Customizing Actuate iServer error messages . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Customizing Actuate Active Portal text and messages . . . . . . . . . . . . . . . . . . . . . 123

iii
Configuring Active Portal for JSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Customizing Active Portal for JSP configuration . . . . . . . . . . . . . . . . . . . . . . . . 125
Understanding Actuate Active Portal configuration parameters . . . . . . . . . . . . . . . 126

Chapter 4
Using Actuate Active Portal components . . . . . . . . . . . . . . . . . . 131
About Actuate WebSphere portlets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Configuring Actuate WebSphere portlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Configuring administrator parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Adding a portlet to a user page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Configuring user parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Using Actuate WebSphere portlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Using Actuate Report Documents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Using Actuate Report Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Using Actuate Reportlet Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
About Actuate Sun ONE portlets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Configuring Actuate Sun ONE portlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Configuring portlet parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Adding the portlets to a container. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Redeploying the portal web application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Using Actuate Sun ONE portlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Using ActuateDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Using ActuateReport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Using ActuateReportlet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
About Actuate WebLogic Workshop tag library . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Using Actuate WebLogic Workshop tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Actuate tags common attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
actu:filelist. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
actu:reportlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
actu:viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Using the Actuate WebLogic sample application . . . . . . . . . . . . . . . . . . . . . . . . . . 162

Part 2
Actuate Active Portal reference
Chapter 5
Actuate Active Portal URIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Actuate Active Portal URIs overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Actuate Active Portal URIs quick reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Common URI parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

iv
Active Portal for JSP Struts actions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Actuate Active Portal URIs reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
about page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
authenticate page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
banner page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
browse file page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
calendar page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
channels page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
completed request page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
create folder page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
create query page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
delete file status page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
delete job page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
delete status page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
detail page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
drop page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
error page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
execute page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
execute query page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
execute report page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
general options page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
get report data page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
get saved search page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
home page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
index page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
list page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
login banner page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
login page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
logout page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
notification page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
options page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
output page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
page not found page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
parameters page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
pending page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
ping page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
print page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
privileges page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
processed action status page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
request search page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
running page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
save as page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
schedule page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

v
scheduled job page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
search frame page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
search folders page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
search report page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
search toolbar page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
submit job page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
submit page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
tabs page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
view cube page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
view default page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
view embedded object page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
view frame set page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
view navigation page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
view page page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
view third-party report page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
view TOC page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Chapter 6
Actuate Active Portal JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . 263
Actuate Active Portal JavaScript overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Actuate Active Portal JavaScript reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

Chapter 7
Actuate Active Portal for JSP servlets. . . . . . . . . . . . . . . . . . . . . 267
Active Portal for JSP Java servlets overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
About the base servlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Invoking a servlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Active Portal for JSP Java servlets quick reference . . . . . . . . . . . . . . . . . . . . . . . . . 269
Active Portal for JSP Java servlets reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
DownloadFile servlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
DownloadSearchResult servlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
GetDynamicData servlet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
GetReportData servlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
GetStaticData servlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
GetStyleSheet servlet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
ViewEmbeddedObject servlet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
ViewPage servlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Chapter 8
Actuate Active Portal for JSP custom tags . . . . . . . . . . . . . . . . . 285
Active Portal for JSP custom tag overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Active Portal for JSP custom tags quick reference . . . . . . . . . . . . . . . . . . . . . . . . . 286

vi
Active Portal for JSP custom tag libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Active Portal for JSP custom tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Active Portal for JSP custom tags reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
bundle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
componentIdentifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
componentIdentifierList. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
componentList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
formatDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
getFormats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
getPageCount. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
getReportlet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
getReportletData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
getTOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
iterator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
searchReport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
selectUsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
stringList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
tabBegin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
tabEnd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
tabMiddle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
tabMiddleSelected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
tabPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
tabSeparator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Chapter 9
Actuate Active Portal for JSP JavaBeans . . . . . . . . . . . . . . . . . . 315
Active Portal for JSP JavaBeans overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Active Portal for JSP JavaBeans package reference. . . . . . . . . . . . . . . . . . . . . . . . . 316
Active Portal for JSP JavaBeans class reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Cubes, information objects, and queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Documents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
General. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
SAP R/3 data streams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Skins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

vii
Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Active Portal for JSP UserInfoBean class reference . . . . . . . . . . . . . . . . . . . . . . . . . 324

Chapter 10
Actuate Active Portal for .NET user controls . . . . . . . . . . . . . . . 331
Active Portal for .NET user controls overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
About user control attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Using the user control library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Active Portal for .NET user controls quick reference . . . . . . . . . . . . . . . . . . . . . . . . 333
Active Portal for .NET user controls reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
authenticate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
canceljob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
channellist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
deletefile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
deletejob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
deletejobnotice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
do_submitjob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
executereport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
folderbrowser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
getreportdata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
jobdetail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
joblist. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
savefile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
submittedjob_status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Chapter 11
Using internal Actuate Active Portal security . . . . . . . . . . . . . . . 351
About Actuate Active Portal security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Protecting corporate data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Protecting corporate data using firewalls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Protecting corporate data using Network Address Translation . . . . . . . . . . . . . . . . 353
Protecting corporate data using proxy servers. . . . . . . . . . . . . . . . . . . . . . . . . . 353
Understanding the authentication process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Customizing authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354

viii
Working with Actuate Active Portal Security Extension methods . . . . . . . . . . . . . . . . 355
Creating a custom security manager. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Creating an Active Portal for JSP custom security manager . . . . . . . . . . . . . . . . . . 357
Creating an Active Portal for .NET custom security manager . . . . . . . . . . . . . . . . . 360

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365

ix
x
Introduction

Exploring Actuate 8
Actuate® Corporation is the world leader in providing enterprise reporting
application development platforms for Global 9000 companies. Actuate offers
a full suite of content-development tools that pull divergent types of data from
multiple sources and bring that data together in presentation-quality reports.
Applications built on Actuate technology ensure that 100% of corporate users
incorporate standard, accurate decision-making information into their day-by-
day activities.
The Actuate product suite provides:
■ A flexible and advanced reporting model
■ A robust security model
■ Best-of-breed server scalability
■ A leading analytics solution for decision support
■ Automated production reporting for multiple output formats
■ Unparalleled support for multilingual reporting
■ Highly customizable look and feel
■ The ability to leverage existing data warehouses and operational data
sources
■ Simplified access to complex data sources
Actuate’s scalable Business Intelligence solutions support working with a
large volume of transactional data and a challenging data model. Actuate’s
increasingly powerful design products reduce the overall cost of report
development. Actuate iServer and its options provide scalable performance, a
robust integration model using APIs, a web-capable enterprise server
application, and a broad range of output options.

Introduction xi
In the current business climate, our enterprise customers need to meet the
demand for increasingly complex and customized information. Using the
capabilities of our sophisticated security model, users in different parts of an
organization can access different parts of the same report. The ability to
develop fewer, more powerful reports that meet the needs of many levels and
types of users addresses the workload challenges facing IT organizations.
Streamlining the reporting process reconciles reduced staffing and the ever-
present backlog of IT requests with the complex reporting needs of diverse
users within an enterprise. With Actuate products, such as Actuate
e.Spreadsheet Designer, Actuate Analytics Cube Designer, and Actuate
Analytics Cube Viewer, a business user can leverage information that the IT
staff develops to meet his additional, and perhaps unique, needs.
Actuate technology ensures that 100% of users have business agility: access to
the right information in the right form to take the right action. Today’s
information manager needs increased visibility into what business users are
doing because of internal requirements for greater accountability. For
example, new SEC regulations add to the demand on the corporate
information management infrastructure. Actuate customers also need tools
that ensure that IT organizations maintain the appropriate level of control over
corporate information assets. To meet these requirements, Actuate’s
information application platform includes three key elements:
■ An information server
■ An information application development environment
■ User empowerment tools

Addressing diverse customer profiles


Actuate’s customer list continues to include leaders in aerospace, commercial
banking, defense, entertainment, federal government, financial services,
health care, high technology, insurance, life sciences, pharmaceuticals, retail,
securities, and telecommunications.
Infrastructure software from Actuate provides the foundation for applications
that support budget variance, business analysis, customer relationship
management, customized interactive reporting, e.billing, e.procurement,
executive dashboards, human resources, information portals, key performance
indicators, service automation, spreadsheet reporting, supply-chain
management, and systems management. In the e.business environment,
Actuate’s structured content technology seamlessly integrates into corporate
web sites and packaged applications.

xii Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
Addressing customer requirements
Capturing, validating, refreshing, and delivering corporate information
remain critical customer requirements. Customers need an information
application that takes corporate data and delivers it as interactive web pages,
data cubes, and Excel spreadsheets that their customers, partners, and
employees can use.
Actuate customers need to:
■ Combine data from multiple data sources associated with multiple
transaction applications.
■ Have confidence in the consistency and maintainability of the Excel
spreadsheets on their business users’ desktops and their customers’ web
pages.
■ Readily access current information over the web without overloading
internal networks.
■ Use data cubes to perform multidimensional analysis.
■ Achieve high performance and high scalability with enterprise reporting
applications.

Supporting international information delivery


requirements
To meet the growing international needs of our customer base, Actuate
products continue to provide an unprecedented level of support for
multilingual reporting, including full Unicode support and an extensive list of
supported locales. Some Actuate customers integrate Actuate reporting in
their own applications and provide information to thousands of customers,
amounting to millions of users in as many as fifty countries. Some Actuate
customers also deliver hundreds of reports translated into eighteen or more
languages.

Providing a scalable, high-performance server


Independent analysis confirms that Actuate iServer is a highly scalable, highly
available, high-performance server that further extends our lead in
implementing enterprise-class information delivery systems. Enhanced
integration capabilities support personalized and customizable portal
development, web services, and spreadsheet reporting.

Introduction xiii
Providing a complete information delivery
solution
The following table summarizes the three types of e.business applications for
which Actuate provides seamless integration through its reporting application
platform.

Infrastructure element Function Actuate role


Databases, data Organize data Actuate’s design tools support
warehouses, and accessing, managing, and
operational data presenting formatted data.
sources
Content management Manage Actuate iServer supports
systems structured publishing, distributing, and
content versioning structured content.
Application servers Deploy online Actuate web applications,
applications including Actuate Active Portal
and Management Console,
support conducting complex
transactions, managing supply
chains, and interacting with
customers.

Actuate products continue to offer core solutions for fundamental enterprise


reporting and information delivery challenges, as described in the following
table.

Challenge Actuate solution


Deliver high- Solve complex data access and presentation
resolution information problems across a broad range of data sources
View structured Support viewing cubes, DHTML, information
content objects, and spreadsheet reports in standard
browsers to eliminate plug-in installation for
millions of users
Meet varied Provide:
information display ■ Template-based design and display
requirements
■ Complex formatting capabilities
■ Spreadsheet reporting
■ Multidimensional cubes

xiv C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c t u a t e A c ti ve Po r t a l
Challenge Actuate solution
Meet increasing ■ Support well over one million hits each day on
requirements for web- a single CPU
based content delivery ■ Reduce development and maintenance costs
Deliver personalized, Provide open security directory integration and
secure information page-level security
Reuse existing Provide access to content from other applications
integrated content using open server technology
Maintain data integrity Provide high-resolution printed copy from
between online and PostScript and PDF files
hard copy
Transfer information Provide XML output to support access to data
among applications across applications
Meet increasing Support clustering and fail-over
requirements for
server-based reporting

Introducing the Actuate 8 and ReportingEngines


product suites
The following section describes the broad suite of tools developed by Actuate
Corporation to meet the needs of users throughout an enterprise.

Actuate Analytics Cube Designer


An application that content developers use to define and design the structure
of a multi-dimensional, On-Line Analytical Processing (OLAP) cube. Running
a cube profile using Actuate iServer generates a cube.

Actuate Analytics Cube Viewer


An application that supports end users who need to create and view cube
reports.

Actuate End User Desktop


An application that supports end users who need to request, generate, view,
and print report documents. The ReportQuery capabilities enable seamless
transfer of data from an Actuate report to any productivity or analysis tool.

Introduction xv
Actuate e.Report Designer
An application that complements e.Report Designer Professional and supports
business users who need to design and distribute a wide variety of reports.
Using this application requires no programming skills. A business user can
modify complex reports created by an IT developer and use sophisticated
components from libraries.

Actuate e.Report Designer Professional


An object-oriented application that professional developers of structured
content use to design, build, and distribute information objects and report
object instances. The Actuate Basic Language and Actuate Foundation Class
Library support extensive customization capabilities.
Actuate Client Integration Technology extends the capabilities of Actuate
e.Report Designer Professional and includes the following products:
■ Actuate ActiveX Controls embed Actuate reporting functionality in custom
applications.
■ Actuate Requester API accesses attributes and values of report parameters,
changes the values of report parameters, controls how and when a report
generates, displays and prints reports, and configures report printing.
Users access the Requester API using Actuate Basic, Visual Basic, C, or
C++.
■ Actuate Search Extension API supports developing search extensions to
transfer data to any third-party productivity or analysis tool.
■ Actuate Open Data Access Framework supports development of custom
data source drivers.

Actuate e.Spreadsheet Designer


An application that supports end users who design, create, and distribute
automated spreadsheet reports over the web. Users can dynamically generate
richly formatted spreadsheet reports in Excel format from Actuate iServer
System with the e.Spreadsheet Option. The spreadsheet reports can be part of
an application, an applet, or a JavaBean.

Actuate iServer System


A server application that generates cubes, information objects, report
documents, and spreadsheet reports. Actuate iServer provides single or
multiple Encyclopedia™ volumes in which it makes many different types of
content available to users. Actuate iServer supports managing a cluster of
multiple Actuate iServer machines. Actuate iServer System includes the
following products:

xvi C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c t u a t e A c ti ve Po r t a l
■ Actuate Active Portal for JSP, Actuate Active Portal for .NET, and Actuate
ReportCast™ transform the Encyclopedia volume into a dynamic, secure
web site. They provide the foundation for channels and seamless
integration with other web sites.
■ Actuate Management Console is an application that system and network
administrators use to manage and control one or more Actuate
Encyclopedia volumes.
■ Actuate iServer Integration Technology includes the following features:
■ Actuate Information Delivery API integrates Actuate web services into
existing corporate applications, automates routine or time-consuming
Actuate iServer integration tasks, and implements new feature
groupings for custom business processes. The Actuate Information
Delivery API is based on XML and supports simple object access
protocol (SOAP) messaging.
■ Actuate Report Server Security Extension supports the use of third-
party security tools.
■ The Actuate archive driver supports the use of third-party archiving
software and hardware.
■ Actuate Report Server API implements common Encyclopedia volume
functionality using C++.
In addition to the underlying server technology, Actuate 8 supports several
Actuate iServer System options. These options are licensed separately.
■ Actuate Additional Volume Option
An option that supports using more than one Encyclopedia volume in
Actuate iServer System. In Actuate 7 and earlier, this option was Actuate
Multi-Application Option.
■ Actuate Analytics Option
An application that supports analysis of multidimensional data cubes. A
developer creates the cubes using Actuate Analytics Cube Designer.
■ Actuate Data Connector Option
An option that supports running or viewing Actuate content sources from
a specific type of data source. Each data connector must be separately
licensed. Currently available Data Connector Options include:
■ Data Connector for PeopleSoft Option
■ Data Connector for SAP BW Option
■ Data Connector for SAP R/3 Option

Introduction xvii
■ Actuate Data Integration Option
An option that supports information objects to combine data from two or
more disparate sources. This option is required where data joining is not
supported through separately licensed third party databases or other
separately licensed technology.
■ Actuate e.Analysis Option
An application that supports the transformation of data from an Actuate
report into a format that users can view and analyze to determine
relationships and trends.
■ Actuate e.Report Option
An option that provides Encyclopedia volume functionality for e.Report
Designer and e.Report Designer Professional.
■ Actuate e.Spreadsheet Option
An open server application that generates Excel spreadsheets from
e.Spreadsheet Designer files. Using this product, customers can manage
spreadsheet reports and analysis within Actuate iServer System and save
reports as richly formatted Excel spreadsheets.
■ Formula One e.Report Engine Option
An option that provides Encyclopedia volume functionality for Formula
One e.Report Designer and Engine.
■ Actuate Information Object Caching Option
An option that provides the ability to cache data from an information
object in a third party database. This option requires separate licensing of a
third party database server for data storage. This option is not available for
information objects based on Actuate Basic technology.
■ Actuate NameSearch Option
An option that supports matching records based on textual information.
This option requires licensing both the Actuate Data Integration Option
and the Actuate Record Matcher Option.
■ Actuate Online Archive Option
An option that supports hosting more than one Encyclopedia volume where
the additional volume is an archive.
■ Actuate Page Level Security Option
An option that supports personalizing viewing privileges at the user level
for reports and parts of reports.

xviii C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
■ Progress Option
A server application that supports working exclusively with Progress
databases to generate Live Report Documents, manage them in the
Encyclopedia volume, and make them available to users.
■ Actuate Query Option
A web-based tool that supports performing ad hoc queries based on
predefined data streams.
■ Actuate Record Matcher Option
An option that supports the ability to match records in two separate
databases that do not have a common key. This option requires licensing
the Actuate Data Integration Option.

Actuate Viewer
An application end users can use to find, view, and print report documents.

Formula One e.Report Engine


A flexible Java tool for extracting, formatting, and delivering data from a
variety of data sources, including databases, Enterprise JavaBeans, Java objects
inside applications, XML files, Liquid Data for BEA WebLogic, and text files.
Users can deploy completed reports from any J2EE application, WebLogic,
WebSphere, or a web server in CVS, formatted, actionable DHTML, e-mail,
HTML, PDF, RTF, and XML formats. The application data handler supports
accessing Java objects inside applications. The reporting capabilities include
extensive support for XML data sources and output.
Formula One e.Report Engine includes a report designer, Formula One
e.Report Designer, which Java developers can use to design a variety of
reports. This designer is available only with Formula One e.Report Engine.
Written entirely in Java, Formula One e.Report Designer supports charts,
crosstab reports, grouping levels, multiple sections, and parameters.

Formula One e.Spreadsheet Engine


An application that Java developers use to create, design, and distribute
custom spreadsheet reports over the web. Spreadsheet reports can be part of
an application, an applet, or a JavaBean. Formula One e.Spreadsheet Engine
also includes a rich spreadsheet report designer, Actuate e.Spreadsheet
Designer.
Formula One e.Spreadsheet Engine supports:
■ Reading and writing fully-formatted Excel files that include charts,
formulas, merged cells, multiple worksheets, outlining, and other
formatting options

Introduction xix
■ A scalable calculation engine for fast calculations and data analysis
■ Standard spreadsheet formulas and functions
■ Risk modeling, online calculators, and simulations
■ Dynamic generation of spreadsheet-driven charts with drill-down
capabilities
■ A spreadsheet interface that developers can embed in custom Java desktop
applications and browser-based applets
■ Accessing data from JDBC databases, SAP BW, SAP R/3, XML data files
using a standard interface to any other data source

About the Actuate iServer System product


Actuate iServer System documentation includes printed manuals, installation
guides, online help, user documentation as PDF files, and release notes.
Information about the product that we cannot include before the book printing
deadline appears in the release notes.
Documentation updates that provide information developed in response to
customer requests are available on the Actuate Customer Support web site,
also known as the e.Support site, at http://support.actuate.com. When
customers download updates, the installation program updates the files in the
appropriate locations.
The e.Support site also includes documentation for less frequently used
technology. If you cannot locate the documentation you need, contact Actuate
Customer Support at the e.Support site, by phone, or by e-mail. You can find
the Customer Support telephone number and e-mail information among the
printed materials in an Actuate product box.
The Actuate web site, http://www.actuate.com, contains late-breaking news
about Actuate products and features. The Actuate web site also provides
product update information. To obtain a password to access the portion of the
Actuate web site that is available only to customers, contact Actuate Customer
Support. The engineers in Actuate Customer Support can also help you with
technical questions about Actuate products according to your service contract.

xx Crea ting C ustom Web Ap plicatio ns using Actua te Active Por ta l


The printed and online documentation includes the materials described in the
following table.

For information about this topic See the following resource


Installing Actuate iServer System on
Linux, UNIX, and Windows systems
Installing
Deploying Actuate Active Portal for Actuate
JSP on application and web servers iServer
Installing Actuate portlets on an System
application server

Late-breaking information about the Release notes available as download


software and documentation from the e.Support site
Documentation updates in response Documentation available as
to customer requests for additional download from the e.Support site
information
Overview of Actuate iServer System
architecture
Administering
Actuate iServer System configuration Actuate
and administration iServer
Database connections System
Encyclopedia volume configuration
and administration
Working with users, groups,
privileges, and roles
Working with printers and printing
requests
Formatting report data for multiple
locales
Report encoding Working
with Multiple
Designing reports with right-to-left
Locales
orientation

Introduction xxi
For information about this topic See the following resource
Overview of Actuate web services
and SOAP messaging
Overview and reference for the Programming
Actuate Information Delivery APIs, with Actuate
including examples iServer APIs
Overview and reference for the
Actuate iServer integration APIs,
Actuate archiving APIs, Report
Server Security Extension APIs, and
open server technology
Customizing Actuate Active Portal
Customizing Actuate Active Portal Creating
JavaServer Pages, Active Server Custom Web
Pages, JavaScript files, cascading Applications
stylesheets, and custom tags and using Actuate
controls Active Portal

Security and Actuate Active Portal

Managing files and folders in an


Encyclopedia volume
Making files available to other Using Actuate
Actuate iServer System users Management
Console

Accessing, executing, and viewing


reports
Working with
Reports using
Actuate
Active Portal

xxii C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c t u a t e A c t i ve Po r t a l
For information about this topic See the following resource
Building and displaying data cubes
for multidimensional analysis Working with
Cube Reports
using Actuate
Analytics
Option

Viewing, analyzing, and exporting


data
Customizing e.Analysis
Using
e.Analysis

Terminology map
Glossary
Actuate 8
Glossary

About Creating Custom Web Applications using


Actuate Active Portal
Creating Custom Web Applications using Actuate Active Portal is a guide to
designing, deploying and accessing custom e.reporting web sites using Active
Portal for JSP or Active Portal for .NET.
Creating Custom Web Applications using Actuate Active Portal includes the
following chapters:
■ Introduction. This chapter provides an overview of this guide, the Actuate
product family, and the typographical conventions used.
■ Part 1. Customizing Actuate Active Portal. This part describes how to use
Actuate Active Portal and how to customize its appearance and layout.

Introduction xxiii
■ Chapter 1. Introducing Actuate Active Portal. This chapter introduces Actuate
Active Portal web sites and explains how Actuate Active Portal works.
■ Chapter 2. Creating a custom Active Portal for .NET web site. This chapter
explains how to work with Active Portal for .NET, JavaScript, and ASP
.NET files to design custom e.reporting web sites.
■ Chapter 3. Creating a custom Active Portal for JSP web site. This chapter
explains how to work with Active Portal for JSP, JavaScript, and JSP files to
design custom e.reporting web sites.
■ Chapter 4. Using Actuate Active Portal components. This chapter explains how
to configure and use Active Portal for JSP portlets for the Sun ONE
Application server and IBM WebSphere, and Actuate iServer tags for BEA
WebLogic Workshop.
■ Part 2. Actuate Active Portal reference. This part describes the code
components that make up Actuate Active Portal, such as URIs, tags, user
controls, and security facilities.
■ Chapter 5. Actuate Active Portal URIs. This chapter describes the Active
Portal for JSP JSPs and Active Portal for .NET ASPXs.
■ Chapter 6. Actuate Active Portal JavaScript. This chapter describes the
Actuate Active Portal JavaScript files.
■ Chapter 7. Actuate Active Portal for JSP servlets. This chapter describes the
Active Portal for JSP Java servlets.
■ Chapter 8. Actuate Active Portal for JSP custom tags. This chapter describes
the Active Portal for JSP custom tag libraries.
■ Chapter 9. Actuate Active Portal for JSP JavaBeans. This chapter lists the
Active Portal for JSP JavaBeans.
■ Chapter 10. Actuate Active Portal for .NET user controls. This chapter
describes the available Active Portal for .NET user controls.
■ Chapter 11. Using internal Actuate Active Portal security. This chapter
introduces the Actuate Active Portal Security Extension and explains how
to use it.

Online documentation
The information in the printed manuals is also available as Adobe Acrobat
PDF files and in the online help system for Actuate products. For products
without a Windows interface, such as Actuate Active Portal, Actuate provides
HTML help files. You can view these files using a standard web browser.

xxiv C rea ting C ustom Web Appli ca ti ons using Actua te Active Por ta l
Using online manuals
The online manuals install with the product in the Manuals directory. The
items in the table of contents and the page numbers in the index both contain
links to the corresponding topics in the text. In the index, you access the link
by positioning the pointer over the page number, not the topic.

Using online help


Actuate products provide both context-sensitive online help about the product
and report-specific online help about a report you are viewing. In Actuate 8,
developers can also create customized, report-specific online help.

Using the Actuate online help system


In the Actuate online help system, two panes support accessing and viewing
information. The left pane displays the table of contents or the index. The right
pane displays the contents of an online help topic.
Choose Contents to view a list of help topics
Choose Index to view a list of keywords
Choose Search to locate any word in help files

The tabs at the top of the left pane access different views. Use these tabs to
switch views among Contents, Index, and Search.
The following illustration shows an example of the index and the result of an

Introduction xxv
index search.
Choose Index to view a list of keywords
Choose a topic to search the Index

Choose a topic from


the search results

To view a topic, choose the topic in the list. The topic appears in the right pane.

The following illustration shows the result of a search. The topics that contain
the search word appear in the left pane. Choose a topic in the left pane to

xxvi C rea ting C ustom Web Appli ca ti ons using Actua te Active Por ta l
display the topic contents in the right pane.

Using report-specific online help


During the design phase, report developers have the option to include report-
specific online help. For example, a report developer can add comments to
provide details about specific report objects or to explain calculations.

Report-specific online help

For detailed information about report-specific online help, see Chapter 3,


“Viewing an e.report,” in Using Actuate End User Desktop.

Typographical conventions
The following table describes the typographical conventions in this guide.

Item Convention Example


Code examples Sans serif Dim Text1 As String
File names Initial capital letter, Detail.roi
except where file names
are case-sensitive

Introduction xxvii
Item Convention Example
Key combination A + sign between keys Ctrl+Shift
means to press both
keys at the same time
Menu items Capitalized, no bold File
Submenu items Separated from the File➛New
main menu item with a
small arrow
User input or user Sans serif M*16*
response
User input in XML and Italics chkjava.exe
Java code cab_name.cab

Syntax conventions
The following table describes the symbols used to present syntax.

Symbol Description Example


[] Optional item [Alias<alias name>]
Array subscript matrix[ ]
<> Argument you must <expression to format>
supply
Delimiter in XML <xsd:sequence>
{} Groups two or more {While | Until}
mutually exclusive
options or arguments,
when used with a pipe
Defines array contents {0, 1, 2, 3}
Delimiter of code block public ACJDesigner( )
{
}

| Separates mutually Exit {Do | For |


exclusive options or Function | Sub}
arguments in a group
Java OR operator int length |4

xxviii C r e a t i n g C u s to m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
Part

Customizing Actuate Active Portal


Part 1
1

Par t 1 , C ustomizing Actuate Active Por tal 1


2 C re ating Custom We b Appli ca ti ons using Actua te Active Por ta l
Chapter

Introducing Actuate
Chapter1
1
Active Portal
This chapter contains the following topics:
■ About Actuate Active Portal
■ Using Actuate Active Portal sites
■ About Actuate Active Portal options
■ About Actuate Active Portal functionality levels
■ About Actuate Analytics experience levels
■ About Actuate Active Portal skins
■ Understanding Actuate Active Portal pages
■ Working with Actuate Active Portal URIs
■ Setting up Actuate Active Portal

Ch apte r 1, Introd ucing Actuate Active Por tal 3


About Actuate Active Portal
Actuate Active Portal supports accessing and working with information using
a web browser. Web developers and designers use Actuate Active Portal’s
industry-standard technology to design custom e.reporting web sites that
meet business information delivery requirements.
Actuate Active Portal technology is platform-independent, easy to customize,
and easy to upgrade. Separating user interface design from content generation
ensures that those e.reporting web site development tasks can proceed
simultaneously. Actuate Active Portal technology is also scalable and supports
clustering.
Actuate Active Portal technology includes the following features:
■ JavaServer Pages (JSPs) and Active Server Pages for .NET (ASPXs) support
creating HTML or XML pages that combine static web page templates with
dynamic content.
■ Distributing requests to multiple Actuate iServer machines in an Actuate
iServer System System cluster balances server loads.
■ Simple Object Access Protocol (SOAP) standards provide plain text
transmission of XML using HTTP.
■ Actuate Information Delivery API supports direct communication between
the pages’ custom tags and Actuate iServer.
■ Secure HTTP (HTTPS) supports secure information transfer on the web.
The following diagram illustrates Actuate Active Portal architecture.
Firewall Firewall

Web or Application server Database Server


Servlet or Page engine
Actuate Active Portal
Web Actuate iServer
IDAPI proxy System
browser
Actuate load
SOAP port
balancing

A user submits a request by choosing a link that specifies an Actuate Active


Portal URI. As shown in the preceding illustration, the web or application
server passes the URI to the servlet or page engine, which invokes Actuate
Active Portal. Actuate Active Portal interprets the URI and communicates
with the Actuate iServer using the Actuate Information Delivery API. The

4 C re ating Custom We b Appli ca ti ons using Actua te Active Por ta l


Actuate Information Delivery API manages the request and returns the results
to Actuate Active Portal and the servlet or page engine. The web server
returns the results to the web browser. Then, the web browser displays the
results for the user.
Actuate Active Portal manages requests as part of a JSP or ASPX engine within
a web or application server. There is no user interface for the engine. On a
Windows system, Actuate Active Portal installation places an Actuate Active
Portal link on the Start menu.

Understanding Actuate Active Portal load


balancing
Actuate Active Portal supports two kinds of load balancing to ensure high
availability and to distribute tasks for efficient processing:
■ Actuate Message Distribution service (MDS) balances the request load
among Actuate iServer machines in an Actuate iServer cluster.
■ Clustered Actuate Active Portal machines can use a third-party application
to balance the load among the application servers.
Application
Web Actuate iServer
server
browser System
Active Portal Encyclopedia
volume
Third-party Application Actuate
Web application server iServer
browser server load
balancer Active Portal Encyclopedia
volume

Application Actuate
Web server iServer
browser
Active Portal Encyclopedia
volume
StateServer or SqlServer

The Message Distribution service eliminates the need for a third-party


network load balancer in front of the Actuate server tier. Actuate Active Portal
determines which machines in a cluster have MDS running and detects when
the MDS machines go offline. MDS distributes the load among the available
servers and does not attempt to send a request to an offline machine.

Ch apte r 1, Introd ucing Actuate Active Por tal 5


Deploying a load-balancer for an Actuate iServer
cluster
To deploy your own load-balancer or proxy layer in front of the Actuate
iServer tier, disable the built-in load-balancing support by setting the
MDS_ENABLED configuration parameter to False in the appropriate Actuate
Active Portal configuration file. For more information about setting Active
Portal for .NET configuration parameters, see “Customizing Active Portal for
.NET configuration” in Chapter 2, “Creating a custom Active Portal for .NET
web site.” For more information about setting Active Portal for JSP
configuration parameters, see “Customizing Active Portal for JSP
configuration” in Chapter 3, “Creating a custom Active Portal for JSP web
site.”

About using a cluster of application servers


If the application servers running Active Portal support session state
management, you can configure Actuate Active Portal and the application
servers to share and maintain a web browsing session state across a cluster of
Active Portal instances. Configuring the application servers to track the state
of each Active Portal instance supports reusing authentication information. In
other words, you can log in to an Active Portal instance then send a request
using another Active Portal instance without logging in again using the
second instance.
If you do not use an application server to track session state information,
managing the session state is fast, but the you lose a users state information
when you restart Actuate Active Portal or your application server.
Sharing session state information takes advantage of the application servers'
failover features. If a user is on a cluster application server running Active
Portal and the that application server fails, another application server running
Active Portal can manage the user's session.

Managing session state across application servers


An application server works with one or more database servers to manage
session state information. All application servers must have access to the
database server to store and retrieve session state information.
For specific information about configuring your installation, see your
application server documentation.
For information about configuring session state management for an
application servers running Active Portal for JSP, see “Configuring session
state management on a J2EE application server” later in this chapter.
For information about configuring session state management for an
application servers running Active Portal for .NET, see “Configuring session

6 C re ating Custom We b Appli ca ti ons using Actua te Active Por ta l


state management for a .NET application server” later in this chapter and
“Configuring session state for .NET” in Chapter 2, “Creating a custom Active
Portal for .NET web site.”

Configuring session state management on a J2EE


application server
The following procedure describes configuring a cluster of WebSphere
application servers to use a DB2 database to share state information in a
cluster. Other application servers are similar. See your application server
documentation for specific information. To use a DB2 database with a cluster
of WebSphere servers, you must have the following configuration:
■ A running DB2 database.
■ WebSphere servers can access the DB2 database servers.
■ DB2 client is installed on the WebSphere server machines.
The following sections describe how to configure a DB2 database and a
WebSphere 4 server running on a Windows system. For each WebSphere
server in the cluster, configure WebSphere to use DB2 to maintain state.

How to configure a DB2 database to maintain state


1 Create a database on the DB2 Server. For example, the following command
creates a database named acsession:
db2 create db acsession
2 Configure the database. IBM recommends setting the heap size. The
following command sets the database’s heap size:
db2 update db cfg for acsession using applheapsz 512

How to configure the DB2 client on an application server


1 From the Start Menu of the machine running WebSphere, choose
Start➛Programs➛IBM DB2➛Client Configuration Assistant.
The DB2 Configuration Assistant appears.
2 Configure the DB2 client to use the DB2 database acsession.
For information about configuring a DB2 client to connect to a DB2
database, see the DB2 documentation, and Chapter 12, “Working with
database connections,” in Administering Actuate iServer System.

How to configure a WebSphere application server to use DB2 to


maintain state
1 Start the WebSphere Administrative Console.

Ch apte r 1, Introd ucing Actuate Active Por tal 7


2 Specify a JDBC provider.
1 In the tree view of the WebSphere Administrative Console, expand the
Resources node in the Administrative Domain tree. Navigate to
Resources\JDBC Providers\Sample DB Driver.
2 In Classpath, type the DB2 install path. For example, type the following
path if c:\sqllib is the DB2 install path:
C:\sqllib\java\db2java.zip
3 Specify the ODBC connection from the machine running WebSphere to the
DB2 database acsession:
1 From the Data Sources context menu, choose New.
Data Source Properties appears.
2 Enter the data source information for the acsession data source:
In Database Name, type:
acsession
In User, type:
db2admin
In Password, type the password for db2admin.
3 Choose OK.
4 Enable WebSphere persistent session management:
1 From the ActivePortal Server Group context menu, choose Session
Manager Service.
Session Manager Service appears.
2 Choose Persistence.
Session Manager Service—Persistence appears.
3 Enable persistent session.
4 Select a policy.
For example, select Low to optimize for database failover.
5 Choose Database.
Session Manager Service—Database appears.
6 Select the acsession data source.
5 Choose OK.
6 Restart the application server.

8 C re ating Custom We b Appli ca ti ons using Actua te Active Por ta l


Configuring session state management for a .NET
application server
Either a state server or a SQL server stores session state information. Choose
the configuration that works best for your working environment. The
following configuration example procedures are for Active Portal for
.NET.Consult your application server documentation for specific information
about configuring your installation.
The following configuration example procedures are for Active Portal for
.NET.

How to configure a .Net state server to maintain state


1 Select one machine as host for the state server by starting its state service:
1 Choose Start➛Settings➛Control Panel.
Control Panel appears.
2 On Windows 2000 systems only, double-click Administrative Tools.
Administrative Tools appears.
3 Double-click Services.
Services appears.
4 Right-click ASP .NET State Service and choose Start.
Service Control appears then disappears.
Services appears with ASP .NET State Service’s Status listed as Started.
5 Close Services.
6 Close Administrative Tools, if open.
7 Close Control Panel.
2 Using a text editor, modify web.config. A typical location is
C:\Program Files\Actuate8\ActivePortalforNET\web.config. The values
are case-sensitive.
1 Search for the string:
mode="InProc"
and replace it with:
mode="StateServer"
2 Search for the string:
stateConnectionString="tcpip=127.0.0.1:42424"
and replace it with:
stateConnectionString="tcpip=<hostname>:42424"

Ch apte r 1, Introd ucing Actuate Active Por tal 9


where <hostname> is the name of the machine you select as the host in
step 1.
3 Save and close web.config.
4 Repeat steps 2 and 3 for each machine in the cluster that runs Active Portal
for .NET.
5 Finish by following the procedure in “How to complete the state session
configuration,” later in this chapter.

How to configure a SQL server to maintain state


1 Select one machine as host and run InstallSqlState.sql on that machine:
1 Choose Start➛Programs➛Microsoft SQL Server 7.0➛Query Analyzer.
Connect to SQL Server appears.
2 Log in to SQL Server.
Query appears.
3 Open the InstallSqlState query. The following location is typical:
C:\WINNT\Microsoft.NET\Framework\v1.0.3705\InstallSqlState.sql
4 Execute the query.
Executing the query creates the ASPState database.
5 Exit Query Analyzer.
2 Using a text editor, modify web.config. A typical location is
C:\Program Files\Actuate8\ActivePortalforNET\web.config. The values
are case-sensitive.
1 Search for the string:
mode="InProc"
and replace it with:
mode="SQLServer"
2 Search for the string:
sqlConnectionString="data source=127.0.0.1;user id=sa;password="
and replace it with:
sqlConnectionString="data source=<hostname>;user id=sa;password="
where <hostname> is the name of the machine you select as the host in
step 1. The user ID and password values must be valid for the ASPState
database that contains the state information.
3 Save and close web.config.

10 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
4 Repeat steps 2 and 3 for each machine in the cluster that runs Active Portal
for .NET.
5 Finish by following the procedure in “How to complete the state session
configuration,” later in this chapter.

How to complete the state session configuration


Follow these steps after completing either “How to configure a .Net state
server to maintain state” or “How to configure a SQL server to maintain state,”
both earlier in this chapter.
1 Generate a machineKey and add it to each web.config file. This
machineKey must be the same for all Active Portal nodes. For more
information, see Microsoft Knowledge Base article 312906 at:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;312906
2 Synchronize the application path for the web site in the IIS metabase. The
application path must be identical for all web servers. For more
information, see Microsoft Knowledge Base article 325056 at:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q325056
3 Restart each web server on IIS.

Using Actuate Active Portal sites


This section describes using Actuate Active Portal sites to perform the
following tasks:
■ Logging in
■ Navigating the Actuate Active Portal web site
■ Working with channels
■ Submitting a request
■ Viewing a report
This section provides an overview of the tasks a user performs in Actuate
Active Portal. For specific information about using Actuate Active Portal, see
Working with Reports using Actuate Active Portal.

Logging in
When users navigate to an Actuate Active Portal site, a login screen appears.
Users specify their user name, password, and the system and volume they
wish to access. After authenticating the user, the Actuate iServer returns an

C h a p t e r 1 , I n t r o d u c i n g A c t u a t e A c ti ve Po r t a l 11
authentication ID. The Information Delivery API uses the authentication ID to
validate the user’s requests.
Each page maintains and uses the Actuate iServer System URI, the active
volume, and the authentication ID. The IDAPI uses the information to validate
requests submitted to Actuate iServer for the current session.
The default login screen looks like the one in the following illustration.

The screen displays a list of the volumes to which the user can connect, the
user name, default language, and default time zone. A user can select an
available volume, language, and time zone for an Actuate Active Portal
session.
Actuate Active Portal includes Active Portal Security Extension (APSE). APSE
supports customizing and controlling the user login and authentication
process. For more information about APSE, see Chapter 11, “Using internal
Actuate Active Portal security.”

12 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
The Actuate Active Portal start page appears after a user logs in. The default
start page is similar to the one in the following illustration.

Navigating the Actuate Active Portal web site


Users navigate the Actuate Active Portal web site by choosing a link on the
side menu, choosing a link on the main page, or by typing a URI directive in
the browser window. For example, a user can choose My Folder to display his
home folder. The side menu options provide shortcuts to Actuate Active Portal
web site information:
■ Documents displays the most recently visited documents folder.
■ My Jobs displays information about running, pending, and completed
requests.
■ Channels displays the channels page. The Actuate Active Portal channels
page provides links to all channels to which a user subscribes. For example,
a user’s personal channel contains all the completion notices for jobs for
which the user requested notification.

Working with channels


Actuate Active Portal channels support subscribing to and unsubscribing from
particular channels, listing the channels to which you subscribe, and viewing
the contents of those channels. By default, all users have a personal channel.
Users with administrator privileges create and manage channels using
Actuate Managment Console. Users can subscribe to channels using either the
channels page or Actuate Managment Console. Subscribed users can see a list
of available reports on the channel’s web page. When a user chooses a report
link from the list, the report appears in the web browser window.

C h a p t e r 1 , I n t r o d u c i n g A c t u a t e A c t i ve Po r t a l 13
Actuate Active Portal uses push technology to deliver reports to particular
channels. Push technology is also known as web casting, push distribution, or
publish and subscribe. When new reports become available, the appropriate
channel receives a notification message.
Channel links are similar to the ones shown in the following illustration.

Channel buttons

For more information about channels, see Chapter 17, “Administering


channels and notification groups,” in Administering Actuate iServer System. If
your Actuate iServer System uses the Report Server Security Extension, RSSE,
the channel subscription feature may not be available to you. This feature
depends upon the type of security implemented. For more information, see
Chapter ‘16, “Managing Encyclopedia volume security,” in Administering
Actuate iServer System.

Submitting a request
Users submit the following kinds of requests, synchronous and asynchronous.
Synchronous jobs do not generate notifications, which makes running a
synchronous report faster than running an asynchronous report.

Understanding synchronous requests


Users submit synchronous report requests by choosing an executable file on
the folder or file listing page. A synchronous job, also known as a simple
request or an ad hoc report, runs immediately then displays the results. A user
can view the report progressively as each page completes. There are two types
of synchronous jobs:
■ A temporary synchronous job does not store the resulting report document
in the Encyclopedia volume. Temporary is the default type.
■ A persistent synchronous report job stores the resulting report document in
the Encyclopedia volume. To make a synchronous report persistent, choose
Save As and select Save the output document in the volume. Storing the
report in the Encyclopedia volume makes a persistent synchronous request
run more slowly than a temporary synchronous request.

14 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
The synchronous request page looks like the following illustration.

Understanding asynchronous requests


A user submits an asynchronous report request, sometimes called a scheduled
job or a background job, by choosing the clock icon associated with a report
executable file on the folder or file listing page. An asynchronous job can run
immediately or a user can schedule it to run at some time in the future.
Asynchronous jobs generate notification messages and the Encyclopedia
volume always stores the resulting report document.

C h a p t e r 1 , I n t r o d u c i n g A c t u a t e A c t i ve Po r t a l 15
The asynchronous request page looks like the one shown in the following
illustration. Fields followed by an asterisk (*) are required fields.

Viewing a report
By default, a report document appears in the current browser window. On
Options—General, a user can choose to display report documents in a separate
window instead. The default Viewer window for Actuate basic reports looks
like one in the following illustration.

16 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
About Actuate Active Portal options
Actuate Active Portal provides options to configure access levels, Actuate
Active Portal appearance, and other user-specific information such as skins,
viewing and storage options, and user e-mail and password data maintenance
options. Users access Options by choosing Options on the Actuate Active
Portal banner.
Options

Options—General looks like the one in the following illustration by default.

About Actuate Active Portal functionality levels


Actuate Active Portal provides functionality levels to control which features
are available to a user. Functionality levels are mapped to Encyclopedia
volume security roles, much like privileges. Four functionality levels are

C h a p t e r 1 , I n t r o d u c i n g A c t u a t e A c t i ve Po r t a l 17
supplied with Actuate Active Portal. The following table shows the supplied
functionality levels and their corresponding security roles:

Functionality level Security role


Basic All—default access
Intermediate Active Portal Intermediate
Advanced Active Portal Advanced
Administrator Active Portal Administrator

The Actuate Active Portal Administrator can modify these levels and add
additional levels by editing the configuration file. The standard location for
the Active Portal for JSP configuration file is <context root>\Web-inf
\functionality-level.config, and is <context root>\functionality-level.config
for the Active Portal for .NET configuration file. The functionality level
description includes the name of its corresponding security role in the
Encyclopedia volume. Make sure that any roles specified in the configuration
file also exist in the Encyclopedia volume. Since all users automatically belong
to the All security role, all users will receive the functionality associated with
the Basic functionality level plus the functionality associated with any other
roles they belong to.

Understanding functionality levels


By default, the provided functionality levels give the following access. Users
with the Basic level can perform the following tasks:
■ Access Documents, My Jobs, and Channels
■ Delete their own files
Basic level users cannot perform any other modifications. The default banner
for the Basic level looks like the one in the following illustration:

Users at the Intermediate level have all the Basic level access, plus they can
perform the following tasks:
■ Search documents
■ Create their own job notifications with attachments
■ Subscribe to channels

18 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
Users at the Advanced level have all the Intermediate level access, plus they
can perform the following tasks:
■ Create and delete folders
■ Share files and folders
■ Set job priority
The default banner for the Intermediate and Advanced levels adds a Search
link and looks like the banner in the following illustration:

Users at the Administrator level can perform all Advanced level tasks and can
also clone and customize Actuate Active Portal skins.
The default banner for the Administrator level adds a Customization link and
looks like the banner in the following illustration:

Use Actuate Managment Console to associate the levels with users in the
Encyclopedia volume by assigning the appropriate roles to each user. For more
information about using Actuate Managment Console with users and roles,
see Chapter ‘16, “Managing Encyclopedia volume security,” in Administering
Actuate iServer System.

Customizing functionality levels


You customize or add functionality levels by modifying or creating a level
definition in functionality-level.config. A functionality level definition consists
of five parts:
■ Level name
The level name must be a unique alphanumeric string, enclosed within
<Name> and </Name> tags.
■ Matching Encyclopedia volume security role
The name of the Encyclopedia volume security role that corresponds to the
functionality level. You can create the security level after creating the
functionality level, but both must exist before the functionality level can be
assigned to a user. Enclose the role name with <Role> and </Role> tags.

C h a p t e r 1 , I n t r o d u c i n g A c t u a t e A c t i ve Po r t a l 19
■ Available features
There are five features, described in the following table.

Feature Description
Channels Provides access to channels
Customization Provides access to skin customization
Documents Provides access to files and folders
Jobs Allows submitting and accessing jobs
Search Provides access to the file search facility

Features are specified one per line and are enclosed within <FeatureID>
and </FeatureID> tags. When a feature is omitted from a functionality
level, the corresponding side menu or banner item is not shown to anyone
using that functionality level. For example, the Search feature is not
provided in the Basic functionality level, so the Search link does not appear
for any users with the Basic functionality level.
■ Available subfeatures
Subfeatures correspond to actions that you can perform on an Actuate
iServer through Actuate Active Portal. Each subfeature is associated with a
feature. A subfeature cannot be included in a functionality level if its
corresponding feature is not included. The subfeatures are described in the
following table.

Subfeature Feature Description


CreateFolder Documents Permits creating folders when the
user has the appropriate privileges
DeleteFile Documents Permits deleting files when the user
has the appropriate privileges
DeleteFolder Documents Permits deleting folders when the
user has the appropriate privileges
JobPriority Jobs Permits setting job priority, up to the
user's maximum job priority
SelfNotification Jobs Activates e-mail notification for
WithAttachment successful jobs
ShareFile Documents Permits sharing files when the user
has the appropriate privileges
SubscribeChannel Channels Permits subscribing to channels

20 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
Subfeatures are specified one per line and are enclosed within
<SubfeatureID> and </SubfeatureID> tags.
■ Available Actuate Analytics user experience levels
This is a list of Actuate Analytics user experience levels that are available to
users at this functionality level. Users can select their own Actuate
Analytics user experience level on the Actuate Active Portal Options page
from the levels listed here. The following experience levels are available:
■ Novice
■ Standard
■ Advanced
For more information on Actuate Analytics user experience levels, see “About
Actuate Analytics experience levels,” later in this chapter.
The following example shows a sample functionality level entry:
<Level>
<Name>ViewAndSearch</Name>
<Role>All</Role>
<FeatureID>Jobs</FeatureID>
<FeatureID>Documents</FeatureID>
<FeatureID>Search</FeatureID>
<SubfeatureID>ShareFile</SubfeatureID>
<SubfeatureID>DeleteFile</SubfeatureID>
<AnalyticsExperienceLevel>Novice</AnalyticsExperienceLevel>
<AnalyticsExperienceLevel>Standard</AnalyticsExperienceLevel>
<AnalyticsExperienceLevel>Advanced</AnalyticsExperienceLevel>
</Level>
The level is named ViewAndSearch and is available to all security roles. Users
with ViewAndSearch functionality can run jobs, access documents, and search
for files. In addition they can share and delete their own files, and set their
Actuate Analytics experience level to any of the available levels.

Customizing functionality level features


You can customize functionality level features by modifying the action they
perform and the graphic image they use. Features are defined in the
functionality-level.config file. A feature definition consists of up to five parts:
■ Feature ID
This is the feature name and must be a unique alphanumeric string,
enclosed within <ID> and </ID> tags. This value is used as the feature
name in functionality level definitions. Do not change this value, because
the IDs are used in the Actuate Active Portal code to identify the features.

C h a p t e r 1 , I n t r o d u c i n g A c t u a t e A c t i ve Po r t a l 21
■ Label key
This key is used in the Actuate Active Portal resource file <context root>
\bin\<locale>\ActivePortalResources.properties. The key provides for
proper translation in the resource file so that the hyperlink text for the
feature is displayed using the current locale. Keys are enclosed within
<Labelkey> and </Labelkey> tags. Do not change the key values or the
resource string substitution fails.
■ Link
This link is the target URI of the label key hyperlink, which is typically to
the page that corresponds to the feature. The following table shows the
targets for each feature.

Active Portal for .NET


Feature Active Portal for JSP target target
Documents \getfolderitems.do \filesfolders\index.aspx
Jobs \selectjobs.do \requests\index.aspx
Channels \selectchannels.do \channels\list.aspx
Search \searchfiles.do \search\search.aspx
Customization \customize.do \customization
\skinmanager.aspx

Links are enclosed within <Link> and </Link> tags. You can change the
link target for the feature by substituting in your own page or action name.
■ Large icon and Small icon
These are optional icons and are displayed together with the link,
depending on the skin. For example, the classic skin displays the large
icons, the treeview skin uses the small icons, and the tabbed skin doesn’t
use these icons at all. The following table shows features and their icons.

Feature SmallIcon LargeIcon


Documents \images\filesfoldersicon16x16.gif \images\filesfoldersicon.gif
Jobs \images\requestsicon16x16.gif \images\requestsicon.gif
Channels \images\channelsicon16x16.gif \images\channelsicon.gif

Large icons are 32 pixels square. Their file names are relative to the context
root and are enclosed within <LargeIcon> and </LargeIcon> tags. Small
icons are 16 pixels square. Their file names are relative to the context root
and are enclosed within <SmallIcon> and </SmallIcon> tags. Replace
these file names with the names of your own icons to customize your skin’s
appearance.

22 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
The following example shows a sample definition for the Channels feature:
<Feature>
<ID>Channels</ID>
<Labelkey>SBAR_CHANNELS</Labelkey>
<Link>/channels/list.aspx</Link>
<SmallIcon>/images/customIcon16x16.gif</SmallIcon>
<LargeIcon>/images/customIcon32x32.gif</LargeIcon>
</Feature>
In this example, custom large and small icons are specified. This gives a new
image for the channel icon for the classic and treeview skins, and any skins
cloned from them.

Preserving functionality levels and features


The functionality-levels.config file is overwritten during upgrade installations.
This is to make sure that new levels, features, and subfeatures are available to
you with your new Actuate Active Portal installation. If you have modified
your existing functionality-level.config file, it is backed up to the
<context root>\rollback directory during the upgrade. You can use the
backed-up file to access your changes and merge them into the new
functionality-level.config file. For more information about upgrade
installations, see Chapter 1, “Before you begin,” in Installing Actuate iServer
System.

About Actuate Analytics experience levels


If you have purchased the Actuate Analytics option, additional customization
features are available. The Analytics Cube Viewer uses experience levels to
disable cube viewer features based on the experience level chosen by a user.

Understanding experience levels


There are three standard experience levels:
■ Novice
■ Standard
■ Advanced
The Actuate Active Portal Administrator can edit the experience.levels
configuration file that defines the levels to modify the levels and add
additional level definitions. The standard location for the Active Portal for JSP
configuration file is <context root>\Web-inf, and is <context root> for the
Active Portal for .NET configuration file. The user is also allowed to choose

C h a p t e r 1 , I n t r o d u c i n g A c t u a t e A c t i ve Po r t a l 23
their default experience level on the Actuate Active Portal Options—General
page and Actuate Active Portal stores the choice as part of the user’s profile. If
the experience.levels file is missing, all functionality becomes available to all
users.
Every Actuate Active Portal functionality level includes a list of Analytics
Cube Viewer experience level names. The experience level names must match
the experience level configuration names in the experience.levels file. This list
controls the experience levels that are available to the user for that
functionality level. The user can choose among the experience levels available
when viewing a cube.

Customizing experience levels


As the Actuate Active Portal Administrator, you can create and modify
experience levels. You modify a level by adding or removing HIDEITEM
entries to hide or not hide a part of the Cube Viewer user interface. The entries
are described in the following tables, organized by their user interface
component. The Experience level column shows the most restricted experience
level that displays the user interface component. For example, Standard
indicates that both Standard and Advanced show the element while Novice
does not. An experience level of None means that none of the supplied levels
show that element.
Display of the Cube Viewer horizontal bars are controlled with the following
elements:

HIDEITEM tag keyword Functionality Experience level


ENTIRE_BANNER Banner Novice
ENTIRE_DIMENSIONBAR Categories bar Novice
ENTIRE_REPORTBAR Report bar None
ENTIRE_TOOLBAR Toolbar Novice
ENTIRE_TITLEBAR Title bar Novice

Cube Viewer toolbar buttons are controlled with the following elements:

HIDEITEM tag keyword Functionality Experience level


ABOUT_TB About Novice
FUNCTIONS_TB Calculate Advanced
COLLABORATE_TB Collaborate Novice
EXCEPTION_TB Exception Advanced
highlighting

24 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
HIDEITEM tag keyword Functionality Experience level
HELP_TB Help Novice
HOME_TB Home None
HORIZONTAL_ Horizontal bar chart Novice
BAR_CHART_TB
LINE_GRAPH_TB Line graph Standard
PIE_CHART_TB Pie chart Novice
PREFERENCES_TB Preferences Novice
PRINT_TB Print Novice
SAVE_AS_TB Save Novice
EXPORT_TB Save as Microsoft Advanced
Excel
EXPORTDOC_TB Save as Microsoft Advanced
Word
TABLE_VIEW_TB Table view Novice
FIT_TO_PAGE_TB Vertical or horizontal Standard
fit to page
VERTICAL_BAR_CHART_TB Vertical bar chart Novice
VIEW_TB Presentation or Standard
analysis view
VIEWS_TB Reports combo box Standard
EDIT_UNDO_REDO_TB Undo/Redo Novice

Some toolbar buttons have their own menus. The menu items are controlled
with the following elements, grouped by button:

HIDEITEM tag keyword Functionality Experience level


Save As submenu of the Save button
SAVEAS_PDF Adobe PDF (.pdf)… Novice
SAVEAS_SYLK Microsoft Excel Novice
(.xls)…
SAVEAS_RTF Microsoft Word Novice
(.doc)…
SAVEAS_CSV Text (.txt comma Novice
separated)…
SAVEAS_TSV Text (.txt tab Novice
separated)…

C h a p t e r 1 , I n t r o d u c i n g A c t u a t e A c t i ve Po r t a l 25
HIDEITEM tag keyword Functionality Experience level
SAVE_SESSION_LOCALLY Work offline… Standard
Collaborate button menu items
COLLABORATE_MENU_ITEM Collaborate… Novice
SEND_REPORT_MENU_ITEM Send report… Novice
Preference button menu items
COLUMNS_MENUITEM Columns… Novice
GENERAL_MENUITEM General… Novice
ROWS_MENUITEM Rows… Novice
Graphics submenu of Preference button
BAR_MENUITEM Bar… Novice
EXPERIENCE_LEVELS_ Experience levels… Novice
CASCADE_MENUITEM
LINE_MENUITEM Line… Novice
PIE_MENUITEM Pie… Novice
Calculate button menu items
AVERAGE Average… Advanced
DIFFERENCE Difference… Advanced
GROWTH_PERCENT %Growth… Advanced
INTERSECT Intersection (AND)… Advanced
MAX Maximum value… Advanced
MIN Minimum value… Advanced
PERFORMANCE_INDEX Performance index… None
RATIO Ratio… Advanced
RELATIVE_TIME_PERIOD Relative time periods Advanced
SUM Sum… Advanced
PERCENTAGE_OF_ % of total… Advanced
TOTAL_MENU_ITEM
UNION Union (OR)… Advanced
Reports button menu items
HOME Home Standard
ADMIN_LOG_ON Log on as view Advanced
administrator

26 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
HIDEITEM tag keyword Functionality Experience level
REPORTS_BOX Save… Novice
ADD_TITLE Save as… Standard

The menu items shown after a right-click on a table view, bar chart view, or
line chart view are controlled with the following elements:

HIDEITEM tag keyword Functionality Experience level


Right-click on table view
COLUMN_PERCENTAGES % of column total Advanced
GLOBAL_PERCENTAGES % of grand total Advanced
ROW_PERCENTAGES % of row total Advanced
DRILL_UP Collapse Novice
VIEW_SOURCE Drill through to Advanced
details
DRILL_DOWN Expand Novice
EXPORT_SOURCE_TO_ Export details to Advanced
SPREADSHEET spreadsheet
FORMAT_SCALE Format scale… Standard
GENERAL_PROPERTIES Preferences Standard
VIEW_NUMERIC_DATA Show cell value with Novice
calculation results
Right-click on a bar in the bar view
HISTOGRAM_PROPERTIES Bar chart preferences Standard
Right-click on the line chart view
LINE_PROPERTIES Line preferences Standard

The menu items shown after right-click on various axis components are
controlled with the following elements:

HIDEITEM tag keyword Functionality Experience level


Right-click on the column axis header
COLUMN_PROPERTIES Column preferences Standard
Right-click on the row axis header
ROW_PROPERTIES Row preferences Standard
Right-click on axes, submenu under sort

C h a p t e r 1 , I n t r o d u c i n g A c t u a t e A c t i ve Po r t a l 27
HIDEITEM tag keyword Functionality Experience level
CUSTOM_SORT Custom… Standard
DESCENDING Highest to lowest Novice
ASCENDING Lowest to highest Novice
TOP_10 Show highest ten Novice
BOTTOM_10 Show lowest ten Novice
Right-click on the axes
APPLY_FILTER Apply or cancel Standard
filter…
DRILL_UP Collapse Novice
Right-click on the axis header
FILTER_MENU_ITEM Filter Standard
Right-click on axis
EDIT_FUNCTION Edit calculation Standard
DRILL_DOWN_INTO Expand into Novice
DRILL_TO_LEVEL Expand to level Standard
RELATIVE_DATE_ Filter by relative time Advanced
FILTER_MENU_ITEM periods…
HIDE_SELECTED_ Hide selected or Standard
UNSELECTED unselected
subcategories
HIDE_ROWS_COLUMNS_ Hide rows and Standard
WITH_NO_DATA_IN columns with no data
HIDE_ROWS_COLUMNS_ Hide rows and Standard
WITH_ZEROS_IN columns with zeros
SHOW_ALL_CATEGORIES Cancel hiding Standard
COLUMN_TOTALS Show column totals Standard
as
ROW_TOTALS Show row totals as Standard
LABEL_STYLE_ Show labels as Standard
CASCADE_MENU_ITEM
Right-click on axis header
SEARCH_MENU_ITEM Search… Standard
PIVOT_AXES Swap rows and Novice
columns
Right-click on pie view

28 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
HIDEITEM tag keyword Functionality Experience level
LIMIT_SLICES_BY_ Limit slices by Standard
THRESHOLD threshold
LIMIT_SLICES_BY_VIEWPORT Limit slices by view Standard
port
PIE_PROPERTIES Pie preferences Standard
SHOW_ALL_SLICES Show all slices Standard
SHOW_NEXT_LARGEST_ Show next largest Standard
CATEGORY slice
Right-click on row or column totals right-click menu item
LEADING_CASCADE_ITEM Leading Novice
NONE_CASCADE_ITEM None Novice
TRAILING_CASCADE_ITEM Trailing Novice

When modifying elements in experience.levels, do not remove the following


entries:
<HIDEITEM>EDIT_TITLE</HIDEITEM>
<HIDEITEM>ADMIN_LOG_ON</HIDEITEM>
<HIDEITEM>VIEW_SOURCE</HIDEITEM>
These features are not supported in Actuate Analytics, and these elements
must appear under every <EXPERIENCE_LEVEL> element.
The NUMBER_OF_LEVELS element value must correspond to the number of
experience levels defined in the file. The DEFAULT_EXPERIENCE_LEVEL
element value specifies the experience level to default to among the experience
levels.
For more information about experience level items in the cube viewer, see
Chapter 5, “Customizing Actuate Analytics Cube Viewer,” in Working with
Cube Reports.

How to add an experience level


1 Using a text editor that can handle UTF-8 encoding, open experience.levels.
2 Find the <NUMBER_OF_LEVELS> tag and increase the number of levels
by one. There are three levels in the standard experience.levels, so set the
new value to four.
<NUMBER_OF_LEVELS>4</NUMBER_OF_LEVELS>
3 Find the last </EXPERIENCE_LEVEL> tag
1 Insert the following code after the </EXPERIENCE_LEVEL> tag and
before the </EXPERIENCE_LEVELS> tag:

C h a p t e r 1 , I n t r o d u c i n g A c t u a t e A c t i ve Po r t a l 29
<EXPERIENCE_LEVEL>
<SKIN_NAME>SampleLevel</SKIN_NAME>
<DISPLAY_NAME>
The skin name is used by Actuate Active Portal on the General—
Options page. The display name for the appropriate locale is used by
the Actuate Cube viewer.
2 If you are using Active Portal for JSP insert the following line:
<LOCALE_ID>en_US</LOCALE_ID>
3 If you are using Active Portal for .NET insert the following line:
<LOCALE_ID>en-US</LOCALE_ID>
4 Insert the following code after the <LOCALE_ID> tag line:
<NAME>Sample</NAME>
</DISPLAY_NAME>
<HIDEITEM>HOME_TB</HIDEITEM>
<HIDEITEM>EDIT_TITLE</HIDEITEM>
<HIDEITEM>ADMIN_LOG_ON</HIDEITEM>
<HIDEITEM>VIEW_SOURCE</HIDEITEM>
</EXPERIENCE_LEVEL>
4 Save and close experience.levels.
5 Using a text editor, open functionality-level.config:
6 Add the following line to the list of Analytics experience levels in every
level.
<AnalyticsExperienceLevel>Sample</AnalyticsExperienceLevel>
For example, the Basic level should look like the following code:
<Level>
<Name>Basic</Name>
<Role>All</Role>
<FeatureID>Jobs</FeatureID>
<FeatureID>Documents</FeatureID>
<FeatureID>Channels</FeatureID>
<SubfeatureID>DeleteFile</SubfeatureID>
<AnalyticsExperienceLevel>Novice</AnalyticsExperienceLevel>
<AnalyticsExperienceLevel>Standard</AnalyticsExperienceLevel>
<AnalyticsExperienceLevel>Advanced</AnalyticsExperienceLevel>
<AnalyticsExperienceLevel>Sample</AnalyticsExperienceLevel>
</Level>
7 Save and close functionality-level.config.

30 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
How to select your new experience level
1 Choose Start➛Programs➛Actuate 8➛Active Portal for JSP or
Start➛Programs➛Actuate 8➛Active Portal for .NET.
Login page appears.
2 Log in to Actuate Active Portal.
Files and folders appears.
3 Choose Options.
General appears.
4 Select the Analytics Experience Level and view the levels that appear in the
drop-down list.
The new Sample level is in the list.

About Actuate Active Portal skins


Actuate Active Portal skins support customizing the Actuate Active Portal
colors, fonts, and images in the graphical user interface (GUI). A skin consists
of images, cascading stylesheets, JavaScript, and template files that are used to
define the GUI. Actuate Active Portal is provided with three skins. Only users
with the Administrator functionality level can customize skins.

C h a p t e r 1 , I n t r o d u c i n g A c t u a t e A c t i ve Po r t a l 31
Accessing skins
Users change to different skins by choosing Options on the Actuate Active
Portal banner and selecting one of the available skins from the Skin drop-
down list.

Managing skins
Users with the Administrator functionality level manage skins for all users.
Administrators can also create web archive files for Active Portal for JSP.
These procedures are described in the following sections.

Using the Skins Manager


The Skins Manager controls skins and their settings. Administrators access the
Skins Manager by choosing Customization on the Actuate Active Portal
banner.
Customization

32 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
The default Skins Manager looks like the following illustration:

The following table describes the features of the Skins Manager.

Feature Description
Default Selects the skin used for new users by default without
affecting existing users. Selecting a default skin
automatically makes it public and disables its Public
check box.
Public Makes the skin available for all users by adding the skin
to the list on the Options page. If a public skin becomes
private, users using the skin revert to the default skin.
The default skin is always public.
Customize Displays the Skin—Customize page to allow customizing
for that skin. The skins shipped with Actuate Active
Portal cannot be customized.
Clone Creates a copy of skin and adds it to the table as private.
Delete Deletes the skin after confirmation. Skins shipped with
Actuate Active Portal and the default skin cannot be
deleted. To delete the current default skin, first choose
another skin as default.
Preview Applies the skin immediately. When the current session
times out, the skin reverts back to the user’s original skin.
The user’s current skin is shown in bold text.

Generating a web archive


Generate Web Archive is a feature of Active Portal for JSP and creates a WAR
file of your entire Active Portal for JSP system. The WAR file is streamed back
to you and you select a name and location to save the file. After you configure
your system, you can create a WAR file to deploy Active Portal for JSP on
other machines.

C h a p t e r 1 , I n t r o d u c i n g A c t u a t e A c t i ve Po r t a l 33
If Active Portal for JSP is deployed as a WAR file, you cannot customize skins,
add pages, or make any other changes that affect the Active Portal for JSP file
structure. Instead, install Active Portal for JSP as a directory structure with the
installation wizard on your product CD and make your changes to that
installation. Then use Generate Web Archive to create a new WAR file to
deploy.

Customizing and cloning skins


Actuate Active Portal ships with three standard skins. You cannot customize
the standard skins. You can customize any skin clone, or copy, you create. You
can customize the following GUI components of cloned skins:

Item Customizable components


General Skin description that appears on the Options page
Images Banner logo, My Folder icon, volume icon, open and
closed folder icons
Colors Banner, footer, side menu, tabbed dialogs, pop-up menus,
viewer, templates
Fonts Multiple font families in order of preference

Customize any of the three standard skins by cloning the skin to create a copy,
and then customizing the clone. You can clone but not customize the three
standard skins. You can also perform additional customizations at any time to
a skin you have already cloned. When cloning a skin, select the skin that is
closest to what you want your new skin to be. Skins are not portable between
Active Portal for JSP and Active Portal for .NET. To create the same skin for
both Actuate Active Portal versions, first create the skin in one version and
then duplicate the steps in the other version, using the same graphic files,
fonts, and colors.
The skins provided with Actuate Active Portal may be modified during an
upgrade, but any skin you create is preserved during upgrades. For more
information about upgrades, see Chapter 1, “Before you begin,” in Installing
Actuate iServer System.For more information about functionality, see About
Actuate Active Portal functionality levels earlier in this chapter.

34 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
How to clone a skin
Use the following procedure to create a new skin, based on an existing skin.
1 Choose Clone for an existing skin in the Skins Manager.
Clone

2 Enter a name for the new skin and choose OK.

The new skin appears in the list of available skins.

3 Do not select Public or Default until you are finished with skin
development.

How to customize a skin


The following procedure shows how to customize the skin created earlier in
How to clone a skin.
1 Choose Preview for the skin to change.

C h a p t e r 1 , I n t r o d u c i n g A c t u a t e A c t i ve Po r t a l 35
Preview

Choosing Preview and then viewing different Actuate Active Portal pages
shows the skin’s current appearance so that you can easily see what areas
need modification. This example customizes a skin cloned from the classic
skin, so its initial appearance is identical to the Actuate Active Portal classic
skin appearance.
2 Choose Customize for the skin to change.
Customize

36 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
The Skins—Customize page appears.

The Apply button only appears if you chose Preview before choosing
Customize. Use Apply to check your changes as you make them.
3 Select General if it is not already displayed.
You can edit the skin description but you cannot change the skin name
once it is created. The skin description is what appears on the Options page
to identify the skin for users. Descriptions must be unique.
4 Select Images. The Images pane appears.

Images are grouped in categories by their GUI component. Choose a


category name to see the images in that category, as shown in the
illustration above. You replace images with GIF or JPEG files that you

C h a p t e r 1 , I n t r o d u c i n g A c t u a t e A c t i ve Po r t a l 37
upload to Actuate Active Portal. The categories and the images you can
replace depend upon the type of skin. For example, you can customize
more images in a skin based on the treeview than a skin based on the
classic skin. Icon images should be consistent in size with the images they
replace. Most icons supplied with Actuate Active Portal are either 32 by 32
or 16 by 16 pixels.
5 Select Colors. The Colors pane appears.

Colors are grouped into categories according to the GUI area they affect.
The categories shown depend upon the type of skin. Choose a category
name to toggle between showing and hiding the list of colors in that
category. The following table lists ways to specify colors:

Specification Description
Color code Enter a standard HTML color name or hexadecimal
RGB value
Red Green Blue Enter individual RGB values, from 0 to 255
Pick a color... Select from a palette of available colors

6 Select Fonts. The Fonts pane appears.

38 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
7 Select General. Font Family appears.

Specify one or more font families to use. Actuate Active Portal searches for
fonts specified here. Actuate Active Portal uses the first font found on the
machine where Actuate Active Portal is deployed.
8 Select Public if you wish to make the new skin available to all users from
the Options page.
9 Select Default if you wish to make the skin the default skin for all users.
The following image shows a custom skin, Clone of classic, based on the
classic skin.

The custom skin has the following changes from the classic skin:
■ Different corporate logo
■ Times New Roman font
■ Yellow background for the banner
■ Yellow background for the side menu
■ Black text in the side menu

C h a p t e r 1 , I n t r o d u c i n g A c t u a t e A c t i ve Po r t a l 39
Understanding Actuate Active Portal pages
Actuate Active Portal generates web pages using a set of JSPs or ASPXs then
sends the web pages to the web browser. Actuate Active Portal JSPs and
ASPXs use custom tags, custom classes, and JavaScript to generate dynamic
web page content. The JavaScript, classes, and tags provide access to other
pages, JavaBeans, and Java classes. For example, application logic in Active
Portal for JSP can reside on the web server in a JavaBean.
Web browsers can request a Java Server or Active Server page with parameters
as a web resource. In Active Portal for JSP, the first time a web browser
requests a page, the page is compiled into a servlet. Servlets are Java programs
that run as part of a network service such as a web server. In Active Portal for
.NET, the page is compiled into a .NET class at its first request. Once a page is
compiled, the web server can fulfill subsequent requests quickly, provided that
the page source is unchanged since the last request.
Use the default pages, customize the pages, or create entirely new pages to
deploy your e.reporting web site. For more information about customizing
Active Portal for JSP default pages, see “Customizing an Active Portal for JSP
web site” in Chapter 3, “Creating a custom Active Portal for JSP web site.” For
more information about customizing Active Portal for .NET default pages, see
“Customizing an Active Portal for .NET web site” in Chapter 2, “Creating a
custom Active Portal for .NET web site.”

Working with Actuate Active Portal URIs


Actuate Active Portal Uniform Resource Identifiers (URIs) convey user
requests to Actuate iServer System. URIs access functionality including
running and viewing reports, accessing Encyclopedia volume files and
folders, and managing report viewing and storage options.

About Actuate Active Portal URIs


Actuate Active Portal URIs consist of the context root and port of the web
server where you install and deploy the JSPs or servlets. Actuate Active Portal
URIs have the following syntax:
http://<app server>:<port>/acweb/<path><page>.<type>?<parameter=value>
where
■ <app server> is the name of the machine running the application server or
page or servlet engine. localhost can be used as a trusted site’s machine
name if your local machine is running the server.

40 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
■ <port> is the port on which you access the application server or page or
servlet engine.
■ acweb is the default context root for accessing the Actuate Active Portal
pages.
■ <path> is the directory containing the page to invoke.
■ <page> is the name of the page.
■ <type> is either jsp for Active Portal for JSP or aspx for Active Portal for
.NET.
■ <parameter=value> specifies the parameters and values that the page
requires.
For example, to view an e.reporting document, Active Portal for JSP uses a
URI with the following format:
http://<web server>:<port>/acweb/viewer/viewframeset.jsp
?name=<folder/file>
where
■ viewer is the directory containing JSPs that provide viewer functionality.
■ viewframeset.jsp is the JSP that provides default viewing functionality.
■ name is the viewframeset.jsp parameter specifying the pathname of the file
that the user wants to view.
■ <folder/file> is the complete pathname for the file that the user requests.
To view the same e.reporting document using Active Portal for .NET, the URI
has the following format:
http://<web server>:<port>/acweb/viewer/viewframeset.aspx
?name=<folder/file>
where
■ viewer is the directory containing ASPXs that provide viewer functionality.
■ viewframeset.aspx is the ASPX that provides default viewing functionality.
■ name is the viewframeset.jsp parameter specifying the pathname of the file
that the user wants to view.
■ <folder/file> is the complete pathname for the file that the user requests.

C h a p t e r 1 , I n t r o d u c i n g A c t u a t e A c t i ve Po r t a l 41
Using a special character in a URI
Actuate Active Portal directives use encoding for characters that a browser can
misinterpret. The following example uses hexadecimal encoding in the URI to
display the report, Msbargph.roi:
http://phish:8700/acweb/viewer/viewframeset.jsp
?name=%2fmsbargph%2eroi%3b1
&serverURL=http%3a%2f%2fPHISH%3a9000&volume=PHISH
You do not have to use hexadecimal encoding in all circumstances. Use the
encoding only when the possibility of misinterpreting a character exists. The
following unencoded URI displays the same report as the preceding URI:
http://phish:8700/acweb/viewer/viewframeset.jsp
?name=\msbargph.roi;1
&serverURL=http:\\PHISH:9000&volume=PHISH
Always encode characters that have a specific meaning in a URI when you use
them in other ways. An ampersand introduces a parameter in a URI, so you
must encode an ampersand that appears in a value string. For example, use:
&company=AT%26T
instead of:
&company=AT&T
The following table describes the available character substitutions.

Character Encoded substitution


ampersand (&) %26
asterisk (*) %2a
at (@) %40
backslash (\) %5c
colon (:) %3a
comma (,) %2c
dollar sign ($) %24
double quote (") %22
equal (=) %3d
forward slash (/) %2f
greater than (>) %3e
less than (<) %3c
number sign (#) %23
percent (%) %25

42 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
Character Encoded substitution
period (.) %2e
plus (+) %2b
question mark (?) %3f
semicolon (;) %3b
space ( ) %20
underscore (_) %5f

If you customize Actuate Active Portal by writing code that creates URI
parameters, encode the entire parameter value string with the encode()
function. The encode() function is included in encoder.js, which is provided in
the Actuate Active Portal <context root>\js directory. The following example
encodes the folder name /Training/Sub Folder before executing the
getFolderItems action:
<%-- Import the StaticFuncs class. --%>
<%@ page import="com.actuate.reportcast.utils.*" %>

<%
String url = "http://localhost:8700/acweb/getfolderitems.do?folder=" +
StaticFuncs.encode("/Training/SubFolder");
response.sendRedirect(url);
%>
The encode() function converts the folder parameter value from:
/Training/Sub Folder
to:
%2fTraining%2fSub%20Folder

About UTF-8 encoding


All communication between Active Portal and the e.reporting system uses
UTF-8 encoding. UTF-8 encoding is also the default encoding supported by
web browsers. For 8-bit (single byte) characters, UTF-8 content appears the
same as ANSI content. If, however, extended characters are used (typically for
languages that require large character sets), UTF-8 encodes these characters
with 2 or more bytes.

C h a p t e r 1 , I n t r o d u c i n g A c t u a t e A c t i ve Po r t a l 43
Setting up Actuate Active Portal
To deploy a report to the web, you need:
■ An Actuate Active Portal installation.
■ For Active Portal for JSP, an application server or JSP or servlet engine such
as Actuate HTTP Service, Sun ONE, or WebLogic.
For Active Portal for .NET, Microsoft .NET Framework (run-time or
development version) and IIS.
■ An Actuate installation, including Actuate iServer System, Actuate
Managment Console, and one of either e.Report Designer, e.Report
Designer Professional, e.Report Designer Java Edition, or e.Spreadsheet
Designer.
■ Actuate iServer administrator privileges.
■ Permission to read, write, and modify operating system directories as
necessary.
For information about installing Actuate products, see the appropriate chapter
in Installing Actuate iServer System.

44 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
Chapter

Creating a custom Active


Chapter 2
2
Portal for .NET web site
This chapter contains the following topics:
■ Working with Active Portal for .NET
■ Understanding Active Portal for .NET directory structure
■ Building a custom Active Portal for .NET context root
■ Customizing an Active Portal for .NET web site
■ Modifying global styles for colors and fonts
■ Customizing accessible files and page structure using templates
■ Customizing banners and the side menu
■ Modifying graphic images
■ Locating existing pages and linking in new pages
■ Modifying existing content or creating new content
■ Modifying text and messages
■ Configuring Active Portal for .NET

C h a p t e r 2 , C r e a t i n g a c u s t o m A c ti ve Po r t a l fo r . N E T we b s i t e 45
Working with Active Portal for .NET
Active Portal for .NET uses the Microsoft ASP.NET architecture, an object-
oriented application development platform. ASP.NET is based on the
Microsoft .NET Framework that provides a run-time execution environment
and an extensive class library. The class library contains classes for working
with databases, file systems, and other data sources. It also contains classes to
work with standard programming constructs, such as loops and conditionals,
and to handle various data types, such as strings, arrays, and other data types.
Actuate Active Portal for .NET, an ASP.NET application, includes the
following files:
■ Web pages
■ User controls that provide the code for a part of a web page
■ Web.config, which contains configuration settings
■ Global.asax, which contains any global directives, global event handlers,
and global object tags
■ activeportal.dll, which contains custom types
■ ActivePortalResources.properties, which contains message strings and
custom error messages
■ localemap.xml and timezonemap.xml, which contain locale and time zone
mappings respectively
Active Portal for .NET uses ASP.NET web pages. Each page consists of two
files:
■ The ASPX file contains the presentation code for the page.
■ The ASPX.CS file contains the C# code behind the generation of the page.
Active Portal for .NET pages contain Actuate user controls. You can create a
user control to define properties and methods for a part of a web page. You can
reuse the control in multiple ASP.NET pages. Each control wraps functionality
in the Information Delivery API (IDAPI). You can create controls using
ASP.NET code in any supported language, such as C# or VB.NET. Active
Portal for .NET uses C#.
Each user control in Active Portal for .NET consists of two files:
■ The ASCX file contains the presentation code for the control.
■ The ASCX.CS file contains the C# code for the control.

46 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
Each user control has two types of attributes:
■ Target attributes determine where the control goes after execution, such as
the LoginTarget, or where the control sends the user for a particular
operation, such as the ViewTarget.
■ Customization attributes change the behavior of the control, such as
limiting the data returned. For example, the filter user control’s custom
attribute ShowExecutables specifies including or excluding report object
executable (.rox) files in the list of files.
You can add an Actuate user control to any ASP.NET page using Visual Studio
.NET. For more information about Actuate user controls, see Chapter 10,
“Actuate Active Portal for .NET user controls.”

Understanding Active Portal for .NET directory


structure
Actuate Active Portal URIs communicate user requests to the Actuate iServer.
Active Server Pages that define Actuate Active Portal URIs are grouped by
function into directories under the context root. The context root is the home
directory in which the Actuate Active Portal web site resides. The default
context root for Active Portal for .NET is <Actuate home>/ActivePortalNET.
Users access the default context root with the acweb context root name defined
in the IIS configuration.
Group Actuate Active Portal sites in the home directory of your Actuate
distribution to make them easier to locate. For more information about
defining an Actuate Active Portal context root, see “Building a custom Active
Portal for .NET context root,” later in this chapter.

C h a p t e r 2 , C r e a t i n g a c u s t o m A c ti ve Po r t a l fo r . N E T we b s i t e 47
The following illustration shows the Active Portal for .NET directory
structure.

Actuate home

ActivePortalNET

analytics errors query

bin filesfolders requests

channels help rollback

common images search

css js skins

cubeviewer logs temp

customization newrequest templates

dtd options viewer

eanalysis xml

The following table lists and describes the Active Portal for .NET directories.

Directory Contents
<context root> Pages that support login and authentication and the
directories for remaining files for the Active Portal for
.NET site
analytics Actuate Analytics support files
bin Customization and internationalization files
channels Pages that support channels
common Common elements included in all e.reporting web
pages, such as banner and side menu elements
css Actuate Active Portal cascading stylesheet (.css) files
cubeviewer Actuate Cube Viewer support files
customization Interface customization files.
dtd Document type definitions
eanalysis Actuate e.Analysis Option support files
errors Error pages

48 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
Directory Contents
filesfolders Pages that support working with files and folders
help Help files
images Images for reporting web pages such as buttons,
icons, lines, and arrows
js JavaScript files that control specific web page
elements, such as search, toolbar, and table of contents
logs Administrative and SOAP fault log files
newrequest Pages that support new requests, such as parameter
processing, scheduling, and job status pages
options Options-specific pages such as channels, notification,
and options update pages
query Pages that support working with data objects
requests Pages, such as completed requests, successful
submission, and details pages, that support requests
rollback Pages and other files saved during upgrading because
new versions were provided by the default Active
Portal for .NET installation
search Pages that support searching
skins Skin definitions
temp Working directory
templates Templates for page layout and appearance
viewer Pages that support report viewing
xml Localization files

Building a custom Active Portal for .NET context


root
The Actuate Active Portal distribution resides in the context root. You set the
Active Portal for .NET context root by creating a virtual directory in IIS for
which the local path is the Active Portal for .NET home directory. You can
create several Actuate Active Portal context roots. Each context root can
contain a web reporting site with a different design. For example, you can
create different web reporting sites for particular language groups or
departments.

C h a p t e r 2 , C r e a t i n g a c u s t o m A c ti ve Po r t a l fo r . N E T we b s i t e 49
To create a new context root for Active Portal for .NET, complete the following
general tasks in this order:
■ Make a copy of the Active Portal for .NET directory structure.
■ Give the copied Active Portal for .NET directory structure the new context
root name.
■ Use Computer Management to create a virtual directory for the new
context root by completing the following tasks in order:
■ Choose Start➛Settings➛Control Panel➛Administrative Tools➛
Computer Management.
■ In Computer Management, navigate to Services and Applications➛
Internet Information Services➛Default Web Site.
■ Right click Default Web Site and choose New➛Virtual Directory.
■ The Virtual Directory Creation Wizard guides you through adding the
virtual directory.
■ Restart IIS.
For example, you want to use Active Portal for .NET to create a custom
reporting web site for MyCorp’s Marketing Communications group. You want
the Marketing Communications users to use the following URI prefix to access
their custom site:
http://MyCorp:8700/marcom
You also want Marketing Communications personnel to access their site’s
login page by choosing a web page hyperlink with a URI such as:
http://MyCorp:8700/marcom/login.aspx
To meet these requirements, you must complete the following general tasks in
this order:
■ Create the marcom site by completing the following tasks in order:
■ Copy C:\Program Files\Actuate8\ActivePortalNET.
■ Paste it into C:\Program Files\Actuate8.
■ Rename it marcom.
You now have a directory, C:\Program Files\Actuate8\marcom, that
contains all the files and directories you need to define an Actuate Active
Portal e.reporting web site. The directory name is the context root path.
■ Add the context root, marcom, to IIS by completing the following tasks in
order:
■ From the Computer Management console, use the IIS Virtual Directory
Creation Wizard to add marcom.
■ Type marcom for the virtual directory name and C:\Program Files
\Actuate8\marcom as the location of the custom web site.

50 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
■ Select all permissions.
■ Stop and restart IIS.
Now, Marketing Communications users can access the Actuate Active Portal
e.reporting web site called marcom. The site looks like the default Actuate
Active Portal site because you did not customize its appearance. For
information about customizing the appearance of Actuate Active Portal web
sites, see “Customizing an Active Portal for .NET web site,” later in this
chapter.

Customizing an Active Portal for .NET web site


Actuate provides a set of default cascading stylesheets, ASP.NET files, and
JavaScript files with the Actuate Active Portal installation. You can customize
these files to meet your reporting web site needs. For example, you can modify
a standard form to display only certain parameters, add a background color or
graphic, or add a logo.
You can use the following standard tools to customize the default Active
Portal for .NET web site to meet your requirements for appearance and
functionality:
■ Actuate Active Portal skins
Skins provide a simple mechanism for customizing the appearance of your
Active Portal for .NET web site. For more information about skins, see
“About Actuate Active Portal skins,” in Chapter 1, “Introducing Actuate
Active Portal.”
■ ASP.NET and the Microsoft .NET Framework
Actuate Active Portal uses URIs (Uniform Resource Identifiers) to initiate
actions such as displaying a list of files. The URIs invoke ASP.NET files
such as ASPX and ASCX files. For more information about URIs, see
Chapter 5, “Actuate Active Portal URIs.”
■ Actuate Active Portal cascading stylesheet (.css) files
CSS files define fonts, colors, and other visual design attributes of an Active
Portal for .NET web site. For more information about working with CSS
files, see “Modifying global styles for colors and fonts,” later in this
chapter.
■ JavaScript
JavaScript is an interpreted object-oriented language that facilitates
embedding executable content in web pages. It provides strong tools for
interacting with web browsers. For more information about the Actuate
JavaScript files, see Chapter 6, “Actuate Active Portal JavaScript.”

C h a p t e r 2 , C r e a t i n g a c u s t o m A c ti ve Po r t a l fo r . N E T we b s i t e 51
■ User controls
You can reuse the existing user controls, modify the user controls, or create
new user controls. You can create a user control to define properties and
methods for a part of a web page. You can create controls using ASP.NET
code in any supported language, such as C# or VB.NET. Active Portal for
.NET uses C#. For more information about user controls, see Chapter 10,
“Actuate Active Portal for .NET user controls.”
The following sections explain the tasks you typically complete during
customization:
■ Viewing modifications to a custom web site
■ Modifying global styles for colors and fonts
■ Customizing accessible files and page structure using templates
■ Customizing banners and the side menu
■ Modifying graphic images
■ Locating existing pages and linking in new pages
■ Integrating Reportlets with Actuate Active Portal
■ Modifying text and messages

Viewing modifications to a custom web site


After making changes to your Active Portal for .NET web site, you can view
the changes using a web browser.
To view the changes, complete the following general tasks in this order:
■ Save any files involved in the change.
■ Refresh the browser page.
Your changes appear in the web browser.

Modifying global styles for colors and fonts


Although you can use HTML to set colors and fonts directly, most colors and
fonts are set in the ASPXs and ASCXs using global styles from cascading
stylesheets (CSS). You can modify the appearance of the entire Actuate Active
Portal web site by changing the values of global styles.
You can use style definitions for more than simply changing the appearance of
Actuate Active Portal. For example, to view search results with HKSCS
characters even though you are using an English locale, change the
.searchresultlink style’s font from Arial to MingLiU_HKSCS. This style only
affects the search results.

52 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
Modifying styles using skin customization pages
You modify the most common global styles through the skin customization
web pages. Changing the font family settings through the skin customization
web pages affects the styles listed in the Font Family element in
<context root>\skins\<skin name>\skin.config.
Changing the color settings through the skin customization affects the styles
with the matching <Display name> in <context root>\skins\<skin name>
\skin.config. Active Portal for .NET records any changes that you make
during skin customization to <Display name> in <context root>\skins
\<skin name>\skin.config.
For more information on customizing global styles through skins, see “About
Actuate Active Portal skins,” in Chapter 1, “Introducing Actuate Active
Portal.”

Linking in additional style definition files


Additional style definitions for each provided skin come from <context root>
/skins/<skin name>/css/skinstyles.css. You can add additional styles to this
file if you want the style definitions to take effect for only a particular skin.
Active Portal for .NET pages typically link these styles in the following order:
■ Style specifications from <context root>\css\allstyles.css
href="<%=Context.Request.ApplicationPath%>/css/allstyles.css"
type=text/css rel=stylesheet>
■ Style specifications from <context root>\skins\<skin name>\css
\skinstyles.css
href="<%=AcSkinManager.GetSkinFileVirtualPath(
"/css/skinstyles.css", Page)%>" type=text/css rel=stylesheet>
■ Style specifications from the customization web pages
<template:css runat="server" />
If a style is defined in more than one of these files, IIS uses the definition in the
last file linked. Thus the settings you specify in the customization web pages
override any CSS files.
allstyles.css contains additional style definitions for the Actuate Active Portal
site. Modify allstyles.css to change any style definitions not handled within the
customization web pages or the <context root>\skins\<skin name>\css
\skinstyles.css file. Changes to allstyles.css affect all Actuate Active Portal
skins unless overridden by the customization web pages or a skin’s
skinstyles.css file.

C h a p t e r 2 , C r e a t i n g a c u s t o m A c ti ve Po r t a l fo r . N E T we b s i t e 53
Specifying colors and fonts
You can specify fonts and colors for styles in the customization web pages or
in the cascading style sheets. You can specify colors using several techniques
in the customization web pages or the CSS files. You can specify the color by:
■ Choosing a color from the color palette in the customization web pages.
■ Using a color name such as blue or yellow in a skin.config file or a CSS file,
as shown in the following example:
color: Yellow;
■ Using hexadecimal notation to set the amount of red, green, and blue to use
in the color.
#FFFF00
■ Using decimal notation to set the amount of red, green, and blue to use in
the color. In the customization web pages, fill in the value for red, green
and blue in the corresponding fields. In a CSS file, use a call to the rgb()
function, as shown in the following example:
color: rgb(156, 207, 255);

How to change the font style of single item


The type of Actuate Active Portal banner displayed depends on the skin being
used. The banner used with the classic skin looks like the one in the following
illustration.

This banner is created by <context root>\skins\classic\content\banner.ascx


and contains the globally accessible links, such as Logout and About, and the
current session properties, such as Volume and User. The treeview skin uses a
banner and a footer to display the same information, as shown in the
following illustration.

54 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
The banner is created by <context root>\skins\treeview\content\banner.ascx
and contains the globally accessible links. The footer is created by
<context root>\skins\treeview\content\footer.aspx and contains the current
session properties. Similar banner and footer files exist in skins you clone.
To change Actuate Active Portal pages to display the user, system name, and
volume in 12 point italic Comic Sans MS font:
1 In a text editor, open allstyles.css.
2 Locate the following string:
bannerLabel
There are three instances of the string bannerLabel. The first is part of a
comment that describes the banner styles. The second is part of the
definition for all the banner styles. This definition sets the banner styles’
common attributes. The third instance sets the attributes for bannerLabel
only and looks like the following text:
/*
Additional styles that apply to the labels displayed in the banner.
*/
.bannerLabel
{
color: #9CCFFF;
}
3 Modify the code that follows the bannerLabel definition to change the font
as follows:
.bannerLabel
{
color: #9CCFFF;
font-family: Comic Sans MS;
font-size: 12pt;
font-style: italic;
}
4 Save and close the CSS file.
Refresh your web browser to view the changes.
The classic skin banner now appears as shown in the following illustration.

The treeview skin footer now appears as shown in the following illustration.

C h a p t e r 2 , C r e a t i n g a c u s t o m A c ti ve Po r t a l fo r . N E T we b s i t e 55
Customizing accessible files and page structure
using templates
Active Portal for .NET uses templates to simplify customization. Most web
pages in Active Portal for .NET use the template.ascx template either by
calling it explicitly or by using the basePageTemplate class and not overriding
the default template. The templates handle page organization and access to
common cascading stylesheets, JavaScript, and other files.
Active Portal for .NET templates are described in the following table.

Template Function
logintemplate.ascx Used by the login page
querytemplate.ascx Used by the Actuate Query pages
popuptemplate.ascx Used by popup and intermediate pages
template.ascx Used by all other pages

Each Actuate Active Portal skin has its own version of these templates in
<context root>\skins\<skin name>\templates. Changes to template.ascx
affect most Active Portal for .NET web pages.

Using regions in templates


Active Portal for .NET templates are divided into regions. A template may
have only some of the regions. For example, the left region is only used by the
classic skin’s template.ascx. A template differs from other templates in which
regions it uses and the content and presentation within a region. The following
table provides a description of each region and its typical type of contents.

ID Used in skins Location and typical contents


content classic, tabbed, treeview Lower left side of the page.
Typically contains the list of
files, requester page tabs or
other page-specific content.
contentheader classic, tabbed Between the top region and the
content region. Typically
contains the My Folder link and
the navigation information that
show the user’s position within
the volume and pages

56 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
ID Used in skins Location and typical contents
head classic, tabbed, treeview The overall web page. Typically
contains the opening body,
form and table tags, and
provides the background
image.
left classic The left side of the page.
Contains the side menu in the
classic skin.
title classic, tabbed, treeview The title line of the browser.
Typically contains a title that
reflects the user’s location
within the web site.
top classic, tabbed, treeview Top of the web page. Typically
contains the banner.

Changing a template
You can make changes to all pages using a template by changing only the
template. You can add or remove lines in the template that make cascading
stylesheets, JavaScript files, and other resources accessible to all pages using
the template. You can customize the overall structure of all pages using a
template by moving, resizing, or removing the HTML and ASP code
describing the layout of the web pages using the template.
For example, the body of <context root>\skins\classic\templates
\template.ascx specifies various HTML commands and tags that populate a
table. The banner is at the top. The second row contains the side menu on the
left and the navigation information and content page on the right.
<table height="100%" cellSpacing=7 cellPadding=0 width="100%"
background="<%=AcSkinManager.GetSkinFileVirtualPath(
"/images/background.gif", Page)%>" border=0>
<TBODY>
<tr>
<td colSpan="3"><template:region id="top" runat="server">
<actuate:banner id="AcTopBanner" runat="server">
</actuate:banner>
</template:region>
</td>
</tr>
<tr>
<td vAlign="top" width="10%" height="100%">
<template:region id="left" runat="server">
<actuate:sidebar id="AcSideBar" runat="server">
</actuate:sidebar>

C h a p t e r 2 , C r e a t i n g a c u s t o m A c ti ve Po r t a l fo r . N E T we b s i t e 57
</template:region>
</td>
<td vAlign="top" height="100%">
<template:region id="contentheader" runat="server">
<actuate:navigation id="AcNavigation" runat="server">
</actuate:navigation>
</template:region>
<template:region id="content" runat="server">
</template:region>
</td>
</tr>
</TBODY>
</table>
The actuate:banner, actuate:sidebar, actuate:navigation and other template
elements are specified at the top of the file:
<%@ Register TagPrefix="actuate" TagName="banner"
Src="../content/banner.ascx" %>
<%@ Register TagPrefix="actuate" TagName="sidebar"
Src="../content/sidebar.ascx" %>
<%@ Register TagPrefix="actuate" TagName="navigation"
Src="../../../common/navigation.ascx" %>
The navigation information, sometimes called a breadcrumb, is a link or set of
links. If you are using the Document pages, the navigation information
displays the volume and any folders and pages you are accessing. You can use
any of these items as a link to return to that level. If you are using Jobs or
Channels pages, the navigation information allows direct access to a
Document page.

Customizing banners and the side menu


As shown in “Customizing accessible files and page structure using
templates,” pages can specify the use of template elements such as a banner
and the side menu. You register a tag in a template to specify the use of a
template element and the file to use for the element. For example, the tabbed
skin template includes its banner with the following code:
<%@ Register TagPrefix="actuate" TagName="banner"
Src="../content/banner.ascx" %>
The classic skin creates a side menu in its template using the following code:
<%@ Register TagPrefix="actuate" TagName="sidebar"
Src="../content/sidebar.ascx" %>
Each skin provided with Active Portal for .NET uses different template
elements to create its user interface. The template elements are files in

58 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
<context root>\skins\<skin name>\content. The following table shows the
files that create the template elements of each skin and the templates that use
those elements:

Skin Element file Description


classic banner.ascx Displays the web page banner on most
pages. Used by template.ascx.
loginbanner.ascx Displays the banner on the login page.
Used by logintemplate.ascx.
querybanner.ascx Displays part of the banner on Actuate
Query pages. Used by querytemplate.ascx.
sidebar.ascx Displays the side menu. Used by
template.ascx.
simple_banner.ascx Displays part of banner for Actuate Query
pages. Used by querytemplate.ascx.
tabbed banner.ascx Displays the web page banner on most
pages, including buttons for side menu
functions. Used by template.ascx.
simple_banner.ascx Displays the web page banner for the
login page and Actuate Query pages.
Used by logintemplate.ascx and
querytemplate.ascx.
treeview banner.ascx Displays the web page banner on most
pages, without the system properties.
Used by template.ascx through
treeviewtop.aspx.
footer.asPx Displays the web page footer on most
pages, including the user, volume, and
system names. Used by template.ascx.
simple_banner.ascx Displays the web page banner for the
login page and Actuate Query pages.
Used by logintemplate.ascx and
querytemplate.ascx.

You can customize the existing ASP.NET files creating banners, such as
banner.ascx, to have your change take effect for all pages using that template.
If you want a different banner on some pages using a template, you perform
the following actions:
■ Clone a skin or use an existing skin that was not supplied by Actuate.
■ Create a copy of the existing template file.
■ Specify that specific pages use the new template.

C h a p t e r 2 , C r e a t i n g a c u s t o m A c ti ve Po r t a l fo r . N E T we b s i t e 59
■ Change the tag registration in the template to use the new banner file.
■ Copy an existing banner file to create a new banner file.
■ Customize the new banner file.
Similarly, you can change the classic skin’s side menu by changing
sidebar.ascx to have your change take effect for all pages using that template.
If you want a different side menu on some pages using a template, you
perform the following actions:
■ Clone the classic skin or use an existing skin that was cloned from the
classic skin.
■ Create a copy of the existing template file.
■ Specify that specific pages use the new template.
■ Change the tag registration in the template to use the new banner file.
■ Copy the existing side menu file to create a new side menu file.
■ Customize the new side menu file.
The default ASCX files that create a banner, footer, or side menu contain
HTML and ASP code for a table that contains images, text labels, values for
labels, and links to action paths that lead to other pages. Adjust the contents of
the table or remove them entirely as your company’s look and feel requires.

Modifying graphic images


You can replace the default Actuate Active Portal images to use your own
graphics. Active Portal for .NET pages use images for the company logo in the
banners, on the side menu, and for the background. Some pages use additional
images related to their content. You can also add new images on pages.
Certain images are most easily changed by customizing a skin. You can
customize the company logo and the My Folder icon for all skins. In addition,
you can customize the open and closed folder icons and volume icon for a skin
cloned from the treeview skin. These images are stored in
<context root>\skins\<skin name>\images. For information about quickly
changing those images, see “Customizing and cloning skins,” in Chapter 1,
“Introducing Actuate Active Portal.”
The images for the side menu icons are specified in <context root>\images.
Update these images by changing the corresponding feature definition in the
functionality-level.config file.For information about changing the icon images,
see “Customizing functionality level features,” in Chapter 1, “Introducing
Actuate Active Portal.”

60 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
Other images are referenced by hard-coded path and file names in ASP.NET
and JavaScript files, such as the icons in filesfolders\categoriesview.ascx.
When you change the location or wish to replace an image with a new file,
update the JavaScript and ASP.NET files that use them.
All images that you can customize in a skin are stored in <context root>
\skins\<skin name>\images. Update these images by using the skin
customization pages to use new graphic files instead of changing the supplied
graphic files. All other images are stored in <context root>\images.
Customizing the images described in the following table affects most Active
Portal for .NET web pages.

Skins Default image file Description


All actuate_logo.gif Specifies the company logo to use in the
banners
All homefolder.gif Specifies the image to use beside the My
Folder icon
Treeview closedfoldericon.gif Specifies the image to use to indicate a
unexpanded folder in the hierarchical
view of the volume and folders
Treeview foldericon.gif Specifies the image to use to indicate an
expanded folder in the hierarchical view
of the volume and folders
Treeview volume_icon.gif Specifies the image to use to indicate a
volume in the hierarchical view of the
volume and folders

An additional image of interest is <context root>\skins\<skin name>


\images\background.gif. This is used by the classic skin and its clones to
provide the background for every page. This image is one pixel high and 1280
pixels long, and is copied as necessary to fill the page. You change the contents
of this image file directly to modify the background of a classic skin clone.

How to replace the detail icon with your own icon


Actuate Active Portal uses a magnifying glass icon to display more
information about files, channels, and jobs. For example, <context root>
\request\joblistcontrol.ascx.cs contains the following code using this image:
JobDetailLink.ImageUrl = "../images/detailicon.gif";
1 Create your new details image in <context root>\images. The default
Actuate Active Portal icon, detailicon.gif, is 12 pixels by 13 pixels. During
development, use a new name, such as new_detailicon.gif.

C h a p t e r 2 , C r e a t i n g a c u s t o m A c ti ve Po r t a l fo r . N E T we b s i t e 61
2 Rename the existing details image, <context root>\images\detailicon.gif,
to another file name, such as detailicon_original.gif.
3 Rename your new details image to detailicon.gif.
4 Refresh your browser. The new detail icon appears in all places that
Actuate Active Portal had displayed the magnifying glass icon. In the
following illustration, the default detailicon.gif image has been replaced by
an image of a multi-colored question mark.

If you want to replace only some instances of detailicon.gif, search the files in
the context root for all files that use that image. Then replace that file name
with your image’s file name in only some of the files. For example, you could
use the default magnifying glass in most places but change <context root>
\common\navigation.ascx.cs to use your own image.
Follow similar procedures to customize other images in Actuate Active Portal
pages that are not specified in the skin customization pages or in
<context root>\functionality-level.config.

Locating existing pages and linking in new pages


To locate an existing page, navigate to that page and examine the URI in the
address field of your browser. If the URI contains a ASPX name, go to that file.
For more information about the ASPX files, see Chapter 5, “Actuate Active
Portal URIs.” Each ASPX file that uses controls has an associated ASPX.CS file.
You can examine the ASPX file to determine which user controls the page
uses.
Active Portal for .NET controls web page navigation by your construction and
invocation of URIs and through the use of index pages. For example, the
following code uses GetWizardURL() to construct a URL for a link.

62 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
SetUrlLink() adds the URL as an attribute of the AcLnkInfoObject hyperlink. If
the user chooses the link, the browser goes to that URL.
SetUrlLink( AcLnkInfoObject, GetWizardURL( currentFile ), true, false );
Many Active Portal for .NET directories contain an index.aspx file to provide
local control flow. index.aspx provides the entry point and web page structure
for the functionality a directory’s pages support. For example, when a user
logs in, login.aspx passes the login and authentication credentials to its target,
filesfolders\index.aspx, then filesfolders\index.aspx generates a user’s start
page.
Each index.aspx performs the following tasks:
■ Provides the authentication framework for the URI’s action
■ Includes any stylesheets and JavaScript files the directive requires
■ Provides a content page for which a user action, such as choosing a tab,
determines the content
For example, a user requests a list of his jobs using the following URI:
http://marcom:8080/acweb/requests/index.aspx
?serverURL=http://MARCOM:8000&volume=PHISH
requests\index.aspx is the Active Portal for .NET entry point for requesting
job status. Active Portal for .NET routes the request to the request directory’s
index.aspx file. request\index.aspx initiates the building and display of the
web page framework in which the job status page appears.
Active Portal for .NET uses index.aspx files to specify targets and subpages
that you can invoke through code or a URI. For example, the
\filesfolders\index.aspx has several targets specified, as shown in the
following code:
%@ Register TagPrefix="actuate" TagName="list" Src="list.ascx" %>
<%@ Register TagPrefix="actuate" TagName="detail" Src="detail.ascx" %>
<actuate:list id="AcFolderNavigation"
ViewingTarget="../viewer/viewFrameset.aspx"
DownloadTarget="../viewer/view3partyreport.aspx"
ContentTarget= "../viewer/getreportdata.aspx?componentID=0"
ExecuteTarget="../newrequest/index.aspx?__requesttype=immediate"
SubmitJobTarget="../newrequest/index.aspx?__requesttype=scheduled"
DetailTarget="../filesfolders/index.aspx?subpage=_detail"
FolderTarget="index.aspx?subpage=_list"
Visible="false"
EnableViewState="false"
runat="server"
/>
By default, the Active Portal for .NET application links one ASP.NET page
with an Actuate user control to another ASP.NET page with an Actuate user

C h a p t e r 2 , C r e a t i n g a c u s t o m A c ti ve Po r t a l fo r . N E T we b s i t e 63
control. For example, the LoginTarget of the login user control specifies an
ASP.NET page that contains the filelist user control. The filelist control has
four target attributes, described in the following table.

Attribute Description
DetailTarget Contains a filedetail control for displaying
details about the file
ExecuteTarget Contains an executerequest control for
executing a report
SubmitJobTarget Contains a submitjob control for submitting
a job
ViewingTarget Contains a viewing control for viewing a
report

Modifying existing content or creating new content


You can modify the content of existing pages or create new pages for linking
into your custom web site. The ASP.NET pages contain code to place page-
specific text, graphics, links, and other functionality on the page. You can use
HTML code, ASP.NET code, Actuate controls, cascading stylesheets, and
JavaScript functions to obtain data and present information on the page. For
information about providing security and authentication for new pages, see
Chapter 11, “Using internal Actuate Active Portal security.”
To create a new page, you can either create a new ASPX page or copy an
existing page and modify it. For the file providing the code behind the page,
you can use either C# in an ASPX.CS file or Visual Basic in a ASPX.VB file.
A page typically uses a template and incorporates user controls to provide the
code for parts of the page. You can specify a different template for the page.
You can add, delete, or modify the user controls incorporated by the page.
User controls typically are used by multiple pages so verify that you want the
change to affect all pages that incorporate the user control. If you want the
user control changed in only some pages, copy the user control, modify the
copy, and change the appropriate pages to incorporate the new user control
instead of the original user control.
The default Actuate Active Portal pages and user controls use HTML tables to
provide formatting for each page. The tables are often nested. Individual files
include other files that define elements, such as the <TABLE> declaration. As
you modify the pages to suit your needs, verify that the Actuate Active Portal
pages for tasks, such as logging in, listing folders and files, and viewing and
requesting reports appear correctly in your web browser.

64 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
When using relative hyperlinks in your HTML code, make sure that any files
you reference are available to Actuate Active Portal. Relative hyperlinks are
resolved from the Actuate Active Portal context root. For example, in the
standard Actuate Active Portal installation <A HREF="../images
/myimage.gif"> references an images directory above the Actuate Active
Portal context root’s images directory.

Obtaining information about the user and the


session
If you add new pages to your web site, typically you need access to
information about the user and the session. If you need the context root name,
use the HttpRuntime.AppDomainAppVirtualPath property. If you need the
absolute directory location for the context root, use the
HttpRuntime.AppDomainAppPath property. For more information about
these properties, see the Microsoft .NET Framework class library
documentation.
You can access information stored in the session by specifying the desired type
of information as shown in the following examples:
(string) Session[ "serverURL" ]
(string) Session[ "timezone" ]
(string) Session[ "locale" ]
(string) Session[ "volume" ]
(string) Session[ "userID" ]
You can obtain additional information from the session and other sources by
calling AcParams.Get(). This method can return either a string or a String. You
must pass the Page and either the Name of the desired information or a string
containing the name. The complete list of parameter types and names for
AcParams.Get() is as follows:
■ Page page
You must pass the current Page object.
■ Name name or string name
You must either specify the Name enumeration or a string containing the
text string equivalent for the enumeration.
■ From from
You can specify the desired source for the information, as described later in
this section. By default, Active Portal for .NET searches the URL, post
parameters, session, and cookie.

C h a p t e r 2 , C r e a t i n g a c u s t o m A c ti ve Po r t a l fo r . N E T we b s i t e 65
■ SetTo setTo
You can specify that Active Portal for .NET store the obtained information
into the session or cookie. You can specify the desired destination for the
information by using the same constant values used for the From object.
Typically, developers pass AcParams.From.Session in this parameter to
specify that the value be placed in the session.
■ String defaultValue
Use this parameter to specify a default value for the result if Active Portal
for .NET does not find the desired information in the specified sources.
■ HttpContext context
Use this parameter to pass in the HttpContext object containing all HTTP-
specific information about an individual HTTP request. Active Portal for
.NET uses HttpContext to pass information between pages.
You can obtain information from several places. The order Active Portal for
.NET uses to search for the information depends on whether the request
executes during a postback. If there is no postback in progress, then Active
Portal for .NET uses the following order:
■ URL parameter
■ Session
■ Cookie
If there is a postback in progress, then Active Portal for .NET uses the
following order:
■ Post parameter
■ Session
■ URL parameter
■ Cookie
You can specify the desired source of information by specifying the relevant
bitmapped constant values and even combining them with logical operators,
as shown in the following examples:
AcParams.From.Url
AcParams.From.Session
AcParams.From.Post
AcParams.From.Cookie
AcParams.From.Url | AcParams.From.Post

66 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
Use the following Name enumerations to obtain information about the user
and the session:

Name Description
authID The unique authentication ID assigned to the user upon
successful login.
homeFolder The folder designated as the user’s folder in the volume. The
user can create additional folders within this folder. If
homeFolder is defined for the user, then this is the folder
shown by the My Folder link.
locale The current user’s locale, such as U.S. English, en-US. Active
Portal for .NET locale names have the form nn-CC, where nn
is the language abbreviation and CC is the country code.
password The password associated with the userID.
serverURL Contains the URI that accesses the Actuate iServer System,
such as http://Services:8000.
systemName The name of the Actuate iServer machine.
timezone The current user’s time zone.
userID The user’s unique identifier, required to log in to the Actuate
iServer.
volume The volume to which the user is connected.

Customizing requester pages


When a user chooses to run a report, a requester page appears. Using the
requester page, a user chooses values for the report’s parameters and selects
execution options, such as the output file name and the schedule. Some reports
do not have parameters.
You can create or modify requester pages for your custom web site. The
following list provides a summary of the methods of customizing requester
pages:
■ Modify the existing requester page files.
This approach is best for minor changes, such as hiding one of the many
execution options the page supports. This is also a good approach to
modify how a user enters parameter values. For example, you can obtain a
list of current values from a database and use them to provide parameter
value choices in a menu.
■ Create a new requester page and then use these values to construct the
appropriate Actuate Active Portal URI to run the report.

C h a p t e r 2 , C r e a t i n g a c u s t o m A c ti ve Po r t a l fo r . N E T we b s i t e 67
This approach allows full control of the requester page design while using
existing functionality for the execution of the report.
■ Create a new requester page and your own code to run the report.
This approach provides full control of the requester page design and the
processing of the report. You can use the Information Delivery API to
access the Actuate iServer and the appropriate Encyclopedia volume.

Modifying the existing requester pages


Active Portal for .NET uses <context root>\newrequest\index.aspx to display
a requester page for a report. You can change the default values for the options
on the requester pages by setting the desired values in the URL calling
<context root>\Newrequest\Index.aspx.
Index.aspx uses the executereport.ascx user control. This user control and its
code behind file, executereport.ascx.cs, set up several tabs, the submit button,
and links to choose immediate or background execution of the report. Change
these files if you want to change the page layout or remove the ability to create
background jobs.
Documents—<Report name>—Run and View, the requester page for
immediate execution, displays two tabs: Parameters and Output.
Documents—<Report name>—Run in Background, the requester page for
background execution, displays three tabs: Parameters, Schedule, and Output.
Executereport.ascx uses three user controls and their code behind files to
provide the content areas for these requester page tabs:
■ <Context root>\Common\Parameters.ascx and
<Context root>\Common\Parameters.ascx.cs
These files create the Documents—<Report name>—Run and View—
Parameters content area on the immediate execution requester page and
Documents—<Report name>—Run in Background—Parameters content
area on the background execution requester page. Modify these files if you
want to change how parameters are displayed on the page or how users
provide values.
■ <Context root>\Common\Schedule.ascx and
<Context root>\Common\Schedule.ascx.cs
These files create the Documents—<Report name>—Run in Background—
Schedule content area. Modify these files if you want to remove or change
scheduling options.
■ <Context root>\Newrequest\Savefile.ascx and
<Context root>\Newrequest\Savefile.ascx.cs
These files create the Documents—<Report name>—Run and View—
Output content area on the immediate execution requester page and

68 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
Documents—<Report name>—Run in Background—Output content area
on the background execution requester page. Modify these files if you want
to remove or change output options such as location, name, e-mail
notification, and versioning.

How to set report parameter drop-down lists dynamically


You have access to the ParameterDefinition objects for the parameters in a
report. Each ParameterDefinition object contains members to get and set
various attributes for the parameter, including the following attributes:
■ Name
This attribute provides the name of the report parameter.
■ DataType
This attribute provides the data type of the report parameter.
■ DefaultValue
This attribute specifies a default value for a report parameter.
■ DisplayName
This attribute specifies the text to display to prompt the user to choose a
report parameter’s value.
■ SelectValueList
This attribute specifies a list of values to display in a drop-down list for a
parameter. A report developer can define static values this list. In Actuate
e.Report Designer Professional, the report developer chooses Drop-down
list in Parameter Properties—Advanced and specifies the values to include
in the list.
You can access this list of values by getting the SelectValueList attribute for
the report parameter. To create dynamic report parameter values, you
modify this attribute for the relevant parameter to provide the desired list
of values.
1 In parameters.ascx.cs, modify GetParameterList() to include a call to a new
private class member function. Call this function within the else clause
after the call to GetReportParameters().
GetReportParameter() creates a list of parameters in the report,
m_parameterList. This list includes a ParameterDefinition object for each
parameter.
2 Obtain a list of parameters that need dynamic report parameter drop-down
lists. You can hard-code this list or obtain the list from another source, such
as the value of a hidden parameter within the report. Use a comma-
separated string to store this list of parameters.

C h a p t e r 2 , C r e a t i n g a c u s t o m A c ti ve Po r t a l fo r . N E T we b s i t e 69
3 Create the function you called in GetParameterList().
1 Split the list of parameters that need dynamic drop-down lists into an
array of strings, each containing the name of one parameter. If this list is
empty or null, then return.
2 For each parameter in the array, call two new functions, one to obtain
the dynamic values and the other to update the SelectValueList attribute
for the parameter.
4 Create a private class member function to obtain the dynamic values for the
specified parameter.
Typically you query a database to get the list of dynamic values for the
specified parameter. You can hard-code the query for each parameter in a
given report or obtain the query from a parameter value in the report. A
report developer can pass the appropriate query as the value of the
relevant parameter or as the value of a separate hidden parameter.
5 Create a private class member function to update the parameter value list
for the specified parameter.
Loop through the parameter definitions in m_parameterList, the list of
parameters created in GetReportParameters(). For the element with the
same Name as the name of the specified parameter, set the parameter
definition element’s SelectValueList to the list of dynamic values created in
step 4 for this parameter. This list of dynamic values displays in a drop-
down list for the user on the requester page.

Creating a custom requester page and using a URI to


execute a report
You can create a custom requester page using your own design. Use
Information Delivery API (IDAPI) calls to determine the available parameters
for a report. For more information on IDAPI, see Programming with Actuate
iServer APIs.
Use your requester page to gather the desired input on parameter values and
report execution options. Then create a URL specifying the desired parameter
values and report execution option values. Use that URL to initiate report
execution with the desired values.
For immediate jobs, access <Context root>\Newrequest
\Do_executereport.aspx in the URL. For background jobs, access
<Context root>\Newrequest\Do_submitjob.aspx in the URL. The following
URL runs the Forecast.rox report immediately and saves the result in the
Training folder as SalesForecast.roi:
http://localhost/acweb/newrequest/do_executereport.aspx
?__executableName=/Training/Forecast.rox&__saveOutput=true
&__OutputName=SalesForecast.roi

70 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
The following URL runs the SalesDetail.rox report in the background to create
an output document called SalesDetails.roi. The URL specifies that the version
name for this report is End of Year Summary 2004.
http://localhost/acweb/newrequest/do_submitjob.aspx
?__executableName=/Training/SalesDetail.rox
&__outputName=/Training/MySalesDetails.roi
&__versionName=End of Year Summary 2004

Create a new custom requester page and your own code


to run the report
You can create a custom requester page for your needs and then run the report
in the same page or in a subsequent page. With this approach, you have full
control of all aspects of the process. Use the Information Delivery API (IDAPI)
to obtain any information you need from the Actuate iServer and the
Encyclopedia volume. You can also run the report using IDAPI. For more
information on IDAPI, see Programming with Actuate iServer APIs..

Integrating Reportlets with Actuate Active Portal


Actuate Active Portal uses a complete web page or frame then subdivides it
into other frames, or Reportlets. The frames comprise the viewer framework.
Developers use Reportlets to integrate specific sections of e.reports in web
pages.

About Reportlets
Reportlets support the following functionality:
■ Displaying a section of a report within an existing web page framework
■ Suppressing generation of <HTML> and <HEAD> tags to support
dynamically streaming Reportlet contents in an existing ASPX page
■ Suppressing page breaks within Reportlet content
■ Providing page-level security
Design Reportlets when you design the report in e.Report Designer or
e.Report Designer Professional. Invoke Reportlets from Active Portal for .NET
using the ASPX pages getReportData or viewPage, or with the getreportdata
user control.

Displaying Reportlets in an HTML page with Active Portal


for .NET
To embed a Reportlet into an HTML page, you either use a URI that contains
the getreportdata URI or place the getreportdata user control on your page.

C h a p t e r 2 , C r e a t i n g a c u s t o m A c ti ve Po r t a l fo r . N E T we b s i t e 71
For example, the following URI retrieves the Massachusetts report section of
the SubReport report in the Portal folder on the server called Seamore:
http://seamore:8700/acweb/viewer/GetReportData.aspx
?name=/Portal/Detail.roi
&format=Reportlet
&componentName=SalesDetail::SalesDetailReport
For more information about the getreportdata URI, see get report data page in
Chapter 5, “Actuate Active Portal URIs.”
The following example uses the getreportdata user control to retrieve the
SalesDetailReport component as a Reportlet. The Reportlet is shown at full
size and comes from a report whose connection handle was returned
previously by the Actuate iServer.
<actuate:getreportdata
ConnectionHandle="m7whmBpUho+tg5MUYUgZxq1GrbtKHL"
ScalingFactor="100" ComponentName="SalesDetail::SalesDetailReport"
Format="Reportlet" RunAt="server"/>
For more information about the getreportdata user control, see getreportdata
in Chapter 10, “Actuate Active Portal for .NET user controls.”

Modifying text and messages


Actuate Active Portal passes Actuate iServer messages to the user and also
provides Actuate Active Portal text and messages. You can customize both
Actuate iServer and Actuate Active Portal messages and text. If you are
considering changing the text and messages to translate your Actuate Active
Portal web site to another language, contact Actuate Corporation. Actuate has
created the Actuate Active Portal software and resource files in multiple
languages.

Customizing Actuate iServer error messages


Actuate Active Portal uses SOAP messages to communicate with the Actuate
iServer. You can customize the message text of an Actuate iServer error
message before Actuate Active Portal displays it to the user. For example, you
can change the message text to instruct your user to perform a specific task
after a specific type of error. You can also customize the message to name a
person to contact after another type of error. To customize a message, you edit
ErrorMessages.properties, following the procedures described later in this
section.
Active Portal for .NET inserts additional text using variables. When changing
message text, maintain the original variables in your new message, if possible.
For the best results, follow the format of the original message exactly to

72 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
maintain the number and order of the variables. Variables appear in message
text in the form {n} where n is a whole number, beginning with 0.
For example, if a file named abc.roi is missing, Active Portal for .NET displays
the following error message and variable:
File {0} was not found.
in the following form:
File abc.roi was not found.

How to customize Actuate iServer error messages


This procedure requires that you have the .NET SDK installed. A typical
location for the files in the following procedure is C:\Program Files
\Actuate8\ActivePortalNET\bin\en-US. A list of Active Portal for .NET text
messages and numbers is in ActivePortalNET\bin\ErrorMessages.txt.
Use the location of your Active Portal for .NET installation rather than the
location used in this example, and replace en-US with your locale code.
1 Make a backup copy of actuate_i18n.resources.dll:
1 In a command window, set your current directory to your Active Portal
for .NET installation:
cd "C:\Program Files\Actuate8\ActivePortalNET\bin\en-US"
2 Back up your resources file:
copy actuate_i18n.resources.dll actuate_i18n.resourcesOrig.dll
2 In a text editor that supports UTF-8 character encoding, edit
ErrorMessages.properties to add your custom error messages in the
following format:
<Errorcode>=This is an example of a message with no variables.
<Errorcode>=This is an example of a message with a variable {0}.
<Errorcode>=This message has three variables {0}, {1} and {2}.
where <Errorcode> is the Actuate error number or constant for the
message being customized.
3 Save the file as ErrorMessages.txt.
4 Compile ErrorMessages.txt into a resource file:
resgen ErrorMessages.txt actuate_i18n.ErrorMessages.en-US.resources
5 Create an Active Portal for .NET resource file:
copy ActivePortalResources.properties ActivePortalResources.txt
resgen ActivePortalResources.txt
actuate_i18n.ActivePortal.en-US.resources

C h a p t e r 2 , C r e a t i n g a c u s t o m A c ti ve Po r t a l fo r . N E T we b s i t e 73
6 Compile the resource file into a DLL:
al /embed:actuate_i18n.ErrorMessages.en-US.resources
/embed:actuate_i18n.ActivePortal.en-US.resources
/out:actuate_i18n.resources.dll /c:en-US
7 Place the DLL into the Active Portal for .NET bin\en-US directory.

Customizing Actuate Active Portal text and


messages
Actuate Active Portal uses text and messages to communicate with the user.
You can customize the text of a label to prompt your user with the phrasing
that your application needs. You also can customize the message text of
Actuate Active Portal error message before Actuate Active Portal displays it to
the user. For example, you can change the message text to instruct your user to
perform a specific task after a specific type of error. You can also customize the
message to name a person to contact after another type of error.
To customize a message, you edit ActivePortalResources.properties, following
the procedures described later in this section. You can verify the function of a
particular line of text by searching for the relevant message key in the ASPX
pages and examining the related code.
Active Portal for .NET inserts additional text using variables. When
customizing ActivePortalResource.properties, keep the original variables in
your text or message, if possible. Variables appear in text and messages in the
form {n} where n is a whole number, beginning with 0.
For example, if user mlee tries to subscribe to a channel but has no available
channels other than the user’s personal channel, Actuate Active Portal
displays the MSGT_NO_CHANNELS message and its variable:
There are no channels available for subscription by {0}.
in the following form:
There are no channels available for subscription by tlee.

How to customize Active Portal for .NET text and messages


This procedure requires that you have the .NET SDK installed. A typical
location for ActivePortalResources.properties is C:\Program Files
\Actuate8\ActivePortalNET\bin\en-US.
Use the location of your Active Portal for .NET installation rather than the
location used in this example, and replace en-US with your locale code.
1 Make a backup copy of ActivePortalResources.properties:

74 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
1 In a command window, set your current directory to your Active Portal
for .NET installation:
cd "C:\Program Files\Actuate8\ActivePortalNET\bin\en-US"
2 Back up your resources file:
copy ActivePortalResources.properties
ActivePortalResourcesOrig.properties
2 In a text editor that supports UTF-8 character encoding, edit
ActivePortalResources.properties to modify the text and messages in the
following format:
<Message key>=This is an example of text or a message with no variables.
<Message key>=This is an example of text or a message with a variable {0}.
<Message key>=This text or message has three variables {0}, {1} and {2}.
where <Message key> is the Actuate key for the text or message being
customized.
3 Save the file as ActivePortalResources.properties.
4 Copy the file as ActivePortal.en-US.txt.
copy ActivePortalResources.properties ActivePortal.en-US.txt
5 Create an Active Portal resource file:
resgen ActivePortal.en-US.txt
actuate_i18n.ActivePortal.en-US.resources
6 Copy ErrorMessages.properties to ErrorMessages.txt.
7 Compile ErrorMessages.txt into a resource file:
resgen ErrorMessages.txt actuate_i18n.ErrorMessages.en-US.resources
8 Compile the resource file into a DLL:
al /embed:actuate_i18n.ErrorMessages.en-US.resources
/embed:actuate_i18n.ActivePortal.en-US.resources
/out:actuate_i18n.resources.dll /c:en-US
9 Place the DLL into the Active Portal for .NET bin\en-US directory.

Configuring Active Portal for .NET


You set configuration parameters for Active Portal for .NET to tune
performance and to control Actuate services and application execution. For
example, you can perform the following tasks using configuration parameters:
■ Setting the default locale
■ Controlling Message Distribution service load balancing
■ Specifying the default Encyclopedia server and volume

C h a p t e r 2 , C r e a t i n g a c u s t o m A c ti ve Po r t a l fo r . N E T we b s i t e 75
Customizing Active Portal for .NET configuration
Most configuration parameters are the same for both Active Portal for .NET
and Active Portal for JSP, but others are specific to a single version of Actuate
Active Portal. The configuration file for Active Portal for .NET is
<context root>\Web.config. The following section describes the customization
procedure.

How to customize Active Portal for .NET configuration parameters


Use the following procedure to customize configuration parameters for Active
Portal for .NET. A typical location for the configuration file is
C:\Program Files\Actuate8\ActivePortalNET\Web.config.
1 Make a backup copy of Web.config.
2 Using a text editor that supports UTF-8 encoding, edit the parameter
values in Web.config. Parameter definitions use the following format:
<add key = <keyword>
value = <value>/>
where
■ <keyword> is the name of the parameter.
■ <value> is the parameter value.
You must enclose the keyword and value in quotes with no spaces. For
example, the definition for the default locale parameter is:
<add key = "DEFAULT_LOCALE"
value = "en-US"/>
3 Save Web.config.
Active Portal for .NET reloads Web.config when the file changes.

Understanding Actuate Active Portal


configuration parameters
The following table describes the configuration parameters for Active Portal
for .NET. At a minimum, examine the values of the DEFAULT_LOCALE,

76 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
DEFAULT_TIMEZONE, SERVER_DEFAULT, and DEFAULT_VOLUME
configuration parameters and change them to reflect your environment.

Parameter name Description


ANALYTICS_BASE_ The experience level for the Actuate Analytics Cube Viewer if
EXPLEVEL_NAME no experience level is assigned in the user’s functionality level.
The default is Novice. For more information about Actuate
Analytics experience levels, see “About Actuate Analytics
experience levels” in Chapter 1, “Introducing Actuate Active
Portal.”For more information about Actuate Active Portal
functionality levels, see “About Actuate Active Portal
functionality levels” in Chapter 1, “Introducing Actuate Active
Portal.”
ANALYTICS_CUBE_ Enables the drill to detail functionality in the Actuate Analytics
VIEW_RECORDS Cube Viewer. Overrides the setting in the cube design. True to
enable, False to disable. False is the default.
ANALYTICS_CUBE_ Height of the Actuate Analytics Cube Viewer application. The
VIEWER_HEIGHT default is 100%.
ANALYTICS_CUBE_ Width of the Actuate Analytics Cube Viewer application. The
VIEWER_WIDTH default is 100%.
ANALYTICS_ENABLE_ True to enable a one-time Actuate Analytics Cube Viewer
ONETIME_DOWNLOAD download, False otherwise. This parameter only applies to the
Microsoft Internet Explorer browser. The default is True.
ANALYTICS_ENABLE_ True to enable or False to disable saving views to the Actuate
SAVE_VIEW iServer in the Actuate Analytics Cube Viewer. The default is
True.

C h a p t e r 2 , C r e a t i n g a c u s t o m A c ti ve Po r t a l fo r . N E T we b s i t e 77
Parameter name Description
CACHE_CONTROL Specifies how a web browser caches information using one of
the following values:
■ NO-CACHE indicates that the browser does not cache
information and forwards all requests to the server. With
NO-CACHE, the back and forward buttons in a browser do
not always produce expected results, because choosing
these buttons always reloads the page from the server.
■ NO-STORE indicates that information is cached but not
archived.
■ PRIVATE indicates that the information is for a single user
and that only a private cache can cache this information. A
proxy server does not cache a page with this setting.
■ PUBLIC indicates that information may be cached, even if it
would normally be non-cacheable or cacheable only within
an unshared cache.
■ Unset (no value) is the default value. The browser uses its
own default setting when there is no CACHE_CONTROL
value.
Caching information reduces the number of server requests
that the browser must make and the frequency of expired page
messages. Caching increases security risks because of the
availability of information in the cache. For additional
information about cache control, see the HTTP/1.1
specifications.
CONNECTION_TIMEOUT Controls how many seconds Actuate Active Portal waits for a
request to complete before dropping the connection to Actuate
iServer. Set this value to limit wait times. The default value is 0,
meaning the connection is never dropped.
COOKIE_DOMAIN Specifies the host name of the server setting the cookie. The
cookie is only sent to hosts in the specified domain. The value
must be the same domain the client accesses. Actuate Active
Portal automatically sets this parameter. For example, if the
client accesses the URI http://www.actuate.com/acweb
/login.aspx, the domain is actuate.com.
DATE_TIME_FORMAT Controls the format of date and time strings for Active Portal
for .NET. The default value is g, but the value adjusts to the
user’s current locale. For a description of the date and time
format strings, see your .NET Framework documentation.
DEFAULT_LOCALE Specifies the default locale. Actuate Active Portal sets this
parameter value during installation. The locale map is
<context root>\xml\localemap.xml.

78 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
Parameter name Description
DEFAULT_TIMEZONE Specifies the default time zone Actuate Active Portal sets this
parameter value during installation. The time zone map is
<context root>\xml\timezonemap.xml.
DEFAULT_VOLUME Specifies which server manages the Encyclopedia volume.
Actuate Active Portal sets this parameter’s default value
during installation.
ENABLE_DEBUG_ Indicates whether to record debugging messages in a log file
LOGGING called AcDebug.log. Set the value to True to enable debug
messages in the log file. The default value is False.
ENABLE_ERROR_ Indicates whether to log errors. This parameter’s default value
LOGGING is True, which enables error logging. If you set this parameter
to True, Active Portal for .NET creates two error log files:
■ AcError.log records general errors.
■ AcSoapFault.log records Actuate iServer communication
errors.
ENABLE_ Indicates whether Active Portal for .NET precompiles pages for
PRECOMPILATION faster execution and viewing. The default value is True, which
enables precompilation.
ERROR_DISPLAY_ Indicates whether Active Portal for .NET is running in
DEVELOPMENT_MODE development or production mode. Set the parameter value to
True to display the .NET Framework stack trace and SOAP
parameters. Set the value to False, the default value, for
production deployment.
ERROR_LOG_FILE_ Specifies the time period to wait before starting a new log file.
ROLLOVER Options are Daily, Monthly, Weekly, and Yearly. The default
value is Monthly.
EXECUTE_REPORT_ Specifies the time to wait for a report to execute. This
WAIT_TIME parameter’s default value is 20 seconds. For more information
about the wait time parameter, see “execute report page” and
“execute page” in Chapter 5, “Actuate Active Portal URIs.”
FILES_DEFAULT_VIEW Specifies the default view for the files and folders list using one
of the following values:
■ Categories, the default, displays files organized in rows by
type
■ Detail displays files organized in rows by name
■ List displays files organized in columns with small icons
■ Icon displays files organized in columns with large icons

C h a p t e r 2 , C r e a t i n g a c u s t o m A c ti ve Po r t a l fo r . N E T we b s i t e 79
Parameter name Description
LOG_FILE_ Indicates which directory contains the log files. If the value is
LOCATION not an absolute directory path name, Active Portal for .NET
locates the directory in the Actuate Active Portal home
directory. The default value is logs in the Actuate Active Portal
home directory.
MAX_BACKUP_ Specifies the maximum number of backup error log files to
ERROR_LOGS keep. Its default value is 10.
MAX_CONNECTIONS_ Indicates the maximum number of Actuate Active Portal
PER_SERVER connections to Actuate iServer. Actuate pools connections to
increase efficiency. Choose a number of connections that
satisfies the most requests concurrently without requiring an
unreasonable amount of memory. Begin with a value equal to
the number of threads available in your application server. The
value for this parameter must be greater than 0. The default
value is 150.
MAX_LIST_SIZE Limits the number of items returned when getting folder items,
jobs, job notices, scheduled jobs, and channels to reduce
network traffic. The default value is 150.
MDS_ENABLED Indicates whether to enable the Message Distribution service.
The default value is True, which enables the Message
Distribution service. For more information about the Message
Distribution service, see “Understanding Actuate Active Portal
load balancing” in Chapter 1, “Introducing Actuate Active
Portal.”
MDS_REFRESH_ Indicates, in seconds, how quickly Actuate Active Portal
FREQUENCY_SECONDS detects an offline or new node in a cluster. If MDS_ENABLED
is True, Actuate Active Portal refreshes the list of available
nodes from Actuate iServer at the time interval specified. Its
default value is 300 seconds.
PROGRESSIVE_ Controls the interval in seconds at which an Actuate report
REFRESH refreshes itself when running a progressive report. The report
refresh time starts after the navigation bar loads. The report
refreshes first after 15 seconds, then after 60 seconds, and then
after the PROGRESSIVE_REFRESH interval. If the value is less
than 60, Actuate Active Portal uses 60 seconds. This
parameter’s default value is 1800 seconds.
SEARCH_ENABLE_ Indicates whether to include column headings in report search
COLUMN_HEADERS results when the output format is CSV or TSV. Set this
parameter to True, the default value, to include column
headings.

80 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
Parameter name Description
SEARCH_USE_ Indicates whether to enclose search results in quotes when the
QUOTE_DELIMITER output format is CSV or TSV. The default value is True, which
encloses the results in quotes.
SECURITY_MANAGER_ Specifies the fully qualified name of the custom security
CLASS manager class used to implement the Active Portal Security
Extension (APSE). The default value is no name. For
information about APSE, see “Customizing authentication” in
Chapter 11, “Using internal Actuate Active Portal security.”
SERVER_DEFAULT Specifies the default Actuate iServer to which to connect when
a user logs in. The parameter value must be a complete URI,
such as the default value, http://localhost:8000.
TEMP_FOLDER_ Specifies the directory the Actuate iServer uses to temporarily
LOCATION store files from an Encyclopedia volume if viewing the file
requires a location on the web server. If the value is not an
absolute directory path name, Actuate Active Portal locates the
directory in the Actuate Active Portal home directory. The
default value is temp in the Actuate Active Portal home
directory. The Actuate Active Portal user must have write
permission for the directory for log data to be written.

For more information about how to set parameters, see “Customizing Active
Portal for .NET configuration,” earlier in this chapter.

Configuring session state for .NET


You can configure Active Portal for .NET to store the session state in several
ways. You can choose to store session state information in the process itself, in
a database, or on a machine designated as the state server. You can also choose
not to cache the session state.
A tag in <context root>\Web.config sets the state configuration. The default
configuration stores the session information in the process itself:
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;user id=sa;password="
cookieless="false"
timeout="20"
/>

C h a p t e r 2 , C r e a t i n g a c u s t o m A c ti ve Po r t a l fo r . N E T we b s i t e 81
The following table describes the sessionState attributes.

Parameter Description
mode Specifies what type of session caching to
use. Mode values are case sensitive. Valid
modes are:
■ Off indicates that no session caching
occurs.
■ InProc indicates in-process session
cache. This is the default setting.
■ StateServer indicates that the
aspnet_state service handles session
caching, either on the local machine or
another machine accessible by TCP/IP.
■ SQLServer indicates that an MS-SQL
database instance handles session
caching.
stateConnectionString Specifies how to connect to the aspnet_state
service that is responsible for storing
session variables. Using this service is
slower than an in-process session cache and
is a single point of failure. You can use this
option in a server farm.
sqlConnectionString Specifies how to connect to the state
database. This is the slowest and most
reliable method. You can use this option
with database replication.
cookieless Indicates whether the user’s browser stored
the session ID as a cookie. With the default
value, False, the user’s web browser stores
the session ID as a cookie. If True, the URI
includes the encoded session ID. An
example URI is:
http://localhost/
(lit3py55t21z5v55vlm25s55)
/acweb/filesfolders/index.aspx
timeout Indicates the amount of time in minutes for
which a session object is valid. After the
specified time period, Actuate Active Portal
removes the object from cache. The default
value is 20 minutes.

82 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
For an example of how to configure session state storage, see “Managing
session state across application servers” in Chapter 1, “Introducing Actuate
Active Portal.”
Web.config also has sections about compilation for debugging, errors for
custom error messages, authentication for authentication policies,
globalization for encoding, and page for page handling. For information about
these capabilities, see your .NET Framework documentation.

C h a p t e r 2 , C r e a t i n g a c u s t o m A c ti ve Po r t a l fo r . N E T we b s i t e 83
84 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
Chapter

Creating a custom Active


Chapter 3
3
Portal for JSP web site
This chapter contains the following topics:
■ Working with Active Portal for JSP
■ Understanding Active Portal for JSP directory structure
■ Building a custom Active Portal for JSP context root
■ Customizing an Active Portal for JSP web site
■ Modifying global styles for colors and fonts
■ Customizing accessible files and page structure using templates
■ Customizing banners and the side menu
■ Modifying graphic images
■ Locating existing pages and linking in new pages
■ Modifying existing content or creating new content
■ Modifying text and messages
■ Configuring Active Portal for JSP

C h a p t e r 3 , C r e a ti n g a c u s t o m A c ti ve Po r t a l fo r J S P we b s i t e 85
Working with Active Portal for JSP
Active Portal for JSP uses the Model-View-Controller (MVC) architecture. The
MVC components perform the following functions:
■ Model contains the logic for sending requests to and processing responses
from Actuate iServer. This is the data model for Active Portal for JSP.
■ View contains the pages that display data prepared by actions. This is the
presentation portion of Active Portal for JSP.
■ Controller contains the servlets that implement actions. This is the program
control logic for Active Portal for JSP.
Active Portal for JSP generates web pages using a set of default JSPs then
sends the web pages to a web browser. Actuate Active Portal JSPs use
cascading stylesheets, JavaScript, and custom tags to generate dynamic web
page content. The JavaScript and tags provide access to other JSPs, JavaBeans,
and Java classes. For example, application logic can reside on the web server in
a JavaBean.
Web browsers can request an action path. An action path is a uniform resource
identifier (URI) called by Active Portal for JSP or directly by a user to access
Active Portal for JSP functionality. Action paths control the flow of the
application. A typical action path specifies the JSP to use to gather input and
uses the results of the input to determine the next action path to perform or the
next JSP to display. For example, after execution of an input JSP, an action path
can forward the user to one action path or JSP if the execution succeeds and a
different action path or JSP if the execution causes an error. The action paths
are specified in web-inf\struts-config.xml.
Typically, an action path leads to a JSP with parameters as a web resource.
Actuate Active Portal JSP and directory names are case sensitive. The first time
you use a JSP, your web server compiles it into a servlet. Servlets are Java
programs that run as part of a network service such as a web server. After
compiling a JSP into a servlet, the web server can fulfill subsequent requests
quickly, provided that the JSP source does not change between requests.
Users make requests to view the contents of Encyclopedia volume folders, run
and view reports, and so on. Each JSP processes any URL parameters. A JSP
can pass a URL parameter to a JSP tag, including an Actuate custom tag or
your own custom tag. For more information on Actuate custom tags, see
Chapter 8, “Actuate Active Portal for JSP custom tags.”
You specify the user’s Actuate iServer System, Encyclopedia volume, locale,
and time zone to which to connect using parameter values in an Actuate
Active Portal request within a URL or by specifying the desired values in the
login form. For example, the following URL specifies that the en_US locale for

86 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
U.S. English, Pacific standard time for the timezone parameter, and the
marketing Encyclopedia volume:
http://localhost:8700/acweb/login.do
?locale=en_US&timezone=PST&volume=marketing

Understanding Active Portal for JSP directory


structure
Actuate Active Portal URIs convey user requests to Actuate iServer.
JavaServer Pages (JSPs) that implement Actuate Active Portal URIs are
grouped by function into directories under the context root. The context root is
the home directory in which the Actuate Active Portal web site resides. The
default Active Portal for JSP context root on Windows systems is <Actuate
home>\ActivePortalJSP and on UNIX and Linux systems is <Actuate home>/
ActivePortal. The default Active Portal for JSP context root name in the web or
application server’s configuration file is acweb.
Actuate recommends that you group Actuate Active Portal sites in the home
directory of an Actuate distribution to make them easier to locate. For more
information about defining Active Portal for JSP context roots, see “Building a
custom Active Portal for JSP context root,” later in this chapter.
You can place the context root in whatever location your site requires. To
ensure that the JSP engine locates your Active Portal for JSP site’s context root,
add its location to your JSP engine’s configuration file as a context root path.
For example, the Actuate HTTP Service’s server.xml entry for acweb is similar
to the following one:
<Context path ="/acweb"
docBase="C:\Program Files\Actuate8\ActivePortalJSP" debug="0"/>

C h a p t e r 3 , C r e a ti n g a c u s t o m A c ti ve Po r t a l fo r J S P we b s i t e 87
The following illustration shows the Active Portal for JSP directory structure.

Actuate home

ActivePortalJSP

analytics js channels

channels logs common

common newrequest cubeviewer

css options customization

downloads portlets diagnosis

dtd private filesfolders

eanalysis requests jobs

errors temp newrequest

filesfolders viewer options

help WEB-INF parameters

images query

rollback

skins

templates

Pages that support report viewing reside in the Viewer directory, pages that
serve as templates for other pages reside in the Templates directory, and so on.
Some directory names exist directly under the context root and also under the
private subdirectory. Customize the JSPs under the private subdirectory. The
directory of the same name directly under the context root exists only for
backwards compatibility.

88 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
The following table lists and describes the general Active Portal for JSP
directories.

Directory Contents
<context root> Pages that support login and authentication and
directories for the remaining pages for the Active
Portal for JSP site.
analytics Actuate Analytics support files.
channels Pages that support channels.
common Common elements included in all e.reporting web
pages, such as banner and side menu elements.
css Actuate Active Portal cascading stylesheet (.css) files.
downloads Downloaded files.
dtd Document type definitions.
eanalysis Actuate e.Analysis Option support files.
errors Error pages.
filesfolders Pages that support working with files and folders.
help Help files.
images Images for reporting web pages, such as buttons,
icons, lines, and arrows.
jobs Pages that support requests, such as completed
requests, successful submission, and details pages.
js JavaScript files that control specific web page
elements such as search, toolbar, and table of contents.
logs Administrative and SOAP fault log files.
newrequest Pages that support new requests, such as parameter
processing, scheduling, and job status pages.
options Options-specific pages, such as channels, notification,
and options update pages.
portlets Actuate portlets for the IBM WebSphere application
server, if you installed the portlets.
private Most Active Portal for JSP web pages. Users cannot
directly access pages in this directory using URLs.
query Pages that support Actuate Query functionality.

C h a p t e r 3 , C r e a ti n g a c u s t o m A c ti ve Po r t a l fo r J S P we b s i t e 89
Directory Contents
requests Pages that support requests such as completed
requests, successful submission, and details pages by
redirecting. Pages in this directory provide backward
compatibility for custom web sites referencing these
pages by URL. Use the action paths and the
private\jobs directory for new customization projects.
rollback Pages and other files saved during upgrading because
they had been modified from the default Active Portal
for JSP installation.
temp Working directory.
templates Jakarta Struts template pages that simplify
customization by handling common web page
structure and functionality for many pages.
viewer Pages that support report viewing.
WEB-INF Files that manage session information such as current
user login, roles, and volume.

Building a custom Active Portal for JSP context root


The Actuate Active Portal distribution resides in the context root. You specify
the Active Portal for JSP context root in the JSP engine’s configuration file. For
example, you specify the context root for the Actuate HTTP Service in
<Actuate HTTP Service home>\Conf\Server.xml, where <Actuate HTTP
Service home> is the directory containing your Actuate HTTP Service
installation, such as:
■ On a Windows system:
C:\Program Files\Common Files\Actuate\8.0\Actuate HTTP Service
\Conf\Server.xml
■ On a UNIX or Linux system:
$HOME/actuate_http_service/conf/server.xml
You can apply a similar process to other application servers and servlet
engines. For more information, consult your application server
documentation.
You can create several Actuate Active Portal context roots. Each context root
can contain a web reporting site that uses a different design. For example, you
can create different web reporting sites for particular language groups or
departments.

90 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
The following example is the definition for the default Actuate Active Portal
context root, acweb, from a Windows system’s Actuate HTTP Service
Server.xml file:
<!-- === 2-6-2003:13:35:46 AcInstall Config Begin === -->
<Context path="/acweb" docBase="C:\Program Files\Actuate8\
ActivePortalJSP" debug="0"/>
<!-- === 2-6-2003:13:35:46 AcInstall Config End ===== -->

How to create a new context root


In the following example, you create a custom reporting web site for MyCorp’s
Marketing Communications group. You want your Marketing
Communications users to use the following URI prefix to access their custom
site:
http://MyCorp:8700/marcom
For example, to access their site’s login page they would choose a web page
hyperlink with the following URI:
http://MyCorp:8700/marcom/login.do
1 Make a copy of the Active Portal for JSP directory structure and give the
copy a name related to the context root name.
Copy the directory C:\Program Files\Actuate8\ActivePortalJSP, paste it
into C:\Program Files\Actuate8 and rename it marcom. You now have a
directory C:\Program Files\Actuate8\marcom that contains all the files
and directories needed to define an Actuate Active Portal reporting web
site.
2 Add your definition to the JSP engine’s configuration file.
For example, with the Actuate HTTP Service application server, you add
the context root, marcom, to the service’s Conf\Server.xml file as follows:
<!-- === 2-25-2003:10:35:46 AcInstall Config Begin === -->
<Context path="/marcom" docBase="C:\Program Files\Actuate8\Marcom"
debug="0"/>
<!-- === 2-25-2003:10:35:46 AcInstall Config End ===== -->
3 Restart your application server or JSP engine.
After you stop and restart the Actuate HTTP Service, your Marketing
Communications users can access the Actuate Active Portal e.reporting web
site called marcom. The site looks like the default Actuate Active Portal site
because you have not customized its appearance. For information about
customizing the appearance of Actuate Active Portal web sites, see
“Customizing an Active Portal for JSP web site,” later in this chapter.

C h a p t e r 3 , C r e a ti n g a c u s t o m A c ti ve Po r t a l fo r J S P we b s i t e 91
Customizing an Active Portal for JSP web site
You can perform most typical customization tasks using the Actuate Active
Portal customization web pages. These pages support changing typically
customized images, colors, and fonts in Actuate Active Portal web pages. For
more information on using the customization web pages, see “About Actuate
Active Portal skins,” in Chapter 1, “Introducing Actuate Active Portal.”
You also can customize aspects of Active Portal for JSP that are not supported
by the customization web pages. You do this by customizing the Active Portal
for JSP files manually. Actuate recommends that you use the customization
web pages to customize as much as possible and then handle any remaining
customization tasks manually.
You use knowledge of the following standard languages and frameworks to
customize an Active Portal for JSP web site manually:
■ Cascading stylesheet (.css) files
CSS files define fonts, colors, and other visual design attributes of an Active
Portal for JSP web site. For more information about working with CSS files,
see “Modifying global styles for colors and fonts,” later in this chapter.
■ Hypertext markup language (HTML)
HTML handles links and the presentation of text and graphics in web
pages. Active Portal for JSP incorporates HTML code in its JavaServer
pages.
■ Jakarta Struts framework
Jakarta Struts Framework is an open source framework for building web
applications. Based on standard technologies, Struts enables the Active
Portal for JSP Model-View-Controller design. For more information about
Struts, access the following URL:
http://jakarta.apache.org/struts
■ Java
Active Portal for JSP uses Java classes to provide functionality. You can
create your own Java classes for your custom web site. For more
information on the Active Portal for JSP Java classes, see Chapter 9,
“Actuate Active Portal for JSP JavaBeans.”
■ JavaScript
JavaScript is an interpreted object-oriented language that facilitates
embedding executable content in web pages. It provides strong tools for
interacting with web browsers. For more information about the Actuate
JavaScript files, see Chapter 6, “Actuate Active Portal JavaScript.”

92 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
■ JavaServer Pages
The JavaServer Pages (JSP) extension of the Java Servlet API facilitates the
separation of page design from business logic. JSPs are a platform-
independent solution. Active Portal for JSP web pages are defined
primarily by JSPs. For more information about the Actuate JavaServer
Pages, see Chapter 5, “Actuate Active Portal URIs.”
The following sections explain the tasks you typically complete during
customization:
■ Viewing modifications to a custom web site
■ Modifying global styles for colors and fonts
■ Customizing accessible files and page structure using templates
■ Customizing banners and the side menu
■ Modifying graphic images
■ Locating existing pages and linking in new pages
■ Modifying existing content or creating new content
■ Configuring Active Portal for JSP

Viewing modifications to a custom web site


After making changes to your Active Portal for JSP web site, you need to view
the changes. Caching in the browser or your application server can interfere
with seeing the changes you made.
After changing an Actuate Active Portal site, complete these general tasks in
order:
■ Save any files involved in the change.
■ Refresh the browser page.
■ If you do not see changes you made in a JSP or XML file, complete the
following tasks in order:
■ Shut down the JSP engine.
■ Clear the JSP engine’s cache or work directory to ensure that the JSP
engine picks up your changes. For example, to force the Actuate HTTP
Service to use the changed files, delete all files from C:\Program Files
\Common Files\Actuate\8.0\Actuate HTTP Service\Work, and clear
the web browser’s cache.
■ Restart the JSP engine.
■ If you don’t see changes you made in a cascading stylesheet file or a
JavaScript file, clear the web browser’s cache, then refresh the page.
Your changes appear in the web browser.

C h a p t e r 3 , C r e a ti n g a c u s t o m A c ti ve Po r t a l fo r J S P we b s i t e 93
Modifying global styles for colors and fonts
Although JSPs can use HTML to set colors and fonts directly, most color and
fonts in the JSPs use global styles defined in cascading stylesheets (CSS). You
can modify the appearance of the entire Active Portal for JSP web site by
changing the values of global styles.
You can use style definitions for more than simply changing the appearance of
Actuate Active Portal. For example, to view search results with HKSCS
characters even though you use an English locale, change the .searchresultlink
style’s font from Arial to MingLiU_HKSCS. This style change only affects the
search results.

Modifying styles using skin customization pages


You modify the most common global styles through the skin customization
web pages. Changing the font family settings through the skin customization
web pages affects the styles listed in the Font Family element in
<context root>\private\skins\<skin name>\skin.config.
Changing the color settings through the skin customization affects the styles
with the matching <Display name> in <context root>\private\skins
\<skinname>\skin.config. Actuate Active Portal records any changes that you
make during skin customization to <Display name> in <context root>
\private\skins\<skin name>\skin.config. For more information on
customizing global styles through skins, see “About Actuate Active Portal
skins,” in Chapter 1, “Introducing Actuate Active Portal.”

Linking in additional style definition files


Additional style definitions for each provided skin come from <context root>
/private/skins/<skin name>/css/skinstyles.css. You can add additional
styles to this file if you want the style definitions to take effect for only a
particular skin.
Active Portal for JSP’s JSP typically link these styles in the following order:
■ <context root>\css\allstyles.css
<LINK href="<html:rewrite page="/css/allstyles.css"/>" type="text/css"
rel="stylesheet">
■ <context root>\private\skins\<skin name>\css\skinstyles.css
<LINK href="<ap:skinResource resource="/css/skinstyles.css" />"
type="text/css" rel="stylesheet" >
■ Style specifications from the customization web pages
<STYLE>

94 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
<bean:write name="userinfobean" property="skinConfig.cssCode" />
</STYLE>
If a style is defined in more than one of these files, the JSP engine uses the
definition in the last file linked. Thus the settings you specify in the
customization web pages override any CSS files. For more information on
UserInfoBean and other Active Portal for JSP JavaBeans, see Chapter 9,
“Actuate Active Portal for JSP JavaBeans.”
allstyles.css contains additional style definitions for the Actuate Active Portal
site. Modify allstyles.css to change any style definitions not handled within the
customization web pages or the <context root>\private\skins\<skinname>
\css\skinstyles.css file. Changes to allstyles.css affect all Active Portal skins
unless overridden by the customization web pages or a skin’s skinstyles.css
file.
If you have users using Netscape Navigator 4 browsers, also make the
appropriate changes to styles in allstylesns4.css. This file specifies the styles in
allstyles.css with values compatible with Netscape Navigator 4 browsers.
Microsoft Internet Explorer and later versions of Netscape Navigator can use
the allstyles.css definitions.

How to test and modify styles depending on the browser type


1 Near the top of your JSP, determine whether the browser is Netscape
Navigator 4 and, if so, link in the allstylesns4.css style sheet:
<logic:equal name="userinfobean" property="userAgent.NS4" value="true">
<LINK href="<html:rewrite page="/css/allstylesns4.css"/>" type="text/css"
rel="stylesheet">
</logic:equal>
This code uses the Jakarta Struts custom Logic:equal tag.
2 In a separate logic:equal tag, link in the allstyles.css style sheet for all other
browsers:
<logic:equal name="userinfobean" property="userAgent.NS4" value="false">
<LINK href="<html:rewrite page="/css/allstyles.css"/>" type="text/css"
rel="stylesheet">
</logic:equal>
3 After these lines, link in the style sheet located in the current skin’s css
directory:
<LINK href="<ap:skinResource resource="/css/skinstyles.css" />"
type="text/css" rel="stylesheet" >
4 Use the Jakarta Struts bean:write custom tag to generate and include the
style definitions for all styles defined through skin customization pages in
Actuate Active Portal:

C h a p t e r 3 , C r e a ti n g a c u s t o m A c ti ve Po r t a l fo r J S P we b s i t e 95
<STYLE>
<bean:write name="userinfobean" property="skinConfig.cssCode" />
</STYLE>
5 If the skin customization styles contain any settings that do not work in
Netscape Navigator 4, you can override them individually:
<style>
<logic:equal name="userinfobean" property="userAgent.NS4" value="true">
BODY { background-color: #31699C;
border-style: solid;
border-width: 0px 0px 0px;
border-color: black;
}
</logic:equal>
</style>

Specifying colors and fonts


You can specify fonts and colors for styles in the customization web pages or
in the cascading style sheets. You can specify colors using several techniques
in the customization web pages or the CSS files. You can specify the color:
■ Using a color name such as navy, yellow, or teal, as shown in the following
example:
color: Yellow;
■ Using hexadecimal notation to set the amount of red, green, and blue to use
in the color.
#FFFF00
■ Using decimal notation to set the amount of red, green, and blue to use in
the color. In the customization web pages, fill in the value for red, green
and blue in the corresponding fields. In a CSS file, use a call to the rgb()
function, as shown in the following example:
color: rgb(156, 207, 255);

How to change the font style of a single item


The type of Actuate Active Portal banner displayed depends on the skin being
used. The banner used with the classic skin looks like the one in the following
illustration.

96 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
This banner is created by <context root>\private\common\banner.jsp and
contains the globally accessible links, such as Logout and About, and the
current session properties, such as Volume and User.
The treeview skin uses a banner and a footer to display the same information,
as shown in the following illustration.

The banner is created by <context root>\skins\treeview\common\banner.jsp


and contains the globally accessible links. The footer is created by
<context root>\skins\treeview\common\footer.jsp and contains the current
session properties.
To change Actuate Active Portal pages to display the user, system name, and
volume in 12 point italic Comic Sans MS font:
1 In a text editor, open allstyles.css.
2 Locate the following string:
bannerLabel
There are three instances of the string bannerLabel. The first is part of a
comment that describes the banner styles. The second is part of the
definition for all the banner styles. This definition sets the banner styles’
common attributes. The third instance sets the attributes for bannerLabel
only and looks like the following text:
/*
Additional styles that apply to the labels displayed in the banner.
*/
.bannerLabel
{
color: #9CCFFF;
}
3 Modify the code that follows the bannerLabel definition to change the font
as follows:
.bannerLabel
{
color: #9CCFFF;
font-family: Comic Sans MS;

C h a p t e r 3 , C r e a ti n g a c u s t o m A c ti ve Po r t a l fo r J S P we b s i t e 97
font-size: 12pt;
font-style: italic;
}
4 Save and close the CSS file.
5 Refresh your web browser to view the changes.
The classic skin banner now appears as shown in the following illustration.

The treeview skin footer now appears as shown in the following illustration.

For more information about using cascading style sheets, access the following
URL:
http://www.w3.org/Style/CSS/

Customizing accessible files and page structure


using templates
Active Portal for JSP uses Jakarta Struts templates to simplify JSP code and
customization. Actuate Active Portal templates handle overall page
organization, access to Jakarta Struts custom tag libraries, and access to
common CSS and JavaScript files. Active Portal for JSP templates are
described in the following table.

Template Function
querytemplate.jsp Used by most Actuate Query pages
lsimpletemplate.jsp Used for errors, confirmations, and other simple
pages
template.jsp Used by all other pages except the login page

The login page does not use a template.


Each Actuate Active Portal skin has its own version of these templates in
<context root>\private\skins\<skin name>\templates The set of templates in
<context root>\templates set up several JavaBeans and then access the
template of the same name for the user’s selected skin.

98 C r e a t i n g C u s t o m We b A p p l i c a t i o n s u s i n g A c tu a t e A c t i ve Po r t a l
Typically, customization only involves templates in <context root>\private\
skins\<skin name>\templates.

Specifying a template and template elements


To use a template, a page uses the following Jakarta Struts custom template
tags:

Template tag Function


template:insert Specifies the template to use
template:put Specifies the text or file to use for a template element
such as the name, banner, side menu, or content
elements

For example, the template:insert tag in the following code specifies the use of
template.jsp. The first template:put tag accesses the localized string for the title
of the page. The remaining template:put tags specify that the template use
banner, side menu, and content elements using the files specified in each tag:
<template:insert template="/private/templates/template.jsp">
<template:put name="title" direct="true">
<bean:message key="<%=whichTitle%>" arg0="<%=pageTitle%>" />
</template:put>
<template:put name="banner" content="/private/common/banner.jsp" />
<template:put name="sidebar" content="/private/common/sidebar.jsp" />
<template:put name="content" content="/private/newrequest/
newrequestpage.jsp" />
</template:insert>
The tabbed and treeview skins use the content element, ignore the sidebar
element, and use the corresponding banner for that skin instead of the
specified banner element.

C h a p t e r 3 , C r e a ti n g a c u s t o m A c ti ve Po r t a l fo r J S P we b s i t e 99
The following tables show what JSPs are affected by template changes. The
following table lists the Active Portal for JSP templates and the pages that use
them.

Template JSPs
template.jsp private\channels\channellist.jsp
private\channels\channelnoticelist.jsp
private\channels
\channeloperationstatus.jsp
private\channels\channelsubscribe.jsp
private\customization\skinedit.jsp
private\customization\skinmanager.jsp
private\filesfolders\deletefilestatus.jsp
private\filesfolders\createfolder.jsp
private\filesfolders\filedetail.jsp
private\filesfolders\filefolderlist.jsp
private\filesfolders\privilege.jsp
private\filesfolders\search
\filefolderlist.jsp
private\jobs\getjobdetails.jsp
private\jobs\joboperationstatus.jsp
private\jobs\selectjobs.jsp
private\newrequest\newrequest.jsp
private\newrequest\submitjobstatus.jsp
private\options\options.jsp
simpletemplate.jsp private\common\errors\errorpage.jsp
private\customization\fileupload.jsp
private\newrequest\newrequest2.jsp
private\query\confirmation.jsp
private\query\fileexists.jsp
private\query\runconfirmation.jsp
querytemplate.jsp private\query\create.jsp
private\query\execute.jsp

Changing a template
You can make changes to all pages that use a particular template by changing
only the template. You can add or remove lines in the template that make
cascading stylesheets, JavaScript files, and other resources accessible to all
pages using the template. You can customize the overall structure of all pages
using a template by moving, resizing, or removing the HTML, JSP, and Jakarta
Struts code describing the layout of the web pages that use the template.
For example, the table in the body of <context root>\private\skins\classic
\templates\template.jsp specifies various HTML commands and embedded

100 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Jakarta Struts tags that populate a table. The banner is at the top. The second
row contains the side menu on the left and the navigation information and
content page on the right.
<TABLE height="100%" cellSpacing="7" cellPadding="0" width="100%"
border="0">

<TR>
<TD colSpan="2">
<template:get name="banner" flush="true"/>
</TD>
</TR>
<TR>
<TD vAlign="top" width="10%" height="100%">
<template:get name="sidebar" flush="true"/>
</TD>
<TD class="content" vAlign="top" height="100%">
<jsp:include page="/private/common/breadcrumb.jsp" flush="true"/>
<template:get name="content" flush="true"/>
</TD>
</TR>

</TABLE>
The breadcrumb, or navigation trail, is a link or set of links. On a Document
page, the breadcrumb displays the volume and any folders and pages you
access. You can use any of these items as a link to return to that level. For a Jobs
or Channels page, the breadcrumb supports direct access to a Document page.

Customizing banners and the side menu


As shown in “Customizing accessible files and page structure using
templates,” earlier in this chapter, pages can specify the use of template
elements such as a banner and the side menu.
The default JSPs that create a banner or side menu contain JSP code to create a
table containing images, text labels, values for labels, and links to action paths
that lead to other pages. The default banners and side menu contain graphic
elements, including several images, to provide rounded corners. Adjust the
contents of the table, change them, or remove them entirely as your company’s
look and feel requires.
When developing a page, you use a Jakarta Struts template:put tag to specify
the use of a template element and the file to use for the element.

C hap ter 3 , C re atin g a cus tom Ac tive Por ta l fo r J S P w eb s ite 101


For example, to create a banner for a page using the code in <context root>\
private
\common\banner.jsp, use the following code:
<template:put name="banner" content="/private/common/banner.jsp" />
To create a side menu for a page using the code in <context root>\private
\common\sidebar.jsp, use the following code:
<template:put name="sidebar" content="/private/common/sidebar.jsp" />
For skins that use a side menu, you can change the side menu by either
changing <context root>\private\common\sidebar.jsp or by making a copy
of the file, customizing the new file, and changing the template:put Jakarta
Struts tags for their sidebar template element of the pages that use the new file.
The following table describes the files that create banners in Active Portal for
JSP’s classic skin. These files are located in <context root>\private:.

File Description
\common\banner.jsp or Banner for most reporting
\skins\<skin name>\common\banner.jsp web pages
login_banner.jsp or Banner for the login page
\skins\<skin name>\common\login_banner.jsp
\query\banner.jsp or Banner for all Actuate
\skins\<skin name>\query\banner.jsp Query web pages

If a JSP specifies the use of \common\banner.jsp in a template:put Jakarta


Struts tag, then the banner in <context root>\private\common\banner.jsp is
used unless a skin’s template specifies the use of a different version of that
banner. The tabbed and treeview skins each have their own version of that file
in their <context root>\private\skins\<skin name>\common directory.
Similarly, the tabbed and treeview skins have their own version of the login
banner and query banner. If there is no version of the login page cached by the
browser or the application server, the login page displays the default skin.
If you change a banner, your change affects that skin for all pages that specify
that file in a template:put Jakarta Struts tag.
To use a different banner on some pages, you can create a copy of an existing
banner file, customize the new file, and change the template:put Jakarta Struts
tags for their banner template element of the pages that use the new file. Be
sure to create the corresponding new banners for the other templates and
change the code in the appropriate template in each skin to use them.

102 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
The following table lists the files that use each type of banner. These files are
located in <context root>\private.

Banner JSPs
\common\banner.jsp or \channels\channellist.jsp
\skins\<skin name>\common \channels\channelnoticelist.jsp
\banner.jsp \channels\channeloperationstatus.jsp
\channels\channelsubscribe.jsp
\filesfolders\createfolder.jsp
\filesfolders\deletefilestatus.jsp
\filesfolders\filedetail.jsp
\filesfolders\filefolderlist.jsp
\filesfolders\privilege.jsp
\filesfolders\search\filefolderlist.jsp
\jobs\getjobdetails.jsp
\jobs\joboperationstatus.jsp
\jobs\selectjobs.jsp
\newrequest\newrequest.jsp
\newrequest\newrequest2.jsp
\newrequest\submitjobstatus.jsp
\options\options.jsp
login_banner.jsp or \login.jsp
\skins\<skin name>\common
\login_banner.jsp
\query\banner.jsp or \query\create.jsp
\skins\<skin name>\query \query\execute.jsp
\banner.jsp

C hap ter 3 , C re atin g a cus tom Ac tive Por ta l fo r J S P w eb s ite 103


The following table lists the Active Portal for JSP pages that use the side menu.

Side menu JSPs


\common\sidebar.jsp \channels\channellist.jsp
\channels\channelnoticelist.jsp
\channels\channeloperationstatus.jsp
\channels\channelsubscribe.jsp
\filesfolders\createfolder.jsp
\filesfolders\deletefilestatus.jsp
\filesfolders\filedetail.jsp
\filesfolders\filefolderlist.jsp
\filesfolders\privilege.jsp
\filesfolders\search\filefolderlist.jsp
\jobs\getjobdetails.jsp
\jobs\joboperationstatus.jsp
\jobs\selectjobs.jsp
\newrequest\newrequest.jsp
\newrequest\submitjobstatus.jsp
\options\options.jsp

Modifying graphic images


You can replace the default Actuate Active Portal images to use your own
graphics. Active Portal for JSP pages use images for the company logo in the
banners, on the side menu, and for the background. Some pages use additional
images related to their content. You can also add new images on pages.
Certain images are most easily changed by customizing a skin. You can
customize the company logo and the My Folder icon for all skins. In addition,
you can customize the open and closed folder icons and volume icon for a skin
cloned from the treeview skin. These images are stored in
<context root>\skins\<skin name>\images. For information about changing
those images, see “Customizing and cloning skins,” in Chapter 1, “Introducing
Actuate Active Portal.”
All images that you can customize in a skin are stored in <context root>
\skins\<skin name>\images. Update these images by using the skin
customization pages to use new graphic files instead of changing the supplied
graphic files.

104 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Customizing the images described in the following table affects most Active
Portal for JSP web pages.

Skins Default image file Description


All actuate_logo.gif Specifies the company logo to use in the
banners
All homefolder.gif Specifies the image to use beside the My
Folder icon
Treeview closedfoldericon.gif Specifies the image to use to indicate a
unexpanded folder in the hierarchical
view of the volume and folders
Treeview foldericon.gif Specifies the image to use to indicate an
expanded folder in the hierarchical view
of the volume and folders
Treeview volume_icon.gif Specifies the image to use to indicate a
volume in the hierarchical view of the
volume and folders

An additional image of interest is <context root>\skins\<skin name>


\images\background.gif. This is used by the classic skin and its clones to
provide the background for every page. This image is one pixel high and 1280
pixels long, and is copied as necessary to fill the page. You change the contents
of this image file directly to modify the background of a classic skin clone.
All other images are stored in <context root>\images. This includes the
images for the features on the side menu in the classic skin and the tree in the
treeview skin. Update these feature images by changing the corresponding
feature definition in the functionality-level.config file.For information about
changing these icons, see “Customizing functionality level features,” in
Chapter 1, “Introducing Actuate Active Portal.”
Other images are referenced by hard-coded path and file names in JSP and
JavaScript files, such as the icons in private\filesfolders\views\categories.jsp.
For example, categories.jsp specifies the location and filename,
<context root>\images\detailicon.gif, a magnifying glass icon used to obtain
more details about a document or other item in a list. When you change the
location or replace an image with a new file, you must update the JavaScript
and JSP files that use them. Alternatively, make a backup copy of the original
image and then reuse the original name for your new image. By reusing the
original name, you do not need to make any changes in the JSP and JavaScript
files using the image.

C hap ter 3 , C re atin g a cus tom Ac tive Por ta l fo r J S P w eb s ite 105


How to replace the detail icon with your own icon
Actuate Active Portal uses a magnifying glass icon to display more
information about files, channels, and jobs. For example, <context root>
\jobs\completedjob.jsp contains the following code using this image:
<img src="<html:rewrite page="/images/detailicon.gif"/>" border="0"
align="middle" alt="<bean:message key="TTIP_JOB_DETAIL"/>"
title="<bean:message key="TTIP_JOB_DETAIL"/>" >
1 Create your new details image in <context root>\images. The default
Actuate Active Portal icon, detailicon.gif, is 12 pixels by 13 pixels. During
development, use a new name, such as new_detailicon.gif.
2 Rename the existing details image, <context root>\images\detailicon.gif,
to another file name, such as detailicon_original.gif.
3 Rename your new details image to detailicon.gif.
4 Refresh your browser. The new detail icon appears in all places that
Actuate Active Portal had displayed the magnifying glass icon. In the
following illustration, the default detailicon.gif image has been replaced by
an image of a multi-colored question mark.

If you want to replace only some instances of detailicon.gif, search the files in
the context root for all files that use that image. Then replace that file name
with your image’s file name in only some of the files. For example, you could
use the default magnifying glass in most places but change <context root>
\private\common\breadcrumb.jsp to use your own image.
Follow similar procedures to customize other images in Actuate Active Portal
pages that are not specified in the skin customization pages or in
<context root>\functionality-level.config.

106 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Locating existing pages and linking in new pages
Active Portal for JSP controls web page navigation with Jakarta Struts action
paths. An action path is a uniform resource identifier (URI) called directly by
Active Portal for JSP or by a user to access the Active Portal for JSP
functionality. <context root>\WEB-INF\struts-config.xml contains the action
path specifications.
An action path can specify a JSP to use to gather input and uses the results of
an Action class to determine the next action path to perform or the next JSP to
display. Typically, an action path forwards the user to one action path or JSP if
the execution succeeds and a different action path or JSP if the execution
causes an error. In the following code sample, if the AcGetFolderItemsAction
JavaBean returns success, the next JSP to display is <context root>\private
\filesfolders\filefolderlist.jsp:
<!-- Process getfolderitems -->
<action
attribute="fileListActionForm"
name="fileListActionForm"
path="/getfolderitems"
scope="request"
type="com.actuate.activeportal.actions.AcGetFolderItemsAction"
validate="false">
<forward name="success" path="/private/filesfolders/filefolderlist.jsp" />
</action>
In the preceding example, the path for an error result uses the definition in the
global forwards section of struts-config.xml as a default value:
<forward name="error" path="/private/common/errors/errorpage.jsp"/>
If the JavaBean returns another result, such as viewroi, you can include a
forward for that result, as shown in the following example:
<forward name="viewroi" path="/viewer/viewframeset.jsp" redirect="true" />
To locate an existing page, navigate to that page and examine the URI in the
address field of your browser. If the URI contains a JSP name, go to that file. If
the URI contains an action path, search struts-config.xml for that action path
without the .do extension, or look up the action path in Chapter 5, “Actuate
Active Portal URIs.”
To add a new web page to Active Portal for JSP, you change the navigation in
struts-config.xml so that all navigation for your web site remains in a single
location. You can change an existing input page or forward page specification
in an action path to your new page, or you can create a new action path that
forwards to your page. If you create a new action path, you can change
another action path to forward to your new path or you can modify or create

C hap ter 3 , C re atin g a cus tom Ac tive Por ta l fo r J S P w eb s ite 107


links on web pages to specify your new action path. The following action path
always navigates to welcome.jsp when another action path, link, or URL
invokes it:
<!-- Process welcome -->
<action path="/welcome"
forward="/private/welcome.jsp"
name="welcome">
</action>\
For information on creating as new web page, see “Modifying existing content
or creating new content.” For more information on action paths and Jakarta
Struts, access the following URL:
http://jakarta.apache.org/struts

Modifying existing content or creating new content


You can modify the content of an existing page or create new pages for linking
in to your custom web site. Typically, a web page has a simple JSP that
specifies the template to use and specifies another JSP to use as the content
element. For example, the following code specifies that the content element
uses the JSP code in <context root>\private\newrequest\newrequestpage.jsp:
<template:put name="content"
content="/private/newrequest/newrequestpage.jsp" />
The content JSP contains the code required to create the page-specific content
and functionality. This JSP contains code that places page-specific text,
graphics, links, and other functionality on the page. You can use HTML code,
JSP code, JSP built-in tags, Jakarta Struts tags, Actuate servlets, Actuate
custom tags, Actuate JavaBeans, CSS, and JavaScript functions to obtain data
and present information on the page.
The default Actuate Active Portal pages use HTML tables to provide
formatting for each page. The tables are often nested. Individual files include
other files that define elements, such as the <TABLE> declaration. As you
modify the pages to suit your needs, verify that the Actuate Active Portal
pages for tasks, such as logging in, listing folders and files, and viewing and
requesting reports appear correctly in your web browser.
When using relative hyperlinks in your HTML code, ensure that any files to
which you refer are available to Actuate Active Portal. Actuate Active Portal
resolves relative hyperlinks from the context root.

108 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
For example, in the standard Actuate Active Portal installation, the following
code refers to an images directory above the Actuate Active Portal context
root’s images directory:
<A HREF="../images/myimage.gif">
All Actuate Active Portal requests expect action paths to have certain names,
and the action paths expect JSP files to have certain names and to reside in a
particular directory under the context root. Do not rename the default files
provided with Active Portal for JSP without making the corresponding change
to struts-config.xml. If you do not change the file name consistently in all
places, Active Portal for JSP cannot locate your custom files.

Obtaining information about the user and the


session
Typically, new Actuate Active Portal web pages need access to session
information. Your application server and Actuate Active Portal store
information about the session that you can use in your web pages.
You can obtain the serverURL, volume, and other information from your
application server, as shown in the following example:
String volume = request.getParameter("volume");
String serverURL = request.getParameter("serverurl");
String userId = request.getParameter("userid");
String password = request.getParameter("password");
String roxReport = request.getParameter("report");
String volume = request.getParameter("volume");
String serverURL = request.getParameter("serverurl");
You also can obtain the context root path from your application server, as
shown in the following code:
String contextRoot = request.getContextPath();
Actuate Active Portal for JSP stores a wide variety of information about the
session in UserInfoBean. To access UserInfoBean, place the following line of
code near the top of your JSP page:
<jsp:useBean id="userinfobean"
class="com.actuate.activeportal.beans.UserInfoBean" scope="session"/>
After this line, you can access information in the JavaBean by the appropriate
get method. The most important method for new pages is the getAuthID()
method. This method retrieves the user’s authentication ID with the server.
You can then use this authentication ID to access the server with JSP custom
Actuate tags and Information Delivery API calls, as shown in the following
examples:
String authenticationID = userinfobean.getAuthid();
String folderPath = userinfobean.getCurrentfolder();

C hap ter 3 , C re atin g a cus tom Ac tive Por ta l fo r J S P w eb s ite 109


jobDetailURL += StaticFuncs.encode(userinfobean.getUserid());
com.actuate.reportcast.utils.AcLocale acLocale = userinfobean.getAcLocale();
TimeZone timeZone = userinfobean.getTimezone();
String serverURL = userinfobean.getServerurl();
String userVolume = userinfobean.getVolume();
For a complete list of available UserInfoBean methods, see Chapter 9, “Actuate
Active Portal for JSP JavaBeans.” For more information about providing
security and authentication for new pages, see Chapter 11, “Using internal
Actuate Active Portal security.” For more information about Actuate servlets,
see Chapter 7, “Actuate Active Portal for JSP servlets.” For more information
about Actuate custom tags, see Chapter 8, “Actuate Active Portal for JSP
custom tags.”

Customizing requester pages


When a user chooses to run a report, a requester page appears. Using the
requester page, a user chooses values for the report’s parameters and selects
execution options, such as the desired output format. Some reports do not
have parameters.
You can create or modify requester pages for your custom web site. The
following list provides a summary of the methods of customizing requester
pages:
■ Create a new JSP form for the user to specify the desired report parameter
values and then use these values to construct the appropriate Actuate
Active Portal URI to execute the report.
Actuate recommends this approach. It supports full control of the requester
page design while using existing functionality for the execution of the
report.
■ Modify the existing requester page files.
This approach is best for minor changes, such as hiding one of the many
execution options the page supports.
■ Create a new requester page and an Action class to provide processing of
the page and execution of the report.
This approach provides full control of the requester page design and the
processing of the report. Creating an Action class requires an
understanding of Java and Jakarta Struts.

110 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
Creating a custom requester page and using a URI to
execute a report
Most of the code in the following examples is extracted from a sample
requester page provided with the Actuate iServer Integration Technology
installation:
Web Services\Examples\JSP sample\requester.jsp
See that file for the full code listing, including the catch clauses of try
statements listed in this code.

How to begin your custom requester page


1 Create a JSP page and include the following packages:
<%@ page import="java.util.Vector" %>
<%@ page import="com.actuate.activeportal.idapiadapter.*" %>
<%@ page import="com.actuate.activeportal.utils.*" %>
<%@ page import="com.actuate.schemas.*" %>
2 Determine the appropriate report name, server URL, and Encyclopedia
volume. Create variables to store these values. You can obtain the
serverURL, volume, and other information from your application server, as
shown in the following code:
String volume = request.getParameter("volume");
String serverURL = request.getParameter("serverurl");
3 Initialize the Web Services Description Language (WSDL) Service.
// Initialize the WSDL Service
IdapiProxy proxy =
IdapiProxyPool.getInstance().getProxyObject(serverURL);
if (volume != null)
{
proxy.getActuateAPI().setTargetVolume(volume);
}
4 Obtain an authorization ID to access the Encyclopedia volume.
If you want to use the user’s own user name to access the Encyclopedia,
use the UserInfoBean.getAuthID() method to access the user’s current
authorization ID. For more information on the UserInfoBean class, see
Chapter 9, “Actuate Active Portal for JSP JavaBeans.”
In the sample requester page, the user name and password is hard-coded
and used to obtain an authorization ID:
// Login
String authId = null;

C h a p t e r 3 , C r e a t i n g a c u s t o m A c t i ve Po r ta l fo r J S P w e b s i te 111
Login loginRequest = new Login();
loginRequest.setUser("administrator");
loginRequest.setPassword("");

try
{
LoginResponse loginResponse =
(LoginResponse) proxy.getProxyPort().login(loginRequest);
authId = loginResponse.getAuthId();
proxy.getActuateAPI().setAuthId(authId);
}

How to get the report parameters


This section uses methods in the ParameterDefinition class of the
com.actuate.schemas package. For more information on this package and the
Information Delivery API, see Programming with Actuate iServer APIs.
1 Create two Vector variables.
Vector parameters = new Vector();
Vector parameterNames = new Vector();
2 Create an object to hold the request for the parameters of a report.
// Get report parameters
GetReportParameters getReportParameterRequest = new
GetReportParameters();
getReportParameterRequest.setReportFileName(reportName);
3 Get the parameters for the report from the Encyclopedia volume.
try
{
GetReportParametersResponse getReportParametersResponse =
(GetReportParametersResponse)proxy.getProxyPort().
getReportParameters(getReportParameterRequest);
// Handle parameters
ArrayOfParameterDefinition parameterArray =
getReportParametersResponse.getParameterList();
4 If the report has parameters, extract each parameter’s name and
DisplayName. Omit any parameters specified as hidden parameters. The
DisplayName specifies the label to place beside the parameter on a
requester page. A parameter’s DisplayName does not need to match the
parameter’s name.
if (parameterArray != null)
{
ParameterDefinition[] parameterDefinitions =
parameterArray.getParameterDefinition();

112 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
if (parameterDefinitions != null)
{
for (int i = 0; i < parameterDefinitions.length; i++)
{
if (!parameterDefinitions[i].getIsHidden().booleanValue())
{
parameters.addElement(
parameterDefinitions[i].getDisplayName());
parameterNames.addElement(
parameterDefinitions[i].getName());
}
}
}
}
}
5 In the sample requester form, the user types in the desired value. If you
want to present the user with a list of values to choose from, create a Vector
to contain a list of values that the user can choose for a given parameter.
Vector parameterValues = new Vector();
You can access any value lists defined by the report designer with the
following code:
parameterValues.addElement(parameterDefinitions[i].getSelectValueList());
If the report designer did not define a value list for a parameter, this code
creates a null element at that position.
You also can specify your own values and assign them to the parameter’s
element in parameterValues. Typically, the values are extracted from a
database using a JDBC call to create a dynamic value list.

How to display the report parameters and collect values


1 Create an HTML form.
<html>
<head>
<title>Sample Requester Page</title>
<\head>
<body>
<form name="sampleRequester" method="post"
onsubmit="javascript:return false;">
<table border="0" cellspacing="5" cellpadding="0">
2 Create variables to hold a parameter name and its DisplayName.
<%
String display = null;

C hap ter 3 , C r eatin g a cus tom A ctive Por ta l fo r J S P web site 113
String name = null;
If you use a value list, create an array of strings to contain the value list.
3 Loop through each parameter retrieved in “How to get the report
parameters,” earlier in this chapter. Display the DisplayName on the page
and provide an input field for the desired value.
for (int i = 0; i < parameters.size(); i++)
{
display = (String) parameters.get(i);
name = (String) parameterNames.get(i);
%>
<tr>
<td align="right">
<B><%=display %> : </B>
</td>
<td align="left">
<input type="text" name=<%= name %> size="40">
</td>
</tr>
<%
}
%>
If you use value lists, check if the value list is null for that element. If the
value list is null, create a text box. If the value list is not null, use HTML to
create a drop-down menu and display the value list as options within the
menu.
4 Add a submit button and close all open elements.
<tr>
<td colspan="2" align="right">
<input type="submit" name="postback"
value="Run Report"
onclick="javascript:doExecuteReport();">
</td>
</tr>

How to use the user input to create a URI


1 Enable access to encode() in the encoder.js file to convert strings to URL-
safe format.
<script type="text/javascript" src="./js/encoder.js">
<!--
// -->
</script>
2 Create a JavaScript function doExecuteReport().

114 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
<script language="javascript">
<!--
// Collect parameters and invoke ActivePortal execute report URL.
function doExecuteReport()
{
3 Create the start of a URL to access do_executereport.jsp, using your own
computer name, port number, and context root name. If desired, use the
values from UserInfoBean’s getServerURL() method.
var targetURL = "http://sporttouch:8080/test/newrequest
/do_executereport.jsp?";
You can obtain the context root path and other information from your
application server, as shown in the following code:
String contextRoot = request.getContextPath();
4 Add the serverurl and volume specification to the targetURL String you
created in the previous step.
targetURL += "serverurl=" + "<%= serverURL %>";
<%
if (volume != null && volume.trim().length() > 0)
{
%>
targetURL += "&volume=" + encode("<%= volume %>");
<%
}
%>
5 Add the user ID and authorization ID to the targetURL String. Typically
you use the values from UserInfoBean’s getUserid() and getAuthId()
methods.
targetURL += "&userid=administrator";
targetURL += "&authid=" + encode("<%= authId %>");
6 Add the name of the report to the targetURL String.
targetURL += "&__executablename=" + "<%= reportName %>";
7 Access the form defined in “How to display the report parameters and
collect values,” earlier in this chapter.
var formObj = document.forms["sampleRequester"];
8 Loop through the names and selected values from the form and append
them to the targetURL string as parameter and value pairs.
var name = null;
var value = null;
for (i = 0; i < formObj.length - 1; i++)
{

C hap ter 3 , C r eatin g a cus tom A ctive Por ta l fo r J S P web site 115
name = formObj.elements[i].name;
value = formObj.elements[i].value;

if (value != null && value.length > 0)


{
targetURL += "&" + name + "=" + value;
}
}
9 Open a new browser window accessing the URL you constructed. You can
use the same window or debug your URL by using a window.alert()
method. Close the script and head element of the page.
window.open(targetURL);
}

Creating a custom requester page with an Action class


Creating your own requester with an Action class requires three components:
■ A JSP form to display available parameters and provide input fields for the
users to specify parameter values and any execution choices available
■ An Action class to handle display of the form and processing of the user’s
input to execute the report
■ An entry in struts-config.xml to access the Action class and the JSP form
Actuate provides a simplified requester Action class and the associated sample
requester JSP page and struts-config.xml entry. The sample requester Action
class is in:
\acweb\WEB-INF\classes\sample\AcSampleRequesterAction.java
For information on Action JavaBeans, see a reference on Jakarta Struts.
The following comment in the \acweb\WEB-INF\struts-config.xml shows
how to define an action to use the sample requester Action class and its
associated samplerequester.jsp page:
<!-- Sample Requester -->
<!--
<action
path="/samplerequester"
scope="request"
type="sample.AcSampleRequesterAction" validate="false">
<forward name="parameter"
path="/private/sample/samplerequester.jsp" />
</action>
-->

116 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
You can invoke this action by using your servername and port number in the
following URI:
http://<servername>:<port number>/acweb/samplerequester.do
This URI invokes the action defined in struts-config.xml. The action uses the
AcSampleRequesterAction class to handle the display of samplerequester.jsp
and then execute a report using the values the user enters on that form.

Integrating Reportlets with Actuate Active Portal


Actuate Active Portal uses a complete web page or frame then subdivides it
into other frames, or Reportlets. The frames comprise the viewer framework.
Developers use Reportlets to integrate specific sections of e.reports in web
pages.

About Reportlets
Reportlets support the following functionality:
■ Displaying a section of a report within an existing web page framework
■ Suppressing generation of <HTML> and <HEAD> tags to support
dynamically streaming Reportlet contents in an existing ASPX page
■ Suppressing page breaks within Reportlet content
■ Providing page-level security
Design Reportlets when you design the report in e.Report Designer or
e.Report Designer Professional. Invoke Reportlets using the ViewPage servlet
through a URL or with the JSP custom tag getReportletData.

Displaying Reportlets in an HTML page with Active Portal


for JSP
To embed a Reportlet into an HTML page, you use a tag which references the
ViewPage servlet. The syntax for using the URL is:
<servlet>
?name=<name>
[;<version>]
&serverURL=<server>
&volume=<volume>
&format=Reportlet
&componentID=<component>
&page=<pageNo>
&userID=<userName>
&password=<userPswd>
where

C hap ter 3 , C r eatin g a cus tom A ctive Por ta l fo r J S P web site 117
■ <servlet> is the path to the ViewPage servlet that retrieves a specific page
of a report.
■ name=<name> is the Reportlet source’s full Encyclopedia pathname.
■ <version> is the report version number. If omitted, the latest version is
retrieved.
■ serverURL=<server> is the URL of the Actuate iServer, to optionally
override the default value.
■ volume=<volume> is the Encyclopedia volume on which the Reportlet’s
source resides. This is an optional override for the default volume.
■ format is the output format.
■ userID=<userName> is the user name.
■ password=<userPswd> is the user’s password.
The userID and password parameter are not necessary if this URL is issued
in a session to which the user has already logged in.
■ component=<componentID> is either a componentID or componentName
and componentValue. componentID is the component ID of the report
section to retrieve. componentName is the name assigned to the report
component during report design. componentValue is the result of
evaluating an expression such as the current user name or a search
expression.
■ page=<pageNo> is the report page to retrieve.
For additional parameters for the ViewPage servlet, see “ViewPage servlet” in
Chapter 7, “Actuate Active Portal for JSP servlets.”
The following URL example retrieves the second page of the SubReport report
in the Portal folder on the server named Seamore:
http://seamore:8700/acweb/servlet/ViewPage
?name=/Portal/SubReport.roi
&serverURL=http://SEAMORE:8000
&volume=seamore
&format=Reportlet
&page=2
The next example uses the Administrator user account, which does not require
a password, to retrieves the DetailFrame component of the Customer Listing
report on the server named Seamore. It retrieves only the components with the
value of Test.
http://seamore:8080/acweb/servlet/ViewPage
?serverURL=http://seamore:8000
&volume=seamore
&name=Customer Listing.roi
&format=Reportlet

118 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
&componentName=NewReportApp::DetailFrame
&componentValue=Test
&userID=Administrator
&password=
Active Portal for JSP provides an additional mechanism to display a Reportlet.
You can use the custom tags reportlets:getReportlet and
reportlets:getReportData. getReportletData gets the entire Reportlet and
getReportlet gets the part of a Reportlet specified by page number or search
criteria.
The syntax for using the getReportletData tag is:
<reportlet:getReportletData
authID="<%= sAuthID %>"
volume="<%= sVolume %>"
serverURL="<%= sServerURL %>"
locale="<%= acLocale %>"
timeZone="<%= tzTimeZone %>"
id="reportlet"
name="<report relative pathname>"
componentName="<report design component name>"
componentValue="<expression>"
reportletMaxheight="<reportlet height>"
embeddedObjPath="../servlet/ViewEmbeddedObject?operation=" >
</reportlet:getReportletData>
or:
<reportlet:getReportletData
authID="<%= sAuthID %>"
volume="<%= sVolume %>"
serverURL="<%= sServerURL %>"
locale="<%= acLocale %>"
timeZone="<%= tzTimeZone %>"
id="reportlet"
name="<report relative pathname>"
componentID="<report design component ID>"
reportletMaxheight="<reportlet height>"
embeddedObjPath="../servlet/ViewEmbeddedObject?operation=" >
</reportlet:getReportletData>
where
■ reportlet:getReportletData is the servlet that retrieves report data from a
specified report object instance (.roi) file
■ authID is the authentication ID Actuate iServer returns after a successful
login.
■ componentID=<CID> is the component ID of the report section to retrieve.
■ componentName=<CName> is the name assigned to the report component
during report design.

C hap ter 3 , C r eatin g a cus tom A ctive Por ta l fo r J S P web site 119
■ componentValue=<CValue> is the result of evaluating an expression such
as the current user name or a search expression.
■ embeddedObjPath is the pathname of the servlet that retrieves embedded
objects such as images for the Reportlet.
■ id is the getReportletData tag’s identifier.
■ locale is the Reportlet locale.
■ name is the Reportlet source’s full Encyclopedia volume pathname.
■ reportletMaxheight is the Reportlet’s maximum height, in pixels.
■ serverURL is the URL of the server on which the Reportlet’s source resides.
■ timeZone is the Reportlet server’s time zone.
■ volume is the Encyclopedia volume on which the Reportlet’s source
resides.
To identify the report component from which to retrieve component data, use
either componentID, or the combination of componentName and
componentValue. For example, the following Reportlet URL retrieves a
customer’s financial portfolio from the Portfolio report’s
Portfolio::FrameClientPortfolioHistory component:
<reportlet:getReportletData authID="<%= sAuthID %>"
volume="<%= sVolume %>" serverURL="<%= sServerURL %>"
locale="<%= acLocale %>" timeZone="<%= tzTimeZone %>"
id="reportlet" name="/Portfolio/portfolio.roi"
componentName="Portfolio::FrameClientPorfolioHistory"
componentValue="<%= sUserName%>" reportletMaxheight="300"
version="1"
embeddedObjPath="../servlet/ViewEmbeddedObject?operation=" >
For more on getReportlet and getReportletData, see Chapter 8, “Actuate
Active Portal for JSP custom tags.”

Modifying text and messages


Actuate Active Portal passes Actuate iServer messages to the user and also
provides Actuate Active Portal text and messages. You can customize both
Actuate iServer and Actuate Active Portal messages and text. If you are
considering changing the text and messages to translate your Actuate Active
Portal web site to another language, contact Actuate Corporation. Actuate has
created the Actuate Active Portal software and resource files in multiple
languages.

120 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Customizing Actuate iServer error messages
Actuate Active Portal uses SOAP messages to communicate with the Actuate
iServer. You can customize the message text of an Actuate iServer error
message before Actuate Active Portal displays it to the user. For example, you
can change the message text to instruct your user to perform a specific task
after a specific type of error. You can also customize the message to name a
person to contact after another type of error. To customize a message, you edit
ErrorMessages.properties, following the procedures described later in this
section.
Active Portal for JSP inserts additional text using variables. When changing
message text, maintain the original variables in your new message, if possible.
For the best results, follow the format of the original message exactly to
maintain the number and order of the variables. Variables appear in message
text in the form {n} where n is a whole number, beginning with 0.
For example, if a file named abc.roi is missing, Active Portal for JSP displays
the following error message and variable:
File {0} was not found.
in the following form:
File abc.roi was not found.

How to customize Actuate iServer error messages on a Windows


system
Use the location of your Active Portal for JSP installation rather than the
location used in this example.
1 Extract the contents of resources.jar into a temporary directory. Use the
location of your Active Portal for JSP installation in place of the example
location shown.
1 Open a command window.
2 Back up your resources file:
cd "C:\Program Files\Actuate8\ActivePortalJSP\Web-inf\lib"
copy resources.jar resources.jar.original
3 Extract the resource file’s contents:
mkdir C:\ap
cd C:\ap
jar -xf "C:\Program Files\Actuate8\ActivePortalJSP\Web-inf\lib
\resources.jar"
4 Leave the command window open.

C hap ter 3 , C re atin g a cus tom Ac tive Por ta l fo r J S P w eb s ite 121


2 In a text editor that supports UTF-8 encoding, edit C:\ap\com\actuate
\reportcast\resources\ErrorMessages.properties to add your custom error
messages in the following format:
<Errorcode>=This is an example of a message with no variables.
<Errorcode>=This is an example of a message with a variable {0}.
<Errorcode>=This message has three variables {0}, {1} and {2}.
where <Errorcode> is the Actuate error number or constant of the message
being customized.
3 Save and close the file.
4 Rebuild the resources.jar file with your customized
ErrorMessages.properties file:
jar -cf resources.jar *
move resources.jar
"C:\Program Files\Actuate8\ActivePortalJSP\Web-inf\lib\resources.jar"

How to customize Actuate iServer error messages on a UNIX or


Linux system
Use the location of your Active Portal for JSP installation rather than the
location used in this example.
1 Extract the contents of resources.jar into a temporary directory:
1 Back up your resources file:
cd /usr/local/actuate8/activeportal/WEB-INF/lib
cp resources.jar resources.jar.original
2 Extract the resource file’s contents:
mkdir ap
cd ap
jar -xf /usr/local/actuate8/activeportal/WEB-INF/lib/resources.jar
2 In a text editor that supports UTF-8 encoding, edit ap/com/actuate
/reportcast/resources/ErrorMessages.properties to add your custom error
messages in the following format:
<Errorcode>=This is an example of a message with no variables.
<Errorcode>=This is an example of a message with a variable {0}.
<Errorcode>=This message has three variables {0}, {1} and {2}.
where <Errorcode> is the Actuate error number or constant of the message
being customized.
3 Save and close the file.

122 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
4 Rebuild the resources.jar file with your customized
ErrorMessages.properties file:
jar -cf resources.jar *
mv resources.jar
/usr/local/actuate8/activeportal/WEB-INF/lib/resources.jar

Customizing Actuate Active Portal text and


messages
Actuate Active Portal uses text and messages to communicate with the user.
You can customize the text of a label to prompt your user with the phrasing
that your application needs. You also can customize the message text of
Actuate Active Portal error message before Actuate Active Portal displays it to
the user. For example, you can change the message text to instruct your user to
perform a specific task after a specific type of error. You can also customize the
message to name a person to contact after another type of error.
To customize a message, you edit ActivePortalResources.properties, following
the procedures described later in this section. You can verify the function of a
particular line of text by searching for the relevant message key in the JSP
pages and examining the related code.
Active Portal for JSP inserts additional text using variables. When customizing
ActivePortalResource.properties, keep the original variables in your text or
message, if possible. Variables appear in text and messages in the form {n}
where n is a whole number, beginning with 0.
For example, if a user mlee tries to subscribe to a channel but has no available
channels other than the user’s personal channel, Actuate Active Portal
displays the MSGT_NO_CHANNELS message and its variable:
There are no channels available for subscription by {0}.
in the following form:
There are no channels available for subscription by tlee.

How to customize Actuate Active Portal text and messages on a


Windows system
Use the location of your Active Portal for JSP installation rather than the
location used in this example.
1 In a command window, set your current directory to your Active Portal for
JSP installation:
cd "C:\Program Files\Actuate8\ActivePortalJSP\Web-inf\lib"
2 Extract the contents of resources.jar into a temporary directory:
1 Back up your resources file:
copy resources.jar resources.jar.original

C hap ter 3 , C re atin g a cus tom Ac tive Por ta l fo r J S P w eb s ite 123


2 Using WinZip or another archive utility, extract the resource file's
contents.
3 Navigate to /com/actuate/activeportal/resources and make a backup
copy of ActivePortalResources.properties:
cd /com/actuate/activeportal/resources
copy ActivePortalResources.properties ActivePortalResourcesOrig.properties
4 In a text editor that supports UTF-8 character encoding, edit
ActivePortalResources.properties to modify the text and messages in the
following format:
<Message key>=This is an example of text or a message with no variables.
<Message key>=This is an example of text or a message with a variable {0}.
<Message key>=This text or message has three variables {0}, {1} and {2}.
where <Message key> is the Actuate key for the text or message being
customized.
5 Save the file as ActivePortalResources.properties.
6 Using WinZip or another archiving tool, add
ActivePortalResources.properties to the resources.jar file with the proper
path. In WinZip, you get the proper path with the following steps:
1 In Add, select the com directory.
2 In File name, type:
*.*
3 Choose Add with wildcards.

How to customize Actuate Active Portal text and messages on a


UNIX or Linux system
Use the location of your Active Portal for JSP installation rather than the
location used in this example.
1 Extract the contents of resources.jar into a temporary directory:
1 Back up your resources file:
cd /usr/local/actuate8/activeportal/WEB-INF/lib
cp resources.jar resources.jar.original
2 Extract the resource file’s contents:
mkdir ap
cd ap
jar -xf /usr/local/actuate8/activeportal/WEB-INF/lib/resources.jar

124 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
2 In a text editor that supports UTF-8 encoding, edit ap/com/actuate
/reportcast/resources/ErrorMessages.properties to add your custom error
messages in the following format:
<Message key>=This is an example of a message with no variables.
<Message key>=This is an example of a message with a variable {0}.
<Message key>=This message has three variables {0}, {1} and {2}.
where <Message key> is the Actuate key or constant for the message being
customized.
3 Save and close the file.
4 Rebuild the resources.jar file with your customized
ErrorMessages.properties file:
jar -cf resources.jar *
mv resources.jar /usr/local/actuate8/activeportal/WEB-INF/lib/resources.jar

Configuring Active Portal for JSP


You set configuration parameters for Active Portal for JSP to tune performance
and to control Actuate services and application execution. For example, you
can perform the following tasks using configuration parameters:
■ Setting the default locale
■ Controlling Message Distribution service load balancing
■ Specifying the default Encyclopedia server and volume
You must restart Actuate Active Portal for configuration parameter changes to
take effect.

Customizing Active Portal for JSP configuration


Most configuration parameters are the same for both Active Portal for .NET
and Active Portal for JSP, but others are specific to a single version of Actuate
Active Portal. The configuration file for Active Portal for JSP is
<context root>\WEB-INF\Web.xml. The following section describes the
customization procedure.

How to customize Active Portal for JSP configuration parameters


Use the following procedure to customize configuration parameters for Active
Portal for JSP. A typical location for the configuration file is C:\Program Files
\Actuate8\ActivePortalJSP\Web-inf\Web.xml.
1 Make a backup copy of Web.xml.

C hap ter 3 , C re atin g a cus tom Ac tive Por ta l fo r J S P w eb s ite 125


2 Using a text editor that supports UTF-8 encoding, edit Web.xml to change
parameter values. Parameter definitions use the following format:
<param-name><keyword></param-name>
<param-value><value></param-value>
where
■ <keyword> is the name of the parameter.
■ <value> is the parameter value.
Do not enclose the keyword and value within quotes, and use no spaces
between <param-name>, the keyword or value, and </param-name>. For
example, the definition for the default locale parameter is:
<param-name>DEFAULT_LOCALE</param-name>
<param-value>en_US</param-value>
3 Save Web.xml.
4 Restart the application server or servlet engine that runs Active Portal for
JSP.

Understanding Actuate Active Portal


configuration parameters
The following table describes the configuration parameters for Active Portal
for JSP. At a minimum, examine the values of the DEFAULT_LOCALE,
DEFAULT_TIMEZONE, SERVER_DEFAULT, and DEFAULT_VOLUME
configuration parameters and change them to reflect your own environment.
For more information about how to set parameters, see “Customizing Active
Portal for JSP configuration,” earlier in this chapter.

Parameter name Description


ANALYTICS_BASE_ The experience level for the Actuate Analytics Cube Viewer if
EXPLEVEL_NAME no experience level is assigned in the user’s functionality level.
The default is Novice. For more information about Actuate
Analytics experience levels, see “About Actuate Analytics
experience levels” in Chapter 1, “Introducing Actuate Active
Portal.” For more information about Actuate Active Portal
functionality levels, see “About Actuate Active Portal
functionality levels” in Chapter 1, “Introducing Actuate Active
Portal.”
ANALYTICS_CUBE_ Enables the drill to detail functionality in the Actuate Analytics
VIEW_RECORDS Cube Viewer. Overrides the setting in the cube design. True to
enable, False to disable. False is the default.

126 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Parameter name Description
ANALYTICS_CUBE_ Height of the Actuate Analytics Cube Viewer application. The
VIEWER_HEIGHT default is 100%.
ANALYTICS_CUBE_ Width of the Actuate Analytics Cube Viewer application. The
VIEWER_WIDTH default is 100%.
ANALYTICS_ENABLE_ True to enable a one-time Actuate Analytics Cube Viewer
ONETIME_DOWNLOAD download, False otherwise. This parameter only applies to the
Microsoft Internet Explorer browser. The default is True.
ANALYTICS_ENABLE_ True to enable or False to disable saving views to the Actuate
SAVE_VIEW iServer in the Actuate Analytics Cube Viewer. The default is
True.
CACHE_CONTROL Specifies how a web browser caches information using one of
the following values:
■ NO-CACHE indicates that the browser does not cache
information and forwards all requests to the server. With
NO-CACHE, the back and forward buttons in a browser do
not always produce expected results, because choosing
these buttons always reloads the page from the server.
■ NO-STORE indicates that information is cached but not
archived.
■ PRIVATE indicates that the information is for a single user
and that only a private cache can cache this information. A
proxy server does not cache a page with this setting.
■ PUBLIC indicates that information may be cached, even if it
would normally be non-cacheable or cacheable only within
an unshared cache.
■ Unset (no value) is the default value. The browser uses its
own default setting when there is no CACHE_CONTROL
value.
Caching information reduces the number of server requests
that the browser must make and the frequency of expired page
messages. Caching increases security risks because of the
availability of information in the cache. For additional
information about cache control, see the HTTP/1.1
specifications.
CONNECTION_TIMEOUT Controls how many seconds Actuate Active Portal waits for a
request to complete before dropping the connection to Actuate
iServer. Set this value to limit wait times. The default value is 0,
meaning the connection is never dropped.

C hap ter 3 , C re atin g a cus tom Ac tive Por ta l fo r J S P w eb s ite 127


Parameter name Description
COOKIE_DOMAIN Specifies the host name of the server setting the cookie. The
cookie is only sent to hosts in the specified domain. The value
must be the same domain the client accesses. Actuate Active
Portal automatically sets this parameter. For example, if the
client accesses http://www.actuate.com/acweb/login.do, the
domain name is actuate.com.
COOKIE_ENABLED Indicates whether to use cookies to store information between
user logins. The default value is True. If False, Active Portal for
JSP does not use cookies. Without cookies, many Active Portal
for JSP features are unavailable or do not persist across
sessions. For example, without cookies, user name, language,
and time zone settings always use their default values when a
new browser session begins.
DEFAULT_LOCALE Specifies the default locale. Actuate Active Portal sets this
parameter value during installation. The locale map is
<context root>\xml\localemap.xml.
DEFAULT_TIMEZONE Specifies the default time zone Actuate Active Portal sets this
parameter value during installation. The time zone map is
<context root>\xml\timezonemap.xml.
DEFAULT_VOLUME Specifies which server manages the Encyclopedia volume.
Actuate Active Portal sets this parameter’s default value
during installation.
ENABLE_DEBUG_ Indicates whether to record debugging messages in a log file
LOGGING called Debug.log. Set the value to True to enable debug
messages in the log file. The default value is False.
ENABLE_ERROR_ Indicates whether to log errors. This parameter’s default value
LOGGING is True, which enables error logging. If you set this parameter
to True, Active Portal for JSP creates two error log files:
■ Admin.log records general errors.
■ Soapfault.log records iServer communication errors.
ERROR_LOG_FILE_ Specifies the time period to wait before starting a new log file.
ROLLOVER Options are Daily, Monthly, Weekly, and Yearly. The default
value is Monthly.
EXECUTE_REPORT_ Specifies the time to wait for a report to execute. This
WAIT_TIME parameter’s default value is 20 seconds. For more information
about the wait time parameter, see “execute report page” and
“execute page” in Chapter 5, “Actuate Active Portal URIs.”

128 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Parameter name Description
FILES_DEFAULT_VIEW Specifies the default view for the files and folders list using one
of the following values:
■ Categories, the default, displays files organized in rows by
type
■ Detail displays files organized in rows by name
■ List displays files organized in columns with small icons
■ Icon displays files organized in columns with large icons
Only the Categories view is supported with Netscape 4.x.
FORCED_GC_INTERVAL Indicates the length in seconds of the interval Active Portal for
JSP waits between forced garbage collections. To disable
garbage collection, set this parameter to 0, the default value. If
you use this parameter, 600 seconds is the recommended value.
Use this parameter when tuning application server
performance. If the value is too low, the application server
performs garbage collection too frequently, slowing your
system. If you set the value to high, you waste memory. If
disabled, the application server controls garbage collection.
LOG_FILE_ Indicates which directory contains the log files. If the value is
LOCATION not an absolute directory path name, Active Portal for JSP
locates the directory in the Actuate Active Portal home
directory. The default value is logs in the Actuate Active Portal
home directory.
LOGIN_TIMEOUT Specifies the number of seconds to wait before a session times
out. Its default value is 1200 seconds.
MAX_BACKUP_ Specifies the maximum number of backup error log files to
ERROR_LOGS keep. Its default value is 10.
MAX_CONNECTIONS_ Indicates the maximum number of Actuate Active Portal
PER_SERVER connections to Actuate iServer. Actuate pools connections to
increase efficiency. Choose a number of connections that
satisfies the most requests concurrently without requiring an
unreasonable amount of memory. Begin with a value equal to
the number of threads available in your application server. The
value for this parameter must be greater than 0. The default
value is 150.
MAX_LIST_SIZE Limits the number of items returned when getting folder items,
jobs, job notices, scheduled jobs, and channels to reduce
network traffic. The default value is 150.

C hap ter 3 , C re atin g a cus tom Ac tive Por ta l fo r J S P w eb s ite 129


Parameter name Description
MDS_ENABLED Indicates whether to enable the Message Distribution Service.
The default value is True, which enables the Message
Distribution Service. For more information about the Message
Distribution Service, see “Understanding Actuate Active Portal
load balancing” in Chapter 1, “Introducing Actuate Active
Portal.”
MDS_REFRESH_ Indicates, in seconds, how quickly Actuate Active Portal
FREQUENCY_SECONDS detects an offline or new node in a cluster. If MDS_ENABLED
is True, Actuate Active Portal refreshes the list of available
nodes from Actuate iServer at the time interval specified. Its
default value is 300 seconds.
PROGRESSIVE_ Controls the interval in seconds at which an Actuate report
REFRESH refreshes itself when running a progressive report. The report
refresh time starts after the navigation bar loads. The report
refreshes first after 15 seconds, then after 60 seconds, and then
after the PROGRESSIVE_REFRESH interval. If the value is less
than 60, Actuate Active Portal uses 60 seconds. This
parameter’s default value is 1800 seconds.
SEARCH_ENABLE_ Indicates whether to include column headings in report search
COLUMN_HEADERS results when the output format is CSV or TSV. Set this
parameter to True, the default value, to include column
headings.
SEARCH_USE_ Indicates whether to enclose search results in quotes when the
QUOTE_DELIMITER output format is CSV or TSV. The default value is True, which
encloses the results in quotes.
SECURITY_MANAGER_ Specifies the fully qualified name of the custom security
CLASS manager class used to implement the Active Portal Security
Extension (APSE). The default value is no name. For
information about APSE, see “Customizing authentication” in
Chapter 11, “Using internal Actuate Active Portal security.”
SERVER_DEFAULT Specifies the default Actuate iServer to which to connect when
a user logs in. The parameter value must be a complete URI,
such as the default value, http://localhost:8000.
TEMP_FOLDER_ Specifies the directory the Actuate iServer uses to temporarily
LOCATION store files from an Encyclopedia volume if viewing the file
requires a location on the web server. If the value is not an
absolute directory path name, Actuate Active Portal locates the
directory in the Actuate Active Portal home directory. The
default value is temp in the Actuate Active Portal home
directory. The Actuate Active Portal user must have write
permission for the directory for log data to be written.

130 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Chapter

Using Actuate Active


Chapter 4
4
Portal components
This chapter contains the following topics:
■ About Actuate WebSphere portlets
■ Configuring Actuate WebSphere portlets
■ Using Actuate WebSphere portlets
■ About Actuate Sun ONE portlets
■ Configuring Actuate Sun ONE portlets
■ Using Actuate Sun ONE portlets
■ About Actuate WebLogic Workshop tag library
■ Using Actuate WebLogic Workshop tags
■ Using the Actuate WebLogic sample application

C hap ter 4 , U sing Actuate Active Por tal comp one nts 131
About Actuate WebSphere portlets
Actuate WebSphere Portlets integrate with the IBM WebSphere Portal Server
environment. This approach supports portal end users’ access of Actuate
iServer functionality.
Portals are web sites that serve as gateways to information and applications on
the internet or an intranet. The basic function of a portal is to aggregate
information from different sources. A portlet provides a view of specific
information available from a portal.
Actuate WebSphere Portlets offer many benefits to portal integration, such as
personalization and single sign-on. Once the portal administrator makes the
portlets available to end users, users can add portlets to or remove portlets
from their own pages, providing greater flexibility for customization by end
users. The single sign-on feature provides easy user access to the report server
functionality. Single sign-on is a mechanism that authenticates a user once for
a suite of applications instead of requiring the user to log in to each application
he uses. After the user’s initial login to the report server, the user is
authenticated in the portal security domain. From that point forward, logging
in to the portal logs the user in to the report server.
The following table lists the Actuate portlets and their functions.

Portlet Function
Actuate Report Documents Browse and view reports.
Actuate Report Templates Browse and execute reports.
Actuate Reportlet Viewer View Reportlets.

Portlets have two modes, edit and view. The edit mode sets the portlet’s
parameters. The view mode displays the information the portlet accesses.

Configuring Actuate WebSphere portlets


Each portlet has administrator and user parameters. In addition, each user
must add the portlets to a page. The following sections describe how to
configure each type of parameter and add the portlets to a user page.

132 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Configuring administrator parameters
Administrator parameters typically include the port number and server name.
To set administrator parameters, use the administrator user interface or edit
portlet.xml. The following parameters display when managing a portlet:
■ ServerName
■ ServerPort
■ Volume
■ ReportName
The following are optional parameters:
■ ComponentId
■ ComponentName
■ ComponentValue
■ PageNumber
The parameter names are case sensitive.
The following steps explain how to use the administrator interface.

How to configure administrator parameters


1 Log in to the portal server as the administrator.
2 Choose Portal Administration from the drop-down list.
3 Choose Portlets.
4 Choose Manage Portlets.
Portal Administration—Portlets—Manage Portlets appears.
5 Select a portlet to modify.

C hap ter 4 , U sing Actuate Active Por tal comp one nts 133
Choose Modify Parameters.
6 Replace the default parameter values with your local values for the given
portlet.

Choose Save.
After configuring the administrator parameters, you must make the portlet
available to individual users. For information about making portlets available,
see your WebSphere documentation. The individual users can add the portlet
to pages of their own then configure the user parameters.

Adding a portlet to a user page


The WebSphere administrator makes the portlets available to users but does
not add the portlets to user pages. Individual users customize their pages by
adding portlets where they wish. The following steps explain how a user adds
portlets to a page.

How to add a portlet to a page


1 Log in to the portal server using your user account information.
2 Chose Work with Pages from the drop-down list.
3 Choose Edit Layout and Content.

134 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
4 Select the Place and Page that contain the portlets from the drop-down lists.

Choose Get portlets.


5 In the search controls, select Search for portlets and Name Contains.
In the Name Contains field type:
Actuate

Choose Go.

C hap ter 4 , U sing Actuate Active Por tal comp one nts 135
6 Choose the plus icon for all three of the portlets to add them to Portlet list.

Choose OK.
7 Select all the portlets in Portlet list and choose Add.

8 Activate the page.

Configuring user parameters


User parameters include login information and any specific data a portlet
requires. The first time you set the user parameters of a portlet, you use the
single sign-on feature and provide your Actuate credentials. In the future, the

136 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
portlet uses this information to log you in to the portal. If you provide no
Actuate user credentials, the portlet logs you in to the Actuate server as an
anonymous user.

How to configure user parameters


1 Log in to the portal server using your user account information.
2 Choose Work with Pages from the drop-down list.
3 Choose Edit Layout and Content.
4 Select the Place and Page that contain the portlets from the drop-down lists.
Choose Edit for the portlet to edit. The configuration dialog appears.

5 Update the parameter values as necessary.


Choose Save.

Using Actuate WebSphere portlets


This section describes how to use Actuate WebSphere Portlets.

Using Actuate Report Documents


The Actuate Report Documents portlet displays the documents in a specified
folder with links for viewing the report object information (.roi) files as you
browse. Choosing a report activates the document link, opening the report in
the DHTML viewer in a separate browser window. The viewer supports all
functionality, including page navigation, table of contents, and SmartSearch.
Choosing the Actuate Report Documents heading opens Active Portal for JSP
in the current folder.

C hap ter 4 , U sing Actuate Active Por tal comp one nts 137
The following table lists and describes Actuate Report Documents parameters.

Default
Parameter Description value Configured by
ServerName Name of the machine localhost Administrator
running Actuate iServer
ServerPort Port number on which 8000 Administrator
iServer listens for requests
Volume Encyclopedia volume name localhost Administrator
Filter Regular expression to select * User
the reports to display
Folder name Name of the folder that ~/ User
contains the document
Maximum Maximum number of 10 User
number reports to display in the
portlet window
Password Your login password User
Title Title of the portlet window User
User name Your login name anonymous User

Using Actuate Report Templates


The Actuate Report Templates portlet displays a list of report object executable
(.rox) files for the specified folder. Choosing a report opens the report
execution window,which supports specifying report execution parameters and
running the report. Choosing the Actuate Report Templates heading opens
Active Portal for JSP in the current folder.
The following table lists and describes Actuate Report Templates parameters.

Default
Parameter Description value Configured by
ServerName Name of the machine localhost Administrator
running Actuate iServer
ServerPort Port number on which 8000 Administrator
iServer listens for requests
Volume Encyclopedia volume name localhost Administrator
Filter Regular expression to select * User
the reports to display

138 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Default
Parameter Description value Configured by
Folder name Name of the folder that ~/ User
contains the document
Maximum Maximum number of 10 User
number reports to display in the
portlet window
Password Your login password User
Title Title of the portlet window User
User name Your login name anonymous User

Using Actuate Reportlet Viewer


The Actuate Reportlet Viewer portlet consists of a component from a report,
rather than a whole report page, and supports viewing a part of the report in
the portlet window. You must first identify the component and configure it.
Report content is available in Reportlet format as whole report pages or
individual components.
The following table lists Actuate Reportlet Viewer parameters.

Default
Parameter Description value Configured by
Component Report component identifier 0 Administrator
Id
Component Report component name Administrator
Name
Component Specific instance of the report Administrator
Value component from which to
retrieve Reportlet data. The
value is the result of
evaluating a search
expression.
PageNumber Page to obtain as a Reportlet Administrator
ReportName Entire report name, such as Administrator
/myrpts/forecast.roi;1
ServerName Name of the machine localhost Administrator
running Actuate iServer
ServerPort Port number on which 8000 Administrator
iServer listens for requests
Volume Encyclopedia volume name default Administrator

C hap ter 4 , U sing Actuate Active Por tal comp one nts 139
Default
Parameter Description value Configured by
Height Maximum height of Reportlet 0 User
in points
Password Your login password User
Title Title of the portlet window User
User name Your login name anonymous User

To specify the component of the report to display in the Reportlet format, use
the component ID, the component name and component value, or the page
number. If you do not specify a value for componentValue with
componentName, Actuate Active Portal uses the first report componentName
component to which the user has access. If you do not specify a value for
componentName, Actuate Active Portal uses componentID.
To set the maximum height in points according to your web page layout, use
the Height parameter. If the Reportlet is too large, the components outside the
maximum height of the Reportlet do not appear on the web page. The default
value of maximum height is zero, which means there is no limit on the height
of the Reportlet. In that case, the whole reportlet appears.

About Actuate Sun ONE portlets


Actuate Sun ONE Portlets integrate with the Sun ONE Portal Server 6.1
environment. This approach supports portal end users’ access of Actuate
iServer functionality.
Portals are web sites that serve as gateways to information and applications on
the internet or an intranet. The basic function of a portal is to aggregate
information from different sources. A portlet provides a view of specific
information available from a portal.
Actuate Sun ONE Portlets offer many benefits to portal integration, such as
personalization and single sign-on. Once the portal administrator makes the
portlets available to end users, users can add portlets to or remove portlets
from their own pages, providing greater flexibility for customization by end
users. The single sign-on feature provides easy user access to the report server
functionality. Single sign-on is a mechanism that authenticates a user once for
a suite of applications instead of requiring the user to log in to each application
he uses. After the user’s initial login to the report server, the user is
authenticated in the portal security domain. From that point forward, logging
in to the portal logs the user in to the report server.

140 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
The following table lists the Actuate portlets and their functions.

Portlet Function
ActuateDocument Browse and view reports.
ActuateReport Browse and execute reports.
ActuateReportlet View Reportlets.

Configuring Actuate Sun ONE portlets


Each portlet’s parameters must be configured. In addition, each user must add
the portlets to a container. The following sections describe how to configure
the portlets, add them to a container, and redeploy the portal web application.

Configuring portlet parameters


Portlet parameters typically include the port number and server name. Every
portlet has the following parameters:
■ iServerName
■ iServerPort
■ actuateVolume
■ activePortalURL
■ title
■ description
■ content, edit, and process page
The following parameters are specific to the ActuateReportlet portlet:
■ component
■ file
■ page
■ format
The following parameter is specific to the ActuateDocument and
ActuateReport portlets:
■ width
The following steps explain how to use the administrator interface to
configure the portlets.

C hap ter 4 , U sing Actuate Active Por tal comp one nts 141
How to configure the Actuate portlets
1 Log in to the Sun ONE server as the administrator.

The Sun ONE Identity Server main screen appears.


2 Select Identity Management if it is not already shown.
3 If you have multiple organizations, choose the organization where the
portlets were deployed.
4 In View, select Services.

5 Choose the arrow next to Desktop

142 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
6 Select Channel and Container Management

Desktop arrow

Channel and Container Management

C hap ter 4 , U sing Actuate Active Por tal comp one nts 143
Desktop—Channels appears.

7 Scroll down to the Channels section of the page if it is not visible.

144 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
The Actuate portlet entries appear.

Next you individually configure each Actuate portlet.

Configuring the ActuateDocument portlet


1 In the ActuateDocument entry under Channels, choose Edit.

C hap ter 4 , U sing Actuate Active Por tal comp one nts 145
The Properties page appears.

2 Replace the example parameter values with your local values for the
portlet.
■ Set the title. The title is displayed as the channel’s title.
■ Set iServerName to the Actuate iServer host name.
■ Set iServerPort to the Actuate iServer port number.
■ Set actuateVolume to the desired Encyclopedia volume name.
■ Set activePortalURL to the Active Portal for JSP URL.
3 Select Save.
Desktop—Channels appears.

Configuring the ActuateReport portlet


1 In the ActuateReport entry under Channels, choose Edit.

146 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
The Properties page appears.

2 Replace the example parameter values with your local values for the
portlet.
■ Set the title. The title is displayed as the channel’s title.
■ Set iServerName to the Actuate iServer host name.
■ Set iServerPort to the Actuate iServer port number.
■ Set actuateVolume to the desired Encyclopedia volume name.
■ Set activePortalURL to the Active Portal for JSP URL.
3 Select Save.
Desktop—Channels appears.

Configuring the ActuateReportlet portlet


1 In the ActuateReportlet entry under Channels, choose Edit.

C hap ter 4 , U sing Actuate Active Por tal comp one nts 147
The Properties page appears.

2 Replace the example parameter values with your local values for the
portlet.
■ Set the title. The title is displayed as the channel’s title.
■ Set iServerName to the Actuate iServer host name.
■ Set iServerPort to the Actuate iServer port number.
■ Set actuateVolume to the desired Encyclopedia volume name.
■ Set activePortalURL to the Active Portal for JSP URL.
■ Set the page number of the report to view as a Reportlet.
■ Set the component ID, if any.
■ Set the name of the file from which the Reportlet is created.
■ Set format to Reportlet.
3 Select Save.
Desktop—Channels appears.

148 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Adding the portlets to a container
The portlets must be added to a container to make them available. The
following steps describe how to add the portlets to an existing container.

How to add portlets to a container


1 In Desktop—Channels, scroll to Container Channels.
2 Select the container channel to contain the portlets from the Container
Channels list by choosing its Edit button.

C hap ter 4 , U sing Actuate Active Por tal comp one nts 149
3 In Channel Management, select all the Actuate portlets from Existing
Channels.

150 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
4 Choose Add to add the portlets to the Container.

5 Choose Save to complete the operation.

Redeploying the portal web application


After the portlets are installed and configured, you must redeploy the portal
web application with the deploy command. The following example is typical:
/opt/SUNWps/bin/deploy deploy -instance "userOne.Sun.COM"
-uri /portal -is_admin_password password
Replace password with your actual password.

Using Actuate Sun ONE portlets


This section describes how to use Actuate Sun ONE Portlets.
Log in to your portal server. After a successful login, all the Actuate portlets
will appear, along with the following message:
Please configure the user details:
Choose Edit for each portlet in turn to set the portlet defaults.

C hap ter 4 , U sing Actuate Active Por tal comp one nts 151
Using ActuateDocument
The Actuate Report Documents portlet displays the documents in a specified
folder with links for viewing the report object information (.roi) files as you
browse. Choosing a report activates the document link, opening the report in
the DHTML viewer in a separate browser window. The viewer supports all
functionality, including page navigation, table of contents, and SmartSearch.
Choosing the Actuate Report Documents heading opens Active Portal for JSP
in the current folder.

How to configure the ActuateDocument defaults


1 Choose the ActuateDocument edit icon.

2 Set the following parameters using values for your installation:


■ User Name—Enter your Actuate user name
■ Password—Enter your Actuate password
■ Folder Name—Enter the name of the folder containing the documents
to view. Use ~/ for your home folder.
■ Filter—Enter the filter string for the reports to select. Use * for all
reports.
■ Max Number of files to display—Enter the maximum number of files
you want returned.
3 Select Finish to save your choices.

Using ActuateReport
The Actuate Report Templates portlet displays a list of report object executable
(.rox) files for the specified folder. Choosing a report opens the report
execution window, which supports specifying report execution parameters
and running the report.

152 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
How to configure the ActuateReport defaults
1 Choose the ActuateReport edit icon.

2 Set the following parameters using values for your installation:


■ User Name
Enter your Actuate user name
■ Password
Enter your Actuate password
■ Folder Name
Enter the name of the folder containing the documents to view. Use ~/
for your home folder.
■ Filter
Enter the filter string for the reports to select. Use * for all reports.
■ Max Number of files to display
Enter the maximum number of files you want returned.
3 Select Finish to save your choices.

Using ActuateReportlet
The Actuate Reportlet Viewer portlet consists of a component from a report,
rather than a whole report page, and supports viewing a part of the report in
the portlet window. You must first identify the component and configure it.
Report content is available in Reportlet format as whole report pages or
individual components.
To specify the component of the report to display in the Reportlet format, use
the component ID, the component name and component value, or the page
number. If you do not specify a value for componentValue with

C hap ter 4 , U sing Actuate Active Por tal comp one nts 153
componentName, Actuate Active Portal uses the first report componentName
component to which the user has access. If you do not specify a value for
componentName, Actuate Active Portal uses componentID.
To set the maximum height in points according to your web page layout, use
the Height parameter. If the Reportlet is too large, the components outside the
maximum height of the Reportlet do not appear on the web page. The default
value of maximum height is zero, which means there is no limit on the height
of the Reportlet. In that case, the whole reportlet appears.

How to configure the ActuateReportlet defaults


1 Choose the ActuateReportlet edit icon.

2 Set the following parameters using values for your installation:


■ User Name
Enter your Actuate user name
■ Password
Enter your Actuate password
■ Channel Height
Enter the desired height in points of the Reportlet.
3 Select Finish to save your choices.

154 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
After completing these steps, your front page will contain the portlets.

About Actuate WebLogic Workshop tag library


Actuate iServer Components for BEA WebLogic Workshop custom tags offer
many benefits to WebLogic application developers, such as integration and
single sign-on. You can integrate the Actuate iServer System into an
application’s web pages by just dropping the tag into the web page, setting the
necessary attributes, and executing the page to retrieve data from the Actuate
iServer. The single sign-on feature provides easy user access to the Actuate
iServer functionality. Single sign-on is a mechanism that authenticates a user
once for a suite of applications instead of requiring the user to log in to each
application used. After the user’s initial login to the Actuate iServer, the user is
authenticated and from that point forward, subsequent uses of the tag do not
result in sending a login request to the Actuate iServer.
The following table lists the Actuate tags and their functions.

Tag Function
actu:filelist Browse and view reports

C hap ter 4 , U sing Actuate Active Por tal comp one nts 155
Tag Function
actu:reportlet View Reportlets
actu:viewer View reports

The tag library actuatetags resides in the Web-inf directory of the sample
application. The library defines the XML tags and attributes that you can use.
The following example shows how to include the tags in your JSP:
<%@ taglib uri="actuatetags" prefix="actu"%>
You declare that a page uses tags by including the taglib directive in the page
before you use any custom tag. The uri attribute refers to a URI (Uniform
Resource Identifier) that uniquely identifies the tag library descriptor (TLD). A
TLD file is an XML document that describes a tag library. The prefix attribute
defines the prefix that distinguishes tags defined by a given tag library from
those provided by other tag libraries. The prefix can differ for each use of the
taglib statement, but every prefix must be unique within a page. Custom tag
names are case sensitive.

Using Actuate WebLogic Workshop tags


This section provides the detailed reference for Actuate iServer Components
for BEA WebLogic Workshop custom tags.

Actuate tags common attributes


All Actuate iServer tags have the attributes shown in the following table.
String values that are too long are truncated for all attributes.

Name Required Description


activePortalURL No The base URL for the Actuate Active
Portal instance. The default is
http://localhost:8700/acweb.
authID No The unique authentication ID assigned to
the user upon successful login.
height No The height in pixels of the control to
render. The default is 200. If height is not
used and styleClass is specified, the
styleClass is expected to supply the
height.

156 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Name Required Description
locale No The current user’s locale, such as en_US
for U.S. English. The application server’s
locale is the default.
password No The password associated with the userID.
The default is an empty string.
serverURL No Contains the URI that accesses the Actuate
iServer. The default is http://
localhost:8000.
styleClass No The CSS style class to be used for
rendering the control. This will override
the default style settings.
userID Yes The user’s unique identifier, used to log in
to the Actuate iServer. If authID is
specified userID is not used for login, but
is used by Active Portal for display
purposes.
volume Yes The Encyclopedia volume to log in to.
width No The width in pixels of the control to
render. The default is 300. If width is not
used and styleClass is specified, the
styleClass is expected to supply the width.

actu:filelist
Displays the documents in a specified folder with links for viewing report
object information (.roi) and report object executable (.rox) files as you browse.
Choosing a report activates the document link, opening the report in the
DHTML viewer in a separate browser window. The viewer supports all
Actuate functionality, including page navigation, table of contents, and
SmartSearch.
Library actuatetags

C hap ter 4 , U sing Actuate Active Por tal comp one nts 157
Attributes The following table lists the attributes for this tag. For attributes common to all
tags, see “Actuate tags common attributes,” earlier in this document.

Name Required Description


columns No A comma-separated list of case-sensitive
column names to be displayed. The
default list is Name, Version, FileType, and
TimeStamp. The following column names
are available:
■ AccessType—The access level of the
file
■ Description—The file description, if
any
■ FileType—The type of file, either report
executable or report document
■ Id—The file ID number in the
Encyclopedia volume
■ Name—The file name
■ Owner—The user owning the file
■ PageCount—The number of pages in
the file
■ Size—The file size in KB
■ TimeStamp—The date and time the file
was last modified
■ UserPermissions—Shows the
privileges the user has on the file
■ Version—The file version number
■ VersionName—The file version name,
if any
Column names are case-sensitive.
filter No A filter expression to be applied to the file
list. The default is * for all files.
folder No The Encyclopedia volume folder whose
files are to be listed. The default is /, the
top level of the volume.
headerStyleClass No The CSS style class to apply to column
headings.
rowStyleClass1 No The CSS style class to be applied to rows.
rowStyleClass2 No The CSS style to be applied to alternating
rows.

158 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Name Required Description
type No The type of files to show. Values are:
■ executables—only executable (.rox)
files are shown.
■ documents—only viewable (.roi) files
are shown.
■ all—both executable and viewable files
are shown. This is the default.
wrap No A Boolean value indicating whether the
content should be wrapped or not. The
default is True, to wrap content.

Tag class com.actuate.integration.tags.FileListTag


Example The following example defines a filelist listing all the executable and viewable
documents in the Training folder on the Encyclopedia volume Guitar:
<actu:filelist userId="administrator" volume="Guitar" wrap="false"
folder="/Training" styleClass="filelist" type="all">
</actu:filelist>

actu:reportlet
Displays a Reportlet. This tag sends the request to the Actuate iServer to
retrieve the Reportlet and then displays the Reportlet on screen.
Library actuatetags

C hap ter 4 , U sing Actuate Active Por tal comp one nts 159
Attributes The following table lists the attributes for this tag. For attributes common to all
tags, see “Actuate tags common attributes,” earlier in this document.

Name Required Description


componentID No The identifier of the report component
from which to retrieve Reportlet data.
Specify either componentID, or
componentName and componentValue. If
none are specified, componentID defaults
to 0.
componentName No The name of the report component from
which to retrieve Reportlet data. The
componentName is the name of the
component assigned in the .rod, such as
NewReport::Frame1. If componentName
is not specified, the componentID is used.
Use in conjunction with componentValue.
Specify either componentName and
optionally componentValue, or
componentID.
componentValue No A value identifying the specific instance of
the report component from which to
retrieve Reportlet data. The value is the
result of evaluating a search expression.
Use componentValue in conjunction with
componentName. Specify either
componentName and componentValue, or
componentID. If unspecified,
componentValue defaults to the first
report component specified by
componentName that the user has access
to.
name Yes The Reportlet source’s full Encyclopedia
volume pathname.
page No The single page number to display as a
Reportlet. This value is used if none of
componentName, componentValue, or
componentID are specified.
reportletMaxheight No The Reportlet’s maximum height in
points.
version No The version number for the Reportlet
source document. The default is the latest
version.

160 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Tag class com.actuate.integration.tags.ReportletTag
Example The following example displays a Reportlet using the part of the Portfolio
report identified by the componentID number 6140. The report is in the
Encyclopedia volume SampleVolume:
<actu:reportlet userId="administrator" volume="SampleVolume"
name="/Portfolio/Portfolio.roi" styleClass="reportlet" componentId="6140">
</actu:reportlet>

actu:viewer
Embeds the Actuate Active Portal DHTML viewer in an IFrame and displays
it in a browser. The tag connects directly to Actuate Active Portal for the
viewer page.
Library actuatetags
Attributes The following table lists the attributes for this tag. For attributes common to all
tags, see “Actuate tags common attributes,” earlier in this document.

Name Required Description


name Yes The report document’s full Encyclopedia
volume pathname.
version No The version number of the report
document. This defaults to the latest
version.
page No The document page number to display.
This defaults to the first page.

Tag class com.actuate.integration.tags.ViewerTag


Example The following example displays the SalesDetail report from the Training folder
on the Encyclopedia volume Guitar. The display starts with page three:
<actu:viewer userId="administrator" volume="Guitar"
name="/Training/SalesDetail.roi" page="3" styleClass="viewer">
</actu:viewer>

C hap ter 4 , U sing Actuate Active Por tal comp one nts 161
Using the Actuate WebLogic sample application
Actuate iServer Components for BEA WebLogic Workshop provides a sample
application, ActuateSampleWeb, which demonstrates the use of the tags.
ActuateSampleWeb contains two JSPs, described in the following list:
■ index.jsp demonstrates the use of the three Actuate iServer Components
for BEA WebLogic Workshop tags.
■ error.jsp provides error handling.

How to build the ActuateSampleWeb application


1 Within WebLogic Workshop, choose File➛Open➛Application.
2 Open the ActuateSampleWeb application by navigating to:
<BEA WebLogic Workshop home>\samples\partners\Actuate\sample
and opening:
ActuateSample.work

ActuateSampleWeb appears.

162 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
3 Choose Build➛Build application.

ActuateSampleWeb builds.
4 If the WebLogic server is not running, choose
Tools➛WebLogic Server➛Start WebLogic Server.
WebLogic Server Progress appears.
5 Double-click Controller.jpf
Controller.jpf appears.

C hap ter 4 , U sing Actuate Active Por tal comp one nts 163
6 Choose Debug➛Start without Debugging.

ActuateSampleWeb appears in the BEA browser. Each tag creates a


component of the page.

164 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Reportlet tag Filelist tag
component component

Viewer tag
component

The reportlet tag displays an animated image. The entire component is a


hyperlink to the Actuate web site’s Partners page.
The filelist tag lists an Excel spreadsheet, a cube report, and an information
object. Select each file to have it display in its matching application.
The viewer tag displays the first page of a large report. You can use the TOC
button or enter page numbers on the navigation bar to move around the
report. You can also perform searches within the report, print all or part of the
report, review the online help, and select client names to drill down for more
information.

C hap ter 4 , U sing Actuate Active Por tal comp one nts 165
166 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Part

Actuate Active Portal reference


Part 2
2

Pa r t 2 , A c tu a t e A c t i ve Po r t a l r e fe r e n c e 167
168 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Chapter

Actuate Active Portal


Chapter 5
5
URIs
This chapter contains the following topics:
■ Actuate Active Portal URIs overview
■ Actuate Active Portal URIs quick reference
■ Common URI parameters
■ Active Portal for JSP Struts actions
■ Actuate Active Portal URIs reference

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 169
Actuate Active Portal URIs overview
This chapter describes Actuate Active Portal URIs. Active Portal for JSP JSPs
and Active Portal for .NET ASPXs manage content. The following sections
provide quick reference tables and detailed reference information about
Actuate Active Portal URIs. An Actuate Active Portal URI is a directive to
Actuate Active Portal to perform an action, such as showing a list of files,
rather than change the appearance of the site.
Active Portal for JSP pages use the .do file-name extension for Struts action
mapping to a page. Active Portal for .NET pages use the .aspx file-name
extension for pages and the .ascx file-name extension for controls. To modify
Active Portal for .NET pages that are not directly accessible, modify the ASCX
file instead of the ASPX file. The proper name appears as part of the reference
material. Actuate Active Portal page and folder names are case sensitive.

Actuate Active Portal URIs quick reference


The following table lists the Actuate Active Portal URIs. For more information
about the Active Portal for .NET directory structure, see “Working with Active
Portal for .NET” in Chapter 2, “Creating a custom Active Portal for .NET web
site.” For more information about the Active Portal for JSP directory structure,
see “Understanding Active Portal for JSP directory structure” in Chapter 3,
“Creating a custom Active Portal for JSP web site.”

Actuate Active Portal


page Description
about page Displays information about Actuate Active Portal.
authenticate page Performs authentication and maintains user, cluster,
and volume information.
banner page Displays a banner at the top of each Actuate Active
Portal page.
browse file page Provides file and folder browsing functionality for
the submit request pages.
browse page See browse file page.
calendar page Provides calendar functionality for submit request’s
scheduling feature.
canceljob page See request drop page page.
channels page Displays the channels property sheet.

170 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Actuate Active Portal
page Description
completed request Lists all completed requests.
page
create folder page Creates a folder.
create query page Creates a query.
delete file status page Displays whether a file was successfully deleted.
delete job page Deletes a scheduled job.
delete status page Deletes the completed job notice.
deletefile page See drop page.
deletejob page See delete job page.
detail page Supports error handling and presenting
Encyclopedia object details.
do_update page See options page.
drop page Supports deleting files or cancelling running jobs.
error page Retrieves an error message from the exception or the
request and displays it.
execute page Runs a query.
execute query page Submits a synchronous Actuate Query to the server.
execute report page Submits a synchronous request to the server.
executereport page See execute report page.
general options page Displays the general user settings and environment
settings property sheet.
get report data page Views a Reportlet in Active Portal for .NET.
getfiledetails page See file or folder detail page.
getfolderitems page See file and folder index page.
getjobdetails page See request detail page.
get saved search page Executes a saved search.
home page Provides the link from the My Folder button to the
Actuate Active Portal home page.
index page Provides the structure and entry point for those
parts of Active Portal for .NET generated from
multiple files.
list page Supports listing channels, channel contents, and
Encyclopedia objects.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 171
Actuate Active Portal
page Description
login banner page Provides the banner for the Actuate Active Portal
login page.
login page Logs into the reporting web site.
logout page Logs the user out of the current session and clear all
user settings, such as filters.
notification page Supports specifying the current user’s request
notification options.
options page Updates options and user settings. See also options
index page.
output page Presents a form for specifying output information
for asynchronous reports, such as report object
name and location.
page not found page Displays an error message when a JSP is unavailable
in Active Portal for JSP.
parameters page Presents a list of the request parameters.
pending page Lists all requests awaiting execution.
ping page Diagnostics for Actuate iServer System components.
print page Prints reports in PDF format.
privileges page Sets file and folder privileges.
processed action status Summarizes the result of a request deletion, notice
page deletion, or active job cancellation, or displays the
status of a successfully completed action.
request search page Presents the search request form, then performs the
search.
running page Lists all requests currently executing.
save as page Supports downloading the report in PDF, RTF, and
Excel format.
schedule page Presents a form for specifying asynchronous request
schedule properties, such as date, time, recurring
request, and immediate report run.
scheduled job page Lists all requests awaiting execution at specified
dates and times.
search frame page Processes report search criteria.
search folders page Searches folders recursively for files and folders.
search report page Submits report search criteria, obtains search
results, and presents the results to the user.

172 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Actuate Active Portal
page Description
search toolbar page Builds and displays the search toolbar.
selectjobs page See requests index page.
submit job page Submits an asynchronous request to the server.
submit page Copies or reruns a completed query.
submitjob page See submit job page.
tabs page Supports Actuate Active Portal tabs.
view cube page Accesses an Actuate Analytics cube or view.
view default page Displays the report in the user’s preferred format,
set in User Preferences.
view embedded object Displays a report using a viewing servlet.
page
view frame set page Displays the report along with the navigation bar.
view navigation page Displays the navigation bar.
view page page Displays the contents of a specified report page.
view third-party report Displays a report from a non-Actuate system.
page
view TOC page Displays the report’s table of contents.

Common URI parameters


All Actuate Active Portal URIs have the parameters shown in the following
table. String values that are too long are truncated for all parameters. The
common URI parameters support Actuate Active Portal authentication using
cookies.

URI parameter Description


authID The unique authentication ID assigned to the user
upon successful login.
forceLogin True to force a login, False to display the login page.
The default is False. For example, when switching
between Encyclopedia volumes and using APSE, set
forceLogin=true to force the Active Portal Login
module to call APSE to perform the login operation.
This prevents the login page from appearing
unnecessarily.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 173
URI parameter Description
locale The current user’s locale, such as U.S. English
(en_US or en-US). Active Portal for JSP locale names
have the form nn_CC, while Active Portal for .NET
locale names have the form nn-CC. nn is the
language abbreviation and CC is the country code in
both formats.
password The password associated with the userID.
serverURL Contains the URI that accesses the Actuate iServer,
such as http://Services:8000.
timeZone The current user’s time zone.
userID The user’s unique identifier, required to log in to the
Actuate iServer.
volume The volume to which the user is connected.

The following Active Portal for JSP URI shows most of the common URI
parameters in use:
http://localhost:8700/acweb/getfolderitems.do?folder=/Training
&volume=Encyc2&locale=en_AU&userID=Mike&password=pw123
&serverURL=http://Seamore:8000&timeZone=Australia/Perth
This URI lists the contents of the Training folder in the Encyc2 Encyclopedia
volume on the Actuate iServer named Seamore at port 8000. The locale is set to
Australian English and the time zone is Australia/Perth (GMT plus eight
hours). The user is Mike and the password is pw123. Note that the password is
shown in plain text, as entered.
The following Active Portal for .NET example lists the contents of the Training
folder on Encyclopedia volume Seamore without requiring the user to log in
again, even if they were accessing a different volume:
http://localhost:80/acweb/filesfolders/index.aspx?subpage=_list
&folder=/Training&volume=Seamore&forceLogin=true
This example assumes that the user has the necessary privileges for
Encyclopedia volume Seamore.

Active Portal for JSP Struts actions


The following tables summarize the global forwards and actions defined in
struts-config.xml.

174 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
The following table lists the global forwards defined in struts-config.xml.

Action Forward
authexpired /login.do
browsefile /browsefile.do
canceljob /canceljob.do
createquery /query/create.do
deletefile /deletefile.do
deletejob /deletejob.do
deletejobnotice /deletejobnotice.do
downloadfile /servlet/DownloadFile
error /private/common/errors/errorpage.jsp
executedocument /executedocument.do
executequery /query/execute.do
executereport /executereport.do
getjobdetails /getjobdetails.do
getsavedsearch /viewer/getsavedsearch.do
goto /private/common/goto.jsp
login /login.do
logout /logout.do
skinerror /private/common/errors/error.jsp
submitquery /query/submit.do
viewcube /viewcube.do
viewframeset /viewer/viewframeset.jsp
viewpage /servlet/ViewPage

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 175
The following table lists the action, input JSP, and forward name and path
defined in struts-config.xml.

Action Input JSP Forward name path


/analyticsbrowsefolder /private name=success
/cubeviewer path=/private/cubeviewer
/analytics /analyticsbrowsefolder.jsp
browse
folder.jsp
/browsefile /private name=success
/newrequest path=/private/newrequest
/browse.jsp /browse.jsp
/canceljob name=success
path=/private/jobs
/joboperationstatus.jsp
/cancelreport name=Succeeded
path=/viewer
/closewindow.jsp
name=Failed
path=/viewer
/closewindow.jsp?status=failed
name=InActive
path=/viewer
/closewindow.jsp?status=inactive
/createfolder name=success
path=/getfolderitems.do
name=cancel
path=/getfolderitems.do
/cubedetail name=success
path=/servlet/DownloadFile
/deletefile name=success
path=/private/filesfolders
/deletefilestatus.jsp
/deletejob name=success
path=/private/jobs
/joboperationstatus.jsp
/deletejobnotice name=success
path=/private/jobs
/joboperationstatus.jsp
/executedocument name=success
path=/executereport.do

176 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Action Input JSP Forward name path
/executereport /private name=viewroi
/newrequest path=/viewer/viewframeset.jsp
/newrequest.jsp name=viewreport
path=/servlet/DownloadFile
name=wait
path=/private/newrequest
/waitforexecution.jsp
/filefoldersprivilege /private name=success
/filesfolders path=/getfolderitems.do
/privilege.jsp
/getfiledetails name=success
path=/private/filesfolders
/filedetail.jsp
/getfolderitems name=success
path=/private/filesfolders
/filefolderlist.jsp
/getjobdetails name=success
path=/private/jobs
/getjobdetails.jsp
/getnoticejobdetails name=success
path=/private/jobs
/getjobdetails.jsp
/viewer name=success
/getsavedsearch path=/getfolderitems.do
name=searchreport
path=/viewer/searchreport.jsp
name=requestsearch
path=/viewer/requestsearch.jsp
/login /private name=loginform
/login.jsp path=/private/login.jsp
name=success
path=/getfolderitems.do
/logout name=login
path/login.do
/options /private name=success
/options path=/private/options
/options.jsp /options.jsp
name=saved
path=/getfolderitems.do

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 177
Action Input JSP Forward name path
/options/save /private name=success
/options path=/getfolderitems.do
/options.jsp name=saved
path=/getfolderitems.do
/ping name=success
path=/private/diagnosis
/pingresponse.jsp
/query/create /private name=success
/query path=/private/query/create.jsp
/create.jsp name=cancel
path=/getfolderitems.do
/query/execute /private name=success
/query path=/private/query
/execute.jsp /execute.jsp
name=cancel
path=/getfolderitems.do
/query/submit /private name=success
/query path=/private/query
/execute.jsp /execute.jsp
name=cancel
path=/getfolderitems.do
/selectchannels name=channellist
path=/private/channels
/channellist.jsp
/selectjobnotices name=success
path=/private/channels
/channelnoticelist.jsp
/selectjobs name=success
path=/private/jobs
/selectjobs.jsp
/searchfiles name=success
path=/private/filesfolders
/search/filefolderlist.jsp

178 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Action Input JSP Forward name path
/submitjob /private name=query
/newrequest path=/query/submit.do
/newrequest.jsp name=success
path=/private/newrequest
/submitjobstatus.jsp
/viewcube name=analyticsbrowsefolder
path=analyticsbrowsefolder.do
name=analyticsexplevel
path=servlet/AnalyticsExpLevel
name=downloadcube
path=servlet/DownloadFile
name=dbdetail
path=cubedetail.do
name=dbstore
path=servlet/CubeStore
name=odbotunnel
path=servlet/OdboTunnel
name=success
path=/private/cubeviewer
/viewcube.jsp

Actuate Active Portal URIs reference


This section provides the detailed reference for Actuate Active Portal URIs. In
the definitions, <context root> represents the name of your Actuate Active
Portal context root, usually acweb.
The following table lists the topics this chapter covers and the file names
discussed in each topic. The table also includes the file names from Active
Portal for JSP Release 6 for those customers who are upgrading. All pages are
under the appropriate context root.

Active Portal for JSP Active Portal for JSP Active Portal for
Topic Release 6 file file .NET file
about page options\about.jsp private\options options\about.ascx
\about.jsp
authenticate page authenticate.jsp authenticate.jsp authenticate.aspx

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 179
Active Portal for JSP Active Portal for JSP Active Portal for
Topic Release 6 file file .NET file
banner page common\banner.jsp private\common common\banner.ascx
\banner.jsp
browse file page newrequest browsefile.do common
\browse.jsp private\query \browsefile.aspx
\browse.jsp
calendar page newrequest private\newrequest newrequest
\calendar_support.jsp \calendar.jsp \calendar.aspx
channels page options\channels.jsp private\options options
\channels.js \channels.ascx
completed request requests private\jobs requests\tabs.ascx
page \completed.jsp \completedjob.jsp
create folder page Not applicable createfolder.do filesfolders
\createfolder.aspx
create query page Not applicable create.do query\create.aspx
private\query
\create.jsp
delete file status page filesfolders private\filesfolders do_deletestatus.aspx
\deletedfile_status.jsp \deletefilestatus.jsp
delete job page requests deletejob.do requests
\do_deletejob.jsp \do_deletejob.aspx
delete status page requests deletejobnotice.do requests
\do_deletestatus.jsp \do_deletestatus.aspx
detail page
■ error detail page errors\detail.jsp errors\detail.jsp errors\error.aspx
getfiledetails.do
■ file or folder detail filesfolders private\filesfolders filesfolders
page \details.jsp \filedetail.jsp \detail.ascx
■ request detail page requests\detail.jsp getjobdetails.do requests\detail.aspx
private\jobs
\getjobdetails.jsp
drop page
■ file or folder drop filesfolders deletefile.do filesfolders
page \do_drop.jsp \do_drop.aspx
■ request drop page requests\do_drop.jsp canceljob.do requests
\do_drop.aspx

180 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Active Portal for JSP Active Portal for JSP Active Portal for
Topic Release 6 file file .NET file
error page errors\error.jsp errors\error.jsp errors\error.aspx
viewer\error.jsp private\common
\errors\error.jsp
execute page Not applicable query\execute.do query\execute.aspx
execute query page Not applicable newrequest newrequest\do
\do_executequery.jsp _executequery.aspx
execute report page newrequest executereport.do newrequest\do
\do_executereport.jsp _executereport.aspx
general options page options\general.jsp private\options options\general.ascx
\general.jsp
get report data page Not applicable Not applicable viewer
\getreportdata.aspx
get saved search page Not applicable viewer viewer
\getsavedsearch.do \getsavedsearch.aspx
home page common private\common common
\mydocuments.jsp \breadcrumb.jsp \navigation.ascx
index page
■ file and folder filesfolders\index.jsp getfolderitems.do filesfolders\
index page private\filesfolders index.aspx
\filefolderlist.jsp
■ new request index newrequest\index.jsp executereport.do newrequest\
page index.aspx
■ options index page options\index.jsp options.do options\index.aspx
private\options
\options.jsp
■ requests index requests\index.jsp selectjobs.do requests\index.aspx
page private\jobs
\selectjobs.jsp
list page
■ channels list page Not applicable selectchannels.do channels\list.aspx
private\channels
\channellist.jsp
■ channel contents channels\list.jsp private\channels channels
list page \channelnoticelist.jsp \channellist.ascx

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 181
Active Portal for JSP Active Portal for JSP Active Portal for
Topic Release 6 file file .NET file
■ file and folder list filesfolders\list.jsp getfolderitems.do filesfolders\list.ascx
page private\filesfolders
\filefolderlist.jsp
login banner page login_banner.jsp private common
\login_banner.jsp \simple_banner.ascx
login page login.jsp login.do login.aspx
private\login.jsp
logout page logout.jsp logout.do logout.aspx
notification page options private\options options
\notification.jsp \notification.jsp \Notification.ascx
options page options\index.jsp options.do options\index.aspx
private\options
\options.jsp
output page newrequest private\newrequest newrequest
\output.jsp \output.jsp \savefile.ascx
page not found page errors errors
\pagenotfound.jsp \pagenotfound.jsp
parameters page newrequest private\newrequest common
\parameters.jsp \parameters.jsp \parameters.ascx
pending page requests\pending.jsp private\jobs newrequest
\pendingjob.jsp \do_execute.ascx
ping page Not applicable ping.do ping.aspx
private\diagnosis
\pingresponse.jsp
print page Not applicable viewer\print.jsp viewer\print.aspx
processed action requests Not applicable. requests
status page \processedaction_ \processedaction_
status.jsp status.aspx
request search page viewer viewer viewer
\requestsearch.jsp \requestsearch.jsp \requestsearch.aspx
running page requests\running.jsp private\jobs requests\tabs.ascx
\runningjob.jsp
save as page viewer\saveas.jsp viewer\saveas.jsp viewer\saveas.aspx
schedule page newrequest private\newrequest common
\schedule.jsp \schedule.jsp \Schedule.ascx

182 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Active Portal for JSP Active Portal for JSP Active Portal for
Topic Release 6 file file .NET file
scheduled job page requests private\jobs requests\tabs.ascx
\scheduled.jsp \scheduledjob.jsp
search folders page Not applicable searchfiles.do search\search.aspx
private\filesfolders
\search
\filefolderlist.jsp
search frame page viewer viewer viewer
\searchframe.jsp \searchframe.jsp \searchframe.aspx
search report page viewer viewer viewer
\searchreport.jsp \searchreport.jsp \searchreport.aspx
search toolbar page viewer viewer viewer
\searchtoolbar.jsp \searchtoolbar.jsp \searchtoolbar.aspx
submit job page newrequest submitjob.do newrequest
\do_submitjob.jsp private\newrequest \do_submitjob.aspx
\submitjobstatus.jsp
submit page Not applicable query\submit.do query\submit.aspx
private\query
\execute.jsp
tabs page
■ options tabs page options\tabs.jsp Not applicable options\tabs.ascx
■ query tabs page Not applicable Not applicable query\tabs.ascx
■ request tabs page requests\tabs.jsp Not applicable requests\tabs.ascx
view cube page Not applicable viewcube.do viewcube.aspx
view default page viewer viewer viewer
\viewdefault.jsp \viewdefault.jsp \viewdefault.aspx
view embedded object Not applicable Not applicable viewer\
page viewembeddedobject
.aspx
view frame set page viewer viewer viewer
\viewframeset.jsp \viewframeset.jsp \viewframeset.aspx
view navigation page viewer viewer viewer
\viewnavigation.jsp \viewnavigation.jsp \viewnavigation.aspx
view page page Not applicable Not applicable viewer
\viewpage.aspx

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 183
Active Portal for JSP Active Portal for JSP Active Portal for
Topic Release 6 file file .NET file
view third-party Not applicable Not applicable viewer
report page \
view3partyreport.aspx
view TOC page viewer\viewtoc.jsp viewer\viewtoc.jsp viewer\viewtoc.aspx

about page
Displays the Help about page, containing information about Actuate Active
Portal. Called when the user chooses the About tab on the Options page.
The default about page for Active Portal for JSP is similar to the following
illustration.

184 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
The default about page for Active Portal for .NET is similar to the following
illustration.

Name JSP: <context root>\private\options\about.jsp


.NET: <context root>\options\about.ascx
Parameters The about page uses the common URI parameters. For more information, see
“Common URI parameters,” earlier in this chapter.
Used by The following table lists the pages that use the about page. All files are under
the appropriate context root.

Active Portal for JSP Active Portal for .NET


private\options\optionspage.jsp options\tabs.ascx

authenticate page
Performs user authentication and maintains the user, cluster, and volume
information authentication data during the user’s session. Pages that require
validation of user credentials before permitting access to folders or files use
the authenticate page. In Active Portal for JSP, only pages for the DHTML
viewer use the authenticate page. The remaining Active Portal for JSP pages
use the Struts framework for authentication.
Name JSP: <context root>\authenticate.jsp
.NET: <context root>\authenticate.aspx

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 185
Parameters The authenticate page uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.
Used by The following table lists the pages that use the authenticate page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


errors\error.jsp newrequest\cancelreport.aspx
viewer\closewindow.jsp templates\popuptemplate.ascx
viewer\print.jsp templates\querytemplate.ascx
viewer\requestsearch.jsp templates\template.ascx
viewer\saveas.jsp viewer\downloadsearchresult.aspx
viewer\searchframe.jsp viewer\getreportdata.aspx
viewer\searchreport.jsp viewer\print.aspx
viewer\searchtoolbar.jsp viewer\requestsearch.aspx
viewer\viewdefault.jsp viewer\saveas.aspx
viewer\viewframeset.jsp viewer\searchframe.aspx
viewer\viewnavigation.jsp viewer\searchreport.aspx
viewer\viewreport.jsp viewer\searchtoolbar.aspx
viewer\viewtoc.jsp viewer\view3partyreport.aspx
private\newrequest\ viewer\viewdefault.aspx
waitforexecution.jsp
viewer\viewembeddedobject.aspx
viewer\viewframeset.aspx
viewer\viewnavigation.aspx
viewer\viewpage.aspx
viewer\viewtoc.aspx

banner page
Provides the banner that appears across the top of all Actuate Active Portal
web pages. The default banner displays the Actuate logo, user name, cluster
name, and volume name, and provides links for Logout, Options, and Help.
The banner page obtains the user name, cluster name, and volume name from
variables maintained by the authenticate page.
Name JSP: <context root>\private\common\banner.jsp
.NET: <context root>\common\banner.ascx

186 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Used by The following table lists the pages that use the banner page. All files are under
the appropriate context root.

Active Portal for JSP Active Portal for .NET


private\login.jsp common\banner.ascx
private\channels\ common\simple_banner.ascx
channelnoticelist.jsp
private\channels\ templates\logintemplate.ascx
channeloperationstatus.jsp
private\filesfolders\ templates\querytemplate.ascx
deletefilestatus.jsp
private\filesfolders\filedetail.jsp templates\template.ascx
private\filesfolders\filefolderlist.jsp
private\jobs\getjobdetails.jsp
private\jobs\joboperationstatus.jsp
private\jobs\selectjobs.jsp
private\newrequest\newrequest.jsp
private\newrequest\newrequest2.jsp
private\newrequest\
submitjobstatus.jsp
private\options\options.jsp
private\query\create.jsp
private\query\execute.jsp

browse file page


Contains file and folder browsing functionality used by other submit request
pages.
Name JSP: <context root>\browsefile.do
<context root>\private\query\browse.jsp
.NET: <context root>\common\browsefile.aspx
Parameters workingFolder is the name of the folder for which to display contents in the
folder browser window. The browse file page also uses the common URI
parameters. For more information, see “Common URI parameters,” earlier in
this chapter.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 187
Used by The following table lists the pages that use the browse file page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


private\newrequest\browse.jsp common\browsefile.aspx
private\query\browse.jsp newrequest\index.aspx

calendar page
Provides calendar functionality for the submit request scheduling feature.
Name JSP: <context root>\private\newrequest\calendar.jsp
.NET: <context root>\newrequest\calendar.aspx
Used by The following table lists the pages that use the calendar page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


private\newrequest\ newrequest\calendar_support.ascx
newrequestpage.jsp
private\query\createpage.jsp
private\query\runpage.jsp

channels page
Displays the channels property sheet. The channels page presents a list of all
channels available on the current volume. Channels to which the user
subscribes appear with their checkboxes selected.

188 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
The channels page looks like the following illustration.

Users choose which channels they want to see in the list by specifying a filter.
For example, to see all Marketing Communications channels, the user might
type the filter Mar* in the Filter field. Channels uses the HTTP session variable
AcChannelFilter to save the current filter value. AcChannelFilter works if
cookies are enabled. For more information, see Chapter 17, “Administering
channels and notification groups,” in Administering Actuate iServer System.
Name JSP: <context root>\private\options\channels.jsp
.NET: <context root>\options\channels.ascx
Used by The following table lists the pages that use the channels page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


private\options\optionspage.jsp options\tabs.ascx

completed request page


Lists all completed requests. The completed request page lists all reports that
have executed and are available or whose execution failed.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 189
The completed request page looks like the following illustration.

Name JSP: <context root>\private\jobs\completedjob.jsp


.NET: <context root>\requests\tabs.ascx
Parameters The completed request page uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.
Used by The following table lists the pages that use the completed request page. All
files are under the appropriate context root.

Active Portal for JSP Active Portal for .NET


private\jobs\selectjobscontent.jsp Not applicable

create folder page


Creates a folder in the current Encyclopedia volume. Createfolder.do uses
<context root>\private\filesfolders\createfolder.jsp to create the new folder.
Name JSP: <context root>\createfolder.do
.NET: <context root>\filesfolders\createfolder.aspx

190 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Parameters The following table describes the parameters for the create folder page. The
create folder page also uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.

URI parameter Description


workingFolderID The ID of the folder to contain the new folder.
Specify either workingFolderID or
workingFolderName.
workingFolderName The name of the folder to contain the new folder.
Specify either workingFolderID or
workingFolderName.

Used by The following table lists the pages that use the create folder page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


Not applicable filesfolders\index.aspx

create query page


Creates a query from a data object executable (.dox) file using the Actuate
Query Wizard. create.do uses the HTML code in <context root>\private\
query\createpage.jsp to display the query data. For information about Actuate
Query, see Chapter 4, “Working with queries,” in Working with Actuate Basic
Reports.
Name JSP: <context root>\query\create.do
<context root>\private\query\create.jsp
.NET: <context root>\query\create.aspx
Parameters The following table describes the parameters for the create query page. The
create query page also uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.

URI parameter Description


__executableName The full pathname of the DOV or DOX to use for the
query.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 191
Used by The following table lists the pages that use the create query page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


Not applicable filesfolders\index.aspx

delete file status page


Summarizes the result of a deletion performed by the drop page and indicates
whether a file was successfully deleted. The delete file status page includes
authenticate to obtain user session data. Active Portal for JSP performs the
deletion as part of an action and then forwards to the delete file status page.
The delete file status page in Active Portal for .NET performs the deletion and
displays the status.
Name JSP: <context root>\private\filesfolders\deletefilestatus.jsp
.NET: <context root>\do_deletestatus.aspx
Used by The following table lists the pages that use the delete file status page. All files
are under the appropriate context root.

Active Portal for JSP Active Portal for .NET


Not applicable requests\detail.aspx

delete job page


Deletes the specified job, then redirects the page to a completion status page.
Specify the name or the ID of the job to delete.
The default redirection JSP is <context root>\private\jobs\
joboperationstatus.jsp.
Name JSP: <context root>\deletejob.do
.NET: <context root>\requests\do_deletejob.aspx

192 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Parameters The following table describes the parameters for the delete job page. The
delete job page also uses the common URI parameters. For more information,
see “Common URI parameters,” earlier in this chapter.

URI parameter Description


jobID Unique request identifier.
jobName The name of the job to delete. This parameter is
ignored if jobID is also specified.
jobState The state of the job to delete. The processed action
status page uses jobState to build a link to pass to
the list of scheduled and completed jobs.
redirect URI to which to redirect the job deletion page. The
default redirect page is the processed action status
page.

Used by The following table lists the pages that use the delete job page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


requests\do_deletejob.jsp newrequest
\submittedjob_status.aspx
requests\detail.aspx

delete status page


Deletes a job notice corresponding to a request. Specify the job notice by name
or by ID.
Name JSP: <context root>\deletejobnotice.do
.NET: <context root>\requests\do_deletestatus.aspx
The default redirection action forwards to <context root>\private\jobs
\joboperationstatus.jsp.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 193
Parameters The following table lists the parameters for the delete status page. The delete
status page also uses the common URI parameters. For more information, see
“Common URI parameters,” earlier in this chapter.

URI parameter Description


channelID The unique identifier of the channel to delete the job
notice from.
channelName The name of the channel to delete the job notice
from.
jobID Unique request identifier.
jobName The name of the job notice to delete. This parameter
is ignored if jobID is also specified.
jobState The state of the job to delete. The processed action
status page uses jobState to build a link for the list of
scheduled and completed jobs.
redirect URL to which to redirect the delete status page. The
default redirect page is the processed action status
page.
userName The name of the user to notify about the deleted job.

Used by The following table lists the pages that use the delete status page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


Not applicable requests\detail.aspx

detail page
Displays detailed information about Encyclopedia volume objects. There are
three detail pages:
<context root>\errors
<context root>\filesfolders
<context root>\requests

error detail page


Provides a template error page that can be embedded in another page. For
example, the view navigation page and the view TOC page use the error detail
page to build error pages.

194 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Name JSP: <context root>\errors\detail.jsp
Used by The following table lists the pages that use the error detail page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


errors\error.jsp Not applicable
viewer\print.jsp
viewer\saveas.jsp
viewer\searchframe.jsp
viewer\viewdefault.jsp
viewer\viewtoc.jsp

file or folder detail page


Displays detailed information about the selected viewable folder or file. Users
request file details by choosing the magnifying glass icon to the right of files
listed on the Encyclopedia folder page, or folder details by choosing the
magnifying glass icon to the right of the folder name in the breadcrumb. Users
can request another viewable document or delete the current file or folder
from the file or folder detail page. filedetail.jsp uses the HTML code in
<context root>\private\filesfolders\filedetailcontent.jsp to display the
information.
Name JSP: <context root>\getfiledetails.do
<context root>\private\filesfolders\filedetail.jsp
.NET: <context root>\filesfolders\index.aspx?subpage=_detail
Parameters The following table describes the parameters for the file or folder detail page.
The file or folder detail page also uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.

URI parameter Description


name The full pathname of the Encyclopedia object for
which to show details. This parameter is ignored if
objectID is also specified.
objectID The Encyclopedia object’s unique identifier.
version The Encyclopedia object’s version number. The
default is the latest version.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 195
Used by The following table lists the pages that use the file or folder detail page. All
files are under the appropriate context root.

Active Portal for JSP Active Portal for .NET


Not applicable channels\index.aspx
submittedjob_status.aspx

request detail page


Lists detailed request information for a specified job, as shown in the
following illustration.

getjobdetails.jsp uses the HTML code in <context root>\private\jobs\


getjobdetailscontent.jsp to display the information.
Name JSP: <context root>\getjobdetails.do
<context root>\private\jobs\getjobdetails.jsp
.NET: <context root>\requests\detail.aspx
Parameters The request detail page uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.

URI parameter Description


jobID The job’s unique identifier.
username The user that submitted the job.
channelname The channel to receive the request.

196 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Used by The following table lists the pages that use the request detail page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


private\jobs\completedjob.jsp channels\index.aspx
private\jobs\pendingjob.jsp newrequest\
submittedjob_status.aspx
private\jobs\runningjob.jsp
private\jobs\scheduledjob.jsp
requests\detail.jsp

drop page
Deletes one or more files or folders, or cancels a running job.

file or folder drop page


Deletes the specified file or folder. The file or folder drop page includes the
authenticate page to obtain user session data.
Name JSP: <context root>\deletefile.do
.NET: <context root>\filesfolders\do_drop.aspx
Parameters The following table describes the parameters for the file or folder drop page.
The file or folder drop page also uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.

URI parameter Description


ID The unique identifier of the Encyclopedia object to
delete.
name The full pathname of the Encyclopedia object to
delete. Multiple name parameters, to delete more
than one file or folder at a time, are allowed. This
parameter is ignored if ID is also specified.
redirect URI to which to redirect the job deletion page. The
default redirect page is processedaction_status.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 197
Used by The following table lists the pages that use the file or folder drop page. All files
are under the appropriate context root.

Active Portal for JSP Active Portal for .NET


Not applicable filesfolders\index.aspx

request drop page


Cancels a running job.
Name JSP: <context root>\canceljob.do
.NET: <context root>\requests\do_drop.aspx
Parameters The following table describes the parameters for the request drop page. The
request drop page also uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.

URI parameter Description


jobID The unique identifier of the Encyclopedia object to
delete.
jobName The full pathname of the Encyclopedia object to
delete. This parameter is ignored if jobID is also
specified.
jobState The state of the job to delete. processedaction_status
uses jobState to build a link to pass to the list of
scheduled and completed jobs.
redirect URI to which to redirect the job deletion page. The
default redirect page is processedaction_status.

Used by The following table lists the pages that use the request drop page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


Not applicable newrequest
\submittedjob_status.aspx
requests\detail.aspx

198 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
error page
Displays the specified error message. Active Portal for JSP uses two pages. The
DHTML viewer uses <context root>\errors\error.jsp. All other Active Portal
for JSP code uses <context root>\private\common\errors\error.jsp.
Name JSP: <context root>\errors\error.jsp
<context root>\private\common\errors\error.jsp
.NET: <context root>\errors\error.aspx
Used by The following table lists the pages that use the error page. All files are under
the appropriate context root.

Active Portal for JSP Active Portal for .NET


private\login.jsp errors\error.aspx
private\common\closewindow.jsp viewer\downloadsearchresult.aspx
private\common\sidebar.jsp viewer\requestsearch.aspx
private\common\errors\ viewer\saveas.aspx
errorpage.jsp
private\options\options.jsp viewer\searchframe.aspx
private\query\create.jsp viewer\searchreport.aspx
private\query\execute.jsp viewer\searchtoolbar.aspx
private\templates\template.jsp viewer\view3partyreport.aspx
viewer\closewindow.jsp viewer\viewdefault.aspx
viewer\print.jsp viewer\viewembeddedobject.aspx
viewer\saveas.jsp viewer\viewframeset.aspx
viewer\searchframe.jsp viewer\viewnavigation.aspx
viewer\searchreport.jsp viewer\viewpage.aspx
viewer\viewframeset.jsp viewer\viewtoc.aspx

execute page
Executes a query from a data object executable (.dox) file using the Actuate
Query Wizard. For information about Actuate Query, see Chapter 4, “Working
with queries,” in Working with Actuate Basic Reports.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 199
When executing a report or query, a Cancel button appears after a specified
wait time passes. You can change the time by setting the
EXECUTE_REPORT_WAIT_TIME configuration parameter in the appropriate
Actuate Active Portal configuration file. For more information about setting
Active Portal for .NET configuration parameters, see “Customizing Active
Portal for .NET configuration” in Chapter 2, “Creating a custom Active Portal
for .NET web site.” For more information about setting Active Portal for JSP
configuration parameters, see “Customizing Active Portal for JSP
configuration” in Chapter 3, “Creating a custom Active Portal for JSP web
site.”
Name JSP: <context root>\query\execute.do
.NET: <context root>\query\execute.aspx
Parameters The following table describes the parameters for the execute page. The execute
page also uses the common URI parameters. For more information, see
“Common URI parameters,” earlier in this chapter.

URI parameter Description


__executableName The full pathname of the .DOV or .DOX file to use
for the query.

Used by Not applicable.

execute query page


Executes an Actuate query on the Actuate iServer.
Name JSP: <context root>\newrequest\do_executequery.jsp
.NET: <context root>\newrequest\do_executequery.aspx
Parameters The following table describes the parameters for the execute query page.

URI parameter Description


__ageDays Use with __ageHours to determine how long output
objects exist before they are deleted. Use only if
__archivePolicy is set to age. __ageDays can be any
positive number.
__ageHours Use with __ageDays to determine how long output
objects exist before they are deleted. Use only if
__archivePolicy is set to age. __ageHours can be any
positive number.

200 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
URI parameter Description
__archiveBeforeDelete Indicate whether to archive the output objects of the
current request before deleting them, according to
__archivePolicy’s setting. Set this parameter to True
to archive objects before deleting them. The default
value is False.
This has no effect if __archivePolicy is set to folder.
__archivePolicy The archive policy to implement for the objects
created as output for the current request. Values are
folder, age, and date. Set this parameter to folder to
use the archive policy that is already set for the
folders to which the output is distributed. Set this
parameter to age to delete objects older than a
specific time period. Set this parameter to date to
delete objects on a specific date.
__dateToDelete The date on which to delete the output objects of the
current request. Use only if __archivePolicy is set to
date. __dateToDelete must be a date in a locale-
specific format. The default format is mm/dd/yyyy.
__executableName The name of the executable file for this request.
__ifExists Indicates whether to overwrite an existing or create
a new file, up to an optional limit. Values are:
■ create — creates a new output file.
■ create[n] — creates a new output file up to n
versions. For example, to create no more than
seven versions, use create7.
■ replace — overwrite any existing output.
__jobName The name for the job to submit.
__outputName Specifies a name for the query output.
postback Set to True to execute the job immediately, False to
populate the page with parameters.
__priority Specifies the job submission priority. Values are a
number from 1 to 1000, High (800), Medium (500),
and Low (200). Do not use with __priorityValue.
__priorityValue Specifies a number corresponding to the job
submission priority. Do not use with __priority.
__progressive Indicates whether to display the report after it
generates. If False, the report displays after it
generates. If True, the report displays progressively,
as it generates. Applies only to synchronous jobs.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 201
URI parameter Description
__timeToDelete Specifies a time at which to delete an archived
report. Applies only to asynchronous reports.
__versionName Contains a string value for the new version name of
this report. The value can include a date/time
expression enclosed in braces, {}, to ensure a unique
version name.
__viewFormat Contains a string value specifying the output format
for the query. Values are XLS, PDF, e.Analysis, and
DHTML, the default.

Used by Not applicable.

execute report page


Submits a synchronous request to the Actuate iServer.
When executing a report or query, a Cancel button appears after a specified
wait time passes. You can change the time by setting the
EXECUTE_REPORT_WAIT_TIME configuration parameter in the appropriate
Actuate Active Portal configuration file. For more information about setting
Active Portal for .NET configuration parameters, see “Understanding Actuate
Active Portal configuration parameters” in Chapter 2, “Creating a custom
Active Portal for .NET web site.” For more information about setting Active
Portal for JSP configuration parameters, see “Understanding Actuate Active
Portal configuration parameters” in Chapter 3, “Creating a custom Active
Portal for JSP web site.”
Name JSP: <context root>\executereport.do
.NET: <context root>\newrequest\do_executereport.aspx
Parameters The following table describes the parameters for the execute report page. The
execute report page also uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.

URI parameter Description


__ageDays Use with __ageHours to determine how long output
objects exist before they are automatically deleted.
Use only if __archivePolicy is set to Age. __ageDays
can be any positive number.

202 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
URI parameter Description
__ageHours Use with __ageDays to determine how long output
objects exist before they are automatically deleted.
Use only if __archivePolicy is set to Age.
__ageHours can be any positive number.
__archiveBeforeDelete Indicate whether to archive the output objects of the
current request before deleting them, according to
__archivePolicy’s setting. Set this parameter to True
to archive objects before deleting them. The default
value is False.
This setting has no effect if __archivePolicy is set to
Folder.
__archivePolicy The archive policy to implement for the objects
created as output for the current request. Values are
folder, age, and date. Set to folder to use the archive
policy that is already set for the folders to which the
output is distributed. Set to age to delete objects
older than a specific time period. Set to date to
delete objects on a specific date.
__dateToDelete The date on which to delete the output objects of the
current request. Use only if __archivePolicy is set to
Date. Set __dateToDelete to a date in a locale-
specific format. The default format is mm/dd/yyyy.
__executableName The name of the executable file for this request.
__headline A descriptive tag line for a report.
Appears on Channel Contents. Use the character
string %20 to represent a space in the headline
string.
invokeSubmit Controls whether the browser is redirected to the
parameter screen or whether the report is run
immediately. If True, the report is executed without
displaying the parameters. If False, the parameters
are displayed. False is the default.
__jobName The name of the job to execute.
__limit Indicate whether to limit the number of versions of
the output files for the current request. Set __limit to
Limit to limit the number of versions. Any other
value means that the number of versions is
unlimited.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 203
URI parameter Description
__limitNumber The number of versions to which to limit the output
files for the current request. Use only if __limit is set
to Limit. __limitNumber can be any positive
number.
__outputFolderType Specifies the root of the output file name. Set to
Absolute to use the full __outputName value
starting from the Encyclopedia volume’s root. Set to
Personal to use the __outputName value relative to
the user’s home folder.
__outputName Specifies a name for the output file.
__overwrite New to create a new version of this report, or Old to
overwrite an existing report. New is the default.
__priority Specifies the job submission priority. Values are
High, Medium, and Low.
__priorityValue Specifies a number ranging from 1 to 1000 and
corresponding to the job submission priority. You
can only specify values allowed by your
functionality level.
__progressive Indicates whether to display the report after it
generates. If False, the report displays after it
generates. If True, the report displays progressively,
as it generates.
__recurringDay Specifies the scheduled recurring day on which to
run the report. Applies only to asynchronous
reports.
__redirect Specifies a relative or absolute URI to go to after
do_executereport submits the report. The default is
Submittedjob_Status.
__saveOutput Indicates whether to write the output document to
the Encyclopedia volume. True saves the output in
the Encyclopedia volume, applying the document
archiving and file creation parameters. False does
not save the output.
__serverURL Contains the URI that accesses the JSP engine, such
as http://Services:8700.
__timeToDelete Specifies a time at which to delete an archived
report. Applies only to asynchronous reports.
__users Contains the name of the user to notify of this
request. You can notify more than one user.

204 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
URI parameter Description
__versionName Contains a string value for the new version name of
this report. The value can include a date/time
expression enclosed in braces, {}, to ensure a unique
version name.
__volume Contains a string value specifying the volume for
this report.
__wait If True, specifies that Actuate Active Portal waits for
report generation results.

The following parameter names are reserved for internal use only by the
execute report page:
■ doframe
■ inputfile
■ jobType
■ name
■ selectTab
Used by Not applicable.

general options page


Displays the general user settings and environment settings property sheet for
the current user. There are two types of settings:
■ User settings that apply only to this user:
■ Change password
■ Change e-mail address
■ Environment settings that apply for all browsers on a single local machine:
■ Choose a skin to provide colors, fonts, images, and layout in the
graphical user interface (GUI).
■ Choose a view to select a layout for the content area of pages providing
lists of files and folders.
■ Set an experience level for Actuate Analytics to enable or disable cube
viewer features.
■ Enable and disable filter fields for Files and Folders, Channels, and
Requests

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 205
■ View documents in the current browser window or in a new browser
window
The general options page appears when the user chooses Options in the
Actuate Active Portal banner.
Name JSP: <context root>\private\options\general.jsp
.NET: <context root>\options\general.ascx
Used by The following table lists the pages that use the general options page. All files
are under the appropriate context root.

Active Portal for JSP Active Portal for .NET


private\options\optionspage.jsp options\index.aspx

get report data page


Retrieves data to display in a Reportlet. This page is an Active Portal for .NET
page only. For information about retrieving data to display in a Reportlet in
Active Portal for JSP, see “GetReportData servlet” in Chapter 7, “Actuate
Active Portal for JSP servlets” and “getReportletData” in Chapter 8, “Actuate
Active Portal for JSP custom tags.”
The following Active Portal for .NET URI retrieves the Top Deals Summary
Reportlet from the Forecast report:
/acweb/viewer/getreportdata.aspx
?componentname=TopDealsSummaryReport
&name=/forecast.roi&format=reportlet
Name .NET: <context root>\viewer\getreportdata.aspx
Parameters The following table describes the parameters for the get report data page. The
get report data page also uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.

URI parameter Description


action The type of content for the application server to
create. Values are view or print. Default is view.
componentID The identifier of the report component from which
to retrieve Reportlet data. Specify either
componentID, or componentName and
componentValue.

206 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
URI parameter Description
componentName The name of the report component from which to
retrieve Reportlet data. The componentName is the
name of the component assigned in the ROD, such
as NewReport::Frame1. If componentName is not
specified, the componentID is used. Use in
conjunction with componentValue. Specify either
componentName and optionally componentValue,
or componentID.
componentValue A value identifying the specific instance of the
report component from which to retrieve Reportlet
data. The value is the result of evaluating a search
expression. Use componentValue in conjunction
with componentName. Specify either
componentName and componentValue, or
componentID. If unspecified, componentValue
defaults to the first report component specified by
componentName that the user has access to.
connectionHandle An identifier for temporary reports only.
embsrvrequester The prefix for an embedded object to retrieve the
object from the report. Embedded objects include
hyperlinks, cascading stylesheets, static objects such
as images, and dynamic objects such as charts.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 207
URI parameter Description
format The file format in which to generate output. Values
are:
■ DHTML—a compressed DHTML format that
uses cascading stylesheets (CSS). This is the
default format.
■ DHTMLLong—an uncompressed DHTML
format. Use this format if your browsers do not
support CSS.
■ DHTMLRaw—an uncompressed DHTML
format without external JavaScript references,
leaving the bare report.
■ ExcelData—a format mainly used for tabular or
listing reports. The appearance sometimes is not
faithful to the original report or does not work
well for complicated reports. Potential issues
include undisplayed images and graphs, ignored
background color of frames and flows, and only
rough accuracy for component positioning.
■ ExcelDisplay—a format that appears as much
like an Actuate report on an Excel spreadsheet as
possible.
Reports in the ExcelData and ExcelDisplay formats
are truncated if they exceed Maximum Number of
Pages Convertible To Excel. For more information
about this format parameter, see Chapter 7,
“Working with an Actuate iServer System server,” in
Administering Actuate iServer System.
■ PDF—report output in Adobe Acrobat-readable
Portable Document Format.
■ Reportlet—the report is extracted as a part of the
an HTML page. This means that the customary
<Head> and <body> tags are not present.
■ RTF—report output in Rich Text Format. The
report’s visual layout is similar to the DHTML
viewer layout.
■ RTFFullyEditable—report output in Rich Text
Format, with more flexibility when manipulating
output, such as the ability to move and delete
several lines from a report at a time. Produces a
larger RTF file than the RTF format.

208 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
URI parameter Description
■ XMLDisplay—a complete XML representation of
the report. It contains information about
attributes of controls.
■ XMLCompressedDisplay—the same as XML
Display. The only difference is that all the
common properties are placed into a template.
■ XMLData—can only be generated if the report
design has it specified. It is a property on the
controls in the Designer for setting XML
properties.
ID The ID of the report being searched.
name The name of the report to be viewed.
operation The type of operation for the Actuate iServer to
perform. Values are view or print. Default is view.
PDFQuality The image quality in a PDF file. Use only if format is
set to PDF. The value ranges from 100, for the lowest
image quality but the smallest PDF file size, to 300,
for the highest image quality but the largest PDF file
size. Specify a larger charting heap size before using
higher PDFQuality values. The default PDFQuality
is an Actuate iServer advanced configuration value.
For more information about the default, see
Chapter 7, “Working with an Actuate iServer
System server,” and for more information about
configuring the heap size, see Chapter 14, “Setting
Actuate iServer parameters,” in Administering
Actuate iServer System.
reportletMaxHeight The maximum height in points of Reportlets. Used
by the Reportlets feature.
scalingFactor The size of the report in the browser, such as 100
(full size) or 50 (half size).
userAgent The user’s browser, such as IE/5.5.

Used by The following table lists the pages that use the get report data page. All files
are under the appropriate context root.

Active Portal for JSP Active Portal for .NET


Not applicable filesfolders\index.aspx

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 209
get saved search page
Executes the specified saved search. The search results and the report they are
from appear in the viewer. You need the Read privilege for the saved search
file and the Read privilege for the file’s corresponding report.
Name JSP: <context root>\viewer\getsavedsearch.do
.NET: <context root>\viewer\getsavedsearch.aspx
Parameters The following table describes the parameters for the get saved search page.
The get saved search page also uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.

URI parameter Description


RosFileName Name of the saved Smart Search ROS file. Specify
either RosFileName or RosFileID.
RosFileID ID of the saved Smart Search ROS file. Specify either
RosFileName or RosFileID.
BasedOnFileName Name of the ROI or DOI file for the Smart Search
criteria to search. The default is the latest version of
the file.
BasedOnFileID ID of the ROI or DOI file for the Smart Search
criteria to search. The default is the latest version of
the file.

home page
Provides two sets of links. On the right side it provides a graphical and a text
shortcut link from the My Folder button to the current user’s Actuate Active
Portal home folder. On the left side, it provides the links and other text for the
breadcrumb, or path from the Encyclopedia volume root to the current folder.
Users access their home page by choosing the My Folder link below the
Actuate Active Portal page banner.

210 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
The following illustration shows the default My Folder and breadcrumb links.

Breadcrumb links Home link

Name JSP: <context root>\private\common\breadcrumb.jsp


.NET: <context root>\common\navigation.ascx
Used by The following table lists the pages that use the home page. All files are under
the appropriate context root.

Active Portal for JSP Active Portal for .NET


channels\index.jsp errors\error.aspx
filesfolders\index.jsp filesfolders\index.aspx
options\index.jsp viewer\downloadsearchresult.aspx
requests\index.jsp viewer\print.aspx
viewer\requestsearch.aspx
viewer\saveas.aspx
viewer\searchframe.aspx
viewer\searchreport.aspx
viewer\searchtoolbar.aspx
viewer\view3partyreport.aspx
viewer\viewdefault.aspx
viewer\viewembeddedobject.aspx
viewer\viewframeset.aspx
viewer\viewnavigation.aspx
viewer\viewpage.aspx
viewer\viewtoc.aspx

index page
Provides the entry point and structure for the parts of Actuate Active Portal
generated from multiple files.

Ch ap te r 5 , Actuate Active Por tal U RIs 211


file and folder index page
The default entry point to the Actuate Active Portal web site. The file and
folder index page provides the entry point and structure to support the Files
and Folders functionality. The structure is a table that Actuate Active Portal
uses to format and present files and folders data. Page content varies
depending on the Actuate Active Portal directive.
The file and folder index page uses the banner page to provide the reporting
web page banner. In Active Portal for .NET filesfolders\index.aspx includes
Authenticate to obtain user session data. In Active Portal for JSP the
filefolderlist.jsp uses the HTML code in <context root>\private\filesfolders
\filefolderlistcontent.jsp to display files and folders data.
Name JSP: <context root>\getfolderitems.do
<context root>\private\filesfolders\filefolderlist.jsp
.NET: <context root>\filesfolders\index.aspx
Parameters The following table describes the parameters for files and folders index page.
The files and folders index page also uses the common URI parameters. For
more information, see “Common URI parameters,” earlier in this chapter.

URI parameter Description


startUpMessage Specifies a message to appear when Actuate Active
Portal calls this page.
subpage Specifies the content of the page. Possible values are:
■ _list: include list
■ _detail: include detail
Specifying any other value for subpage invokes the
page not found page.

new request index page


Provides the entry point and structure to support the submit job functionality.
Name JSP: <context root>\executereport.do
.NET: <context root>\newrequest\index.aspx

212 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Parameters The following table describes the parameters for the new request index page.
The new request index page also uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.

URI parameter Description


homeFolder The location of the My Documents folder.

options index page


Provides the entry point and structure to support the Options functionality.
The structure is a table that Actuate Active Portal uses to format and present
files and folders data. The default table includes the banner across the top of
the page, the side menu on the left side of the page, and a container for page
content. Page content varies depending upon the Actuate Active Portal
directive.
The options index page uses the banner page to provide the reporting web
page banner. In Active Portal for .NET options\index.aspx includes
Authenticate to obtain user session data. In Active Portal for JSP options.jsp
uses the HTML code in <context root>\private\options\optionspage.jsp to
display the options data.
Name JSP: <context root>\options.do
<context root>\private\options\options.jsp
.NET: <context root>\options\index.aspx
Parameters The following table describes the parameters for the options index page. The
options index page also uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.

URI parameter Description


homeFolder Link to My Documents.

requests index page


Provides the outermost structure for the active request functionality. The
requests index page displays the side menu and banner elements, and the
tabbed property sheets defined by tabs. Active Portal for .NET includes the
authenticate page to provide access to user credential data. In Active Portal for
JSP selectjobs.jsp uses the HTML code in <context root>\private\jobs
\selectjobscontent.jsp to display request data.
Name JSP: <context root>\selectjobs.do

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 213
<context root>\private\jobs\selectjobs.jsp
.NET: <context root>\requests\index.aspx
Parameters The following table describes the parameters for the requests index page. The
requests index page also uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.

URI parameter Description


applyFilter Specifies whether to apply cbFail, cbSuccess, and
filter to the current user session. applyFilter applies
only to list pages, such as the completed jobs page.
cbFail Specifies whether to list the failed jobs in the
completed jobs page.
cbSuccess Specifies whether to list the successful jobs in the
completed jobs page.
channelName Specifies the channel to which a job completion
notice was sent. channelName applies only to the
details page.
clearFilter Clears the job name filter. clearFilter causes Actuate
Active Portal to retrieve job names from session
cookies and to ignore cbFail and cbSuccess.
clearFilter applies only to list pages, such as the
completed jobs page.
filter Specifies the job name filter. filter applies only to list
pages, such as the completed jobs page.
jobID Specifies the unique job identifier. jobID applies
only to the details page.
resetFilter Resets all filters to their default values. The default
filter values are no filtering for job name, and listing
all completed jobs, whether failed or successful.
resetFilter applies only to list pages such as the
completed jobs page.

214 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
URI parameter Description
subpage Determines the content page. Possible values for
subpage are:
■ _completed
■ _detail
■ _pending
■ _running
■ _scheduled
_completed is the default content page.
userName Specifies the name of the user who received the
completed job notice. userName applies only to the
detail page.

Used by Not applicable.

list page
Lists files in a container, such as a channel or folder. There are three types of
lists:
■ channels
■ channel contents
■ filesfolders

channels list page


Lists the channels that the user subscribes to. Users can also subscribe or
unsubscribe to channels from this page.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 215
A channels list page looks like the following illustration.

Users choose a channel name to see the contents of the channel.


Name JSP: <context root>\selectchannels.do
.NET: <context root>\channels\list.aspx
Used by Not applicable.

channel contents list page


Lists the contents of a specified channel. You cannot access this page directly,
but you can edit it to change its appearance. channelnoticelist.jsp uses the
HTML code in <context root>\private\channels\channelnoticelistcontent.jsp
to display the contents.
List pages look like the following illustration.

Users choose the file or version name to view the report. Users choose the
magnifying glass to view report details.
Name JSP: <context root>\selectjobnotices.do
.NET: <context root>\channels\index.aspx

216 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Parameters The following table describes the parameters for the channel contents list
page. The channel contents list page also uses the common URI parameters.
For more information, see “Common URI parameters,” earlier in this chapter.

URI parameter Description


__channel The name of the channel to list.

Used by Not applicable.

file and folder list page


Presents a list of objects that reside in the current working Encyclopedia
folder. Users request folder listings by choosing links on the reporting web
page. The file and folder list page includes a filter section where users specify
criteria for viewing reports. For example, users select checkboxes to indicate
whether they want to view only the last version of a report or to see report
executable files and report documents.
When users access an Encyclopedia volume for the first time, Actuate Active
Portal displays their home folder, if they have one, or the top folder in the
Encyclopedia volume. All files and folders in that folder that they have
permission to view appear in the Actuate Active Portal listing page. Users can
specify a filter to choose the types of files to view.
The following are the sources that the file and folder list page uses to obtain
the values for filters and the state of checkboxes:
■ URI parameters. See the following parameters section.
■ Session attributes. Actuate Active Portal uses session cookies to store the
values that a user specifies. If the user browses the Actuate Active Portal
site, then returns to the listing page, the list page obtains the user’s values
from the session cookie if cookies are enabled. If the user chooses another
folder, that folder becomes the working folder, and the list page applies the
same values that applied to the previous folder.
The following table lists the session attribute variables.

Session attribute Description


AcFilesFoldersFilter Contains the string specifying the files and folders
viewing filter.
AcFilesFoldersType Contains True if the user specified a filter, False
Filter otherwise.
AcLastVisitedFolder Contains the string specifying the last visited folder
name.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 217
Name JSP: <context root>\getfolderitems.do
<context root>\private\filesfolders\filefolderlist.jsp
.NET: <context root>\filesfolders\list.ascx
Parameters The following table describes the parameters for the file and folder list page.
The file and folder list page also uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.

URI parameter Description


applyFilter If cookies are enabled, any non-null value for
applyFilter causes the filter based on other URI
parameters to be applied.
filter The filter specifying the file and folder names to list.
Filter is a string. The default is "".
folder The folder for which to list the contents. Folder
name is a string. If no folder is specified, List uses
the last working folder known for the session if
cookies are enabled. If cookies are not enabled, List
uses the user’s home folder as specified in the user
settings.
onlyLatest If True, show only the latest version of a file if
multiple versions exist. If False, show all versions of
a file if multiple versions exist. The default is False.
resetFilter Any non-null value for resetFilter causes the filter to
return to its original state. Users can reset the filter
by choosing the Default button on the listing page.
showDocument If True, show all viewable documents. If False, do
not show viewable documents. The default is True.
showExecutables If True, show all executable reports. If False, do not
show executable reports. The default is True.
showFolders If True, show all folders. If False, do not show
folders. The default is True.

Used by Not applicable.

login banner page


Displays the Actuate Active Portal web site banner. Banner elements include
the company logo, system name, and help link.

218 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Name JSP: <context root>\private\login_banner.jsp
.NET: <context root>\common\simple_banner.ascx
Used by The following table lists the pages that use the login banner page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


private\login.jsp templates\logintemplate.ascx

login page
Displays the Actuate Active Portal login page for logging in to the Actuate
Active Portal web site. The login page includes the login banner page to
display the Actuate Active Portal site banner. Active Portal for .NET includes
authenticate to perform user authentication.
Name JSP: <context root>\login.do
<context root>\private\login.jsp
.NET: <context root>\login.aspx
Parameters The following table describes the parameters for the login page. The login
page also uses the common URI parameters. For more information, see
“Common URI parameters,” earlier in this chapter.

URI parameter Description


loginpostback False to display the login page and True to display
the destination page instead of the login page if the
login is successful.
targetPage Specify a relative URI to which login redirects the
user on successful login. The default is the file and
folder list page.

Used by Not applicable.

logout page
Ends the user’s Actuate Active Portal session. The logout page gathers the
user’s session information, clears it, and returns the user to the login page.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 219
Name JSP: <context root>\logout.do
.NET: <context root>\logout.aspx
Parameters The following table describes the parameters for the logout page. The logout
page also uses the common URI parameters. For more information, see
“Common URI parameters,” earlier in this chapter.

URI parameter Description


daemonURL Contains the URI that accesses the Process
Management Daemon, such as http://Server:8100.
user The name of the user to log out. Either user or the
common URI parameter authID must be specified. If
authID is specified, user is ignored.

Used by Not applicable.

notification page
A property sheet that supports specifying notification options for the current
user. Notification options include whether to generate e-mail on completion of
requests.
Notifications looks like the following illustration.

Name JSP: <context root>\options.do


.NET: <context root>\options\index.aspx

220 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Used by The following table lists the pages that use the notification page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


private\options\optionspage.jsp options\tabs.ascx

options page
Updates the user options and settings on the server.
Name JSP: <context root>\options.do
<context root>\private\options\options.jsp
.NET: <context root>\options\index.aspx
Parameters The following table describes the parameters for the options page. The options
page also uses the common URI parameters. For more information, see
“Common URI parameters,” earlier in this chapter.

URI parameter Description


channelIcons Specifies whether or not to display channel icons.
channels Contains the string list of channels to which the user
subscribes.
confirmkey Contains the user’s password.
docChanFilters Specifies filters for viewing documents or channels.
e-mail Contains the user’s e-mail address.
failComp Indicates whether to generate completed request
notifications for failed requests. Enable to generate
notifications for failed requests, Disable otherwise.
failEmail Indicates whether to generate e-mail for failed
requests. Enable to generate e-mail, Disable
otherwise.
newkey Contains the user’s new password.
newLocale Contains the user’s new locale.
newTimeZone Contains the user’s new time zone.
oldkey Contains the user’s old password.
redirect Specifies the page to go to when user options update
is complete.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 221
URI parameter Description
requestFilters Indicates whether to use filters for the Request page.
Enable to use filters, Disable otherwise.
succComp Indicates whether to generate completed request
notifications for successful requests. Enable to
generate notifications for failed requests, Disable
otherwise.
succEmail Indicates whether to generate e-mail for successful
requests. Enable to generate e-mail, Disable
otherwise.
userName Contains the current user’s name.
viewNewBrowser Indicates whether to view documents in the current
browser window or in a new browser window.
Enable to view documents in a new browser
window, Disable otherwise.

Used by Not applicable.

output page
Specifies report executable output data, such as the report headline and output
file name. The output page appears only for asynchronous job submissions.
Users access Output by choosing Output.

222 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Output looks like the following illustration.

Name JSP: <context root>\private\newrequest\output.jsp


.NET: <context root>\newrequest\savefile.ascx
Parameters The following table describes the parameters for the output page. The output
page also uses the common URI parameters. For more information, see
“Common URI parameters,” earlier in this chapter.

URI parameter Description


headline Specify the headline for the report.
ifExists Specify the file replacement policy. Values are
Create and Replace. If ifExists is Create, Actuate
Active Portal creates a new version. If ifExists is
Replace, Actuate Active Portal replaces the existing
version.
outputFolderType Specify the report output’s folder type. Values are
personal and absolute. If outputFolderType is
personal, the output is placed in the user’s personal
folder. If outputFolderType is absolute, the user
specifies the full path name for the output by either
typing the path or using the Browse button.
outputName Specify the name of the output file.
versionName Specify the version name.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 223
Used by The following table lists the pages that use the output page. All files are under
the appropriate context root.

Active Portal for JSP Active Portal for .NET


private\newrequest\ \newrequest\executereport.ascx
newrequestpage.jsp

page not found page


Displays an error message when Actuate Active Portal cannot find the page
that a user specifies. This page is an Active Portal for JSP page only.
Name JSP: <context root>\errors\pagenotfound.jsp
Used by Not applicable.

parameters page
Displays report parameters. Parameters include the headline, output file
name, and report executable (.rox) file name. Users access the parameters list
by choosing Parameters.
Parameters looks like the following illustration.

Name JSP: <context root>\private\newrequest\parameters.jsp

224 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
.NET: <context root>\common\parameters.ascx
Used by The following table lists the pages that use the parameters page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


private\newrequest\ common\parameters.ascx
newrequestpage.jsp
newrequest\executereport.ascx
query\filter.ascx

pending page
Lists all jobs that are currently awaiting execution.
Name JSP: <context root>\private\jobs\pendingjob.jsp
.NET: <context root>\newrequest\do_execute.ascx
Parameters The pending page uses the common URI parameters. For more information,
see “Common URI parameters,” earlier in this chapter.
Used by The following table lists the pages that use the pending page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


newrequest\do_executequery.aspx private\jobs\selectjobscontent.jsp
newrequest\do_executereport.aspx

ping page
The ping page tests whether a specific component of the reporting
environment is operational, and optionally retrieves other diagnostic
information about the component. You can test the following components of
the reporting environment:
■ Active Portal itself
■ The Message Distribution Service (MDS)
■ The Encyclopedia service
■ The Factory service

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 225
■ The View service
■ The Integration service
■ The Caching service
■ An Actuate open server driver
If a component is not operational, Actuate iServer returns an error message. If
a component is operational, the response depends on the ping page
parameters. For example, you can request a simple timestamp that shows the
elapsed time between when the a component receives the request and when it
returns a reply, as shown with the following URI:
http://seamore:8700/acweb/ping.do?destination=EE&mode=trace
generates the following response:
18:03:23.100: MDS(seamore) received Ping message
18:03:23.100: MDS(seamore) forwarding Ping request to node seamore
18:03:23.100: EncycEngine(seamore) received Ping message
EncycEngine(seamore): Echoing 0 bytes of payload data
18:03:23.100: EncycEngine(seamore) replying to Ping message. Elapsed=0 ms
18:03:23.100: MDS(seamore) received Ping reply from node seamore.
Roundtrip= 0 ms
18:03:23.100: MDS(seamore) replying to Ping message. Elapsed= 0 ms
You also can request more detailed information.
A ping request to the MDS has no security restrictions. For all other
components, the request is subject to Encyclopedia volume authentication.
The user must be an Encyclopedia volume administrator or a user with the
Operator security role.
Name JSP: <context root>\ping.do
.NET: <context root>\ping.aspx

226 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Parameters The following table describes the parameters for the ping page. The ping page
also uses the common URI parameters. For more information, see “Common
URI parameters,” earlier in this chapter.

URI parameter Description


action Specifies the action to take at the destination. Valid
values are:
■ Echo — Echoes data specified by the payloadSize
parameter. Echo is the default action.
■ ReadFile — Opens a specified Encyclopedia
volume file, reads its content, and closes the file.
Destination must be EE, FS, or VS.
■ WriteFile — Creates a temporary file in a
partition, writes a specified number of bytes,
closes the file, and deletes it. Destination must be
EE or FS.
■ Connect — Connects to a data source.
If you do not specify a value, the destination
component responds to the request without taking
any other actions.
destination The reporting environment component to test. Valid
values are:
■ AP (Active Portal)
■ MDS (Message Distribution Service)
■ EE (Encyclopedia Engine)
■ FS (Factory Service)
■ VS (View Service)
■ AIS (Actuate Integration Service)
■ ACS (Actuate Caching Service)
■ OSD (Open Server Driver)
AIS and ACS only support the Echo action.
Except when AP is specified as destination, Actuate
Active Portal sends a Ping request to the Actuate
iServer and passes on the destination as the Ping
request’s destination parameter. Default value is
AP.
filename When action=ReadFile, this parameter is required to
indicate the Encyclopedia volume file to read. If you
ping an open server driver, filename specifies the
executable file to prepare for execution.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 227
URI parameter Description
mode Specifies the level of detail in the Ping response.
Valid values are:
■ Concise — Returns the elapsed time between a
component’s receipt of the request and the time
the component sends a reply.
■ Normal — Returns the names of components in
the test path and the timestamps of the request
entering and leaving each component. This is the
default mode.
■ Trace — Returns the timestamp of the request
entering and leaving major subcomponents of
the component being tested. For example, a
request to a node running the Encyclopedia
service can provide a timestamp for when the
request enters and leaves the process queue.
A Ping request at the Trace level also can return
diagnostic information other than timing. For
example, a request to test writing a temporary file to
a partition can return the amount of free disk space
on the partition.
partitionName Specifies the name of the Encyclopedia partition on
which to create the temporary file. Used only when
action=WriteFile.
payloadSize Length of payload string in number of characters
that Actuate Active Portal should generate. Used
only if action=Echo.
processID Specifies the process ID of the Factory or View
service to test. Used with the server parameter.
server Specifies which instance of a Factory service or View
service to test. Works with the processID parameter.
To test all available instance of the Factory or View
service, use an asterisk (*).
If you do not specify server, the Actuate iServer load
balancing mechanism allocates an available instance
of the requested service to respond to the Ping
request.

Used by Not applicable.

228 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
print page
Prints all or part of a report in PDF format. You need an Acrobat Reader to
view the report on screen.
The following Active Portal for .NET URI prints the first two pages of the
forecast report.
\acweb\viewer\print.aspx?name=\forecast.roi&range=1-2
Name JSP: <context root>\viewer\print.jsp
.NET: <context root>\viewer\print.aspx
Parameters The following table describes the parameters for the print page. The print page
also uses the common URI parameters. For more information, see “Common
URI parameters,” earlier in this chapter. If the page and range parameters are
both specified, range is used. If neither page nor range is specified, the entire
report prints.

URI parameter Description


connectionHandle Optional identifier returned by the Actuate iServer.
ID The ID of the report to print.
name The name of the report document to print. This
parameter is ignored if ID is also specified.
page The page to print.
range A range of pages to print. Separate pages and page
ranges with commas, such as 1-3,15,21-25.

Used by Not applicable.

privileges page
Assigns privileges to a file or folder. Filefoldersprivilege.do uses the HTML
code in <context root>\private\filesfolders\filefolderlist.jsp to set the
privileges. The following Active Portal for JSP URI displays the privilege page
for the Hotgraph report in the Training folder:
\acweb\filefoldersprivilege.do?name=\Training\hotgraph.rox
Name JSP: <context root>\filefoldersprivilege.do
.NET: <context root>\filesfolders\privilege.aspx

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 229
Parameters The following table describes the parameter for the privileges page. The
privileges page also uses the common URI parameters. For more information,
see “Common URI parameters,” earlier in this chapter.

URI parameter Description


name File or folder name to set privileges for

Used by The following table lists the pages that use the privileges page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


private\common\popupmenu.jsp filesfolders\index.aspx
private\filesfolders\filedetailcontent.jsp filesfolders\popupmenu.aspx

processed action status page


Displays the status of a completed operation. This page is an Active Portal for
.NET page only.
Summarizes the result of deleting a job, notice, or cancelling a request. JSPs
that perform delete or cancel tasks redirect the browser to
processedaction_status by default. Use the URI parameter __redirect to
specify an alternate status summary page.
Name .NET: <context root>\requests\processedaction_status.aspx
Used by Not applicable.

request search page


Displays the search request form and invokes the search frame page to
perform the search.

230 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
The search request form is similar to the following illustration.

Name JSP: <context root>\viewer\requestsearch.jsp


.NET: <context root>\viewer\requestsearch.aspx
Used by The following table lists the pages that use the request search page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


viewer\searchframe.jsp viewer\searchframe.ascx
viewer\viewframeset.jsp viewer\viewframeset.ascx

running page
Lists all jobs that were executing when the running page was last refreshed.
The list is not live. To view the current list, the user must refresh the browser.
Users access the running jobs list by choosing Running.
Running looks like the following illustration.

Parameters The running page uses the common URI parameters. For more information,
see “Common URI parameters,” earlier in this chapter.
Name JSP: <context root>\private\jobs\runningjob.jsp
.NET: <context root>\requests\tabs.ascx

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 231
Used by The following table lists the pages that use the running page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


private\jobs\selectjobscontent.jsp query\submit.aspx
query\tabs.ascx
requests\index.aspx
requests\tabs.ascx
options\index.aspx
options\tabs.ascx
query\create.aspx
query\execute.aspx

save as page
Supports downloading the current report, saving it in PDF or RTF format, or
exporting report data to Excel. Users choose Download in the toolbar to
download and save reports in PDF or RTF format or to export report data to
Excel.

232 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
The save as page looks like the following illustration.

Name JSP: <context root>\viewer\saveas.jsp


.NET: <context root>\viewer\saveas.aspx
Parameters The following table describes the parameters for the save as page. The save as
page also uses the common URI parameters. For more information, see
“Common URI parameters,” earlier in this chapter.

URI parameter Description


componentID Locates the page containing the specified
component ID.
embsrvrequester The prefix for an embedded object to retrieve the
object from the report. Embedded objects include
hyperlinks, cascading stylesheets, static objects such
as images, and dynamic objects such as charts.
encoding The character encoding, such as UTF8.
mode The page navigation mode. Values are First, Last,
Previous, or Next.
objectID The ID of the report being searched.
page The page to view.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 233
URI parameter Description
range A range of pages to retrieve. Separate pages and
page ranges with commas, such as 1-3,15,21-25.
reportletMaxHeight The maximum height in points of Reportlets. Used
by the Reportlets feature.
scalingFactor The size of the report in the browser, such as 100
(full size) or 50 (half size).
searchList The list of name-value pairs that specify the page or
pages that contain the components to search. The
format is:
&<component name>=<value>
[&<component name> = <value>] …
where <component name> is the fully qualified
name of the component on which the search
condition is based. Do not enter the "searchList"
parameter name; enter only the component/value
pairs. For example, titleframe::txtname:include=*.
type If name is specified, the type of object to search, such
as ROI.
userAgent The user’s browser, such as Mozilla/4.0.
version The report’s version number. If Version is not
specified, the latest version of the report is used.

Used by The following table lists the pages that use the save as page. All files are under
the appropriate context root.

Active Portal for JSP Active Portal for .NET


private\newrequest\ Not applicable
newrequestpage.jsp

schedule page
Supports specifying report executable file run schedules. The schedule page
applies only to asynchronous submit requests.
Schedule properties include data and time for running the request, recurring
schedules to run a report on a regular basis, or whether to run the report
immediately.

234 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
The Active Portal for JSP schedule is similar to the following illustration.

<context root>\js\calendar.js provides calendar functionality for Active


Portal for JSP. The Active Portal for .NET schedule is similar to the following
illustration.

Note that date and time field lengths are hard-coded in the schedule page.
Name JSP: <context root>\private\newrequest\schedule.jsp
.NET: <context root>\common\Schedule.ascx

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 235
Parameters The following table describes the parameters for the schedule page. The
schedule page also uses the common URI parameters. For more information,
see “Common URI parameters,” earlier in this chapter.

URI parameter Description


jobName The name of the request being submitted.
onceDate If scheduleType is once, specify the date on which to
run the report.
onceTime If scheduleType is once, specify the time at which to
run the report.
recurringDay The day on which to run the request on a regular
basis. Values are the day of the week, EVERYDAY,
FIRST_DAY_OF_THE_MONTH,
LAST_DAY_OF_THE_MONTH.
recurringTime If scheduleType is recurring, specify the time at
which to run the report.
scheduleType Specify the schedule type. Values are immediate,
once, and recurring.

Used by The following table lists the pages that use the schedule page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


private\newrequest\ newrequest\executereport.ascx
newrequestpage.jsp
private\query\runpage.jsp query\tabs.ascx

scheduled job page


Lists all jobs that activate at a specified date and time but are not yet active.
Name JSP: <context root>\private\jobs\scheduledjob.jsp
.NET: <context root>\requests\tabs.ascx
Parameters The scheduled job page uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.
Used by Not applicable.

236 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
search frame page
Processes report search criteria. The request search page, the search report
page, and the view frame set page use the search frame page.
Name JSP: <context root>\viewer\searchframe.jsp
.NET: <context root>\viewer\searchframe.aspx
Used by The following table lists the pages that use the search frame page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


viewer\requestsearch.jsp filesfolders\index.aspx
viewer\searchreport.jsp viewer\requestsearch.ascx
viewer\searchreport.ascx

search folders page


Recursively searches from the current folder for files and folders whose names
match the search string.
Name JSP: <context root>\searchfiles.do
.NET: <context root>\search\search.aspx
Parameters The following table describes the parameters for the search folders page. The
search folders page also uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.

URI parameter Description


folder Folder name to start the search from. The default is
the current location, as shown in the breadcrumb.
searchFilter The name to search for. Expressions and wildcards
are allowed. For more information about search
expressions, see Chapter 3, “Searching in an Actuate
report,” in Working with Actuate Basic Reports.

For example, the following Active Portal for JSP URL searches in the current
folder and all subfolders for files or folders whose names begin with the string
“sub”:
http://localhost:8700/acweb/searchfiles.do?searchFilter=sub*

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 237
The result is shown in the following illustration:

Used by Not applicable.

search report page


Searches the report based on criteria that the user specifies in the search form,
obtains search results, and presents the results to the user in the browser.
Name JSP: <context root>\viewer\searchreport.jsp
.NET: <context root>\viewer\searchreport.aspx
Parameters The following table describes the parameters for the search report page. The
search report page also uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.

URI parameter Description


connectionHandle An identifier for temporary reports only.
enableColumnHeaders Determines whether the search results include an
initial record containing the names of the selected
columns. Values are True to include the column
headers in the search results, False to omit the
headers. The default is True. This option is ignored
if format is not CSV.
format The format of the search data: XMLDisplay, CSV,
and TAB. CSV and TAB are for downloading search
results and the report encoding is used for the
results file. However, if the report encoding is UCS2,
the CSV or TAB results file uses UTF8 encoding.

238 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
URI parameter Description
hits The end value for the range for the search results.
ID The ID of the report to search.
name The name of the report document to search. This
parameter is ignored if objectID is also specified.
searchList The search criteria. The format is:
&<component name> or <searchtag>=<value>
[&<component name> or <searchtag> = <value>]

where <component name> is the fully qualified
name of the component on which the search
condition is based and <searchtag> is the SearchTag
property of the component. Do not type the
searchList parameter name. Type only component
and value and searchtag and value pairs.
For example, &titleframe::txtname:include="*"
selects all the txtname components in titleframe.
&($Sales)="*" selects all the components with their
SearchTag set to Sales. If the component has a
SearchTag, you must use the SearchTag for
searching, you cannot use the component name. For
more information about searching and SearchTags,
see Chapter 12, “Adding interactive viewing
features,” in Developing Actuate Basic Reports.
startingPoint The start value of the range for the search results.
type The type of the object in which to search, such as
ROI.
useQuoteDelimiter Determines whether to enclose the search results in
double quotes. True encloses each data item with
double quotes in the search results, False does not.
The default is True. Actuate ignores this option if
format is not CSV.
version The report’s version number. If you do not specify a
version, Actuate uses the latest version of the report.

Used by Not applicable.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 239
search toolbar page
Builds and displays the search toolbar. The search toolbar appears at the top of
the search form.

Name JSP: <context root>\viewer\searchtoolbar.jsp


.NET: <context root>\viewer\searchtoolbar.aspx
Used by The following table lists the pages that use the search toolbar page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


viewer\searchframe.jsp viewer\searchframe.ascx
viewer\searchreport.jsp viewer\searchreport.ascx
viewer\viewframeset.jsp viewer\viewframeset.ascx

submit job page


Submits an asynchronous job for a report or Actuate Query to the server.
There is no user interface to the submit job page. submitjobstatus.jsp uses the
HTML code in <context root>\private\newrequest\submitjobstatuspage.jsp
to display the new request information.
Name JSP: <context root>\submitjob.do
<context root>\private\newrequest\submitjobstatus.jsp
.NET: <context root>\newrequest\do_submitjob.aspx
Parameters The following table describes the parameters for the submit job page. The
submit job page also uses the common URI parameters. For more information,
see “Common URI parameters,” earlier in this chapter. All other parameters
are passed to the report.

240 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
You define a report parameter in a report design. Report parameters are case-
sensitive. Refer to them exactly as you define them in the report. For more
information about report design, see Working with Actuate Basic Reports.

URI parameter Description


__accessToGrant The type of access to grant automatically to those
roles that have permission to view the report.
Permission is granted by the __exclude value. If the
output is a secure DHTML report, grant Secure
Read access. Otherwise, grant Read access.
__ageDays Use with __ageHours to determine how long
output objects exist before they are deleted. Use
only if __archivePolicy is set to age. __ageDays can
be any positive number.
__ageHours Use with __ageDays to determine how long output
objects exist before they are deleted. Use only if
__archivePolicy is set to age. __ageHours can be
any positive number.
__archiveBeforeDelete Indicate whether to archive the output objects of the
current request before deleting them, according to
__archivePolicy’s setting. Set this parameter to True
to archive objects before deleting them. The default
value is False.
This has no effect if __archivePolicy is set to folder.
__archivePolicy The archive policy to implement for the objects
created as output for the current request. Values are
folder, age, and date. Set this parameter to folder to
use the archive policy that is already set for the
folders to which the output is distributed, to age to
delete objects older than a specific time period, or to
date to delete objects on a specific date.
__dateToDelete The date on which to delete the output objects of
the current request. Use only if __archivePolicy is
set to date. __dateToDelete must be a date in a
locale-specific format. The default format is mm/
dd/yyyy.
__executableName The name of the executable file for this request.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 241
URI parameter Description
__format Output file format. The ROI format is always
created first, and then converted to the specified
format if that format is not ROI. You optionally
specify keeping the ROI output with the
__keepROIIfSucceeded and __keepROIIfFailed
options. Format values are:
■ ExcelData—an Excel spreadsheet format to use
for basic tabular or listing reports . The
appearance can differ from the original report.
Do not use this format for a complicated report.
Potential issues in this format include images
and graphs that do not appear, missing
background colors for frames and flows, and
imprecise component positioning.
■ ExcelDisplay—an Excel spreadsheet format that
appears as much like an Actuate report as
possible.
■ PDF—an Adobe Acrobat-readable Portable
Document Format file.
■ ROI—a report object instance (.roi) file, which a
user can view using the DHTML viewer. This is
the default format.
■ RTF—a rich text format (.rtf) file. The report’s
visual layout is similar to the DHTML viewer
layout.
■ RTFFullyEditable—a rich text format (.rtf) file
with more flexibility for manipulating output,
such as moving or multiple lines at the same
time. Produces a larger RTF file than the RTF
format.
Actuate Active Portal truncates reports in the
ExcelData and ExcelDisplay formats if they exceed
the Maximum Number of Pages Convertible To
Excel parameter value. For more information about
this parameter, see Chapter 7, “Working with an
Actuate iServer System server,” in Administering
Actuate iServer System.
__headline A descriptive tag line for a report.
Appears on the Channel Contents page. Use the
character string %20 to represent spaces in the
headline string.

242 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
URI parameter Description
__ifExists Indicates whether to overwrite an existing or create
a new file, up to an optional limit. Values are:
■ create—creates a new output file.
■ create[n]—creates a new output file up to n
versions. For example, to create no more than
seven versions, use create7.
■ replace—overwrite any existing output.
__jobName The name for the job to submit.
__keepROIIfSucceeded Used with the __format parameter. Specifies
whether to keep the ROI after successfully
generating a non-ROI format. The default value is
False, which deletes the ROI.
__keepROIIfFailed Used with the __format parameter. Specifies
whether to keep the ROI if a non-ROI format is
selected for report generation and the conversion
step fails. The default value is False, which deletes
ROI.
__onceDate Required for once schedules.
Specify the date on which to run the report, for
reports with __scheduleType of once. Must be in
the appropriate format for your locale, such as
mm/dd/yyyy for the U.S. locale. The current date
is the default.
__onceTime Required for once schedules.
Specify the time at which to run the report, for
reports with __scheduleType of once. Must be in
the appropriate format for your locale, such as
“hh:mm a” for the U.S. locale. The current time is
the default.
__outputName Specifics a name for the report output.
postback True to execute the job immediately, False to
populate the page with parameters.
__priority Specifies the job submission priority. Values are a
number from 1 to 1000, High (800), Medium (500),
and Low (200). Do not use with __priorityValue.
__priorityValue Specifies a number corresponding to the job
submission priority. Do not use with __priority.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 243
URI parameter Description
__progressive Indicate whether to display the report after it
generates. If False, the report displays after it
generates. If True, the report displays
progressively, as it generates. Applies only to
synchronous jobs.
__recurringDay Specifies the scheduled recurring day on which to
run the report. Applies only to asynchronous
reports.
__recurringTime Required for recurring schedules.
Specify the time at which to run the report. Set only
if reports __scheduleType is recurring.
Must be in the appropriate format for your locale,
such as hh:mm:ss for the U.S. (enu) locale.
__redirect Specifies a relative or absolute URI to go to after
do_executereport submits the report. The default is
Submittedjob_Status.
__schedulePeriod Required for recurring schedules.
Specify how often to run the report, and on which
days. Choose a day of the week.
__schedulePeriod values are Every Day, Weekdays,
Mondays, Tuesdays, Wednesdays, Thursdays,
Fridays, Saturdays, Sundays, First Day of the
Month, Last Day of the Month. All values case-
sensitive.
Every Day or Weekdays. Set only if
__scheduleType is recurring.
__scheduleType Specify the type of schedule: immediate, once, or
recurring. Immediate is the default.
__serverURL Contains the URI that accesses the JSP engine, such
as http://Services:8700.
__timeToDelete Specifies a time at which to delete an archived
report. Applies only to asynchronous reports.
__versionName Contains a string value for the new version name of
this report. The value can include a date/time
expression enclosed in braces, {}, to ensure a unique
version name.
__volume Contains a string value specifying the volume for
this report.

244 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Used by The following table lists the pages that use the submit job page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


newrequest\index.jsp newrequest\index.aspx
private\filesfolders
\filefolderlistcontent.jsp
private\newrequest
\newrequestpage.jsp

submit page
Copies or reruns a completed query using the Actuate Query Wizard.
execute.jsp uses the HTML code in <context root>\private\query
\runpage.jsp to display the query data. For information about Actuate Query,
see Chapter 4, “Working with queries,” in Working with Actuate Basic Reports.
Name JSP: <context root>\query\submit.do
<context root>\private\query\execute.jsp
.NET: <context root>\query\submit.aspx
Parameters The following table describes the parameters for the submit page. The submit
page also uses the common URI parameters. For more information, see
“Common URI parameters,” earlier in this chapter.

URI parameter Description


__executableName The full pathname of the DOV or DOX file to use for
the query.

Used by The following table lists the pages that use the submit page. All files are under
the appropriate context root.

Active Portal for JSP Active Portal for .NET


Not applicable filesfolders\index.aspx

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 245
tabs page
Presents and manages Actuate Active Portal tabs for Active Portal for .NET.
These pages are Active Portal for .NET pages only because Active Portal for
JSP uses the actabpanel custom tags. For more information about actabpanel,
see “actabpanel” in Chapter 8, “Actuate Active Portal for JSP custom tags.”

options tabs page


Manages the tabbed set of pages that specify user settings, display existing job
requests, and provide information about Actuate Active Portal.
The following illustration shows the Options tabs.

Name .NET: <context root>\options\tabs.ascx


Used by The following table lists the pages that use the options tabs page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


Not applicable options\index.aspx

query tabs page


Defines the tabs for Actuate Query. The query tabs page dynamically includes
Content, Sorting, Filter, Finish, and Schedule depending upon the query
request task.
Name .NET: <context root>\query\tabs.ascx
Used by The following table lists the pages that use the query tabs page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


Not applicable query\create.aspx
query\execute.aspx
query\submit.aspx

246 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
request tabs page
Manages the tabbed set of pages that display existing job requests. Users view
jobs according to their status: Scheduled, Pending, Running, and Completed.
The following illustration shows the Request tabs.

Name .NET: <context root>\requests\tabs.ascx


Used by The following table lists the pages that use request tabs page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


Not applicable requests\index.aspx

view cube page


Displays the Actuate Analytics Cube Viewer to view or analyze a data cube in
an Encyclopedia volume. When a cube view is accessed, the latest version of
the data cube is generated from the cube design that the cube view depends
upon. This lets you create views on the cube and use the views as bookmarks
to analyze the cube.
Many settings for the Cube Viewer are taken from the Actuate Active Portal
configuration parameters. These settings include the viewer’s height and
width, the default experience level, and whether or not users can save new
cubes. The names of all of the configuration parameters that apply to the Cube
Viewer begin with ANALYTICS. For more information about setting Cube
Viewer configuration parameters for Active Portal for .NET, see “Customizing
Active Portal for .NET configuration” in Chapter 2, “Creating a custom Active
Portal for .NET web site.” For more information about setting Cube Viewer
configuration parameters for Active Portal for JSP, see “Customizing Active
Portal for JSP configuration” in Chapter 3, “Creating a custom Active Portal
for JSP web site.” For more information about Cube Viewer experience levels,
see “About Actuate Analytics experience levels” in Chapter 1, “Introducing
Actuate Active Portal.”
The Cube Viewer downloads the entire cube file from the Encyclopedia
volume to allow analysis on the cube. The upper limit on the cube size that can
be downloaded depends on the resources available on your client machine,
and can be less than necessary to download a large cube. Actuate recommends

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 247
partitioning the data to be analyzed based on the end user role, and using a
summary and several detail cubes to support analysis of large cubes.
Name JSP: <context root>\viewcube.do
.NET: <context root>\cubeviewer\viewcube.aspx
Parameters The following table describes the parameter for the view cube page. The view
cube page also uses the common URI parameters. For more information, see
“Common URI parameters,” earlier in this chapter.

URI Parameter Description


name Name of the cube or the view in the Encyclopedia.
The file name specified must include the folder path
and file version.

For example, the following Active Portal for JSP URI executes the Actuate
Analytics Cube Viewer to view a cube using the cube name:
http://druid:8700/acweb/viewcube.do?name=/sales/forecast.cb4
In the following example, the Active Portal for .NET URI executes the Actuate
Analytics Cube Viewer to view a cube on volume V1 using the view name:
http://druid:8700/acweb/cubeviewer/viewcube.aspx
?name=/sales/Measures by Sales Profits.cvw&volume=V1
Used by Not applicable.

view default page


Displays the report with the navigation bar in the browser according to the
user’s preferences and privileges, set in User Preferences. Either objectID or
name must be specified. If an illegal set of attribute values are specified, or
there is a processing error, an exception is thrown.
Name JSP: <context root>\viewer\viewdefault.jsp
.NET: <context root>\viewer\viewdefault.aspx

248 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Parameters The following table describes the parameters for the view default page. The
view default page also uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.

URI Parameter Description


action The type of content for the application server to
create. Values are view or print. Default is view.
componentID Locates the page containing the specified
component ID.
componentName The name of the report component from which to
retrieve Reportlet data. The componentName is the
name of the component assigned in the .rod, such as
NewReport::Frame1. If componentName is not
specified, the componentID is used. Use in
conjunction with componentValue. Specify either
componentName and optionally componentValue,
or componentID.
componentValue A value identifying the specific instance of the
report component from which to retrieve Reportlet
data. The value is the result of evaluating a search
expression. Use componentValue in conjunction
with componentName. Specify either
componentName and componentValue, or
componentID. If unspecified, componentValue
defaults to the first report component specified by
componentName that the user has access to.
connectionHandle An identifier for temporary reports only.
embsrvrequester The prefix for an embedded object to retrieve the
object from the report. Embedded objects include
hyperlinks, cascading stylesheets, static objects such
as images, and dynamic objects such as charts.
ID The ID of the report being searched.
mode The page navigation mode. Values are First, Last,
Previous, or Next.
name The name of the report to be viewed. This parameter
is ignored if objectID is also specified.
operation The type of operation for the Actuate iServer to
perform. Values are view or print. Default is view.
page The page number to view.
range A range of pages to retrieve. Separate pages and
page ranges with commas, such as 1-3,15,21-25.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 249
URI Parameter Description
scalingFactor The size of the report in the browser, such as 100
(full size) or 50 (half size).
searchCriteria The list of name-value pairs that uniquely identify a
page or pages containing components on which to
search. The format is:
&<component name>=<value>
[&<component name> = <value>] …
where <component name> is the fully qualified
name of the component on which the search
condition is based. The & and = must be encoded to
%26 and %3d. Do not enter the searchList parameter
name; enter only the component/value pairs. For
example, %26titleframe::txtname:include%3d*.
searchCriteria finds the first matching component in
the report because it is a component-based search
and not page-based. This means that it does not
always return the page containing both the name
and value, but the first section or component that
matches the search criteria.
showSearch If True, shows the search frame the first time the
page is accessed. The default is False.
showTOC If True, shows the TOC the first time the URL is
accessed. The default is False.
type If name is specified, the type of object to search, such
as ROI.
userAgent The user’s browser, such as IE/5.5.
version The report’s version number, if the name option is
specified. If unspecified, the latest version of the
report is used.

Used by Not applicable.

view embedded object page


Allows you to call a viewing servlet from Active Portal for .NET. This page is
an Active Portal for .NET page only because Active Portal for JSP calls servlets
directly.
Name .NET: <context root>\viewer\viewembeddedobject.aspx

250 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Parameters operation is the name of the servlet to run. The choices are GetStaticData,
GetDynamicData, and GetStyleSheet. In addition, any parameters for the
servlet can be specified. For information about the servlet parameters, see the
appropriate servlet in Chapter 7, “Actuate Active Portal for JSP servlets.” The
view embedded object page also uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.
For example, the following URI executes the GetStaticData servlet. The user’s
reports reside in the MARCOM Encyclopedia accessed by the Actuate iServer
listening at http://marcom:8700.
http://marcom:8700/acweb/viewer/viewembeddedobject.aspx
?operation=GetStaticData&objectID=1
Used by Not applicable.

view frame set page


Displays the report along with the navigation bar in the browser. The
following example displays the report Msbargph.roi.
http://phish:8700/acweb/viewer/viewframeset.jsp
?name=/msbargph.roi;1&serverURL=http://PHISH:9000&volume=PHISH
Name JSP: <context root>\viewer\viewframeset.jsp
.NET: <context root>\viewer\viewframeset.aspx
Parameters The following table describes the parameters for the view frame set page. The
view frame set page also uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.

URI parameter Description


action The type of content for the application server to
create. Values are view or print. Default is view.
componentID Locates the page containing the specified
component ID.
componentName The name of the report component from which to
retrieve Reportlet data. The componentName is the
name of the component assigned in the .rod, such as
NewReport::Frame1. If componentName is not
specified, the componentID is used. Use in
conjunction with componentValue. Specify either
componentName and optionally componentValue,
or componentID.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 251
URI parameter Description
componentValue A value identifying the specific instance of the
report component from which to retrieve Reportlet
data. The value is the result of evaluating a search
expression. Use componentValue in conjunction
with componentName. Specify either
componentName and componentValue, or
componentID. If unspecified, componentValue
defaults to the first report component specified by
componentName that the user has access to.
connectionHandle An identifier for temporary reports only.
embsrvrequester The prefix for an embedded object to retrieve the
object from the report. Embedded objects include
hyperlinks, cascading stylesheets, static objects such
as images, and dynamic objects such as charts.
ID The ID of the report being searched.
mode The page navigation mode. Values are First, Last,
Previous, or Next.
name The name of the report to be viewed. This parameter
is ignored if ID is also specified.
operation The type of operation for the Actuate iServer to
perform. Values are view or print. Default is view.
page The page to view.
range The range of pages to retrieve from the object and
display in a specified output file format. Separate
pages and page ranges with commas, such as 1-
3,15,21-25.
scalingFactor The size of the report in the browser, such as 100
(full size) or 50 (half size).

252 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
URI parameter Description
searchCriteria The list of name-value pairs that uniquely identify a
page or pages containing components on which to
search. The format is:
&<component name>=<value>
[&<component name>=<value>] …
where <component name> is the fully qualified
name of the component on which the search
condition is based. The & and = must be encoded to
%26 and %3d. Do not enter the searchList parameter
name; enter only the component/value pairs. For
example, %26titleframe::txtname:include%3d*.
searchCriteria finds the first matching component in
the report because it is a component-based search
and not page-based. This means that it does not
always return the page containing both the name
and value, but the first section or component that
matches the search criteria.
showSearch If True, shows the search frame the first time the
page is accessed. The default is False.
showTOC If True, shows the TOC the first time the URL is
accessed. The default is False.
type If name is specified, the type of object to search, such
as ROI.
userAgent The user’s browser, such as Mozilla/4.0.
version The report’s version number. If version is not
specified, the latest version of the report is used.

Used by The following table lists the pages that use the view frame set page. All files
are under the appropriate context root.

Active Portal for JSP Active Portal for .NET


private\filesfolders channels\index.aspx
\filefolderlistcontent.jsp
viewer\viewdefault.jsp filesfolders\index.aspx
viewer\viewreport.jsp requests\detail.aspx
requests\tabs.ascx

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 253
view navigation page
Displays the viewer navigation toolbar.
Name JSP: <context root>\viewer\viewnavigation.jsp
.NET: <context root>\viewer\viewnavigation.aspx
Parameters The following table describes the parameters for the view navigation page.
The view navigation page also uses the common URI parameters. For more
information, see “Common URI parameters,” earlier in this chapter.

URI Parameter Description


componentID Locates the page containing the specified
component ID.
embsrvrequester The prefix for an embedded object to retrieve the
object from the report. Embedded objects include
hyperlinks, cascading stylesheets, static objects such
as images, and dynamic objects such as charts.
encoding The character encoding, such as UTF8. Used by the
view server.
mode The page navigation mode. Values are First, Last,
Previous, or Next.
name The name of the report to be viewed. This parameter
is ignored if objectID is also specified.
objectID The ID of the report to display.
operation The type of operation to perform. Values are view or
print.
page The page number to view.
range A range of pages to retrieve. Separate pages and
page ranges with commas, such as 1-3,15,21-25.
reportletMaxHeight The maximum height in points of Reportlets. Used
by the Reportlets feature.
scalingFactor The size of the report in the browser, such as 100
(full size) or 50 (half size).

254 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
URI Parameter Description
searchCriteria The list of name-value pairs that uniquely identify a
page or pages containing components on which to
search. The format is:
&<component name>=<value>
[&<component name>=<value>] …
where <component name> is the fully qualified
name of the component on which the search
condition is based. The & and = must be encoded to
%26 and %3d. Do not enter the searchList parameter
name; enter only the component/value pairs. For
example, %26titleframe::txtname:include%3d*.
searchCriteria finds the first matching component in
the report because it is a component-based search
and not page-based. This means that it does not
always return the page containing both the name
and value, but the first section or component that
matches the search criteria.
type If name is specified, the type of object to search, such
as ROI.
userAgent The user’s browser, such as IE/5.5.
version The report’s version number, if the name option is
specified. If unspecified, the latest version of the
report is used.

Used by The following table lists the pages that use the viewer navigation page. All
files are under the appropriate context root.

Active Portal for JSP Active Portal for .NET


viewer\searchreport.jsp viewer\searchreport.ascx
viewer\viewframeset.jsp viewer\viewframeset.ascx

view page page


Retrieves a report page to display in a Reportlet. This page is an Active Portal
for .NET page only. For information about retrieving data to display in a
Reportlet in Active Portal for JSP, see “ViewPage servlet” in Chapter 7,
“Actuate Active Portal for JSP servlets.”

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 255
The following Active Portal for .NET URI retrieves a page in XML format from
the Forecast report.
/acweb/viewer/viewpage.aspx?page=4&name=/forecast.roi
&format=XMLDisplay
Name .NET: <context root>\viewer\viewpage.aspx
Parameters The following table describes the parameters for the view page page. The view
page page also uses the common URI parameters. For more information, see
“Common URI parameters,” earlier in this chapter.

URI parameter Description


action The type of content for the application server to
create. Values are view or print. Default is view.
componentID The identifier of the report component from which
to retrieve Reportlet data. Specify either
componentID, or componentName and
componentValue.
componentName The name of the report component from which to
retrieve Reportlet data. The componentName is the
name of the component assigned in the .rod, such as
NewReport::Frame1. If componentName is not
specified, the componentID is used. Use in
conjunction with componentValue. Specify either
componentName and optionally componentValue,
or componentID.
componentValue A value identifying the specific instance of the
report component from which to retrieve Reportlet
data. The value is the result of evaluating a search
expression. Use componentValue in conjunction
with componentName. Specify either
componentName and componentValue, or
componentID. If unspecified, componentValue
defaults to the first report component specified by
componentName that the user has access to.
connectionHandle An identifier for temporary reports only.
embsrvrequester The pathname of the servlet which retrieves
embedded objects such as images for the Reportlet.

256 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
URI parameter Description
format The file format in which to generate output. Values
are:
■ DHTML—a compressed DHTML format that
uses cascading stylesheets (CSS). This is the
default format.
■ DHTMLLong—an uncompressed DHTML
format. Use this format if your browsers do not
support CSS.
■ DHTMLRaw—an uncompressed DHTML
format without external JavaScript references. It
produces just the bare report.
■ ExcelData—a format mainly used for tabular or
listing reports. The appearance sometimes is not
faithful to the original report or does not work
well for complicated reports. Potential issues
include undisplayed images and graphs, ignored
background color of frames and flows, and only
rough accuracy for component positioning.
■ ExcelDisplay—a format that appears as much
like an Actuate report on an Excel spreadsheet as
possible.
Reports in the ExcelData and ExcelDisplay formats
are truncated if they exceed Maximum Number of
Pages Convertible To Excel. For more information
about this format parameter, see Chapter 7,
“Working with an Actuate iServer System server,” in
Administering Actuate iServer System.
■ PDF—report output in Adobe Acrobat-readable
Portable Document Format.
■ Reportlet—the report is extracted as a part of the
an HTML page. This means that the customary
<Head> and <body> tags are not present.
■ RTF—report output in Rich Text Format. The
report’s visual layout is similar to the DHTML
viewer layout.
■ RTFFullyEditable—report output in Rich Text
Format, with more flexibility when manipulating
output, such as the ability to move and delete
several lines from a report at a time. Produces a
larger RTF file than the RTF format.

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 257
URI parameter Description
■ XMLDisplay—a complete XML representation of
the report. It contains information about
attributes of controls.
■ XMLCompressedDisplay—the same as XML
Display. The only difference is that it places all
the common properties into a template.
ID The unique ID of the report to view.
mode The page to which to navigate. Values are first, last,
previous, and next. If mode is specified, page is
ignored.
name The name of the report to be viewed.
operation The type of operation for the Actuate iServer to
perform. Values are view or print. Default is view.
page The object’s page to display.
pageHeight The printed page height in twips. Used only when
format=PDF and splitOversizePages=1. This page
height overrides the report’s page height and any
page splitting rules in the report.
pageWidth The printed page width in twips. Used only when
format=PDF and splitOversizePages=1. This page
width overrides the report’s page width and any
page splitting rules in the report.
PDFQuality The image quality in a PDF file. Use only if format is
set to PDF. The value ranges from 100, for the lowest
image quality but the smallest PDF file size, to 300,
for the highest image quality but the largest PDF file
size. Specify a larger charting heap size before using
higher PDFQuality values. The default PDFQuality
is an Actuate iServer advanced configuration value.
For more information about the default, see
Chapter 7, “Working with an Actuate iServer
System server,” and for more information about
configuring the heap size, see Chapter 14, “Setting
Actuate iServer parameters,” in Administering
Actuate iServer System.
range The range of pages to retrieve from the object and
display in a specified output file format. Separate
pages and page ranges with commas, such as
1-3,15,21-25.
reportletMaxHeight Specifies the Reportlet maximum height in points.

258 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
URI parameter Description
scalingFactor The scale at which to view an object, such as
scalingFactor=100.
searchCriteria The list of name-value pairs that uniquely identify a
page or pages containing components on which to
search. The format is:
&<component name>=<value>
[&<component name> = <value>] …
where <component name> is the fully qualified
name of the component on which the search
condition is based. The & and = must be encoded to
%26 and %3d. Do not enter the searchList parameter
name. Enter only the component/value pairs. For
example, %26titleframe::txtname:include%3d*.
searchCriteria finds the first matching component in
the report because it is a component-based search
and not page-based. This means that it does not
always return the page containing both the name
and value, but the first section or component that
matches the search criteria.
splitOversizePages Split report pages to print on multiple sheets. Values
are 0, the default, to not split and 1 to split. Ignored
unless format=PDF. Use if the report’s page size is
larger than the printer’s sheet size. For information
about setting the output page size, see pageHeight
and pageWidth in this section.
type If name is specified, the type of object to search, such
as ROI.
userAgent The user’s browser, such as IE/5.5.
version If name is specified, the version number of the object
to view. If version is not specified, the latest version
is retrieved.

Used by The following table lists the pages that use the view page page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


viewer\saveas.ascx
searchframe.ascx
searchreport.ascx

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 259
Active Portal for JSP Active Portal for .NET
viewframeset.ascx
viewtoc.ascx

view third-party report page


Supports calling a viewing servlet for a third-party report from Active Portal
for .NET. This page is an Active Portal for .NET page only. Active Portal for
JSP calls servlets directly.
Name .NET: <context root>\viewer\view3partyreport.aspx
Parameters The following table describes the parameters for the view third-party report
page. The view third-party report page also uses the common URI parameters.
For more information, see “Common URI parameters,” earlier in this chapter.

URI parameter Description


connectionHandle An identifier for temporary reports only.
ID The object’s unique identifier.
name The name of the object the contents of which to
view.
returnContents False to stream the file back to the browser, True to
save the file on the web server and include it in
main.html with other files.
persistent False for the page to call the API
DownloadTransientFile, True for the page to call the
API DownloadFile.

Used by Not applicable.

view TOC page


Displays the report’s table of contents (TOC). Users view a report’s table of
contents by choosing TOC on the toolbar.
TOC button

260 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
The content of the table of contents depends on the report. The table of
contents is similar to the following illustration.

TOC

XMLDisplay is the only supported format for the table of contents.


Name JSP: <context root>\viewer\viewtoc.jsp
.NET: <context root>\viewer\viewtoc.aspx
Parameters The following table describes the parameters for the view TOC page. The view
TOC page also uses the common URI parameters. For more information, see
“Common URI parameters,” earlier in this chapter.

URI parameter Description


componentID The identifier of the report component from which
to retrieve Reportlet data. Specify either
componentID, or componentName and
componentValue.
connectionHandle An identifier for temporary reports only.
depth The depth of the table of contents.
ID The ID of the report for which to create a table of
contents.
name The name of the report for which to create a table of
contents. This parameter is ignored if objectID is
also specified.

Used by The following table lists the pages that use the view TOC page. All files are
under the appropriate context root.

Active Portal for JSP Active Portal for .NET


viewer\searchreport.jsp viewer\searchreport.ascx
viewer\viewframeset.jsp viewer\viewframeset.ascx

C h a p t e r 5 , A c tu a t e A c t i ve Po r t a l U R I s 261
262 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Chapter

Actuate Active Portal


Chapter 6
6
JavaScript
This chapter contains the following topics:
■ Actuate Active Portal JavaScript overview
■ Actuate Active Portal JavaScript reference

Chap ter 6, Actuate Active Por tal JavaScript 263


Actuate Active Portal JavaScript overview
This section describes the Actuate Active Portal JavaScript files. Actuate
Active Portal JavaScript files provide functionality and dynamic content to
Actuate Active Portal web sites. Actuate Active Portal JavaScript files reside in
<context root>\js.

Actuate Active Portal JavaScript reference


The following table lists and describes the Actuate Active Portal JavaScript
files.

Name Description
allscripts.js Defines global variables, resources, and common
functions such as deleteFile and
viewActiveRequests
array.js Contains functionality for handling arrays and
array elements
browsertype.js Determines the web browser in use and provides
functionality appropriate to the browser, such as
opening a file in a new window and capturing a
keystroke event
calendarlayer.js Provides calendar functionality for Active Portal
for JSP only
converter.js Provides character encoding
cookie.js Provides cookie functionality, including reading,
writing, and clearing browser cookies
drift.js Adjusts layers and window display for Active
Portal for JSP only
encoder.js Contains the encode and unencode functions
help.js Provides context sensitive help functionality for
Active Portal for JSP only
htmlselect.js Provides functions for manipulating option
controls
layer.js Provides layer functionality, such as createLayer,
deleteLayer, getWidth, showLayer
popupmenu.js Defines the functions for manipulating popup
menus

264 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Name Description
query.js Provides the JavaScript components for parameter
pages
report.js Provides the JavaScript components for report
viewing
requestsearch.js Provides the JavaScript components for requesting
searches
resize.js Provides the JavaScript component for resizing a
page for Active Portal for JSP only
saveas.js Provides the JavaScript component for saving a file
as another file or object
schedule.js Provides the JavaScript components for scheduling
jobs for Active Portal for .NET only
search.js Provides search functionality for DHTML reports
searchtoolbar.js Defines functionality for the Search toolbar buttons
skincustomization.js Provides the JavaScript components for
maintaining Actuate Active Portal skins
strutscommon.js Provides JavaScript components for using the
Struts framework with Active Portal for JSP only
toctree.js Builds and displays the DHTML report table of
contents
TreeViewScript.js Provides support for the Tree View skin for Active
Portal for .NET only
viewer.js Processes viewing parameters
viewframeset.js Tracks the last page viewed for each report visited
for the current web browser session
viewframesetfuncs.js Defines functions required to manage the viewer
frameset such as resizing the frame, manipulating
cookies, and retrieving values from a URI
viewnav.js Displays the Actuate Active Portal toolbar

Chap ter 6, Actuate Active Por tal JavaScript 265


266 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Chapter

Actuate Active Portal for


Chapter 7
7
JSP servlets
This chapter contains the following topics:
■ Active Portal for JSP Java servlets overview
■ Active Portal for JSP Java servlets quick reference
■ Active Portal for JSP Java servlets reference

C ha pter 7, Actua te Active Por ta l for JSP ser vlets 267


Active Portal for JSP Java servlets overview
Java servlets extend web server functionality. Active Portal for JSP uses Java
servlets to manage binary content and to perform tasks such as uploading and
downloading binary files. Actuate provides an abstract framework of servlets
that provide common functionality to Active Portal for JSP and Management
Console. You cannot modify the Actuate Java servlets.

About the base servlet


All Actuate servlets derive from the base servlet:
com.actuate.reportcast.servlets.AcServlet
The base servlet has no URI parameters. It provides Actuate servlets with the
functionality for performing the following tasks:
■ Parse and validate parameters specified in Active Portal for JSP URI
directives.
■ Create XML API structures based on Actuate Active Portal requests.
■ Submit XML streams to the Actuate SOAP API.
■ Handle responses from the Actuate SOAP API, including detecting errors.
■ Store constant session information, such as the namespace and SOAP
endpoint.
■ Read from and write to cookies.
■ Stream report data or errors to the web browser.

Invoking a servlet
You invoke servlets using the following syntax:
http://<application server>:<port>/<context root>/servlet/<servlet alias>
where
■ application server is the name of the machine hosting the application
server.
■ port is the port on which the application server listens for requests.
■ context root is the Active Portal for JSP context root.
■ servlet is a keyword indicating that a servlet follows.
■ servlet alias is the name to which the servlet is mapped in the Active Portal
for JSP installation’s web.xml file. A typical location for web.xml is
C:\Program Files\Actuate8\ActivePortalJSP\Web-inf\web.xml.

268 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Servlet names are case sensitive. Do not modify the servlets, their names, or
their mapping in web.xml.

Active Portal for JSP Java servlets quick reference


The following table lists the Active Portal for JSP Java servlets.

Active Portal servlet Description


DownloadFile servlet Downloads a file from the Encyclopedia volume.
DownloadSearchResult Download search results in a specified format.
servlet
GetDynamicData Retrieves dynamic data, such as charts from
servlet reports.
GetReportData servlet Displays the contents of components in a report.
GetStaticData servlet Retrieves static data such as images from a report.
GetStyleSheet servlet Retrieves an object’s stylesheets.
ViewEmbeddedObject Displays embedded objects that are contained in a
servlet report.
ViewPage servlet Displays the contents of a specified report page.

Active Portal for JSP Java servlets reference


This section provides the detailed reference for Active Portal for JSP servlets.

DownloadFile servlet
Downloads a file from the Encyclopedia volume. For information about using
this servlet from Active Portal for .NET, see “view third-party report page” in
Chapter 5, “Actuate Active Portal URIs.”
Name com.actuate.reportcast.servlets.FileDownloadServlet
Invoke this servlet as:
http://<web server>:<port>/<context root>/servlet/DownloadFile

C ha pter 7, Actua te Active Por ta l for JSP ser vlets 269


URI The following table lists and describes the URI parameters for DownloadFile
parameters servlet.

URI parameter Description


fileid The unique identifier of an object, usually retrieved
with the selectFilesFolders JSP tag.
name The name of the object to download.
version If name is specified, the version number of the
object to view. If version is not specified, the latest
version is retrieved.

DownloadSearchResult servlet
Download search results in a specified format.
Name com.actuate.reportcast.servlets.DownloadSearchResultServlet
Invoke the download search result servlet as:
http://<web server>:<port>/<context root>/servlet/DownloadSearchResult
URI The following table lists and describes the URI parameters for the
parameters DownloadSearchResult servlet.

URI parameter Description


format The format in which to download the search
results. Values are:
■ Excel
■ CSV
■ TSV
■ ANALYSIS
hits The point at which downloading of results ends.
name The name of the object the contents of which to
view.
objectID The unique identifier of an object, usually retrieved
with the selectFilesFolders JSP tag.

270 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
URI parameter Description
startingpoint The point from which to begin downloading
results from the result set, such as startingPoint=0.
version If name is specified, the version number of the
object to view. If version is not specified, the latest
version is retrieved.

GetDynamicData servlet
Retrieves dynamic data, such as charts from reports. For information about
using this servlet from Active Portal for .NET, see “view embedded object
page” in Chapter 5, “Actuate Active Portal URIs.”
Name com.actuate.reportcast.servlets.GetDynamicDataServlet
Invoke the get dynamic data servlet as:
http://<web server>:<port>/<context root>/servlet/GetDynamicData
URI The following table lists and describes the URI parameters for the
parameters GetDynamicData servlet.

URI parameter Description


componentId The name of the stream that returns the dynamic
object data, such as Image1.bmp.
connectionHandle An identifier for temporary reports only.
ID The unique identifier of an object, usually retrieved
with the selectFilesFolders JSP tag.
name The name of the object the contents of which to
view.
scalingFactor The scale at which to view the dynamic data, such
as scalingFactor=100.
type If the name option is specified, the type of the
object to view, such as ROI.
version If name is specified, the version number of the
object to view. If version is not specified, the latest
version is retrieved.

C ha pter 7, Actua te Active Por ta l for JSP ser vlets 271


GetReportData servlet
Displays the contents of components in a report. Specifying componentid 0
(zero) displays the whole report. Specify the component ID to display the data
in a specific component. This servlet maps to the GetContent XML API. To
perform this function in Active Portal for .NET, see “get report data page” in
Chapter 5, “Actuate Active Portal URIs.”
Name com.actuate.reportcast.servlets.GetReportDataServlet
Invoke the get report data servlet as:
http://<web server>:<port>/<context root>/servlet/GetReportData
URI The following table lists and describes the URI parameters for the
parameters GetReportData servlet.

URI parameter Description


componentID The identifier of the report component from which
to retrieve Reportlet data. Specify either
componentID, or componentName and
componentValue.
componentName The name of the report component from which to
retrieve Reportlet data. The componentName is the
name of the component assigned in the .rod, such
as NewReport::Frame1. If componentName is not
specified, the componentID is used. Use in
conjunction with componentValue. Specify either
componentName and optionally componentValue,
or componentID.
componentValue A value identifying the specific instance of the
report component from which to retrieve Reportlet
data. The value is the result of evaluating a search
expression. Use componentValue in conjunction
with componentName. Specify either
componentName and componentValue, or
componentID. If unspecified, componentValue
defaults to the first report component specified by
componentName that the user has access to.
converterparam Used internally by the converter framework for
low-level parameters needed to generate the
desired output.

272 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
URI parameter Description
embsrvrequester The prefix used in embedded <IMG…> HTML
attributes as a callback to retrieve an embedded
object within a report. Embedded objects include
cascading stylesheets, static objects such as images,
and dynamic objects such as charts.
encoding Used by the view service. The character encoding
as specified by the user.
format The file format in which to generate output. Values
are:
■ DHTML—a compressed DHTML format that
uses cascading stylesheets (CSS). This is the
default format.
■ DHTMLLong—an uncompressed DHTML
format. Use this format if your browsers do not
support CSS.
■ DHTMLRaw—an uncompressed DHTML
format without external JavaScript references,
leaving the bare report.
■ ExcelData—a format mainly used for tabular or
listing reports. The appearance sometimes is
not faithful to the original report or does not
work well for complicated reports. Potential
issues include undisplayed images and graphs,
ignored background color of frames and flows,
and only rough accuracy for component
positioning.
■ ExcelDisplay—a format that appears as much
like an Actuate report on an Excel spreadsheet
as possible.
Reports in the ExcelData and ExcelDisplay formats
are truncated if they exceed Maximum Number of
Pages Convertible To Excel. For more information
about this format parameter, see Chapter 7,
“Working with an Actuate iServer System server,”
in Administering Actuate iServer System.
■ PDF—report output in Adobe Acrobat-readable
Portable Document Format.
■ Reportlet—the report is extracted as a part of an
HTML page. This means that the customary
<Head> and <body> tags are not present.

C ha pter 7, Actua te Active Por ta l for JSP ser vlets 273


URI parameter Description
■ RTF—report output in Rich Text Format. The
report’s visual layout is similar to the DHTML
viewer layout.
■ RTFFullyEditable—report output in Rich Text
Format, with more flexibility when
manipulating output, such as the ability to
move and delete several lines from a report at a
time. Produces a larger RTF file than the RTF
format.
■ XMLDisplay—a complete XML representation
of the report. It contains information about
attributes of controls.
■ XMLCompressedDisplay—the same as XML
Display. The only difference is that it places all
the common properties into a template.
■ XMLData—can only be generated if the report
design has it specified. It is a property on the
controls in the Designer for setting XML
properties.
locale The client's locale in which to generate the report.
name The name of the object the contents of which to
view.
objectID The unique identifier of an object, usually retrieved
with the selectFilesFolders JSP tag.
operation The type of operation for the Actuate iServer to
perform. Values are view or print. Default is view.
PDFQuality The image quality in a PDF file. Use only if format
is set to PDF. The value ranges from 100, for the
lowest image quality but the smallest PDF file size,
to 300, for the highest image quality but the largest
PDF file size. Specify a larger charting heap size
before using higher PDFQuality values. The
default PDFQuality is an Actuate iServer advanced
configuration value. For more information about
the default, see Chapter 7, “Working with an
Actuate iServer System server,” and for more
information about configuring the heap size, see
Chapter 14, “Setting Actuate iServer parameters,”
in Administering Actuate iServer System.
reportletMaxHeight Used by Reportlets. The maximum allowed height
of Reportlets, measured in points.

274 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
URI parameter Description
scalingFactor The scale at which to view the report, such as
scalingFactor=100.
type If the name option is specified, indicates the type of
the object to view, such as ROI.
useragent Used by the View service, such as Mozilla/4.0
(compatible; MSIE 5.01; Windows NT).
version If name is specified, the version number of the
object to view. If version is not specified, the latest
version is retrieved.

GetStaticData servlet
Retrieves static data such as images from a report. For information on using
this servlet from Active Portal for .NET, see “view embedded object page” in
Chapter 5, “Actuate Active Portal URIs.”
Name com.actuate.reportcast.servlets.GetStaticDataServlet
Invoke the get static data servlet as:
http://<web server>:<port>/<context root>/servlet/GetStaticData
URI The following table lists and describes the URI parameters for the
parameters GetStaticData servlet.

URI parameter Description


connectionHandle An identifier for temporary reports only.
embed Indicates whether an image is embedded or is
external. 0 indicates an external image, and 1
indicates an embedded image.
ID The unique identifier of an object, usually retrieved
with the selectFilesFolders JSP tag.
name The name of the object the contents of which to
view.
streamname The name of the stream which returns the static
object data, such as Image1.bmp.

C ha pter 7, Actua te Active Por ta l for JSP ser vlets 275


URI parameter Description
type If the name option is specified, the type of the
object to view, such as .ROI.
version If name is specified, the version number of the
object to view. If version is not specified, the latest
version is retrieved.

GetStyleSheet servlet
Retrieves an object’s stylesheets. Specify the object ID to retrieve an object’s
stylesheets. For information on using this servlet from Active Portal for .NET,
see “view embedded object page” in Chapter 5, “Actuate Active Portal URIs.”
Name com.actuate.reportcast.servlets.GetStyleSheetServlet
Invoke the get stylesheet servlet as follows:
http://<web server>:<port>/<context root>/servlet/GetStyleSheet
URI The following table lists and describes the URI parameters for the
parameters GetStyleSheet servlet.

URI parameter Description


acceptencoding Whether or not the JSP client accepts encoded data.
Data is streamed in binary format by default. If
acceptencoding is True, the View service
compresses the data. The supported encoding is
gzip. True accepts encodings.
connectionHandle An identifier for temporary reports only.
format The format of the stylesheet, such as CSS.
ID The unique identifier of an object, usually retrieved
with the selectFilesFolders JSP tag.
name The name of the object the contents of which to
view.
type If the name option is specified, the type of the
object to view, such as ROI.
version If name is specified, the version number of the
object to view. If version is not specified, the latest
version is retrieved.

276 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
ViewEmbeddedObject servlet
The ViewEmbeddedObject servlet displays embedded objects that are
contained in a report. The embedded objects can be static, such as external
images or images in an ROX; dynamic, such as charts or graphs; or embedded
cascading stylesheets (CSS). The ViewEmbeddedObject servlet is mapped to
GetStaticData, GetDynamicData, or GetStyleSheet XML API depending upon
the URI parameters. The report data generally embeds links pointing to the
ViewEmbeddedObject servlet, including the appropriate URI parameters. The
browser resolves these links automatically. Users can also view these objects
directly by specifying the required parameters in the web browser.
Name com.actuate.reportcast.servlets.ViewEmbeddedObjectServlet
Invoke the view embedded objects servlet as follows:
http://<web server>:<port>/<context root>/servlet/ViewEmbeddedObject
URI The following table lists and describes the ViewEmbeddedObject servlet URI
parameters parameters.

URI parameter Description


componentid The unique object identifier for which to retrieve
the data. Required for dynamic data.
embed Indicates whether the object is embedded or
external. 1 indicates an embedded object, and 0
indicates an external object.
objectID The unique identifier of an object, usually retrieved
with the selectFilesFolders JSP tag.
scalingFactor The scale at which to view an object, such as
scalingFactor=100 displays an object at full size.
streamname Used only for static data. The name of the stream
that returns the static object data, such as
C:\Projects\Bmp\Image.bmp.

Example The following example retrieves a chart from a report. The chart’s component
ID, 198, and object ID, 17, were retrieved previously for use in this URI.
ViewEmbeddedObject?operation=GetDynamicData&ComponentID=198
&ObjectID=17&scalingFactor=100

C ha pter 7, Actua te Active Por ta l for JSP ser vlets 277


ViewPage servlet
Displays the contents of a specified report page or range of pages in a web
browser for paginated reports or all viewable contents if the report is
unpaginated. To perform this function in Active Portal for .NET, see “view
page page” in Chapter 5, “Actuate Active Portal URIs.”
The ViewPage servlet also manages the display of embedded objects.
Embedded objects include:
■ Cascading stylesheet (.css) files
■ Static objects, such as images
■ Dynamic objects, such as charts
The ViewPage servlet retrieves all the data for the report, including links to the
view embedded objects servlet, which retrieves any embedded objects.
The embsrvrequester URI parameter specifies a partial universal resource
identifier (URI) to append to the base URI. The web server uses the partial URI
to build the dynamic URI for an embedded object. When the web browser
encounters the embsrvrequester URI in the report content, the browser calls
the web server, passing the URI. The web server resolves the URI and makes
the embedded content available to the browser. The ViewPage servlet then
returns ViewEmbeddedObject to the response’s output stream as the
embedded requestor object for static and dynamic content and for style sheets.
The ViewPage servlet must map to the SelectPage XML API.
Name com.actuate.reportcast.servlets.ViewPageServlet
Invoke the view page servlet as follows:
http://<web server>:<port>/<context root>/servlet/ViewPage

278 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
URI The following table lists and describes the URI parameters for the ViewPage
parameters servlet.

URI parameter Description


componentID The identifier of the report component from which
to retrieve Reportlet data. Specify either
componentID, or componentName and
componentValue.
componentName The name of the report component from which to
retrieve Reportlet data. The componentName is the
name of the component assigned in the .rod, such
as NewReport::Frame1. If componentName is not
specified, the componentID is used. Use in
conjunction with componentValue. Specify either
componentName and optionally componentValue,
or componentID.
componentValue A value identifying the specific instance of the
report component from which to retrieve Reportlet
data. The value is the result of evaluating a search
expression. Use componentValue in conjunction
with componentName. Specify either
componentName and componentValue, or
componentID. If unspecified, componentValue
defaults to the first report component specified by
componentName that the user has access to.
converterparam Used internally by the converter framework for
low level parameters needed to generate the
desired output.
embsrvrequester The prefix used in embedded <IMG…> HTML
attributes as a callback to retrieve an embedded
object within a report. Embedded objects include
cascading stylesheets, static objects such as images,
and dynamic objects such as charts.
encoding The character encoding specified by the user and
required by the view service.

C ha pter 7, Actua te Active Por ta l for JSP ser vlets 279


URI parameter Description
format The file format in which to generate output. Values
are:
■ DHTML—a compressed DHTML format that
uses cascading stylesheets (CSS). This is the
default format.
■ DHTMLLong—an uncompressed DHTML
format. Use this format if your browsers do not
support CSS.
■ DHTMLRaw—an uncompressed DHTML
format without external JavaScript references,
leaving the bare report.
■ ExcelData—a format mainly used for tabular or
listing reports. The appearance sometimes is
not faithful to the original report or does not
work well for complicated reports. Potential
issues include undisplayed images and graphs,
ignored background color of frames and flows,
and only rough accuracy for component
positioning.
■ ExcelDisplay—a format that appears as much
like an Actuate report on an Excel spreadsheet
as possible.
Reports in the ExcelData and ExcelDisplay formats
are truncated if they exceed Maximum Number of
Pages Convertible To Excel. For more information
about this format parameter, see Chapter 7,
“Working with an Actuate iServer System server,”
in Administering Actuate iServer System.
■ PDF—report output in Adobe Acrobat-readable
Portable Document Format.
■ Reportlet—the report is extracted as a part of
the an HTML page. This means that the
customary <Head> and <body> tags are not
present.

280 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
URI parameter Description
■ RTF—report output in Rich Text Format. The
report’s visual layout is similar to the DHTML
viewer layout.
■ RTFFullyEditable—report output in Rich Text
Format, with more flexibility when
manipulating output, such as the ability to
move and delete several lines from a report at a
time. Produces a larger RTF file than the RTF
format.
■ XMLDisplay—a complete XML representation
of the report. It contains information about
attributes of controls.
■ XMLCompressedDisplay—the same as XML
Display. The only difference is that it places all
the common properties into a template.
locale The client's locale in which to generate the report.
mode The page to which to navigate. Values are first, last,
previous, and next. If mode is specified, page is
ignored.
name The name of the object the contents of which to
view.
objectID The ID of an object, usually retrieved with the
selectFilesFolders JSP tag.
operation The type of operation for the Actuate iServer to
perform. Values are view or print. Default is view.
page The object’s page to display. If mode is specified,
page is ignored.
pageHeight The printed page height in twips. Used only when
format=PDF and splitOversizePages=1. This page
height overrides the report’s page height and any
page splitting rules in the report.
pageWidth The printed page width in twips. Used only when
format=PDF and splitOversizePages=1. This page
width overrides the report’s page width and any
page splitting rules in the report.

C ha pter 7, Actua te Active Por ta l for JSP ser vlets 281


URI parameter Description
PDFQuality The image quality in a PDF file. Use only if format
is set to PDF. The value ranges from 100, for the
lowest image quality but the smallest PDF file size,
to 300, for the highest image quality but the largest
PDF file size. Specify a larger charting heap size
before using higher PDFQuality values. The
default PDFQuality is an Actuate iServer advanced
configuration value. For information about the
default value, see Chapter 7, “Working with an
Actuate iServer System server,” and for more
information about configuring the heap size, see
Chapter 14, “Setting Actuate iServer parameters,”
in Administering Actuate iServer System.
range The range of pages to retrieve from the object and
display in a specified output file format. Separate
pages and page ranges with commas, such as
1-3,15,21-25.
reportletMaxHeight Specifies the maximum height for Reportlets,
measured in points.
scalingFactor The scale at which to view an object, such as
scalingFactor=100.
searchList The list of name-value pairs that uniquely identify a
page or pages containing components on which to
search. The format is:
&<component name>=<value>
[&<component name> = <value>] …
where <component name> is the fully qualified
name of the component on which the search
condition is based. Do not enter the searchList
parameter name. Enter only the component/value
pairs. For example, titleframe::txtname:include=*.
searchList finds the first matching component in
the report because it is a component-based search
and not page-based. This means that it does not
always return the page containing both the name
and value, but the first section or component that
matches the search criteria.

282 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
URI parameter Description
splitOversizePages Split report pages to print on multiple sheets.
Values are 0, the default, to not split and 1 to split.
SplitOversizePages is ignored unless format=PDF.
Use if the report’s page size is larger than the
printer’s sheet size. For information about setting
the output page size, see pageHeight and
pageWidth in this section.
type If the name option is specified, this value is the
type of the object to view, such as ROI.
useragent Used by the view service, such as Mozilla/4.0
(compatible; MSIE 5.01; Windows NT).
version If name is specified, the version number of the
object to view. If version is not specified, the latest
version is retrieved.

Example The following example displays page 1 of the report Msbargph.roi in DHTML
format.
http://mycorp:8700/acweb/servlet/ViewPage?name=msbargph
&type=ROI&format=DHTML&page=1

C ha pter 7, Actua te Active Por ta l for JSP ser vlets 283


284 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Chapter

Actuate Active Portal for


Chapter 8
8
JSP custom tags
This chapter contains the following topics:
■ Active Portal for JSP custom tag overview
■ Active Portal for JSP custom tags quick reference
■ Active Portal for JSP custom tags reference

C h a p t e r 8 , A c t u a t e A c ti ve Po r t a l fo r J S P c u s t o m t a g s 285
Active Portal for JSP custom tag overview
This chapter provides reference information about Active Portal for JSP tag
libraries and their custom tags. Custom tags are JSP language elements that
you define to encapsulate frequent tasks. A tag library defines a set of related
custom tags and contains the objects that implement the tags. Active Portal for
.NET does not use tags and instead uses controls. For more information about
Active Portal for .NET controls, see Chapter 10, “Actuate Active Portal for
.NET user controls.”
The Active Portal for JSP tag libraries reside in <context root>\Web-inf. The
tag libraries define the XML tags and attributes the Active Portal for JSP pages
use. Examine individual pages to determine the tag libraries that they use. For
example, viewdefault.jsp uses the internationalization, common, and users tag
libraries, as shown in the following example:
<%-- DECLARE ANY RESOURCE BUNDLES USED IN THIS PAGE --%>
<%@ taglib uri="/i18n" prefix="i18n"%>
<%@ taglib uri="/common" prefix="common" %>
<%@ taglib uri="/users" prefix="users" %>
You declare that a page uses tags by including the taglib directive in the page
before you use any custom tag. The uri attribute refers to a URI (Uniform
Resource Identifier) that uniquely identifies the tag library descriptor (TLD). A
TLD file is an XML document that describes a tag library. The prefix attribute
defines the prefix that distinguishes tags defined by a given tag library from
those provided by other tag libraries. The prefix can differ for each use of the
taglib statement, but every prefix must be unique within a page.
Active Portal for JSP custom tag names are case sensitive.

Active Portal for JSP custom tags quick reference


This section provides two quick reference lists related to Active Portal for JSP
custom tags:
■ Active Portal for JSP custom tag libraries
■ Active Portal for JSP custom tags

286 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Active Portal for JSP custom tag libraries
The following table lists the Active Portal for JSP custom tag libraries.

Tag library Description


actabpanel Provides tags for creating tabbed pages.
common Provides tags storing and iterating through data.
i18n Provides tags for internationalization.
login Provides tags for login operation.
reportlet Provides tags to retrieve Reportlet data.
users Provides tags for managing users.
viewer Provides tags for viewing report documents.

Active Portal for JSP custom tags


Active Portal for JSP uses Jakarta Struts custom tags and Actuate custom tags.
Actuate recommends that customized Active Portal for JSP web sites use
Jakarta Struts custom tags and only the Actuate custom tags shown in the
following table.

Tag library Tag Description


actabpanel content Specifies the page to display
when the user or URL selects the
associated tab.
actabpanel tab Specifies the label on a page’s tab
and its key.
actabpanel tabBegin Specifies any HTML or JSP code
to apply before defining any
tabs.
actabpanel tabEnd Specifies any HTML or JSP code
to apply after defining all tabs.
actabpanel tabMiddle Specifies any HTML or JSP code
to apply to each unselected tab.
actabpanel tabMiddleSelected Specifies any HTML or JSP code
to apply to the selected tab.
actabpanel tabPanel Contains all tags defining page
tabs.
actabpanel tabSeparator Specifies any HTML or JSP code
to apply between each adjacent
pair of tabs.

C h a p t e r 8 , A c t u a t e A c ti ve Po r t a l fo r J S P c u s t o m t a g s 287
Tag library Tag Description
common iterator Iterates through a collection of
data.
common string Holds a single string of data.
common stringList Holds an array of strings.
i18n bundle Wraps org.apache.taglibs.i18n.
BundleTag.
i18n formatDate Formats a Date value using a
locale.
i18n message Allows the usage of a resource
bundle to internationalize
content.
login login Performs the login operation.
reportlet getReportlet Display a page or other subset of
a Reportlet.
reportlet getReportletData Displays a Reportlet.
users selectUsers Retrieves the list of users.
viewer component Specifies the component.
viewer componentIdentifier Specifies the component
identifier for SmartSearch.
viewer componentIdentifierList Specifies a list of component
identifiers for SmartSearch.
viewer componentList Specifies the component list
identified by the name attribute.
viewer getFormats Fetches the formats supported
by view server.
viewer getPageCount Fetches the page count of a
report.
viewer getTOC Gets the report’s table of
contents data from the Actuate
iServer.
viewer searchReport Fetches matching data.

288 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Active Portal for JSP custom tags reference
This section provides the detailed reference for Active Portal for JSP custom
tags.

bundle
Establishes the ResourceBundle to use for other i18n tags in the JSP. It also
determines the most appropriate locale to use based on browser settings if a
locale is not provided. It overrides the doEndTag() method and sets the
ChangeResponseLocale feature to False. This tag must be placed in a JSP
before any other i18n tags. This tag wraps the
org.apache.taglibs.i18n.BundleTag.
Library i18n
Tag class com.actuate.reportcast.tags.common.BundleTag
Attributes The following table lists the attributes for this tag.

Attribute Required Description


baseName Yes Used along with the locale to locate the
desired ResourceBundle
id No Variable id for use with standard
jsp:getProperty tag and as an attribute to other
tags in this tag library
locale No Current user’s locale, such as en_US, from
<context root>\Web-inf\localemap.xml
localeAttribute No Name of an attribute whose value is the user’s
preferred locale

Variables The following table lists variables for bundle.

Variable Description
id Allows other tags or scriptlets to access the ResourceBundle
defined by this tag. This is useful for allowing multiple
bundle declarations per page or for creating localization
debug pages by listing all key and value pairs in a bundle.

Example The following example defines a bundle using browser preference to


determine locale:

C h a p t e r 8 , A c t u a t e A c ti ve Po r t a l fo r J S P c u s t o m t a g s 289
<i18n:bundle baseName="com.mycorp.taglibs.i18n.test"/>
The next example defines a bundle using browser preference to determine
locale, and declaring the scripting variable bundle:
<i18n:bundle baseName="com.mycorp.taglibs.i18n.test" id="bundle"/>
The next example defines a bundle using a scriptlet variable to specify the
locale:
<i18n:bundle baseName="com.mycorp.taglibs.i18n.test"
locale="<%= localeVar %>"/>
Used in <context root>\errors\error.jsp
<context root>\errors\pagenotfound.jsp
<context root>\viewer\closewindow.jsp
<context root>\viewer\print.jsp
<context root>\viewer\saveas.jsp
<context root>\viewer\searchreport.jsp
<context root>\viewer\viewreport.jsp
<context root>\viewer\waitforexecution.jsp

component
Specifies the report component on which to search.
Library viewer
Tag class com.actuate.reportcast.tags.viewer.ComponentTag
Attributes The following table lists attributes for component.

Attribute Required Description


name No The report component’s name.
objectID No The report component’s identifier.
value Yes The report component’s value.

Used in <context root>\viewer\searchframe.jsp


Example The following example specifies a search for manager names that begin with
the letter B:
<viewer:component name=”Frame1::ManagerName” value=”B*” />

290 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
componentIdentifier
Provides the component identifier for searches.
Library viewer
Tag class com.actuate.reportcast.tags.viewer.ComponentIdentifierTag
Attributes The following table lists attributes for componentIdentifier.

Attribute Required Description


id No The report component’s ID.
name No The report component’s name.

Used in <context root>\viewer\searchframe.jsp


Example The following example removes leading and trailing spaces from the
sParamId value and sets the component identifier to the value:
<viewer:componentIdentifier id="<%= sParamId.trim() %>"/>

componentIdentifierList
Provides a list of component identifiers for searches.
Library viewer
Tag class com.actuate.reportcast.tags.viewer.ComponentIdentifierListTag
Attributes The following table lists the attribute for componentIdentifierList.

Attribute Required Description


name Yes The component list name.

Used in <context root>\viewer\searchframe.jsp


Example The following example sets the name of the list of identifiers to SelectList:
<viewer:componentIdentifierList name="SelectList">

C h a p t e r 8 , A c t u a t e A c ti ve Po r t a l fo r J S P c u s t o m t a g s 291
componentList
Provides an array of components on which to search. This tag is used for
specifying the component list that is identified by the name attribute. It holds
an array of components.
Library viewer
Tag class com.actuate.reportcast.tags.viewer.ComponentListTag
Attributes The following table lists the attributes for this tag.

Attribute Required Description


name Yes The element to create for searching the report.

Used in <context root>\viewer\searchframe.jsp


Example The following example sets the name of the array of components to
SearchByNameList:
<viewer:componentList name="SearchByNameList" />

content
Specifies the content of a page beneath a tab. Include HTML or JSP code in the
body of the content tag or use the page attribute to include another JSP file as
the content.
Library actabpanel
Tag class com.actuate.activeportal.tags.tabpanel.Content
Attributes The following table lists the attribute for this tag.

Attribute Required Description


page No Specifies a file containing the JSP code to use
as the content of the page associated with the
current tab.

If you do not include a page attribute, any HTML or JSP code in the tag’s body
becomes the definition of the page.
Used in <context root>\private\jobs\selectjobscontent.jsp
<context root>\private\newrequest\newrequestpage.jsp

292 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
<context root>\private\options\optionspage.jsp
<context root>\private\query\createpage.jsp
<context root>\private\query\runpage.jsp
Example The following example uses the page attribute to specify using the code in
saveas.jsp as the Save As tab’s page content.
<ui:tab><bean:message key="TAB_SAVE_AS"/></ui:tab>
<ui:content page="saveas.jsp"/>
Example The following example uses the tag’s body to specify the About tab’s content
page as the result of the JSP include directive.
<ui:tab key="about" unselected="class=\"lnkTab\"">
<bean:message key="TAB_ABOUT"/>
<ui:content>
<%@ include file="about.jsp" %>
</ui:content>
</ui:tab>

formatDate
Formats a Date value using a locale. A style or a pattern such as 'YYYY MMM
ddd' is specified. If the value is null then the default text is used. If no locale is
specified then the parent locale tag is used. If no parent locale tag exists then
the locale is taken from the current request. If still no locale is found then the
current JVM locale is used.
Library i18n
Tag class org.apache.taglibs.i18n.FormatDateTag
Attributes The following table lists the attributes for this tag.

Attribute Required Description


defaultText No Default value.
locale No Current user’s locale, such as en_US, as in
<context root>\Web-inf\localemap.xml.
pattern No Date formatting string. Do not use with style.
style No Short, medium, long, or full. Do not use with
pattern.
value No Date value.

C h a p t e r 8 , A c t u a t e A c ti ve Po r t a l fo r J S P c u s t o m t a g s 293
Used in <context root>\private\channels\channelnoticelistcontent.jsp
<context root>\private\filesfolders\filedetailcontent.jsp
<context root>\private\jobs\completedjob.jsp
<context root>\private\jobs\getjobdetailscontent.jsp
<context root>\private\jobs\pendingjob.jsp
<context root>\private\jobs\runningjob.jsp
<context root>\private\jobs\scheduledjob.jsp

getFormats
Returns the report output formats supported by the Actuate iServer.
Library viewer
Tag class com.actuate.reportcast.tags.viewer.GetFormatsTag
Attributes The following table lists the attributes for this tag.

Attribute Required Description


authID Yes The unique authentication identifier returned
by Actuate iServer on successful login.
connection No The view server connection handle from the
Handle Actuate iServer.
formatType No 0, 1, or 2. 0 indicates all formats, 1 indicates
view, and 2 indicates search.
id No The object’s identifier.
locale Yes The desired locale, such as en_US, from
<context root>\Web-inf\localemap.xml.
name No The object’s name.
serverURL Yes The host and port for the Actuate iServer
machine, such as http://Services:9000.
timeZone Yes The desired time zone from
<context root>\Web-inf\timezonemap.xml.
type No The object’s type, such as ROI.
version No The object’s version number.
volume Yes The Encyclopedia volume to use.

Variables llformats: the linked list of formats supported by the Actuate iServer
Used in <context root>\viewer\searchframe.jsp

294 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Example The following example gets the view server formats for version four of the
Detail.roi file:
<viewer:getFormats name="Details.roi" version="4" formatType=2 />

getPageCount
Returns the total number of pages in a report.
Library viewer
Tag class com.actuate.reportcast.tags.viewer.GetPageCountTag
Attributes The following table lists the attributes for this tag.

Attribute Required Description


authID Yes The unique authentication identifier returned
by Actuate iServer on successful login.
connection No The connection handle from the Actuate
Handle iServer.
id No The object’s identifier.
locale Yes The desired locale, such as en_US, as in
<context root>\Web-inf\localemap.xml.
name No The object’s name.
serverURL Yes The host and port for the Actuate iServer
machine, such as http://Services:9000.
type No The object’s type, such as ROI.
version No The object’s version number.
volume Yes The Encyclopedia volume to use.

Used in <context root>\viewer\print.jsp


<context root>\viewer\saveas.jsp
<context root>\viewer\validatefile.jsp
<context root>\viewer\viewnavigation.jsp
Example The following example returns the number of pages in the report whose
unique identifier is 4:
<viewer:getPageCount objectID="4" />

C h a p t e r 8 , A c t u a t e A c ti ve Po r t a l fo r J S P c u s t o m t a g s 295
getReportlet
Used to display a Reportlet. This tag is similar to the getReportletData tag but
is used to get the Reportlet as a page. This tag sends the request to Actuate
iServer to retrieve the page, then parses the response and writes the DHTML
Reportlet to the JSP output stream. You access the height and width of the
Reportlet by calling the getHeight() and getWidth() methods respectively.
Library reportlet
Tag class com.actuate.reportcast.tags.reportlet.GetReportletTag
Attributes The following table lists the attributes for this tag.

Attribute Required Description


authID Yes The unique authentication identifier returned
by Actuate iServer on successful login.
componentID No The identifier of the report component from
which to retrieve Reportlet data. Specify either
componentID, or componentName and
componentValue.
component No The name of the report component from which
Name to retrieve Reportlet data. The
componentName is the name of the
component assigned in the .rod, such as
NewReport::Frame1. If componentName is
not specified, the componentID is used. Use in
conjunction with componentValue. Specify
either componentName and optionally
componentValue, or componentID.
component No A value identifying the specific instance of the
Value report component from which to retrieve
Reportlet data. The value is the result of
evaluating a search expression. Use
componentValue in conjunction with
componentName. Specify either
componentName and componentValue, or
componentID. If unspecified, componentValue
defaults to the first report component
specified by componentName that the user
has access to.
connection No The connection handle from the Actuate
Handle iServer.

296 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Attribute Required Description
customInput No Parameters to a custom converter for a new
Para output type.
embeddedObj No The pathname of the servlet which retrieves
Path embedded objects such as images for the
Reportlet.
fileId No The report file’s unique identifier.
id No The object’s unique identifier.
locale No The Reportlet locale, such as en_US, as in
<context root>\Web-inf\localemap.xml.
name No The Reportlet source’s full Encyclopedia
volume pathname.
operation No Operation to perform, view or print.
page No The single page to display as a Reportlet.
range No A range of pages to include. Separate pages
and page ranges with commas, such as:
1-3,15,21-25.
reportletMax No The Reportlet’s maximum height in points.
height
scalingFactor No Less than 100 reduces and more than 100
enlarges the Reportlet.
searchCriteria No Search criteria to use.
serverURL Yes The URL of the server on which the
Reportlet’s source resides.
timeZone Yes The Reportlet server’s time zone as in
<context root>\Web-inf\timezonemap.xml.
useragent No The user’s browser, such as IE/5.5. Use
useragent="Mozilla/4.0" with Netscape 4.7x
browsers.
version No The version number for the Reportlet source.
viewMode No Additional viewing parameters.
volume Yes The Encyclopedia volume on which the
Reportlet’s source resides.

C h a p t e r 8 , A c t u a t e A c ti ve Po r t a l fo r J S P c u s t o m t a g s 297
getReportletData
Retrieves data to display in a Reportlet. This tag sends the request to the
Actuate iServer to get the Reportlet. Then it parses the response and writes the
DHTML Reportlet to the JSP output stream. You access the height and width
of the Reportlet by calling the getHeight() and getWidth() methods
respectively.
Library reportlet
Tag class com.actuate.reportcast.tags.reportlet.GetReportletDataTag
Attributes The following table lists attributes for getReportletData.

Attribute Required Description


authID Yes The unique authentication identifier returned
by Actuate iServer on successful login.
componentID No The identifier of the report component from
which to retrieve Reportlet data. Specify either
componentID, or componentName and
componentValue.
component No The name of the report component from which
Name to retrieve Reportlet data. The
componentName is the name of the
component assigned in the ROD, such as
NewReport::Frame1. If componentName is
not specified, the componentID is used. Use in
conjunction with componentValue. Specify
either componentName and optionally
componentValue, or componentID.
component No A value identifying the specific instance of the
Value report component from which to retrieve
Reportlet data. The value is the result of
evaluating a search expression. Use
componentValue in conjunction with
componentName. Specify either
componentName and componentValue, or
componentID. If unspecified, componentValue
defaults to the first report component
specified by componentName that the user
has access to.
connection No The connection handle from the Actuate
Handle iServer.

298 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Attribute Required Description
embeddedObj No The pathname of the servlet which retrieves
Path embedded objects such as images for the
Reportlet.
fileId No The report’s unique identifier.
hyperlink No The pathname of the servlet which handles
RedirectPath Reportlet URLs. For example, acweb/servlet/
GenericRedirector. The URLs are generated in
the DHTML output, and
hyperlinkRedirectPath is the base path for the
generated URL.
locale No The Reportlet locale.
name No The Reportlet source’s full Encyclopedia
pathname.
objectID No The getReportletData tag’s identifier.
reportletMax No The Reportlet’s maximum height in points.
height
serverURL Yes The URL of the server on which the
Reportlet’s source resides.
timeZone Yes The Reportlet server’s time zone.
useragent No The user’s browser, such as IE/5.5. Use
useragent="Mozilla/4.0" with Netscape 4.7x
browsers.
version No The version number for the Reportlet source.
volume Yes The Encyclopedia volume on which the
Reportlet’s source resides.

Example The following code retrieves a Reportlet from the Stock Comparison report in
the Sample Application’s Customers folder. The Reportlet is retrieved from the
ROD component NewReportApp::Frame2.
<reportlet:getReportletData authID="<%= sAuthID %>"
volume="<%= sVolume %>"
serverURL="<%= sServerURL %>"
locale="<%= acLocale %>"
timeZone="<%= tzTimeZone %>"
objectID="123"
name="/Customers/StockComparison.roi"
componentName="NewReportApp::Frame2"
componentValue="1"
reportletMaxheight="300"
version="1"
embeddedObjPath="../servlet/ViewEmbeddedObject?operation=" >
</reportlet:getReportletData>

C h a p t e r 8 , A c t u a t e A c ti ve Po r t a l fo r J S P c u s t o m t a g s 299
getTOC
Obtains the table of contents for a report from the server. It fetches the data in
XML form, which is converted for display in the browser. The report is
identified by its ID or name. Either the report ID or name attribute must be set.
Library viewer
Tag class com.actuate.reportcast.tags.viewer.GetTOCTag
Attributes The following table lists the attributes for this tag.

Attribute Required Description


authID Yes The unique authentication identifier returned
by Actuate iServer on successful login.
connection No The view server connection handle from the
Handle Actuate iServer.
depth No The depth of the table of contents.
format No The table of contents’ format. XMLDisplay is
the supported format.
id No The object’s unique identifier.
locale Yes The report’s locale, such as en_US, as in
<context root>\Web-inf\localemap.xml.
name No The name of the object for which a table of
contents is being built.
nodeId No The identifier specifying the starting point of
the table of contents.
serverURL Yes The URL of the server on which the report
resides, such as http://Services:9000.
timeZone Yes The report’s time zone as in <context root>
\Web-inf\timezonemap.xml.
type No The type of object, such as ROI.
userAgent No The user’s browser, such as IE/5.5. Use
userAgent="Mozilla/4.0" with Netscape 4.7x
browsers.
version No The report’s version. The latest version is used
if no version is given.
volume Yes The report’s Encyclopedia volume.

Used in <context root>\viewer\viewtoc.jsp

300 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Example The following example creates the table of contents for the Detail report:
<viewer:getToc name="Details.roi" type="roi" format="XMLDisplay"/>

iterator
Supports iterating through the contents of lists and retrieving specified
parameters. The iterator tag populates its invoking JSP with the contents of the
list. Active Portal for JSP and Management Console JSPs make extensive use of
the iterator tag to process lists.
Library common
Tag class com.actuate.reportcast.tags.common.IteratorTag
Attributes The following table lists the attributes of iterator.

Attribute Required Description


collection No The collection through which to iterate.
content No The unique identifier of the results through
which to iterate.
name Yes The unique identifier to use while retrieving
values from this iterator.
type Yes Fully qualified name representing the type of
objects contained in the list through which to
iterate.

Variables isLastRow: False while iteration is in progress. True when iteration reaches the
last row.
Used in <context root>\viewer\viewdefault.jsp
Example The following example iterates through a list of job notices:
<cmn:iterator name="igjn" type="com.actuate.reportcast.dstruct.JobNotice"
content="gjn">

login
Establishes the connection to the Actuate iServer. On successful connection,
Actuate iServer returns the authentication ID used during the user’s session to
validate credentials and check access permissions. Actuate iServer returns the
home folder and start folder as well.

C h a p t e r 8 , A c t u a t e A c ti ve Po r t a l fo r J S P c u s t o m t a g s 301
Library login
Tag class com.actuate.reportcast.tags.common.LoginTag
Attributes The following table lists the attributes for this tag.

Attribute Required Description


disableBasic No Boolean value. If True, disable basic
Authentication authentication.
force No Boolean value. True to force a login, False to
display the login page. The default is False.
For example, when switching between
Encyclopedia volumes and using APSE, set
force=true to force the Active Portal Login
module to call APSE to perform the login
operation. This prevents the login page from
appearing unnecessarily.
id Yes Unique identifier for the object.
locale No The locale to display.
password No The user’s password.
serverURL No The host and port of the Actuate iServer to
connect to.
timeZone No The time zone to display.
userID Yes The user’s identifier, required to log in to the
Actuate iServer.
volume No The name of the volume to which the user
wants to connect. If volume is not specified,
the login tag checks whether the variable
volume_default is set in the web.xml file.

Variables The following table lists variables for login.

Variable Description
homeFolder The user’s home folder.
startFolder The folder that the user sees upon successful login.
authID The authentication ID returned by Actuate iServer upon
successful login.

Used in <context root>\authenticate.jsp

302 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Example The following example logs in the user jaguilar to the volume sales on the
Actuate iServer marcom with the password secret:
<actu:login clusterURL="http://marcom:8700/" userID="jaguilar"
password="secret" volume="sales" />

message
Implements a body tag allowing the usage of a resource bundle to
internationalize content in a web page. The key attribute is required, and is
used to look up content in the resource bundle. The args attribute is optional,
and if present, provides items to pass to a MessageFormat. The bundle tag
must be used first in order to ensure that the proper bundle is loaded.
Library i18n
Tag class org.apache.taglibs.i18n.MessageTag
Attributes The following table lists the attributes for this tag.

Attribute Required Description


args No An array of arguments for use with
java.text.MessageFormat when formatting the
display text
bundle No Object reference to the ResourceBundle in
which the key can be found
bundleRef No Name of an attribute that contains a resource
bundle
key Yes Key to use when retrieving the display
message format from the ResourceBundle

Used in <context root>\errors\pagenotfound.jsp


Variables The following table lists variables for message.

Variable Description
id id allows other tags or scriptlets to access the String created
by this tag. If id is specified the String is not printed by this
tag, just stored into the id.

Example The following example displays a plain message using the default (first
defined) bundle:
<i18n:message key="column1.header"/>

C h a p t e r 8 , A c t u a t e A c ti ve Po r t a l fo r J S P c u s t o m t a g s 303
The next example displays a plain message using a specified bundle. In this
example the default bundle is bundle1 because it is defined first:
<i18n:bundle baseName="com.mycorp.taglibs.i18n.i18n-test"
id="bundle1"/> <!-- the default -->
<i18n:bundle baseName="com.mycorp.taglibs.i18n.i18n-test2"
id="bundle2"/> <!-- the alternate -->
<i18n:message key="column1.header" bundle="<%= bundle2 %>" />

searchReport
Fetches data corresponding to the specified search conditions in a report.
Library viewer
Tag class com.actuate.reportcast.tags.viewer.SearchReportTag
Attributes The following table lists the attributes for this tag.

Attribute Required Description


authID Yes The unique authentication identifier returned
by Actuate iServer on successful login.
connection No The connection handle from the Actuate
Handle iServer.
enableColumn No Boolean value. If True, enable column headers.
Headers
format Yes The search results format. Possible values are:
■ DISPLAY for DHTML display
■ ANALYSIS for e.Analysis output
■ CSV for comma separated values
■ TSV for tab separated values
frameset No Frameset in which to search.
hits No Number of matches to find.
id No The object’s identifier.
locale Yes The report’s locale.
name No The name of the object.
serverURL Yes The URL of the server on which the report
resides, such as http://Services:9000.
startingPoint No The starting point for the result set.

304 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Attribute Required Description
timeZone Yes The report’s time zone as in
<context root>\Web-inf\timezonemap.xml.
type No The type of object, such as ROI.
useQuote No Boolean value. If True, delimit values with
Delimiter quotes.
userAgent No The user’s browser, such as IE/5.5. Use
userAgent="Mozilla/4.0" with Netscape 4.7x
browsers.
version No The report version to search.
volume Yes The Encyclopedia volume to search.

Used in <context root>\viewer\searchframe.jsp

selectUsers
Retrieves detailed user information for the current user. The list of users to be
selected can be specified by means of a filter condition or a fetch handle.
Library users
Tag class com.actuate.reportcast.tags.users.SelectUsersTag
Attributes The following table lists the attributes for this tag.

Attribute Required Description


authID Yes Unique authentication ID assigned to the user
after successful login.
countLimit No Maximum number of users to retrieve.
fetchAction No Sort order for the returned list. Use True, the
default value, for ascending order and False
for descending order.
fetchHandle No Optional handle obtained from a previous list
retrieval request. If fetchHandle is passed then
filter and status are ignored.
fetchSize No Number of records to retrieve.
filter No Filter condition to apply to the selected jobs.
The filter applies only to the job names. The
default is to select all jobs.
id Yes Unique identifier of the object.

C h a p t e r 8 , A c t u a t e A c ti ve Po r t a l fo r J S P c u s t o m t a g s 305
Attribute Required Description
locale No Current user’s locale, such as en_US, as in
<context root>\Web-inf\localemap.xml.
serverURL Yes URL that accesses the Actuate iServer, such as
http://Services:9000.
status No User status to search for.
timeZone No Current user’s time zone as in <context root>
\Web-inf\timezonemap.xml.
volume Yes Encyclopedia volume that contains the users.

Used in <context root>\viewer\viewdefault.jsp

string
Holds a single string of data.
Library common
Tag class com.actuate.reportcast.tags.common.StringTag
Attributes The following table lists the attributes for this tag.

Attribute Required Description


name No String name
value Yes String contents

Used in <context root>\viewer\searchframe.jsp

stringList
Holds an array of strings.
Library common
Tag class com.actuate.reportcast.tags.common.StringListTag

306 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Attributes The following table lists the attributes for this tag.

Attribute Required Description


collection No Array of strings
items No Length of array
name Yes Array name
property No Property of the array

Used in <context root>\viewer\searchframe.jsp


<context root>\viewer\viewdefault.jsp

tab
Defines the label and key for a tab in a tab panel. URIs specifying the key cause
selection of the tab and display of the page associated with the tab.
Library actabpanel
Tag class com.actuate.activeportal.tags.tabpanel.Tab
Attributes The following table lists the attributes for this tag:

Attribute Required Description


key No Specifies the identification key for this tab. If
not set, the default is 0, 1, 2 and so on. Use
with the selectedTab attribute of the tabPanel
tag.
selected No Specifies the label on the tab while the tab is
selected.
unselected No Specifies the label on the tab while the tab is
not selected.

Used in <context root>\private\common\errors\error.jsp


<context root>\private\common\sidebar.jsp
<context root>\private\jobs\selectjobscontent.jsp
<context root>\private\newrequest\newrequestpage.jsp
<context root>\private\options\optionspage.jsp
<context root>\private\query\createpage.jsp
<context root>\private\query\runpage.jsp

C h a p t e r 8 , A c t u a t e A c ti ve Po r t a l fo r J S P c u s t o m t a g s 307
Example If subpage is defined in a tabpanel selectedTabParameter attribute, the
following tag:
<actabpanel:tab key="_scheduled">
provides the ability to select this tab by using the following URI:
http://<application server>:<port>/acweb/selectjobs.do?subpage=_scheduled

tabBegin
Specifies HTML or JSP code to execute before defining the first tab in a tab
panel.
Library actabpanel
Tag class com.actuate.activeportal.tags.tabpanel.TabBegin
Attributes There are no attributes for this tag. Place the desired code as the body of the
tag.
Used in <context root>\private\common\errors\error.jsp
<context root>\private\common\sidebar.jsp
<context root>\private\newrequest\newrequestpage.jsp
<context root>\private\options\optionspage.jsp
<context root>\private\query\createpage.jsp
<context root>\private\query\runpage.jsp
Example The following example specifies the inclusion of several images to create a
border with rounded edges before defining the tabs.
<ui:tabBegin>
<TR>
<TD><img border=0 height=8
src="<html:rewrite page="/images/top_left_corner.gif"/>" width=8>
</TD>
<TD><img border=0 height=8
src="<html:rewrite page="/images/horz_stretch.gif"/>" width=100%>
</TD>
<TD><img border=0 height=8
src="<html:rewrite page="/images/top_right_corner.gif"/>" width=8>
</TD>
</TR>
</ui:tabBegin>

308 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
tabEnd
Specifies HTML or JSP code to execute after defining the last tab in a tab panel.
Library actabpanel
Tag class com.actuate.activeportal.tags.tabpanel.TabEnd
Attributes There are no attributes for this tag. Place the desired code as the body of the
tag.
Used in <context root>\private\common\errors\error.jsp
<context root>\private\common\sidebar.jsp
<context root>\private\newrequest\newrequestpage.jsp
Example The following example specifies the inclusion of several images to create a
border with rounded edges after defining the tabs.
<ui:tabEnd>
<TR>
<TD><img border=0 height=8
src=<html:rewrite page="/images/bottom_left_corner.gif"/> width=8>
</TD>
<TD><img border=0 height=8
src=<html:rewrite page="/images/horz_stretch.gif"/> width=100%>
</TD>
<TD><img border=0 height=8
src=<html:rewrite page="/images/bottom_right_corner.gif"/> width=8>
</TD>
</TR>
</ui:tabEnd>

tabMiddle
Specifies HTML or JSP code to execute for each currently unselected tab.
Library actabpanel
Tag class com.actuate.activeportal.tags.tabpanel.TabMiddle
Attributes There are no attributes for this tag. Place the desired code as the body of the
tag.
Used in <context root>\private\common\errors\error.jsp
<context root>\private\common\sidebar.jsp
<context root>\private\jobs\selectjobscontent.jsp
<context root>\private\newrequest\newrequestpage.jsp

C h a p t e r 8 , A c t u a t e A c ti ve Po r t a l fo r J S P c u s t o m t a g s 309
<context root>\private\options\optionspage.jsp
<context root>\private\query\createpage.jsp
<context root>\private\query\runpage.jsp
Example The following example specifies the color, width, alignment, and other
attributes of unselected tabs.
<ui:tabMiddle>
<TD bgcolor="#31659C" width=7>&nbsp;</TD>
<TD bgcolor="#31659C" class="cellSidebar" valign="center"
nowrap="nowrap"><A href="<%= request.getContextPath() %>/{2}"
class="lnkSidebar">{0}</A>
</TD>
<TD bgcolor="#31659C" width=7>&nbsp;</TD>
</ui:tabMiddle>

tabMiddleSelected
Specifies HTML or JSP code to execute for the currently selected tab.
Library actabpanel
Tag class com.actuate.activeportal.tags.tabpanel.TabMiddleSelected
Attributes There are no attributes for this tag. Place the desired code as the body of the
tag.
Used in <context root>\private\common\errors\error.jsp
<context root>\private\common\sidebar.jsp
<context root>\private\jobs\selectjobscontent.jsp
<context root>\private\newrequest\newrequestpage.jsp
<context root>\private\options\optionspage.jsp
<context root>\private\query\createpage.jsp
<context root>\private\query\runpage.jsp
Example The following example specifies the color, width, alignment, and other
attributes of the selected tab.
<ui:tabMiddleSelected>
<TD bgcolor="#31659C" width=7>&nbsp;</TD>
<TD bgcolor="#31659C" class="cellSidebarSelected" nowrap="nowrap">
<A href="<%= request.getContextPath() %>/{2}"
class="lnkSidebarSelected">{0}</A>
</TD>
<TD bgcolor="#31659C" width=7>&nbsp;</TD>
</ui:tabMiddleSelected>

310 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
tabPanel
Defines a tab panel and the pages associated with each tab. The tabPanel tag
contains other tags from the actabpanel library that specify different parts of
the tab panel.
Library actabpanel
Tag class com.actuate.activeportal.tags.tabpanel.TabPanelTag
Attributes The following table lists the attributes for this tag.

Attribute Required Description


content No Specifies any HTML attributes to apply to the
Attribute page part of the HTML table if style=vertical.
defaultTab No The key of the tab to select if selectedTab is
null. If selectedTab and defaultTab are
unspecified, the first tab becomes the selected
tab.
flush No Specifies whether the server should start
writing the server response before processing
the entire page.
selectedTab No Specifies the key of the desired tab. This
causes highlighting of the selected tab and
display of the page associated with the tab.
selectedTab No Specifies the parameter name that URIs use to
Parameter specify the key of the desired tab.
style No Specifies whether the tab panel is horizontal or
vertical.
tabAttribute No Specifies any HTML attributes to apply to the
tab part of the HTML table if style=vertical.
tableAttribute No Specifies any HTML attributes to apply to the
nested HTML table containing the tabs.

Used in <context root>\private\common\errors\error.jsp


<context root>\private\common\sidebar.jsp
<context root>\private\jobs\selectjobscontent.jsp
<context root>\private\newrequest\newrequestpage.jsp
<context root>\private\options\optionspage.jsp
<context root>\private\query\createpage.jsp
<context root>\private\query\runpage.jsp

C h a p t e r 8 , A c tu a t e A c t i ve Po r t a l fo r J S P c u s to m t a g s 311
Example The following example creates a tab panel with four tabs. The _completed tab
is chosen by default and URLs can specify the tab desired by using
subpage=<tab key>.
<ui:tabPanel
selectedTabParameter="subpage" defaultTab="_completed" >

<ui:tab key="_scheduled">
<bean:message key="TAB_SCHEDULES"/>
<ui:content page="scheduledjob.jsp"/>
</ui:tab>
<ui:tab key="_pending" >
<bean:message key="TAB_PENDING"/>
<ui:content page="pendingjob.jsp"/>
</ui:tab>
<ui:tab key="_running" >
<bean:message key="TAB_RUNNING"/>
<ui:content page="runningjob.jsp"/>
</ui:tab>
<ui:tab key="_completed" >
<bean:message key="TAB_COMPLETED"/>
<ui:content page="completedjob.jsp"/>
</ui:tab>

</ui:tabPanel>

tabSeparator
Specifies HTML or JSP code to execute between defining each adjacent pair of
tabs.
Library actabpanel
Tag class com.actuate.activeportal.tags.tabpanel.TabSeparator
Attributes There are no attributes for this tag. Place the desired code as the body of the
tag.
Used in <context root>\private\common\errors\error.jsp
<context root>\private\common\sidebar.jsp

312 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Example The following example specifies the inclusion of several images to create a
dividing line between the tabs.
<ui:tabSeparator>
<TR style="width: 100%">
<TD colspan=3>
<img src="<html:rewrite page="/images/horz_stretch.gif"/>
"width=100% height=8 border=0>
</TD>
</TR>
<TR style="width: 100%">
<TD colspan=3>
<img src="<html:rewrite page="/images/horzline.gif"/>" width=100%
height=1 border=0>
</TD>
</TR>
<TR style="width: 100%">
<TD colspan=3>
<img src="<html:rewrite page="/images/horz_stretch.gif"/>"
width=100% height=8 border=0>
</TD>
</TR>
</ui:tabSeparator>

C h a p t e r 8 , A c t u a t e A c ti ve Po r t a l fo r J S P c u s t o m t a g s 313
314 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Chapter

Actuate Active Portal for


Chapter 9
9
JSP JavaBeans
This chapter contains the following topics:
■ Active Portal for JSP JavaBeans overview
■ Active Portal for JSP JavaBeans package reference
■ Active Portal for JSP JavaBeans class reference
■ Active Portal for JSP UserInfoBean class reference

C ha pter 9, Ac tua te A ctive Por ta l fo r J S P JavaB ea ns 315


Active Portal for JSP JavaBeans overview
This section describes the Active Portal for JSP JavaBeans. Active Portal for JSP
JavaBeans provide functionality, business logic, and dynamic content to Active
Portal for JSP web sites. Active Portal for JSP JavaBeans are in acweb.jar, which
resides in <context root>\Web-inf\lib. Javadoc is provided for the JavaBeans
in <context root>\help\api. Refer to the Javadoc for a list of JavaBean
methods and their arguments.

Active Portal for JSP JavaBeans package reference


The following table lists and describes the Actuate packages used in Active
Portal for JSP.

Package Description
com.actuate.activeportal.beans This package contain a variety of
JavaBeans that maintain information used
by the Action classes.
com.actuate.activeportal.forms This package contains JavaBeans derived
from the Jakarta Struts
org.apache.struts.action.ActionForm
object. These JavaBeans store and validate
the request parameters in HTTP requests.
com.actuate.activeportal.list This package contains an interface,
IContentList, that defines the behavior of
lists of items such as files and channels.
Several classes in
com.actuate.activeportal.forms use this
interface.
com.actuate.schemas These classes are auto-generated Axis
stubs from the Web Services Definition
Language (WSDL) to access the
Information Delivery API. For more
information on the Information Delivery
API, see Programming with Actuate iServer
APIs.

316 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Active Portal for JSP JavaBeans class reference
This section lists and describes the Active Portal for JSP JavaBean classes by
topic.

Channels
The following Active Portal for JSP com.actuate.activeportal.forms classes
support channels.

Class Description
ChannelListActionForm Provides the list of channels that the user
subscribes to or has available.
GeneralFilterActionForm Serves as a base ActionForm for several
other ActionForms. Provides methods that
handle filters to select which items the
Actuate iServer returns. For example, you
can request all folders and only the most
recent version of all executable files.
SubscribeChannelActionForm Stores a list of channels available to the
user, including unsubscribed channels.

Cubes, information objects, and queries


The following Active Portal for JSP com.actuate.activeportal.beans classes
support cubes, information objects, and queries.

Class Description
CreateQueryBean Contains Actuate Query information used
for creating, editing, and running a query
(.dov) from a data source (.dox).
AcCreateQueryAction and
AcRunQueryAction store this JavaBean as
a session JavaBean with createQueryBean
as the attribute name. Those action classes
use the IDAPI GetQuery method to get a
query definition from a DOX. They then set
the query definition for this JavaBean
using CreateQueryBean’s
setQueryDefinition().
CubeParam Used by AcViewCubeAction class to store
the names and values of parameters in
cubes.

C ha pter 9, Ac tua te A ctive Por ta l fo r J S P JavaB ea ns 317


Class Description
JobActionForm Serves as a base ActionForm for
QueryActionForm and
SubmitJobActionForm. Stores information
about the document, parameters, schedule,
and other options in submitting a job or
query.
SummaryBean Stores a summary item that is displayed in
the summary tab in Actuate Query.
Summary items can use functions such as
sum, average, minimum, and so on.

The following Active Portal for JSP com.actuate.activeportal.forms class


supports queries.

Class Description
QueryActionForm Stores information for creating, editing,
running or submitting an Actuate query.
The query action class process the form
and stored the information to
createQueryBean, a session JavaBean.

Documents
The following Active Portal for JSP com.actuate.activeportal.forms classes
support the Document pages.

Class Description
BrowseFileActionForm Supports browsing through the available
files, including using filters to search.
CreateFolderActionForm Supports creating a folder in the
Encyclopedia volume.
FileFoldersPrivilegeActionForm Stores information about file and folder
access rights, the available users and roles,
and so forth. Active Portal for JSP uses this
information to set up file and folder
privileges.
FileListActionForm Retrieves a list of folders or files. This
ActionForm supports setting filters
specifying the desired characteristics of
objects. Stores the most recent list of items
returned from the Actuate iServer.

318 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Class Description
GeneralFilterActionForm Serves as a base ActionForm for several
other ActionForms. Provides methods that
handle filters to select which items the
Actuate iServer returns. For example, you
can request all folders and only the most
recent version of all executable files.
GetFileDetailsActionForm Stores the details of a file or folder.
AcGetFileDetailsAction gets the details
and stores them in this JavaBean.
SearchFilesActionForm Stores information about the filter set by
the user in the Search page. Jakarta Struts
uses the filter to retrieve the list of files
from the Actuate iServer and store them in
this form.

General
The following Active Portal for JSP com.actuate.activeportal.beans class
supports general functionality.

Class Description
LinkBean Generates an HTML link tag using the link,
linkAttributes, and text properties. By
default, the link class is hyperlink. After
setting these properties, use toString() to
generate an HTML link tag in the
following format:
<A HREF="link" linkAttributes>text</A>

The following Active Portal for JSP com.actuate.activeportal.forms class


support general functionality.

Class Description
BaseActionForm Serves as a base ActionForm for all other
Active Portal for JSP ActionForms.
Provides several methods related to
postback.
PingActionForm Stores information used by the Ping action.
Ping is a diagnostic utility to detect the
status of Actuate Active Portal, the Actuate
iServer, and their communication.

C ha pter 9, Ac tua te A ctive Por ta l fo r J S P JavaB ea ns 319


Jobs
The following Active Portal for JSP com.actuate.activeportal.forms classes
support jobs.

Class Description
GeneralFilterActionForm Serves as a base ActionForm for several
other ActionForms. Provides methods that
handle filters to select which items the
Actuate iServer returns. For example, you
can request all folders and only the most
recent version of all executable files.
GetJobDetailsActionForm Stores detail information on jobs. This is
used by AcGetJobDetailsAction to store
and retrieve the job detail information for
display.
JobActionForm Serves a a base ActionForm for
QueryActionForm and
SubmitJobActionForm. Stores information
about the document, parameters, schedule,
and other options in submitting a job or
query.
SelectJobNoticesActionForm Stores the list of job notices for a channel.
SelectJobsActionForm This form contains the list of job properties
for a scheduled, running, pending, or
completed job.
SubmitJobActionForm Contains the information for submitting a
job from the requester page. This class
extends JobActionForm.

320 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
SAP R/3 data streams
The following Active Portal for JSP com.actuate.activeportal.beans classes
support SAP R/3 data streams.

Class Description
CurrentTableBean A report using an SAP R/3 data stream can
have multiple parameter objects in it of the
table type. The user has access to these
parameters on the requester page. When a
user edits a table parameter, this JavaBean
stores the current table parameter. When the
user chooses the OK button, the information
from CurrentTableBean is stored in
TableParameterListBean.
TableParameterListBean Stores all information for a table parameter
with a report using an SAP R/3 data stream.
This includes the executable ID for the table, a
list of all tables and their rows for the report,
and a definition of all the fields and columns
in all of the tables.

The following Active Portal for JSP com.actuate.activeportal.forms classes


support SAP R/3 data streams.

Class Description
TableParamListActionForm Stores all rows of a table parameter for a report
using an SAP R/3 data stream. It provides the
list of rows that are displayed in the table list
page. Anything set in this form is overridden
by the action when it retrieves the content.
This form is completely managed by the
Jakarta Struts framework.
TableRowEditorActionForm Stores a single row of a table parameter for a
report using an SAP R/3 data stream. Active
Portal for JSP uses this form while a user edits
or inserts a row. The form supports the display
of column names and values for each of the
columns. The action class populates this form
with the initial values and Jakarta Struts
populates this form when the browser submits
the form. The Jakarta Struts framework
manages this form completely.

C ha pter 9, Ac tua te A ctive Por ta l fo r J S P JavaB ea ns 321


Skins
The following Active Portal for JSP com.actuate.activeportal.beans classes
support skins.

Class Description
GroupBean Stores lists of all images, colors, fonts, and
styles for a skin. Each list is a list of SkinBean
objects.
SkinBean Stores information about an image, style, color,
or font. The information for this JavaBean
comes from a <Style> or <Image> tag in the
skin.config file for a particular skin. You can
access this information using the getStyle() or
getImage() methods. SkinBeans are grouped
into GroupBeans for a particular skin.
SkinManagerInfoBean Stores access information about a skin. Used
by the SkinManagerActionForm.

The following Active Portal for JSP com.actuate.activeportal.forms classes


support skins.

Class Description
FileUploadActionForm Uploads images during skin customization
and stores an object representation of the
uploaded file. It uses Jakarta Struts
org.apache.struts.upload.FormFile to handle
the file upload. The file is saved in a temporary
location on the server.
SkinEditorActionForm Stores all the information about the various
groups defined in the skin.config file. When an
administrator edits a skin, Active Portal for JSP
loads the skin.config file and represents its
contents as a SkinConfig object. Changes to the
skin’s images, color, and fonts are stored in
GroupBeans for a skin.
SkinManagerActionForm Stores the list of skins displayed in
customization page. Use getSkin() method to
get the list of available skins as a Vector of
SkinManagerInfoBean. This form supports
adding, cloning, and deleting skins.

322 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Users
The following Active Portal for JSP com.actuate.activeportal.beans classes
support handling users.

Class Description
FeatureOptionsBean Stores the features that are available to the
current user. It contains both Active Portal for JSP
features and Reporting features on the Actuate
iServer the user is using. You can get this class by
using userinfobean.getFeatureBean().
ProfileBean Stores the user profile settings obtained from the
Actuate iServer. You can get this class by using
userinfobean.getProfile().
UserAgentBean Detects what kind of browser the user is using
from the http header “user-agent.” After you
instantiate this JavaBean, you need to call
setRequest(HttpServletRequest request). You can
get the browser type by calling isIE(), isNS4(),
and isNS6() methods.
UserInfoBean Contains many types of information about the
user, such as the user’s Encyclopedia volume
name, Actuate iServer URL, preferred skin,
authentication ID assigned by the Actuate
iServer, and so on. Several methods also affect the
display and highlighting of features.

The following Active Portal for JSP com.actuate.activeportal.forms classes


support handling users.

Class Description
LoginForm Stores information about the user ID, server URL,
volume, and other information specified during
login.
UserOptionsActionForm Stores the selected choices on the options page,
including selected skin, view, experience level, e-
mail ID, and so on. This form supports changing
these options.

C ha pter 9, Ac tua te A ctive Por ta l fo r J S P JavaB ea ns 323


Active Portal for JSP UserInfoBean class reference
The following methods are available in the Active Portal for JSP
com.actuate.activeportal.beans.UserInfoBean class.

Method Description
getAcLocale() Gets the AcLocale object specifying the
Actuate locale for the current user.
getAdminRights() Gets the administrator rights of the current
user. If the user is not an administrator or
operator, this method returns null. An
administrator or a software program can
set this value when creating a user.
getAuthid() Gets a String containing the authentication
ID returned by the Actuate iServer for this
user during login. Use this authentication
ID in IDAPI calls.
getCurrentfolder() Gets a String containing the name of the
most recent folder accessed by the user.
getDefaultAnalyticsExpLevel() Gets the default Actuate Analytics
experience level for this user. The level is
Novice unless overridden on the Options
page or by calling
setDefaultAnalyticsExpLevel().
getDefaultServerURL() Gets the URL to use for the default server
for the user. By default, this is the value
defined for SERVER_DEFAULT in
<context root>\Web-inf\Web.xml.
getDefaultVolume() Gets the volume name from the
VOLUME_DEFAULT tag in
<context root>\Web-inf\Web.xml.
getFeatureOptionsBean() Gets a JavaBean that stores the Actuate
Active Portal features and Actuate iServer
Options that are available to the current
user.
getFeatures() Gets a list of all features defined in the
functionality-level.config file.
getFilter() Gets a String containing the filter the user
most recently typed into the search field of
the Documents page. If the user has not
typed a filter, this method returns null.

324 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Method Description
getHomefolder() Gets the String specifying the user’s home
folder. An administrator or a software
program sets this value when creating a
user.
getLocale() Gets the current login user’s
java.util.Locale object.
getMaxJobPriority() Gets the maximum job priority permitted
for this user. An administrator or a
software program sets this value when
creating a user.
getOnlylatest() Gets the String “true” if Active Portal for
JSP is set to show only the most recent
version of each file.
getPassword() Gets a String containing the user’s
password.
getProfile() Gets the ProfileBean. This JavaBean stores
information about the user’s settings on
the Active Portal for JSP Options page.
This includes current skin, view,
experience level, and so on.
getProperty( Gets a String containing the value of a
java.lang.String name) custom property with the name passed as a
parameter. You can create your own
properties and set their values using
setProperty().
getRoleNames() Gets an array of Strings containing a list of
the user’s feature roles, such as Active
Portal Intermediate, Active Portal
Advanced, or Active Portal Administrator.
getServerurl() Gets the server URL currently used by the
user. This URL includes the protocol and
the port. For example:
http://localhost:9000
getShowdocuments() Gets the String “true” if the filter on the
Documents page specifies including
documents.
getShowexecutables() Gets the String “true” if the filter on the
Documents page specifies including
executable files.

C ha pter 9, Ac tua te A ctive Por ta l fo r J S P JavaB ea ns 325


Method Description
getShowfolders() Gets the String “true” if the filter on the
Documents page specifies including
folders.
getSideBarFeatures() Gets the list of features available to this
user on the side menu, tabs, the tree, or
equivalent structure. Some features, such
as customization, are not part of this set.
getSidebarSelected() Gets the URI for the feature highlighted on
the side menu, tab, tree, or equivalent
structure.
getSkinConfig() Gets the SkinConfig object for the user’s
current skin. The SkinConfig object
contains all information defined for the
skin.
getSkinName() Gets a String containing the name of the
skin used by the user.
getSubfeatures() Gets a Collection containing a list of all
subFeatures defined in <context root>\
Web-inf\functionality-level.config.
getSystemname() Gets a String containing the name of the
Actuate iServer machine. Actuate Active
Portal displays this name in the banners.
getTimezone() Gets the AcTimeZone object specifying the
time zone for the user.
getUserAgent() Gets the UserAgentBean object for the user.
UserAgentBean detects the user’s browser
type.
getUserid() Gets the userID of the user.
getView() Gets the String specifying the current view
for this user.
getVolume() Gets the String specifying the
Encyclopedia volume that the user is
accessing.
init() Initializes the UserInfoBean members.
isAlwaysGetFolderList() Returns True if the Documents page
should always show the folder list, even if
it is not selected on the filter.
isEanalysisOptionEnabled() Returns True is the Actuate e.Analysis
Option is enabled for the Actuate iServer.

326 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Method Description
isHomeFolderSet() Returns True if the user has a home folder
specified in the Encyclopedia volume.
isShowFilters() Returns True if the filter panel is shown for
all lists of documents, jobs, and channels.
isViewInNewBrowserWindow() Returns True if the report viewer is
specified to launch in a new browser
window.
setAcLocale(com.actuate. Sets the Actuate locale for the current user
reportcast.utils.AcLocale with the specified AcLocale object. Also
acLocale) changes the Java locale.
setAlwaysGetFolderList Set to True if the Documents page should
(boolean b) always show the folder list, even if it is not
selected on the filter.
setAuthid( Sets the authentication ID to the String
java.lang.String authid) passed in as a parameter. The
authentication ID is returned by the
Actuate iServer and set for the user during
login. Use getAuthid() to use this
authentication ID in IDAPI calls.
setCurrentfolder( Sets the String specifying the most recent
java.lang.String currentfolder) folder name accessed by the user.
setDefaultAnalyticsExpLevel( Sets the default Actuate Analytics
java.lang.String experience level for this user. The level is
analyticsExpLevel) Novice unless overridden on the Options
page or by calling this method.
setDefaultServerURL( Sets the URL to use as a default value for
java.lang.String users. Actuate Active Portal obtains this
defaultServerURL) value from the SERVER_DEFAULT tag in
<context root>\Web-inf\Web.xml.
setDefaultVolume( Sets the volume to use if no volume name
java.lang.String defaultVolume) is specified by the URL in the request. By
default, Actuate Active Portal sets this to
the value in the VOLUME_DEFAULT tag
in <context root>\Web-inf\Web.xml.
setFeatureOptions( Sets a list of all Actuate Active Portal
FeatureOptionsBean features and Actuate iServer Options that
featureOptionsBean) are available to the current user.

C ha pter 9, Ac tua te A ctive Por ta l fo r J S P JavaB ea ns 327


Method Description
setFilter(java.lang.String filter) Sets the String specifying the filter to use as
a default value in the Documents page.
Active Portal for JSP sets this String to the
filter that the user most recently typed into
the search field of the Documents page.
setHomefolder( Sets the String specifying the user’s home
java.lang.String string) folder. An administrator or a software
program sets this value when creating a
user.
setMaxJobPriority(int priority) Sets the maximum job priority permitted
for this user. An administrator or a
software program sets this value when
creating a user.
setOnlylatest( Sets the String “true” if Active Portal for
java.lang.String onlylatest) JSP is set to show only the most recent
version of each file.
setPassword( Sets the password to the value of the String
java.lang.String password) passed in as a parameter.
setProfile() Sets the ProfileBean. This JavaBean stores
information about the user’s settings on
the Active Portal for JSP Options page.
This includes current skin, view,
experience level and so on.
setProperty(java.lang.String Sets the value of a custom property. You
name, java.lang.String value) can create your own properties and set
their values using setProperty(). The
parameters for this property are the name
of the custom property and the value to set
for that property.
setRoleNames( Sets a list of the user’s feature roles, such as
java.lang.String[] strings[]) Active Portal Intermediate, Active Portal
Advanced, or Active Portal Administrator.
setServerurl( Sets the server URL currently used by the
java.lang.String surl) user. This URL includes the protocol and
the port. For example:
http://localhost:9000.
setShowdocuments( Set the String to “true” to specify that the
java.lang.String Filter on the Documents page include
showdocuments) documents.

328 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Method Description
setShowexecutables( Set the String to “true” to specify that the
java.lang.String filter on the Documents page include
showexecutables) executable files.
setShowFilters(boolean Set to True to specify that Actuate Active
showFilters) Portal display the filter panel for all pages
showing lists of documents, jobs, or
channels.
setShowfolders( Set the String to “true” to specify that the
java.lang.String showfolders) filter on the Documents page include
folders.
setSideBarFeatures( Sets the list of features available to this user
com.actuate.activeportal. on the side menu, tabs, the tree, or
functionality.config.Feature[] equivalent structure. This list is a subset of
feature) the features available to the user.
setSidebarSelected( Sets the feature highlighted on the side
java.lang.String menu, tab, tree, or equivalent structure. To
sideBarSelected) highlight a feature, pass a String
containing the URI invoked by the feature.
To not highlight any features, pass a String,
such as “No highlighting”, that does not
match the URI for any feature in the side
menu. By default, Active Portal for JSP
highlights the Documents feature.
setSkinConfig(com.actuate. Sets the SkinConfig object for the user’s
activeportal.skin.SkinConfig current skin. The SkinConfig object
config) contains all information defined for the
skin.
setSkinName( Sets the name of the skin used by the user.
java.lang.String string)
setSystemname( Sets the Actuate iServer system name to
java.lang.String systemName) the value of the String parameter. Active
Portal for JSP displays this system name in
the banners.
setTimezone(com.actuate. Sets the AcTimeZone object specifying the
reportcast.utils.AcTimeZone user’s time zone.
timezone)
setUserAgent( Sets the UserAgentBean for this user. The
UserAgentBean userAgent) UserAgentBean specifies the user’s
browser type.
setUserid( Sets the userid for the user.
java.lang.String userid)

C ha pter 9, Ac tua te A ctive Por ta l fo r J S P JavaB ea ns 329


Method Description
setView(java.lang.String string) Sets the current view for the user. The
string contains the name of the constant for
the desired view. The available constants
are:
■ AcConstants.VIEW_CATEGORY
■ AcConstants.VIEW_LIST
■ AcConstants.VIEW_DETAIL
■ AcConstants.VIEW_ICON
setViewInNewBrowserWindow Set to True to specify that the report viewer
(boolean _newWindow) launch in a new browser window.
setVolume(java.lang.String Sets the value of the String specifying the
volume) name of the Encyclopedia volume the user
is accessing.
toString() Returns a string representation of the
object.

330 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Chapter

Actuate Active Portal for


Chapter10
10
.NET user controls
This chapter contains the following topics:
■ Active Portal for .NET user controls overview
■ Active Portal for .NET user controls quick reference
■ Active Portal for .NET user controls reference

C h a p t e r 1 0 , A c t u a t e A c t i ve Po r t a l fo r . N E T u s e r c o n t r o l s 331
Active Portal for .NET user controls overview
This chapter provides reference information about Active Portal for .NET user
controls. Active Portal for .NET provides .NET user controls that developers
can reuse and for which they can customize the GUI. Each control consists of
one ASCX file (HTML) and one ASCX.CS file (code-behind). Active Portal for
JSP does not use controls and instead uses tags. For more information about
Active Portal for JSP tags, see Chapter 8, “Actuate Active Portal for JSP custom
tags.”

About user control attributes


There are two categories of attributes for each user control:
■ Target attributes are the reference pages to which the user control links. For
the user control to generate the links when it is rendered, it must have the
path of the files containing other Actuate user controls with which to link.
For example, the ViewingTarget attribute can refer to ViewPage.aspx,
which contains the viewing control. The code must specify all target
attributes for a user control.
■ Customization attributes change the rendering of the control by displaying
only a specific part of the data or by setting default values in the control.

Using the user control library


Place user controls using the Visual Studio .NET designer by dragging the
controls on the web page. Initially, only the layout is important. Even if your
controls are not fully functional, they render data so that you can complete the
site layout. After you place the user controls, you can customize them by
changing their customization attributes and, optionally, their HTML code. Set
the control flow for the controls using their target attributes.
The user controls use the Active Portal for .NET components listed in the
following table. All locations are under the context root.

Component Location
Classes bin\activeportal.dll
Document definitions dtd directory
Images images and skins directories
JavaScripts js and skins directories
Localization files xml directory
Stylesheet css and skins directories

332 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
All user controls assume that authenticate.ascx is at the beginning of every
page that contains a user control. Place the following code near the top of the
file:
<%@ Register TagPrefix="actuate" TagName="authenticate"
Src="../authenticate.ascx" %>
After registering the authenticate tag, invoke it with the following code:
<actuate:authenticate id="AcAuthenticate" runat="server">
</actuate:authenticate>
Active Portal for .NET includes the previous two lines of code in all templates,
except for the template used for login.

Active Portal for .NET user controls quick reference


The following table lists Active Portal for .NET user controls. The controls are
organized into modules according to their function.

Module User control Description


Errors error Displays an error message
Files deletefile Deletes a file
Files detail Displays file details and optional buttons
to perform actions on the file
Files list Lists files and folders
Jobs canceljob Cancels a job
Jobs deletejob Deletes a job
Jobs do_submitjob Executes a report as a background job
Jobs executereport Displays the GUI for running a report
Jobs joblist Shows the job control tabs
Jobs parameters Displays the parameters for a report and
supports specifying parameter values
Jobs savefile Displays the options for the output of a
report and supports changing the default
values for these options
Jobs schedule Displays the scheduling options for
running a report and supports changing
the default values for these options
Jobs submittedjob_status Gets the job status
Notices channellist Lists job notices for a given channel

C h a p t e r 1 0 , A c t u a t e A c t i ve Po r t a l fo r . N E T u s e r c o n t r o l s 333
Module User control Description
Notices deletejobnotice Deletes a job notice
Notices jobdetail Shows details about a job or job notice
Security authenticate Performs user authentication
Security login Shows the login page
Security logout Logs out the user
Shared filter Filters files, jobs, job notices, and folders
Shared folderbrowser Selects a file from a dialog box
Viewing getreportdata Gets and displays a report

Active Portal for .NET user controls reference


This section provides the detailed reference for Active Portal for .NET user
controls.

authenticate
This control is embedded at the beginning of every page in Active Portal for
.NET. If the authorization ID is not set in the session, the control tries to log the
user in by using either the username, password, and volume from the session,
or by using the security manager if the SecurityManager attribute has been set.
There is no security manager by default.
This user control does not display anything. The authenticate control can also
be used alone on a page to perform authentication. A session cookie is sent
back if the authentication succeeds.
Name activeportal.usercontrols.authenticate
Module Security
Custom The following table lists the customization attributes for this control.
attributes

Name Required Type Default Description


SecurityManager No String none Class path to the security
manager class, which
should inherit Actuate
Security Manager
interface.

334 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Target The following table lists the target attributes for this control.
attributes

Name Required Type Default Description


LoginTarget Yes String none Page to redirect to after
login.

canceljob
Cancels the job and displays a confirmation message similar to the following:
The specified job (ID = 26) was successfully DELETED as requested.
Click here to return to the list of active requests.
Name activeportal.usercontrols.requests.canceljob
Module Jobs
Attributes There are no attributes for the canceljob user control.
Example <actuate:canceljob id="canceljob" runat="server"/>

channellist
Lists the contents of a channel.
Name activeportal.usercontrols.channels.channellist
Module Jobs
Custom channellist has no customization attributes.
attributes
Target The following table lists the target attributes for this control.
attributes

Name Required Type Default Description


ViewingTarget Yes String none Link to the page for
viewing a document.
JobNoticeTarget Yes String none Link to jobdetail user
control to view the job
details.

C h a p t e r 1 0 , A c t u a t e A c t i ve Po r t a l fo r . N E T u s e r c o n t r o l s 335
Example <actuate:channel id="channel" JobNoticeTarget="../requests/detail.aspx"
ViewingTarget="../viewer/viewframeset.aspx" runat="server"/>

deletefile
Deletes a file and displays a simple confirmation message, such as:
The requested files were successfully deleted from the volume.
Name activeportal.usercontrols.filesfolders.deletefile
Module Files
Custom The following table lists the customization attributes for this control.
attributes

Name Required Type Default Description


Name No Boolean True Name of file to delete.
FileId No Boolean True ID of file to delete.

Target deletefile has no target attributes.


attributes
Example <actuate:deletefile fileid="34" runat="server"/>

deletejob
Deletes the job and displays a confirmation message, then redirects control to
processedaction_status.aspx or the page specified in the URI by redirect
parameter.
Name activeportal.usercontrols.requests.deletejob
Module Jobs
Attributes There are no attributes for the deletejob user control.

336 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
deletejobnotice
Delete the job notice and redirects to processedaction_status.aspx or the page
specified in the URI by the redirect parameter. processedaction_status.aspx
displays a confirmation message:
The status (job notice) for the specified job (ID = 24) was successfully
DELETED as requested.
Click here to return to the list of active requests.
Name activeportal.usercontrols.requests.deletejobnotice
Module Notices
Attributes There are no attributes for the deletejobnotices user control.
Example: <actuate:deletejobnotice runat="server" id="deletenotice"/>

detail
Displays file details and optional buttons to view, submit job, and delete the
file.
Name activeportal.usercontrols.filesfolders.detail
Module Files
Custom The following table lists the customization attributes for this control.
attributes

Name Required Type Default Description


ShowOpen No Boolean True Displays the Open button
if available.
ShowNewJob No Boolean True Displays the New Job
button if available.
ShowDelete No Boolean True Displays the Delete button
if available.

C h a p t e r 1 0 , A c t u a t e A c t i ve Po r t a l fo r . N E T u s e r c o n t r o l s 337
Target The following table lists the target attributes for this control
attributes

Name Required Type Default Description


ViewingTarget Yes String none Link to the page for
viewing the files.
ExecuteTarget Yes String none Link to executereport user
control.
DeleteTarget Yes String none Link to deletefile user
control.
CreateQuery Yes String none Link to wizard to create
Target query.
SubmitQuery Yes String none Link to wizard to submit a
Target query (schedule a query).
DownloadTarget Yes String none Link to the user control to
download a report (for
viewing a third-party
report).

Example <actuate:filedetail CreateQueryTarget="../query/create.aspx"


SubmitQueryTarget="../query/submit.aspx" DeleteTarget="do_drop.aspx"
ViewingTarget="../viewer/viewFrameset.aspx" ShowDelete="false"
ShowNewJob="false" runat="server"/>

do_submitjob
Executes a report as a background job.
Name activeportal.usercontrols.newrequest.do_submitjob
Module Jobs
Attributes This user control has no attributes.
Example <actuate:do_submitjob runat="server"/>

error
Displays an error message from the SOAP response. The message is displayed
in a popup window with a close button, and redirects the main browser page

338 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
to the page that originated the request. The error control is used in
<context root>/errors/error.aspx and cannot be used in other pages.
This controls does not have attributes because it is used automatically by
previous user controls.
Name activeportal.usercontrols.common.error
Module Errors
Attributes There are no attributes for the error user control.

executereport
This user control is used to display the GUI for:
■ Executing a report immediately.
■ Submitting a background job.
The type of form displayed depends on the parameters set in the URI when
executing a request.
This is a common user control. It has properties related to both the execution
of an immediate report and scheduling a background job.
Name activeportal.usercontrols.newrequest.executereport
Module Jobs
Custom The following table lists the customization attributes for this control.
attributes

Name Required Type Default Description


ShowSubmitJob No Boolean True The link displayed at the
Link top of the page. Used to
switch from a immediate
job to a background job.
This is disabled when
submitting a background
job.
ShowExecute No Boolean True The link displayed at the
RequestLink top of the page. Used to
switch from a background
job to an immediate job.
This is disabled if the user
is executing an immediate
job.

C h a p t e r 1 0 , A c t u a t e A c t i ve Po r t a l fo r . N E T u s e r c o n t r o l s 339
Target The following table lists the target attributes for this control.
attributes

Name Required Type Default Description


ExecuteRequest Yes String do_execute The location of the page
Target to do the Immediate job
execution. This is the
page that can be
accessed directly using a
URI to execute a
immediate job.
BrowseFileTarget Yes String none Location of the page
containing the
FileFolder browser, to
be used in the Output
tab, for immediate
reports, or Save As tab,
for background jobs.
SubmitJobTarget Yes String do_ Location of the page to
submitjob do the processing of the
background job. This is
the page that can be
directly accessed using a
URI to submit a
background job.

Example <actuate:executerequest id="executereport"


SubmitJobTarget="../newrequest.do_submitjob.aspx"
ExecuteRequestTarget= ../newrequest/do_executereport.aspx"
BrowseFileTarget="../common/browsefile.aspx" runat="Server" />

filter
This common filter can be used for jobnotices, filesfolders, or requests and is
embedded in the corresponding user controls (filelist, joblist, jobnoticelist).
The user controls share a common filter control so that if your layout needs to
change for the filter box, only this control has to be changed.
Name activeportal.usercontrols.common.filter
Module Shared

340 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Custom The following table lists the customization attributes for this control.
attributes

Name Required Type Default Description


Filter No String "" Filter string.
ShowFolders No Boolean True Displays Folders if any.
ShowExecutables No Boolean True Displays Executables if
any.
ShowDocuments No Boolean True Displays Documents if
any.
OnlyLatest No Boolean False Displays latest versions
only.
ShowSuccessful No Boolean True Only applies to completed
Jobs jobs.
ShowFailedJobs No Boolean True Only applies to completed
jobs.

Target filter has no target attributes.


attributes

folderbrowser
Displays a browser to select a file. This user control must be set in a popup
window. It needs two parameters in the URI to work correctly:
■ backTarget: ID of the control to populate on the opener page.
■ openerwindowname: name of the opener window.
Name activeportal.usercontrols.common.folderbrowser
Module Shared
Attributes There are no attributes for the folderbrowser user control.

getreportdata
Gets and displays the contents of a report. getreportdata uses the Information
Delivery API message GetContent. For more information about GetContent
and its parameters, see Chapter 6, “Actuate Information Delivery API
operations summary,” in Programming with Actuate iServer APIs. The
GetContent parameters can also be used in the URI of this user control.

C h a p t e r 1 0 , A c t u a t e A c t i ve Po r t a l fo r . N E T u s e r c o n t r o l s 341
Name activeportal.usercontrols.viewer.getreportdata
Module Viewing
Custom The following table lists the customization attributes for this control. You must
attributes specify either Name or ObjectId with one of either ComponentId or
ComponentName.

Name Required Type Default Description


Connection No String none The connection handle
Handle returned by the Actuate
iServer.
Name Yes, unless String none The Reportlet source’s
ObjectId is full Encyclopedia name.
used.
ObjectId Yes, unless String none ID of the report to view.
Name is
used.
ComponentId Yes, unless String none ID of the report
Component component to view.
Name is
used.
Component Yes, unless String none Name of the report
Name Component component to view.
Id is used.
ComponentValue No String none Value of the component.
Format No String none Format to display the
report.
ScalingFactor No String none Factor to scale the
Reportlet size by.
MaxHeight No String none Maximum size of the
Reportlet on the page in
points.
Version No String none The report’s version
number.
EmbeddedPath No String none The path for embedded
objects such as images.

Target getreportdata has no target attributes.


attributes
Example <actuate:getreportdata runat="server" id="viewing"/>

342 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
jobdetail
Shows details about the job or job notice, and optionally allows the user to
view the report, delete the job, or delete the job notice.
Name activeportal.usercontrols.requests.jobdetail
Module Notices
Custom The following table lists the customization attributes for this control.
attributes

Name Required Type Default Description


ShowDelete No Boolean True True to allow deleting the
job.
ShowOpen No Boolean True True to allow viewing the
job.

Target The following table lists the target attributes for this control.
attributes

Name Required Type Default Description


DeleteJobTarget Yes String none Link to the deletejob user
control.
DeleteJobNotice Yes String none Link to the deletejobnotice
Target user control.
ViewingTarget Yes String none Link to the user control to
view a native report.
DownloadTarget Yes String none Link to the user control to
download or view a third
party report.
CancelJobTarget Yes String none Link to the canceljob user
control.

Example <actuate:jobdetail id="jobdetail" ShowDelete="false" ShowView="false"


DeleteJobTarget="../requests/do_deletejob.aspx"
ViewingTarget="../viewer/viewframeset.aspx"
CancelJobTarget="../requests/do_drop.aspx" runat="server"/>

C h a p t e r 1 0 , A c t u a t e A c t i ve Po r t a l fo r . N E T u s e r c o n t r o l s 343
joblist
Displays the tabs if requested with the ShowTabs property. You can restrict
selection to specific tabs. If you do not wish to display tabs, select only one
category.
Name activeportal.usercontrols.requests.joblist
Module Jobs
Custom The following table lists the customization attributes for this control.
attributes

Name Required Type Default Description


ShowFilter No Boolean True Display filter fields.

Target The following table lists the target attributes for this control.
attributes

Name Required Type Default Description


ViewingTarget Yes String none Link to the page for
viewing the report.
JobDetailTarget Yes String none Link to the page for
obtaining the job details.

Example <actuate:joblist id="jobList" JobDetailTarget="../requests/detail.aspx"


ViewingTarget="../viewer/viewframeset.aspx"
DownloadTarget="../viewer/view3partyreport.aspx" runat="server"/>

list
Displays a list of files and folders.
Name activeportal.usercontrols.filesfolders.list
Module Files

344 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Custom The following table lists the customization attributes for this control.
attributes

Name Required Type Default Description


ShowHeaders No Boolean True Shows header bars for
each section.
ShowFolderIcons No Boolean False Show folder icons in front
of folder names.
IsStateLess No Boolean False If True, the current folder
is not saved into session, if
False, it is saved, and
affects all instances of this
user control to show that
folder when accessed the
next time.
ShowFilter No Boolean True Shows the filter fields.

Target The following table lists the target attributes for this control.
attributes

Name Required Type Default Description


ViewingTarget Yes String none Link to the page for
viewing the list.
ExecuteTarget Yes String none Link to executereport
page.
DetailTarget Yes String none Link to the detail user
control.
SubmitJobTarget Yes String none Link to executereport user
control.
DownloadTarget Yes String none Link to getreportdata user
control.
FolderTarget Yes String none Link to itself.
CreateQuery Yes String none Link to query wizard to
Target create a query.
ExecuteQuery Yes String none Link to query wizard to
Target execute a query.
SubmitQuery Yes String none Link to query wizard to
Target submit a query.
SearchReport Yes String none Link to search page to
Target analyze query results in
e.Analysis.

C h a p t e r 1 0 , A c t u a t e A c t i ve Po r t a l fo r . N E T u s e r c o n t r o l s 345
Example <actuate:filelist id="filelist" ViewingTarget="../viewer/viewFrameset.aspx"
ExecuteTarget="../newrequest/index.aspx?__requesttype=immediate"
DetailTarget="../filesfolders/index.aspx?subpage=_detail"
SubmitJobTarget="../newrequest/index.aspx?__requesttype=scheduled"
ShowFilter="false" runat="server"/>

login
This control shows the login input fields. The customization attributes set the
default values of the fields.
Name activeportal.usercontrols.login
Module Security
Custom The following table lists the customization attributes for this control.
attributes

Name Required Type Default Description


UserID No String "" The user’s login name.
Password No String "" The user’s password.
Volume No String "" The Encyclopedia volume
to use.
ServerURL No String "" The server to connect to.
TimeZone No String "" The time zone to use.
Language No String "" The locale to use.

Target The following table lists the target attributes for this control.
attributes

Name Required Type Default Description


LoginTarget Yes String none Page to redirect to after
login.

Example <actuate:login id="Login"


LoginTarget="filesfolders/index.aspx?__refreshChannels=true"
UserID="Administrator" Volume="feindgold" runat="server"/>

346 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
logout
Redirects to the target page specified as an attribute. The logout target is
usually a link to the activeportal.usercontrols.login user control.
Name activeportal.usercontrols.logout
Module Security
Custom logout has no customization attributes.
attributes
Target The following table lists the target attributes for this control.
attributes

Name Required Type Default Description


LogoutTarget Yes String none Link to
activeportal.usercontrols
.login.

Example <actuate:logout id="Logout" Target="Loginpage.aspx" runat="server"/>

parameters
Shows the report parameters and supports specification of parameter values
for the report.
Name activeportal.usercontrols.newrequest.parameters
Module Jobs
Custom The following table lists the customization attributes for this control.
attributes

Name Required Type Default Description


UsedForActuate No Boolean False When True, limits display
Query of parameters not needed
for query objects (DOX
and DOV).

Target This user control has no target attributes.


attributes

C h a p t e r 1 0 , A c t u a t e A c t i ve Po r t a l fo r . N E T u s e r c o n t r o l s 347
Examples <actuate:Parameters id="ReportParameters"
runat="server" />
<actuate:Parameters ID="PredefinedParams" UsedForActuateQuery="true"
RunAt="server"/>
<actuate:TableParameterEditor TableParameterEditor="true" RunAt="Server"
ID="Tableparametereditor1"/>

savefile
Displays the options for the output of a report and supports changing the
default values for these options.
Name activeportal.usercontrols.newrequest.savefile
Module Jobs
Custom This user control has no customization attributes.
attributes
Target The following table lists the target attributes for this control.
attributes

Name Required Type Default Description


BrowseFileTarget Yes String none Location of the page
containing the FileFolder
browser, to be used in the
Output tab, for immediate
reports, or Save As tab, for
background jobs.

Example <actuate:SaveOutputFile id="SaveOutputFile" runat="server" />

schedule
Displays the scheduling options for running a report and supports changing
the default options.
Name activeportal.usercontrols.newrequest.schedule
Module Jobs

348 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Custom The following table lists the customization attributes for this control.
attributes

Name Required Type Default Description


UsedForActuate No Boolean False When True, limits display
Query of parameters not needed
for DOX and DOV query
objects.

Target This user control has no target attributes.


attributes
Examples <actuate:Schedule id="Schedule" runat="server" />
<actuate:schedule id="AcSchedule" UsedForActuateQuery="true"
runat="server" />

submittedjob_status
Shows the job notice and displays a confirmation message:
The background job rpt20 was successfully submitted to run.
Report /benchmark/common/rpt20.rox;1 on system: http://feindgold:8000
For your reference, the job ID is 25
You can restrict the options to cancel or delete job.
Name activeportal.usercontrols.newrequest.submittedjob_status1
Module Jobs
Custom The following table lists the customization attributes for this control.
attributes

Name Required Type Default Description


ShowDelete No Boolean True True allows deleting the
job notice.
ShowStatus No Boolean True True shows the job notice.

C h a p t e r 1 0 , A c t u a t e A c t i ve Po r t a l fo r . N E T u s e r c o n t r o l s 349
Target The following table lists the target attributes for this control.
attributes

Name Required Type Default Description


CancelJobTarget Yes String none Link to
activeportal.usercontrols.
requests.canceljob.
DeleteJobTarget Yes String none Link to
activeportal.usercontrols.
requests.canceljob.
JobDetailTarget Yes String none Link to
activeportal.usercontrols.
requests.jobdetail.

Example <actuate:jobconfirmation CancelJobTarget="..requests/do_drop.aspx"


DeleteJobTarget="../requests/do_deletejob.aspx"
JobDetailTarget="../requests/detail.aspx" ShowStatus=false runat="server/>

350 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Chapter

Using internal Actuate


Chapter 11
11
Active Portal security
This chapter contains the following topics:
■ About Actuate Active Portal security
■ Protecting corporate data
■ Understanding the authentication process
■ Customizing authentication
■ Working with Actuate Active Portal Security Extension methods
■ Creating a custom security manager

C hap ter 1 1, Using inter nal Actuate Active Por tal secur ity 351
About Actuate Active Portal security
A reporting web site is accessible to any user who has a web browser and the
URI for the site. This chapter discusses the Actuate Active Portal security
features and how to use them to:
■ Ensure that users access only those objects in the Encyclopedia volume for
which they have permission.
■ Protect sensitive reports.
The types of security you can provide for Actuate Active Portal are:
■ Default user authentication. Use the default Actuate Active Portal and
Actuate iServer System facilities to ensure that users access only those
reports and other Encyclopedia volume items for which they have
permission.
■ User authentication using Actuate Active Portal Security Extension (APSE).
Use APSE to customize and control the user login and authentication
process.

Protecting corporate data


Actuate iServer System provides a structured content generation solution for
web applications. Deploying Actuate applications developed for the internet
requires planning for network security.
Internet applications support access to information within an organization
from outside that organization. Because the organization’s internal network is
connected to the internet, there is the risk of unauthorized access to the
corporate network and to the data that resides on that network.
Organizations use one or a combination of the technologies described in the
following sections to prevent unauthorized access to the corporate network.

Protecting corporate data using firewalls


Typically companies use firewalls to prevent unauthorized access to corporate
networks and data.
A firewall is a system or group of systems that restrict access between two
networks, such as an organization’s internal network and the internet.
Firewalls keep unauthorized users out. As a result, firewalls prevent damage
caused by malicious programs such as worms and viruses from spreading to
other parts of your network. At the same time, firewalls allow legitimate
business to tunnel through the firewall and be efficiently conducted on your
network.

352 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Firewalls can be used to restrict access between two internal networks, for
example, the accounting and engineering networks. Security teams configure
firewalls to allow traffic using specific protocols, such as HTTP, over specific
network addresses and ports. Be sure that your firewall allows access for the
Actuate Active Portal and Actuate iServer ports. For more information about
the Actuate ports, see Installing Actuate iServer System.

Protecting corporate data using Network Address


Translation
Companies also use Network Address Translation (NAT). NAT routers and
software support private networks using unregistered, private IP (Internet
Protocol) addresses to connect to the internet.

Protecting corporate data using proxy servers


Proxy servers, specialized web servers or hardware that operate on or behind a
firewall, improve efficient use of network bandwidth and offer enhanced
network security. For more information about proxy servers, see Chapter 1,
“Introducing Actuate Active Portal.”

Understanding the authentication process


The authentication process involves the following steps, in this order:
■ A user makes a request by choosing a link on an Actuate Active Portal page
or by typing an Actuate Active Portal URI in a web browser. The Actuate
Active Portal URI invokes an Actuate Active Portal JSP or ASPX, and
Actuate Active Portal submits the request to the application server.
■ As the application server processes the page, the application server
encounters the Login module and starts authentication processing.
■ The Login module checks the SECURITY_MANAGER_CLASS
configuration parameter:
■ If the parameter is not set, the Login retrieves the user information, logs
into the Actuate iServer System, and authenticates the user. If the login
information is invalid, the login screen appears in the browser.
■ If the parameter is set, the Login module uses reflection to instantiate
the custom class the parameter specifies. If the class fails to load, an
error message appears.

C hap ter 1 1, Using inter nal Actuate Active Por tal secur ity 353
If the custom security class was specified and loaded successfully, the
following steps occur:
■ Once the security manager instance has been created, the Login module
calls the authenticate() method with the parameters the browser sent.
■ The authenticate() method performs the necessary validation based on the
arguments that are passed in to the method. If the validation succeeds, the
method must return True, otherwise it returns False. If the return value is
False, the Login module displays an error to the user stating that the
authentication failed. If the return value is True, the Login module
continues the processing.
■ The Login module calls the getUserName(), getPassword(), and
getVolume() methods to retrieve the user information the Actuate iServer
requires. The Login module also calls the getExtendedCredentials()
method. If this method returns null, there are no extended credentials to
send to the Actuate iServer.
■ The Login module by now has all the information that it requires for
connecting to the Actuate iServer. The Login module creates the necessary
SOAP message for connecting to the Actuate iServer and sends a login
request.
A user cannot update their password from Actuate Active Portal when
SECURITY_MANAGER_CLASS is set and APSE is in use. This prevents
conflicts between the user’s current password and the security system APSE is
using to verify passwords.

Customizing authentication
To customize Actuate Active Portal authentication, complete the following
general tasks:
■ Modify the APSE methods.
Write a custom security extension class implementing all the APSE
methods. For more information about the APSE methods, see “Working
with Actuate Active Portal Security Extension methods,” later in this
chapter. Your class must be thread-safe and cannot depend on any one
thread handling a particular request.
■ Set the SECURITY_MANAGER_CLASS configuration parameter value.
Set the value of SECURITY_MANAGER_CLASS to the fully qualified
name of your custom security class. A fully qualified name contains both
the namespace and class names for Active Portal for .NET and the package
and class names for Active Portal for JSP. Set the
SECURITY_MANAGER_CLASS configuration parameter in the

354 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
appropriate Actuate Active Portal configuration file. For more information
about setting Active Portal for .NET configuration parameters, see
“Customizing Active Portal for .NET configuration” in Chapter 2,
“Creating a custom Active Portal for .NET web site.” For more information
about setting Active Portal for JSP configuration parameters, see
“Customizing Active Portal for JSP configuration” in Chapter 3, “Creating
a custom Active Portal for JSP web site.”

Working with Actuate Active Portal Security


Extension methods
This section describes the APSE methods. The Login module of the calling JSP
or ASPX calls the APSE methods to validate the current user’s security
credentials. You implement the APSE by writing a class that contains the
following methods.

authenticate()
Evaluates the current user’s security credentials.
Description The Login module calls authenticate() to validate the current user’s security
credentials. The Login module passes the values of its user name, password,
and volume name attributes to authenticate( ). authenticate( ) retrieves the
credentials parameter sent by the browser to the calling page. The Login
module also calls authenticate() when a user switches between Actuate
iServers or Encyclopedia volumes to avoid requiring the user to log in again. If
authenticate() returns False, the user is redirected to the login page.
Syntax JSP: public Boolean authenticate( javax.servlet.ServletRequest request )
.NET: public bool authenticate( Page page )
Returns True for successful credential evaluation and False otherwise. If credential
evaluation is not successful throw an AuthenticationException indicating the
reason for the failure.

getExtendedCredentials()
Retrieves the current user’s extended security credentials.
Description This method returns the extended credentials the Actuate iServer requires. A
page calls the method to send the extended credentials the Actuate iServer
requires for user authentication.
Syntax JSP: byte[] getExtendedCredentials()
.NET: public byte[] getExtendedCredentials( )

C hap ter 1 1, Using inter nal Actuate Active Por tal secur ity 355
Returns A byte array representing any extended credentials for the Actuate iServer to
use to authenticate the user, or null if there are no extended credentials to
evaluate.

getPassword()
Retrieves the current user’s password.
Description The Login module calls getPassword() to retrieve the current user’s password.
The Login module uses the password to establish a connection to the Actuate
iServer and to access the Encyclopedia volume.
Syntax JSP: string getPassword()
.NET: public string getPassword()
Returns A string that is the password to use to establish the connection to the Actuate
iServer, or null if there is no password for the user.

getUserName()
Retrieves the current user’s login name.
Description The Login module calls getUserName() to retrieve the current user’s login
name. The Login module uses the login name to establish a connection to the
Actuate iServer and to access the Encyclopedia volume.
Syntax JSP: java.lang.String getUserName()
.NET: public string getUserName()
Returns A string containing the user name that the Actuate iServer recognizes.

getVolume()
Retrieves the volume to which the current user connects.
Description The Login module calls getVolume() to retrieve the name of the Encyclopedia
volume to which the user wishes to connect.
Syntax JSP: java.lang.String getVolume()
.NET: public string getVolume()
Returns A string containing the domain and volume name for the Encyclopedia
volume to which the user connects to through the Actuate iServer. If null, the
Actuate iServer connects to the default volume, read from
DEFAULT_VOLUME in the Actuate Active Portal configuration file. For more
information about the Active Portal for .NET DEFAULT_VOLUME
configuration parameter, see “Understanding Actuate Active Portal
configuration parameters” in Chapter 2, “Creating a custom Active Portal for
.NET web site.” For more information about the Active Portal for JSP

356 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
DEFAULT_VOLUME configuration parameter, see “Understanding Actuate
Active Portal configuration parameters” in Chapter 3, “Creating a custom
Active Portal for JSP web site.”

Creating a custom security manager


You write a custom security class for your version of Actuate Active Portal to
implement your own security manager for APSE. The following sections
describe the code and steps necessary to create a custom security class for
Active Portal for JSP and for Active Portal for .NET.

Creating an Active Portal for JSP custom security


manager
The following source code illustrates a simple custom authentication
implementation for Active Portal for JSP. This example only allows user
names user1 and user2 to log in.
import javax.servlet.*;
import javax.servlet.http.*;
import com.actuate.reportcast.security.SecurityManager;

public class SecurityMgrSession implements SecurityManager


{
// APSE_AUTH is an arbitrary string used as a session key by this class.
private final String AUTH_SESSION_KEY = "APSE_AUTH";
String sUserName = null;
String sPassword = null;
String sVolume = null;

public SecurityMgrSession() {}
/**
* authenticate() is called by the Login module to authenticate the user. The
* Login module passes the user name, password, and volume name that are
* set as the attributes. In addition to these it passes all the other parameters
* that are sent by the browser to the JSP as the credentials parameter, which
* is an instance of java.util.Map.
*
* This custom implementation checks for two arguments in the URL, uname
* and vol, and their values are assigned to the local variable param and the
* class variable sVolume. If the arguments are null the variables are set
* to the empty string.
*/
public boolean authenticate (ServletRequest request)
{

C hap ter 1 1, Using inter nal Actuate Active Por tal secur ity 357
HttpServletRequest httpReq = (HttpServletRequest) request;
boolean returnValue = false;

String param = request.getParameter("uname");


sVolume = request.getParameter("vol");

sVolume = (sVolume == null) ? null : sVolume;


param = (param == null) ? "" : param;

/**
* The authentication step is simply to check if the uname parameter
* from the URL is equal to 1 or 2. If it is, the user name and
* password are both set to "user1" or "user2" and True is returned.
* Otherwise the session is checked to see if the user has already
* been authenticated. The vol parameter is not checked.
*
* Replace this example code with a true authentication check in a
* production version of this class.
*/
sUserName = "";
if (param.equals("1"))
{
sUserName = "user1";
sPassword = "user1";
}
else if (param.equals("2"))
{
sUserName = "user2";
sPassword = "user2";
}

if (sUserName.equals(""))
{
/**
* If no parameters were found in the URL, check if a marker was
* previously stored in the session itself, and return True if the
* marker was found and the user has already been authenticated.
*/
Boolean b =
(Boolean)httpReq.getSession().getAttribute(AUTH_SESSION_KEY);
returnValue = (b != null) ? b.booleanValue() : false;
}
else
{
/**
* If parameters were found in the URL and the user was authenticated,
* store a marker in the session itself and return True. The marker is
* checked in subsequent calls to authenticate() when parameters are
* not supplied.

358 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
*/
httpReq.getSession().setAttribute(AUTH_SESSION_KEY,
Boolean.TRUE);
returnValue = true;
}
return returnValue;
}
/**
* In this example the remaining class methods are unimplemented.
* They can also be replaced in a production version of this class.
*
* The Login module calls getUserName() to retrieve the user name
* to use when connecting to the volume.
*/
public String getUserName() { return sUserName; }
/**
* The Login module calls getPassword() to retrieve the password
* required by the user for connecting to the volume.
*/
public String getPassword() { return sPassword; }
/**
* The Login module calls getVolume() to retrieve the volume which the
* user wishes to connect to.
*/
public String getVolume() { return sVolume; }
/**
* The Login module calls getExtendedCredentials() to retrieve any extended
* credentials required by the Actuate iServer to authenticate this user.
*/
public byte[] getExtendedCredentials() { return new byte[] {}; }
}

How to build the sample Active Portal for JSP security manager
1 Create users with the login names user1 and user2 and matching
passwords.
2 Use the class shown above or modify it by changing the class name, the
functionality of the authenticate() method, and the functionality of any
other methods necessary to implement your security features.
3 Compile the file into a class with acweb.jar and servlet.jar in your
CLASSPATH.
4 Create a jar file named SecurityMgr.jar from the class file.
5 Copy SecurityMgr.jar to ActivePortalJSP\WEB-INF\lib.

C hap ter 1 1, Using inter nal Actuate Active Por tal secur ity 359
6 Set the SECURITY_MANAGER_CLASS configuration parameter to
SecurityMgr. For more information, see “Customizing authentication,”
earlier in this chapter.
7 Restart Active Portal for JSP.
8 Use the following URI to test your implementation for a successful login,
replacing localhost with the name of your host machine:
http://localhost:8700/acweb/getfolderitems.do?uname=1&vol=volumeName
The following URI does not log in successfully because uname=6 does not
pass authentication:
http://localhost:8700/acweb/getfolderitems.do?uname=6&vol=volumeName

Creating an Active Portal for .NET custom security


manager
The following source code illustrates a simple custom authentication
implementation for Active Portal for .NET. This example only allows user
names user1 and user2 to log in.
using System;
using System.Web.UI;
using activeportal.classes;

namespace securitymanager
{
public class MySecurityManager : AcSecurityManager
{
private String username = "";
private String password = "";
private String volume = "";

// APSE_AUTH is an arbitrary string used as a session key by this class.


private static String AUTH_SESSION_KEY = "APSE_AUTH";

public MySecurityManager() {}

/**
* authenticate() is called by the authenticate.aspx page to
* authenticate the user. All parameters sent by the browser to the
* .aspx page are available in the page object. The parameters are
* user name, password, and volume name, and are set as attributes. In
* addition to these all other parameters that are sent by the browser
* are passed as the credentials parameter.
*
* This custom implementation checks for two arguments in the URL,
* uname and vol, and their values are assigned to the local variable

360 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
* param and the class variable sVolume. If the arguments are null
* the variables are set to the empty string.
*/
public bool authenticate(Page page)
{
username = page.Request.QueryString["uname"];
volume = page.Request.QueryString["vol"];

if(username == null || username.Length == 0)


{
/**
* A user name was not found in the URL, so check for the
* session key. If the user was previously authenticated,
* the session key will be present and we return True.
*/
Object tmpObj = page.Session[AUTH_SESSION_KEY];
return ((tmpObj != null) && (bool)tmpObj);
}
else // username.Length > 0
{
/**
* The authentication step is simply to check if the uname parameter
* from the URL is equal to 1 or 2. If it is, the user name and
* password are both set to "user1" or "user2" and True is returned.
* Otherwise False is returned, because the session has already been
* checked to see if the user was previously authenticated. The vol
* parameter is not checked.
*
* Replace this example code with a true authentication check in a
* production version of this class.
*/
if(username == "1")
{
username = "user1";
password = "user1";
}
else if(username == "2")
{
username = "user2";
password = "user2";
}
else
{
// Invalid user specified in URL; place your authentication
// handling code here.
return false;
}

C hap ter 1 1, Using inter nal Actuate Active Por tal secur ity 361
// We've authenticated the user, so store that in the session.
page.Session[AUTH_SESSION_KEY] = true;
}
return true;
}

/**
* In this example the remaining class methods are unimplemented.
* They can also be replaced in a production version of this class.
*
* The Login module calls getUserName() to retrieve the user name
* to use when connecting to the volume.
*/
public String getUserName() { return username; }

/**
* The Login module calls getPassword() to retrieve the password
* required by the user for connecting to the volume.
*/
public String getPassword() { return password; }

/**
* The Login module calls getVolume() to retrieve the volume which the
* user wishes to connect to.
*/
public String getVolume() { return volume; }

/**
* The Login module calls getExtendedCredentials() to retrieve any
* extended credentials required by the Actuate iServer to authenticate
* this user.
*/
public byte[] getExtendedCredentials() { return null; }
}
}

How to build the sample Active Portal for .NET security manager
1 Create users with the login names user1 and user2 and matching
passwords.
2 Use the class shown above or modify it by changing the class name, the
functionality of the authenticate() method, and the functionality of any
other methods necessary to implement your security features.
3 Create a new class library project called securitymanager using Visual
Studio .NET.

362 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
4 Compile the file into securitymanager.dll.
5 Copy securitymanager.dll to ActivePortalNET\Bin.
6 Set the SECURITY_MANAGER_CLASS configuration parameter to
securitymanager.MySecurityManager. For more information, see
“Customizing authentication,” earlier in this chapter.
7 Restart Active Portal for .NET.
8 Use the following URI to test your implementation for a successful login,
replacing localhost with the name of your host machine:
http://localhost/acweb/filesfolders/index.aspx?&uname=1
The following URI does not log in successfully because uname=6 does not
pass authentication:
http://localhost/acweb/filesfolders/index.aspx?uname=6

C hap ter 1 1, Using inter nal Actuate Active Por tal secur ity 363
364 C rea ting C us tom Web Ap plica tio ns using Actua te Active Por ta l
Index
Symbols online documentation xxiv
reports 13, 58, 101, 185
_ (underscore) characters 43 resource bundles 289
" (double quote) characters 42 session-specific information 65, 66, 109
# (number sign) characters 42 Skins Manager 32
$ (dollar sign) characters 42 tag libraries 98
% (percent) characters 42 template files 58
& (ampersand) characters 42 value lists 69, 113
* (asterisk) characters 42, 228 web channels 13
* (asterisk) in fields 16 web sites 47, 87
+ (plus) characters 43 WebSphere portlets 134
. (period) characters 43 accessToGrant parameter 241
/ (forward slash) characters 42 AcChannelFilter variable 189
: (colon) characters 42 AcDebug.log 79
; (semicolon) characters 43 AcFilesFoldersFilter variable 217
< (less than) characters 42 AcFilesFoldersTypeFilter variable 217
= (equals) characters 42 AcGetFolderItemsAction bean 107
> (greater than) characters 42 AcLastVisitedFolder variable 217
? (question mark) characters 43 AcSampleRequesterAction class 116, 117
@ (at) characters 42 AcServlet class 268
\ (backslash) characters 42 actabpanel tag library 287
’ ’ (space) characters 43 Action class 107, 116
‚ (comma) characters 42 action parameter
get report data page 206
A ping page 227
About link 54, 97 view default page 249
about page 170, 179, 184 view frame set page 251
absolute paths 65 view page page 256
absolute URIs 204 action paths 86, 107, 109
acceptencoding parameter 276 action tag 107, 108, 116
access restrictions 18, 352, 353 actions 20, 116, 174, 176
access right and permissions See privileges Active Portal xvii
accessing accessing web site information for 13
Active Portal pages 41 adding web pages for 64, 65, 107, 108, 109
cascading style sheets 57, 98, 100 changing style definitions for 52, 53, 94, 95
Encyclopedia volumes 11, 86, 111, 217 cloning skins for 34, 35
external applications xv configuration parameters for 76, 125
home page 210 creating security manager for 357
iServer System 86 customizing messages for 72, 74, 120, 121,
Java classes 40 123
Java objects xix customizing user interface for 31
JavaScript files 57, 98, 100, 264 default banners for 54, 96, 186
JSPs 86, 107 default login screen for 12

Index 365
Active Portal (continued) page navigation controls for 62
default start page for 13 referencing in URIs 41
deploying default web pages 40, 44 setting context root for 49
disabling load balancing feature 6 setting link targets for 22
displaying information about 184, 246 storing session information for 66
distributing reports for 49, 90 URI reference for 179
documentation for xxiii user control libraries for 332
experience levels for 21, 23–31 user control reference 332, 333, 334
functionality levels for 17–23 Active Portal for JSP
generating web pages for 40 accessing UserInfoBean from 109
issuing URI directives for 40, 170, 179 adding experience levels for 23, 30
load balancing mechanism for 5–6 changing default images 104
logging in to 11, 219 changing error messages for 121, 123
logging out of 219 changing functionality levels for 18
losing state information for 6 changing global styles for 94
maintaining session state for 6 changing side menus for 102
navigating sites for 13 configuring 76, 125–130
overview 4, 11 copying directory structures 91
required fields for 16 creating security manager for 357–360
restarting 6 creating skins for 34
security features for 352 custom tag library for 286, 287
setting options for 17, 213, 246 customizing manually 92
tracking instances of 6 customizing web sites for 92–93
Active Portal for .NET default context roots for 87
adding experience levels for 23, 30 default templates for 98
changing default images 60 deploying 33, 44
changing error messages for 72, 74 directory structure described 87–89
changing functionality levels for 18 generate web archive option for 33
changing global styles 52 grouping sites for 87
changing pages for 170 integrating Reportlets with 117–120
changing side menus for 60 Java servlets for 268, 269
changing user controls for 64 linking style definition files for 94
configuring 75–83 locale names for 174
copying directory structures 50 overview 86
creating security manager for 360–363 page navigation controls for 107
creating user interface for 34, 58 referencing in URIs 41
custom tags and 286 renaming files for 109
customizing web sites for 50, 51–52 setting context root for 90, 91
default context root for 47 setting link targets for 22
default templates for 56 setting up as directory structure 34
deployment requirements for 44 tag reference for 286, 287, 289
directory structure described 47–48 URI reference for 179
grouping sites for 47 Active Portal Security Extension (APSE)
integrating Reportlets with 71–72 customizing authentication and 354
linking style definition files for 53 implementing security manager for 357
locale names for 67, 174 methods reference 355
maintaining session state 9, 10, 11, 81 user logins and 12
overview 46 Active Server Pages for .NET See ASPX pages

366 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
ActivePortal directory 87 ANALYSIS value 304
activeportal.dll 46, 332 Analytics Cube Designer xv
ActivePortalJSP directory 87 Analytics Cube Viewer xv, 77, 126, 247
ActivePortalNET directory 47 Analytics Option xvii
ActivePortalResources.properties file 22, 46, Analytics option 23
74, 123 ANALYTICS_BASE_EXPLEVEL_NAME
ActiveX controls xvi parameter 77, 126
Actuate Active Portal ANALYTICS_CUBE_VIEW_RECORDS
online help for xxiv parameter 77, 126
Actuate home page xx ANALYTICS_CUBE_VIEWER_HEIGHT
Actuate product suite xi, xv, xvi parameter 77, 127
See also specific product ANALYTICS_CUBE_VIEWER_WIDTH
Actuate product updates xx parameter 77, 127
Actuate technology xii ANALYTICS_ENABLE_ONETIME_
Actuate Viewer See Viewer DOWNLOAD parameter 77, 127
actuate_logo.gif 61, 105 ANALYTICS_ENABLE_SAVE_VIEW
ActuateDocument portlet 152 parameter 77, 127
ActuateReport portlet 152 analyticsbrowsefolder action 176
ActuateReportlet portlet 153 AnalyticsExperienceLevel tag 30
acweb value 41, 47, 87 analyzing data xviii, 247
acweb.jar 359 Apache Jakarta Struts 92, 98, 108, 174
ad hoc queries xix app server tag 40
ad hoc reports 14 AppDomainAppPath property 65
adding AppDomainAppVirtualPath property 65
WebSphere portlets 134 application paths 11
addressing e-mail 221 application programming interfaces (APIs)
ADMIN_LOG_ON value 29 xvii
Administrator level 18, 19 application servers
administrator parameters 133 authentication process for 353
Adobe Acrobat Reader 229 configuring 7
Advanced level 18, 19, 23 e.reporting solutions for xiv
age value 203 failing 6
ageDays parameter getting authentication IDs for 109
execute query page 200 load balancing for 5
execute report page 202 maintaining session state for 6–11
submit job page 241 referencing in URIs 40
ageHours parameter restarting 6
execute query page 200 retrieving session information from 109
execute report page 203 setting garbage collection for 129
submit job page 241 setting up clients for 7
aging intervals 200, 202, 241 applications
alert method 116 compressing data for 276
allscripts.js 264 customizing xvi
allstyles.css 53, 95 deploying from xix
allstylesns4.css 95 e.reporting solutions for xii, xiv
ampersand (&) characters 42 running on web servers 40, 86
analysis tools xvi applyFilter parameter 214, 218

Index 367
APSE See Active Portal Security Extension reusing information for 6
archive driver xvii single sign-on and 132, 140
archiveBeforeDelete parameter URI parameters and 173
execute query page 201 validating user login 11
execute report page 203 authentication IDs 12, 67, 109, 173, 301
submit job page 241 AuthenticationException exception 355
archivePolicy parameter authexpired action 175
execute query page 201 authID parameter 67, 173
execute report page 203 authID variable 302
submit job page 241 authorization IDs 111, 334
archiving tools xvii
array.js 264 B
arrays 70, 114, 292, 306 background colors 208, 242, 257, 273, 280
.ascx file-name extensions 60, 170 background execution requester page 68
ASP.NET applications 46 background jobs 15, 68, 70, 339
ASP.NET pages 46, 47, 59, 63, 64 background.gif 61, 105
ASP.NET State Service option 9 backgrounds 60, 104
.aspx file-name extensions 46, 170 backing up configurations 76, 125
ASPX engine 5 backslash (\) characters 42
ASPX pages backTarget parameter 341
changing 56, 57, 64, 170 backup log files 80, 129
components of 46 banner page 170, 180, 186
creating 64 banner.ascx 54, 59
default Active Portal 40 banner.jsp 97, 102, 103
determining user controls in 62 bannerLabel string 55, 97
developing with 4 banners
linking style definition files to 53 adding company logos to 60, 104
locating 62 changing font styles for 54, 55, 96, 97
referencing in URIs 41 creating for specific pages 59, 102
replacing images in 61 customizing 34, 58, 101
URI directives in 47 disabling links in 20
aspx value 41 displaying 59, 186, 213, 218
aspx.cs files 46, 62 functionality levels and default 18, 19
asterisk (*) characters 42, 228 specifying 101
asynchronous jobs 15 basePageTemplate class 56
asynchronous request page 16 Basic level 18
asynchronous requests 15 batch jobs 15
at (@) characters 42 binary files 268
attributes 47, 82, 286, 332 binary formats 276
authenticate method 354, 355 breadcrumbs 58, 101, 237
authenticate page 170, 179, 185 browse file page 170, 180, 187
authenticate user control 334 browse page 170
authenticate.ascx 333 browsefile action 175, 176
authentication BrowseFileTarget attribute 340, 348
customizing 334, 352, 354 browser 341
maintaining information for 185 See also web browsers
overview 353

368 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
browsertype.js 264 default banner 54, 58, 96, 101
browsing 187, 341 default file names 109
bundle tag 288, 289 default fonts 92
BundleTag class 289 default icons 23
bundling 289, 303 default images 60, 104
buttons 59, 337 default views 16
e.reporting web sites 50, 52, 93
C error messages 72, 74, 121, 123
CACHE_CONTROL parameter 78, 127 experience levels 23, 24
caching 78, 82, 93, 127 fonts 53, 55, 94, 97
calendar 188, 264 JavaServer Pages 100
calendar page 180, 188 locale 221
calendar.js 264 page layouts 68
calendar_support page 170 passwords 221
Cancel buttons 200, 202 requester pages 67, 68, 110
canceljob action 175, 176 servlets 268, 269
canceljob page 170 stylesheets 52, 53, 93, 94, 95
canceljob user control 333, 335 templates 56, 57, 100
CancelJobTarget attribute 343, 350 user controls 64
cancelling jobs 198, 335 channel contents list page 181
cancelreport action 176 channel icon 23
cascading style sheets channel links 14
accessing 57, 98, 100 channel parameter 217
additional information for 98 channelIcons parameter 221
changing 52, 53, 93, 94, 95 channelID parameter 194
embedding 277 channellist user control 333, 335
generating content from 86 channelName parameter 194, 214
getting 276 channels
overriding settings in 53, 95 See also ReportCast
specifying color settings in 54, 96 deleting job notices from 194
viewing changes to 55, 98 displaying 13, 188, 215
case sensitivity displaying icons for 221
configuration files 9 filtering 221
custom tags 286 listing contents of 216, 335
directory names 86 listing subscribed 215, 221
JSPs 86 overview 13
page and folder names 170 sending notifications to 214
servlets 269 subscribing to 13, 20
Categories value 79, 129 unsubscribing to 215
cbFail parameter 214 channels content list page 216
cbSuccess parameter 214 Channels link 13
ChangeResponseLocale message 289 channels list page 181, 215
changing channels page 170, 180, 188
Active Portal skins 34, 35 Channels page (Active Portal) 58, 101
ASPX pages 56, 57, 64 channels page (Active Portal) 13
configuration files 9 channels parameter 221
channels property sheets 188

Index 369
Channels value 20 comma-separated strings 69
Channels value (FeatureID) 23 comments xxvii
character encoding 42, 233, 273, 279 common tag library 287, 288
character strings See strings communications 4
character substitution 42 company names and logos 34, 60, 104
characters 42 compiling 79, 86
charts 271, 277 _completed value 215
checkboxes 217 completed jobs page 214
class files 359 completed request page 171, 180, 189
class library 46, 362 completion notices
classes generating 221, 222
accessing Java 40 viewing 13, 189
accessing Microsoft .NET 46 component IDs 120
creating custom security 354, 355, 357 component names 120
generating dynamic web content 40 component tag 288, 290
specifying custom security 354 ComponentId attribute 342
user controls and 332 componentID parameter 272
classic skins componentId parameter
ASCX files for 59 get report data page 206
background images for 61, 105 save as page 233
default banner for 54, 96 view default page 249
default icons for 22 view frame set page 251
JSP templates for 102 view navigation page 254
CLASSPATH variable 8, 359 view page page 256
clearFilter parameter 214 view TOC page 261
Client Configuration Assistant 7 componentIdentifier tag 288, 291
Client Integration Technology xvi componentIdentifierList tag 288, 291
clock icon 15 ComponentIdentifierListTag class 291
cloning skins 33, 34, 35 ComponentIdentifierTag class 291
closed folder icon 34 componentList tag 288, 292
closedfoldericon.gif 61, 105 ComponentListTag class 292
clusters xvi ComponentName attribute 342
getting nodes in 80, 130 componentName parameter 272
load balancing for 5 get report data page 207
managing session state from 6 view default page 249
sharing session state for 7, 9, 10, 11 view frame set page 251
colon (:) characters 42 view page page 256
color names 54, 96 components
color palettes 38, 54 displaying contents of 272
colors getting diagnostic information for 225
customizing 34, 38, 53, 92, 94 locating specific 234, 239
setting global 52, 94 retrieving data for 272
specifying 54, 96 retrieving Reportlet data from 120, 206
tabular reports and 208, 242, 257, 273, 280 tabular reports and 208, 242, 257, 273, 280
Colors pane 38 ComponentTag class 290
comma (‚) characters 42 ComponentValue attribute 342
comma-separated formats 80, 130, 304

370 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
componentValue parameter 272 entering parameters for 86
get report data page 207 establishing for iServer 301
view default page 249 IP addresses and Internet 353
view frame set page 252 setting maximum number of 80, 129
view page page 256 setting time-out intervals for 78, 127
compressing data 276 setting up ODBC 8
concise value 228 specifying user IDs for 356
configuration files Content class 292
accessing backups for 23 content directory 59
backing up 76, 125 content element 108
case sensitivity in 9 content ID 56
changing Java servlet mappings 269 content management systems xiv
default 76, 125 content tag 287, 292
defining experience levels in 23, 24 content type 206, 249, 251
disabling load balancing in 6 contentheader ID 56
editing 9 context root variable 179
setting context roots in 87, 90, 91 context roots
specifying roles in 18 creating 50, 91
configuration options 17 customizing 49, 90
configuration parameters 75, 76, 125, 126 default 47, 87
configuring defined 87
Active Portal for .NET 75–83 entering in URIs 40, 179
Active Portal for JSP 76, 125–130 getting 65, 115
Active Portal functionality levels 18 context-sensitive help xxv
administrator parameters 133 controls 46, 62, 63, 64, 332
databases 7 converter 297
servers 7, 9, 10 converter.js 264
session state management 6–11, 81 converterparam parameter 272, 279
user parameters 136, 137 cookie.js 264
WebSphere Portlets 132 COOKIE_DOMAIN parameter 78, 128
confirmkey parameter 221 COOKIE_ENABLED parameter 128
connect value 227 cookieless attribute 82
CONNECTION_TIMEOUT parameter 78, cookies 66, 78, 128, 217
127 copying
ConnectionHandle attribute 342 directory structures 50, 91
connectionHandle parameter query statements 245
get report data page 207 skins 33, 34, 35
print page 229 template files 102
search report page 238 user controls 64
view default page 249 web pages 64
view frame set page 252 counting report pages 295
view page page 256 create folder page 171, 180, 190
view third-party report page 260 create query page 171, 180, 191
view TOC page 261 create value 201
connections createfolder action 176
configuring DB2 clients for 7 CreateFolder value 20
dropping iServer 78, 127 createquery action 175

Index 371
CreateQueryTarget attribute 338, 345 functionality levels 19–23
creating images 34, 62, 92, 106
ASPX requester pages 67, 70–71 JavaServer Pages 98
banners 102 JSP requester pages 110–117
context roots 49, 50, 90, 91 messages 72, 74, 120, 121, 123
folders 20, 190 reports xvi
JSP requester pages 111–117 security classes 357
output files 203 side menus 34, 60
queries 191 skins 33, 34, 35
report-specific online help xxvii user authentication 334, 352, 354
security manager 354, 357–363 user controls 332
side menus 102 user logins 352
table of contents 261, 300 web sites 4, 50, 51, 91, 92
user controls 46, 47, 52
web archives 33 D
web pages 4, 40, 64, 108 daemonURL parameter 220
credentials data
getting 354, 355 analyzing xviii, 247
loading portlets and 137 compressing 276
validating 11, 185, 301, 355 displaying 272
cross-platform reporting xv e.reporting solutions for xiv
css directory 332 embedding in reports 277, 278
CSS files See cascading style sheets getting dynamic 271
CSV formats 80, 81, 130, 304 getting Reportlet 206, 255, 298
cube reports xv getting static 275
Cube Viewer See Analytics Cube Viewer retrieving 272, 278
cubedetail action 176 data cubes 23, 247
cubes See data cubes designing xv
custom converter 297 generating xvi
custom tag libraries 98 licensing option for xvii
custom tags (JSP) 286 data filters See filters
custom tags reference 286, 287, 289 data maintenance options 17
customer profiles xii data object executable files 191, 199, 245
Customer Support xx data object values files 200, 245
customization attributes 47, 332 data protection 352–353
Customization link 32 data sources
Customization value 20 e.reporting solutions for xix
customizing databases
Active Portal 31, 92 configuring 7
applications xvi connecting to 8
ASPX requester pages 67–71 e.reporting solutions for xiv
ASPX web pages 56, 170 extracting parameter values from 70, 113
color settings 53, 94 optimizing failover for 8
configurations 76, 125 setting CLASSPATHS for 8
context roots 49, 90 setting heap size for 7
e.Spreadsheet reports xix storing session information in 7, 10, 81
experience levels 24

372 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
DataType attribute 69 deletejob action 175, 176
date formats 78, 293 deletejob page 171
date patterns 293 deletejob user control 333, 336
date stamps 205 deletejobnotice action 175, 176
date value 203 deletejobnotice user control 334, 337
DATE_TIME_FORMAT parameter 78 DeleteJobNoticeTarget attribute 343
dateToDelete parameter DeleteJobTarget attribute 343, 350
execute query page 201 DeleteTarget attribute 338
execute report page 203 deleting
submit job page 241 archived reports 204
DB2 Configuration Assistant 7 folders 20, 197
DB2 databases 7, 8 jobs 192, 198, 336, 343
debug pages 289 leading/trailing spaces 291
Debug.log 128 notifications 193, 337
debugging messages 79, 128 output objects 202
debugging URLs 116 report files 20, 192, 197, 336
decimal notation 54, 96 skins 33
default authentication 352 delimited text 239
default banner 18, 19, 101, 186 deploying
Default button 218 Active Portal for JSP 33
default configuration files 76, 125 reports 44
default directories 48, 88, 89 web sites 40
default encoding 43 deploying reports xix
default experience level 24 data protection strategies for 352–353
default file names 109 depth parameter 261
default locales 78, 128 design tools xv, xvi
default login screen 12 designers 4
default skin 33, 39 designing
default start page 13 e.reporting web sites 49, 51, 90, 92
default values 66, 68, 332 e.Spreadsheet reports xvi
default views 16, 79, 129 Reportlets 71, 117
default web pages 40 reports xvi
DEFAULT_EXPERIENCE_LEVEL value 29 destination parameter 227
DEFAULT_LOCALE parameter 76, 78, 126, _detail value 215
128 detail page 171, 180, 194
DEFAULT_TIMEZONE parameter 79, 128 detail user control 333, 337
DEFAULT_VOLUME parameter 79, 128, 356 Detail value 79, 129
DefaultValue attribute 69 detailicon.gif 61, 106
Delete buttons 337 DetailTarget attribute 64, 345
delete file status page 171, 180, 192 developers xxvii, 4
delete job page 171, 180, 192 developing
delete status page 171, 180, 193 e.Spreadsheet reports xix
deletefile action 175, 176 reports xvi, xxvii
deletefile page 171 development languages xvi, 46, 52
deletefile user control 333, 336 development mode 79
DeleteFile value 20 development tools xvi, xvii, xix
DeleteFolder value 20 DHTML formats 208, 257, 273, 280

Index 373
DHTML Reportlets 296, 298 status information 230, 349
DHTML reports subscribed channels 13, 188, 215
assigning privileges for 241 table of contents 250, 253, 260
formatting output for 208, 257 third-party reports 260
DHTML viewer 137, 152, 185, 199 web pages 58, 101, 278
DHTMLLong formats 208, 257, 273, 280 DisplayName attribute 69
DHTMLRaw formats 208, 257, 273, 280 distributing reports 49, 90
diagnostic information 225 .do file-name extensions 170
directives 170 do_executereport.aspx 70
directories do_submitjob user control 333, 338
Active Portal for .NET structure 47–48 do_submitjob.aspx 70
Active Portal for JSP structure 87–89 do_update page 171
case sensitivity for 86 docChanFilters parameter 221
copying structures 50, 91 document files
creating virtual 49, 50 See also report files
deployment requirements for 44 getting information about 195
getting absolute paths for 65 linking to 137, 152
linking to home folder 210 saving 14, 204
specifying temporary 81, 130 searching 239
disabling load balancing 6 selecting 217, 218
disk space 228 sharing 20
display options 17 Document page 58, 101
DISPLAY value 304 document type definitions (DTD) 332
displaying documentation xxiv, xxv, xxvii, xxviii
banners 59, 186, 213 overview xx
completion notices 13, 189 Documents link 13
current jobs 231, 343 documents See document files; reports
data 272 Documents value 20
data cubes xv, 23, 247 doEndTag method 289
embedded objects 277, 278 dollar sign ($) characters 42
Encyclopedia volumes 58, 101 double quote (") characters 42
error messages 199, 224, 338 Download link 232
failed jobs 214 downloadfile action 175
files and folders list 79, 129 DownloadFile method 260
folders 13, 58, 101 DownloadFile servlet 269
images 209, 258, 274, 282 downloading
job requests 247 Analytics Cube Viewer 77, 127
online documentation xxiv binary files 268
PDF files 229 data cubes 247
report parameters 113, 224, 347 reports 232, 260, 269
Reportlets 71, 117, 140, 153, 296 search results 238, 270
reports xix, 16, 248, 251, 341 DownloadSearchResult servlet 270
requester pages 68 DownloadSearchResultServlet class 270
search results 52, 94 DownloadTarget attribute 338, 343, 345
servlets 250, 260 DownloadTransientFile method 260
side menu 59, 213 .dox files. See data object executable files
specific pages 249, 252, 254, 282 drift.js 264

374 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
drill to detail functionality 77, 126 save as page 233
drop pages 171, 180, 197 view default page 249
drop-down lists 69 view frame set page 252
drop-down menus 114 view navigation page 254
dtd directory 332 view page page 256
dynamic data 271, 277, 278 ViewPage servlet 278, 279
dynamic HTML See DHTML ENABLE_DEBUG_LOGGING parameter 79,
dynamic parameters 69 128
dynamic value lists 70, 113 ENABLE_ERROR_LOGGING parameter 79,
128
E ENABLE_PRECOMPILATION parameter 79
e.Analysis Option xviii enableColumnHeaders parameter 238
e.Business applications xiv enabling web services 9
e.Report Designer xvi encode function 43, 114
e.Report Designer Professional xvi encoder.js 43, 114, 264
e.Report Option xviii encoding 42, 43, 233
e.reporting servers See iServer; servers encoding parameter
e.reporting solutions xiv GetReportData servlet 273
e.Spreadsheet Designer xvi, xviii save as page 233
e.Spreadsheet Engine See Formula One view navigation page 254
e.Spreadsheet Engine ViewPage servlet 279
e.Spreadsheet Option xviii Encyclopedia volumes
e.Spreadsheet reports accessing 11, 86, 111, 217
customizing xix associating functionality levels with 19
designing xvi connecting to 86, 356
generating xviii creating folders for 190
See also spreadsheets customizing icons for 60, 104
echo value 227 displaying 58, 101
edit mode (portlets) 132 downloading data cubes from 247
EDIT_TITLE value 29 downloading files from 269
editors 9 generating documents for xvi
e-mail getting available channels for 188
addressing 221 getting current 65, 109, 356
generating 220, 221, 222 getting diagnostic information for 227, 228
setting Active Portal options for 17 getting information about 194, 195
e-mail parameter 221 getting parameters from 112
embed parameter 275, 277 listing items in 217
embedded objects managing 79, 128
adding to reports 277, 278 removing items 197
retrieving 233, 249, 252, 254, 273 securing 352
scaling 277 storing persistent objects in 14, 15
EmbeddedPath attribute 342 storing temporary objects in 14
embedding Reportlets 71, 117, 207 writing to 14, 205
embsrvrequester parameter End User Desktop xv
get report data page 207 enterprise reporting xi, xiii, xiv
GetReportData servlet 273 environments 205, 227
equals (=) characters 42

Index 375
error action 175 executequery action 175
error codes 73 ExecuteQueryTarget attribute 345
error detail page 180, 194 executereport action 175, 177
error log files 79, 80, 128, 129 executereport page 171
error messages executereport user control 68, 333, 339
accessing custom 46 executereport.ascx 68
customizing 72, 73, 74, 121, 123 executerequest user controls 64
displaying 73, 199, 224, 338 ExecuteRequestTarget attribute 340
returning 226 ExecuteTarget attribute 64, 338, 345
error page 171, 181, 199 executing
error user control 333, 338 Java servlets 268
ERROR_DISPLAY_DEVELOPMENT_MODE queries 199, 200, 240
parameter 79 reports 14, 70, 71, 111, 339
ERROR_LOG_FILE_ROLLOVER parameter execution options 67, 68, 110
79, 128 execution requests 64
Errorcode tag 122 expanded folder images 61, 105
ErrorMessages.properties files 72, 121 experience levels 21, 23–31, 77, 126
ErrorMessages.txt 73 experience.levels files 23
errors 79, 86, 107, 128 EXPERIENCE_LEVEL element 29
See also error messages exporting to Excel formats 232
errors module 333 extended characters 43
Excel spreadsheets external applications xv
designing for xvi external image files 275, 277
exporting to 232
generating xviii, 208, 242, 257, 273, 280 F
ExcelData formats 208, 242, 257, 273, 280 Factory service 228
ExcelDisplay formats 208, 242, 257, 273, 280 failComp parameter 221
executable files failed jobs 214
displaying 138, 152 failed requests 221
generating output for 222 failEmail parameter 221
generating reports from 203 failover 6, 8
running queries for 191, 199, 201 failure notices 221
selecting 217, 218 feature IDs 21
submitting requests for 14, 15, 234, 241 FeatureID tag 20
executableName parameter features 20, 21
create query page 191 fields (required) 16
execute page 200 file and folder index page 181, 212
execute query page 201 file and folder list page 107, 182, 217
execute report page 203 file names 109
submit job page 241 file or folder detail page 180, 195
submit page 245 file or folder drop page 180, 197
execute page 171, 181, 199 filedetail user controls 64
execute query page 171, 181, 200 FileDownloadServlet class 269
execute report page 171, 181, 202 filefolderlist.jsp 107
EXECUTE_REPORT_WAIT_TIME parameter filefoldersprivilege action 177
79, 128, 200, 202 filelist user controls 64
executedocument action 175, 176

376 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
filename parameter 227 defined 352
files folder icons 34, 60, 104, 345
accessing 185 folder parameter 218, 237
archiving 203 folder variable 203
assigning privileges to 229 folderbrowser user control 334, 341
changing configuration 9 foldericon.gif 61, 105
compressing 276 folders
creating resource 73 accessing objects in 185, 210
deleting 20, 192, 197, 336 archiving contents 203
displaying latest version 218 assigning privileges to 229
displaying specific version 250, 253, 255, browsing 187
275 creating 20, 190
downloading 269 deleting 20, 197
filtering 218, 340 displaying 58, 101, 218
generating report 202, 234 displaying executable files in 138, 152
getting information about 64, 195, 337 filtering 218
limiting versions of 203 getting home 301
naming output 201, 204, 223, 243 getting information about 195
overwriting 204, 223 listing 344
registering 58 searching 237
relative hyperlinks and 65, 108 selecting 217
renaming default 109 specifying default view for 79, 129
retrieving list of 217, 344 specifying home 67
saving 14, 204, 348 specifying type 223
searching 237 viewing contents of 187, 217, 218
selecting 341 viewing home 13
setting version names for 205, 223 FolderTarget attribute 345
sharing 20 Font Family element 53, 94
specifying as template elements 58, 99, 101 font-family attribute 55, 97
submitting requests for 14, 15, 241 fonts
Files and Folders functionality 212 changing 53, 55, 92, 94, 97
files module 333 customizing 34, 38
FILES_DEFAULT_VIEW parameter 79, 129 defining global 52, 94
Filter attribute 341 specifying 54, 96
filter parameter 214, 218 Fonts pane 38
filter states 214 font-size attribute 55, 98
filter user control 334, 340 font-style attribute 55, 98
filters footer.aspx 55, 59
applying 214, 218, 222 footer.jsp 97
clearing 214 footers 55, 59, 97
creating 340 FORCED_GC_INTERVAL parameter 129
getting values for 217 forceLogin parameter 173
resetting 214, 218 Format attribute 342
specifying channel 189, 221 format parameter
specifying search 237 get report data page 208
finding data See searching GetReportData servlet 273
firewalls search report page 238

Index 377
format parameter (continued) spreadsheets 208, 242, 257, 273, 280
submit job page 242 table of contents 261
view page page 257 web pages 40
ViewPage servlet 280 generation requests 202, 234, 240
formatDate tag 288, 293 Get method 65
FormatDateTag class 293 get report data page 171, 181, 206
formats get saved search page 171
changing error messages and 72, 121 get search page 181
compressed data and 276 getAuthID method 109, 111
getting iServer supported 294 GetContent message 341
HTML tables and 64, 108 GetContent method 272
locale-specific reports and 293 getContextPath method 109
search criteria and 238 GetDynamicData method 277
specifying output 202, 208, 257, 273, 280 GetDynamicData servlet 271
formatting GetDynamicDataServlet class 271
dates 78, 293 getExtendedCredentials method 354, 355
search results 270, 304 getfiledetails action 177
time 78 getfiledetails page 171
web pages 64, 108 getfolderitems action 177
forms 113 getfolderitems page 171
Formula One e.Report Designer xix getFormats tag 288, 294
Formula One e.Report Engine xix GetFormatsTag class 294
Formula One e.Report Engine Option xviii getHeight method 296
Formula One e.Spreadsheet Engine xix getjobdetails action 175, 177
forward slash (/) characters 42 getjobdetails page 171
forwards definitions 107 getnoticejobdetails action 177
frames 71, 117 getPageCount tag 288, 295
free disk space 228 GetPageCountTag class 295
frequent tasks 286 getParameter method 109
functionality levels 18, 19, 21, 24 GetParameterList method 69
functionality-level.config files 18, 23 getPassword method 354, 356
getReportData page 71
G GetReportData servlet 272
garbage collections 129 getreportdata user control 71, 334, 341
gateways 132, 140 GetReportData.aspx 71
general options page 181, 205 GetReportDataServlet class 272
general page 171 getReportlet tag 119, 288, 296
General page (Options) 16, 17, 34 getReportletData tag 117, 119, 288, 298
Generate Web Archive option 33 GetReportletDataTag class 298
generating GetReportletTag class 296
e.Spreadsheet reports xviii GetReportParameter method 69
executable files 234 getsavedsearch action 175
locale-specific reports 274 getServerURL method 115
output 208, 222, 257, 273, 280 GetSkinFileVirtualPath method 53
report files 202 GetStaticData method 277
reports xvi GetStaticData servlet 275
GetStaticDataServlet class 275

378 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
GetStyleSheet method 277 accessing objects in 210
GetStyleSheet servlet 276 displaying 13
GetStyleSheetServlet class 276 getting 67, 301
getTOC tag 288, 300 specifying 67
GetTOCTag class 300 home page 171, 181, 210
getUserName method 354, 356 home page (Actuate) xx
getVolume method 354, 356 homeFolder parameter 67, 213
getWidth method 296 homeFolder variable 302
GetWizardURL method 62 homefolder.gif 61, 105
global design changes 52, 53, 94, 95 hostname value 10
global directives 46 hosts 9, 10, 78, 128, 360
global.asax 46 href attribute 53, 94
goto action 175 HTML (Hypertext Markup Language) 52, 92,
graphical user interfaces 94
Active Portal engines and 5 HTML color names 38
creating 4, 58 HTML files xxiv
customizing 31, 34, 35, 332 HTML forms 113
graphics See images; image files HTML pages 4, 71, 117
graphs 208, 242, 257, 273, 277, 280 HTML tables 64, 108
greater than (>) characters 42 htmlselect.js 264
grouping Active Portal for .NET sites 47 HTTP connections 4, 66
grouping Active Portal for JSP sites 87 HTTP Service 90
GUIs See graphical user interfaces HTTPS connections 4
gzip formats 276 hyperlinks
constructing URLs for 63
H defining for embedded objects 278
head ID 57 displaying for specific locales 22
headline parameter embedding 207, 233, 249, 252, 254, 277
execute report page 203 referencing files from 65, 108
output page 223 retrieving 278
submit job page 242 selecting 353
headlines 203, 223, 242 specifying action paths in 108
heap 7 hypertext markup language See HTML
help
accessing online xxv–xxvii I
help files xxiv i18n tag library 287, 288
help system xxiv IBM WebSphere Portal Server. See
help topics xxv WebSphere
help.js 264 Icon value 79, 129
hexadecimal encoding 42 icons
hexadecimal values (colors) 38, 54, 96 adding images to 38
hidden parameters 69, 112 changing images for 106
HIDEITEM tag 29 customizing 34, 60, 61, 104
hits parameter 239, 270 defining link 22
home directories 47, 87 displaying 221, 345
home folder

Index 379
ID parameter installation
file or folder drop page 197 online documentation xxv
get report data page 209 installations 23, 34, 44
print page 229 InstallSqlState.sql 10
search report page 239 Intermediate level 18
view default page 249 Internet deployments
view frame set page 252 data protection strategies for 352–353
view page page 258 Internet Explorer 95
view third-party report page 260 invalid login information 353
view TOC page 261 invokeSubmit parameter 203
id variable 289, 303 IP addresses
IDAPI See Information Delivery API Internet connections and 353
ifExists parameter iServer
execute query page 201 connecting to 301
output page 223 customizing messages for 72, 73, 120, 121
submit job page 243 deploying load balancers for 6
image files 37, 61, 105 distributing requests to 4
images dropping connections to 78, 127
adding to web pages 332 getting security credentials for 355
changing default 60, 104 getting supported formats for 294
customizing 34, 62, 92, 106 getting system information for 67
displaying 209, 258, 274, 282 overview xiii
embedding 275, 277 running multiple xvi
referencing 61, 65, 105, 109 running queries on 200
replacing for specific categories 37 sending user requests to 5, 40, 47, 87
replacing icon 38, 61, 106 setting default 81, 130
replacing specific instances 62, 106 specifying connections for 80, 129
retrieving 275 specifying operations for 249, 252, 254,
tabular reports and 208, 242, 257, 273, 280 281
updating 104 validating user requests for 12
images directory 60, 104, 332 iServer Integration Technology xvii
Images pane 37 iServer System xvi, xvii
immediate execution requester page 68 accessing 86
immediate jobs 68, 70, 243 deployment requirements for 44
immediate value 236 isLastRow variable 301
import attribute 111 IsStateLess attribute 345
index (online documentation) xxv iterator tag 288, 301
index pages 62, 171, 181, 211 iterators 301
index.aspx 63, 68 IteratorTag class 301
information application platform xii
Information Delivery API xvii, 4, 5, 12 J
information delivery solutions xiv, 4 J2EE application servers 7
information delivery systems xiii See also application servers
information objects xvi Jakarta Struts 92, 108, 174
input 86 Jakarta Struts templates 98
input fields 114 Java classes 40, 86, 92
input JSPs 86, 176

380 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
Java objects xix sending notifications for 214
Java servlets 268, 269 setting priorities for 20, 201, 204, 243
Java tools xix specifying state 193
JavaBeans 40, 86, 109 submitting 64, 212, 240, 339
JavaScript 40, 86, 92, 332 viewing completion notices for 13, 189
JavaScript files 57, 98, 100, 264 viewing requests for 247
overview 316 viewing status 230, 349
JavaScript reference 264, 317, 324 jobs module 333
JavaServer Pages See JSPs Jobs page 58, 101
JDBC providers 8 Jobs value 20
job name filter 214 jobState parameter
job status page 63 delete job page 193
jobdetail user control 334, 343 delete status page 194
JobDetailTarget attribute 344, 350 drop pages 198
jobID parameter js directory 264, 332
delete job page 193 JSP engine 5, 87, 93
delete status page 194 JSP tags 286, 287
drop pages 198 jsp value 41
request detail page 196 JSPs
requests index page 214 accessing 86, 107
joblist user control 333, 344 adding custom tags for 286, 287
jobName parameter case sensitivity for 86
delete job page 193 changing elements in 92, 101
delete status page 194 changing templates and 100
drop pages 198 content described 108
execute query page 201 customizing 88, 98
execute report page 203 default Active Portal 40
schedule page 236 developing with 4
submit job page 243 embedding session information in 109
JobNoticeTarget attribute 335 generating web pages from 86
JobPriority value 20 linking style definition files to 94
jobs loading 86
cancelling 198, 335 locating 107
clearing filters for 214 referencing in URIs 41, 107
deleting 192, 198, 336, 343 replacing images in 105
displaying current 231, 343 sample requester for 116
displaying failed 214 setting browser-specific styles for 95
executing immediately 68, 70, 201, 243 URI directives in 87
filtering 214, 305, 340
getting information about 196, 343 K
getting list of 63 keepROIIfFailed parameter
listing pending 225, 236 submit job page 243
listing running 231 keepROIIfSucceeded parameter
removing notices for 193, 337 submit job page 243
running asynchronous 15 key attribute 303
running background 68, 70
running synchronous 14
scheduling 236

Index 381
L locale names 67
locale parameter
Labelkey tag 22 Session string 67
labels 74, 123 URI directives 174
Language attribute 346 ViewPage servlet 281
large icons 22 localemap.xml 46
LargeIcon tag 22 locales
layer.js 264 bundling resources for 289, 303
layouts 68, 93 changing 221
leading spaces 291 connecting to specific 86
left ID 57 creating web sites for 49, 72, 90, 120
less than (<) characters 42 customizing functionality levels for 22
Level tag 21 determining optimal 289
libraries e.reporting solutions for xiii
accessing tag 98 formatting dates for 78, 293
accessing user control 332 generating reports for specific 274, 281
designing with 46 getting current 67
specifying tag 286 setting Reportlet 297
licensing options xvii specifying current 289
limit parameter 203 specifying default 78, 128
limitNumber parameter 204 specifying preferred 289
LINK attribute 94 localhost value 40, 360
Link tag 22 localization files 332
linking from web pages See hyperlinks locating data See searching
linking style definition files 53, 94, 95 log files 79, 80, 128, 129
links xxv LOG_FILE_LOCATION parameter 80, 129
links (Active Portal) 4, 13, 186 logging in to Active Portal 11, 219
Linux servers Logic:equal tag 95
customizing error messages for 122, 124 login action 175, 177
default directories for 87 login banner page 172, 182, 218
installing HTTP Service for 90 login banners 102
list pages 171, 181, 215 login forms 86
list user control 333, 344 login input fields 346
List value 79, 129 Login module 353, 354, 355
listing reports 208, 242, 257, 273, 280 login page 102, 172, 173, 182, 219
lists login screens 12
accessing value 69, 113 login tag 288, 301
creating drop-down 69 login tag library 287, 288
iterating through 301 login user control 334, 346
limiting number of items in 80, 129 login_banner.jsp 102, 103
Live Report Extension See LRX LOGIN_TIMEOUT parameter 129
llformats variable 294 loginbanner.ascx 59
load balancing 5–6 loginpostback parameter 219
loading logins
portlets 134 authenticating user 11, 353, 354, 355
loading web pages 40, 86 authorization IDs and 334
locale maps 46 customizing 346, 347, 352

382 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
logins (continued) viewing default 46
forcing 173 MessageTag class 303
getting user information for 353, 356 methods 46, 52
redirecting 219 Microsoft .NET Framework 46
storing information for 128 Microsoft Internet Explorer See Internet
LoginTarget attribute 64, 335, 346 Explorer
logintemplate.ascx 56 mode attribute 82
logos 34, 60, 104 mode parameter
logout action 175, 177 ping page 228
Logout link 54, 97 save as page 233
logout page 172, 182, 219 view default page 249
logout user control 334, 347 view frame set page 252
LogoutTarget attribute 347 view navigation page 254
losing state information 6 view page page 258
ViewPage servlet 281
M Model-View-Controller (MVC) 86
machineKey value 11 modules 333
magnifying glass icon 195, 216 moving through Active Portal sites 13
mail See e-mail; notifications moving through reports 249, 252, 254, 281
Management Console xvii Multi-Application Option xvii
assigning roles from 19 multilingual reporting xiii
deploying and 44 MVC components 86
Java servlets for 268 My Folder icon 34, 60, 104
managing channels from 13 My Folder link 13, 210
Manuals directory xxv My Jobs link 13
MAX_BACKUP_ERROR_LOGS parameter
80, 129 N
MAX_CONNECTIONS_PER_SERVER Name attribute 69, 342
parameter 80, 129 Name enumerations 67
MAX_LIST_SIZE parameter 80, 129 name parameter
MaxHeight attribute 342 detail pages 195
MDS_ENABLED parameter 6, 80, 130 drop pages 197
MDS_REFRESH_FREQUENCY_SECONDS get report data page 209
parameter 80, 130 print page 229
MDX queries 245 privileges page 230
menu options 13 search report page 239
menus 114 view cube page 248
See also side menu view default page 249
Message Distribution service 5, 80, 130, 226 view frame set page 252
Message key tag 124, 125 view navigation page 254
message tag 288, 303 view page page 258
messages view third-party report page 260
See also error messages; notifications view TOC page 261
customizing 72, 74, 120, 123 names
logging debugging 79, 128 case sensitivity for 170, 269, 286
specifying start up 212 defining qualified 354

Index 383
names (continued) Novice level 23
entering skin 35, 37 number sign (#) characters 42
entering user 11 NUMBER_OF_LEVELS value 29
getting context root 65
locale-specific 174 O
specifying qualified 81, 130 ObjectId attribute 342
name-value pairs 234 objectID parameter 195, 233, 254
naming objects
output files 201, 204, 223, 243 embedding requestor 278
security classes 354 searching 239
navigating through Active Portal sites 13 tag libraries and 286
navigation information 58, 101 ODA drivers xvi
navigation modes 249, 252, 254, 281 ODBC connections 8
navigation toolbars 248, 251, 254 offline nodes 80, 130
nesting HTML tables 64, 108 offline servers 5
.NET application servers See application old value 204
servers oldkey parameter 221
.NET user controls See user controls once value 236
Netscape Navigator 95 onceDate parameter 236, 243
Network Address Translation (NAT) 353 onceTime parameter 236, 243
network security online documentation xxiv, xxv, xxvii, xxviii
data protection strategies 352 overview xx
New Job buttons 337 online help xxiv, xxv–xxvii
new request index page 181, 212 OnlyLatest attribute 341
new value 204 onlyLatest parameter 218
newkey parameter 221 Open buttons 337
newLocale parameter 221 Open Data Access Framework xvi
newTimeZone parameter 221 open folder icon 34
NO-CACHE value 78, 127 open server technology xv
normal value 228 openerwindowname parameter 341
NO-STORE value 78, 127 operation parameter
notices See notifications get report data page 209
notices module 333 view default page 249
notification page 172, 182, 220 view frame set page 252
notifications view navigation page 254
deleting 193, 337 view page page 258
displaying information about 343 ViewPage servlet 281
filtering 340 options xvii, 17
generating automatically 15 options action 177
generating completed 221, 222 options index page 181, 213
iterating through 301 Options link (Active Portal) 17
not generating 14 options page 172, 182, 221
sending 20, 214, 221 Options page (Active Portal) 17, 34, 213, 246
setting options for 220 Options tabs 246
setting user names for 194, 204, 215 options tabs page 183, 246
viewing completion 13, 189 options/save action 178
viewing status 230, 349

384 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
output page splitting rules 258, 281
e.reporting solutions for xv page tag 41
generating 208, 222, 257, 273, 280 pageHeight parameter 258, 281
replacing 201, 204 page-level security xviii
saving 14, 204, 348 pageWidth parameter 258, 281
output files paginated reports 278
deleting 202 paging through reports 249, 252, 254, 281
limiting number of 201, 203 palettes 38, 54
naming 201, 204, 223, 243 ParameterDefinition class 112
overwriting 201, 204, 223 ParameterDefinition objects 69
saving 14, 348 parameters
writing to Encyclopedia 204 adding drop-down lists for 69
output formats 202, 208, 257, 273, 280 assigning values to 113, 347
Output link 222 configuring portlet 133, 136
output options 348 defining dynamic 69
output page 172, 182, 222 determining available 70
Output tab 68 displaying 113, 224, 347
output types 297 encoding as hexadecimal 43
outputFolderType parameter 223 extracting display names for 112
execute report page 204 getting specified 301
outputName parameter getting values 70, 112, 113
execute query page 201 issuing URI 43, 173
execute report page 204 loading required 41
output page 223 reserved 205
submit job page 243 selecting values for 67, 69, 110, 113
oversize pages 258, 259, 283 user connections and 86
overwrite parameter 204 web resources and 40, 86
overwriting output files 201, 204, 223 parameters list 69, 113, 224
parameters page 172, 182, 224
P Parameters page (default) 15
page banners See banners Parameters tab 68
page counts 295 parameters user control 333, 347
page layouts 68, 93 Parameters.ascx 68
Page Level Security Option xviii Parameters.ascx.cs 68
page navigation modes 249, 252, 254, 281 partial URIs 278
page not found messages 212, 224 partitionName parameter 228
page not found page 172, 182, 224 partitions 228
page parameter Password attribute 346
print page 229 password parameter 67, 174
save as page 233 passwords
view default page 249 changing 221
view frame set page 252 confirming 221, 355
view navigation page 254 entering login 11
view page page 258 getting 67, 356
ViewPage servlet 281 getting authorization IDs from 111
page ranges (print) 229 obtaining customer xx
setting Active Portal options for 17

Index 385
passwords (continued) portlets
updating 354 accessing 134
path tag 41 adding to reports 134
paths configuring 132
entering DB2 install 8 overview 132, 137
getting absolute 65 ports 41
getting context root 109, 115 postback parameter
linking to home folder 210 execute query page 201
setting application 11 submit job page 243
payloadSize parameter 228 postbacks 66
PDF files prefix attribute 286
displaying images in 209, 258, 274, 282 preserving session state 6, 7, 9, 10, 11
formatting output for 208, 242, 257, 273, previewing Active Portal skins 35
280 print page 172, 182, 229
online documentation and xxiv printing
printing 229, 258 PDF files 229, 258
saving reports as 232 Reportlets 258
viewing 229 reports 229
PDF formats 208, 242, 257, 273, 280 priority parameter 201, 204, 243
PDFQuality parameter priorityValue parameter 201, 204, 243
get report data page 209 private skins 33
GetReportData servlet 274 PRIVATE value 78, 127
view page page 258 privileges
ViewPage servlet 282 assigning 229
_pending value 215 functionality levels and 17
pending jobs 225, 236 granting to roles 241
pending page 172, 182, 225 required for deploying 44
percent (%) characters 42 validating 301
performance tuning 75, 125, 129 privileges page 172, 229
period (.) characters 43 Process Management Daemon 220
permissions See privileges processed action status page 172, 182, 230
persistent parameter 260 processID parameter 228
persistent reports 14 product suite xi, xv, xvi
personal channel 13 product updates xx
personal folder 223 programmers xxvii, 4
ping action 178 programming languages xvi, 46, 52
ping modes 228 programming tools xvi, xvii, xix
ping page 172, 182, 225 Progress databases xix
plain text transmissions 4 Progress Option xix
plus (+) characters 43 progressive parameter 201, 204, 244
pop-up menus 34 progressive viewing 14, 80, 130, 204
popuptemplate.ascx 56 PROGRESSIVE_REFRESH parameter 80, 130
port tag 41 properties 46, 52, 54, 97
Portable Document Formats See PDF formats; protection See security
PDF files proxies 6
portals 132, 140 proxy servers 353
portlet.xml 133 Public option 39

386 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
public skins 33, 39 recurringDay parameter 204, 236, 244
PUBLIC value 78, 127 recurringTime parameter 236, 244
publish and subscribe 14 redirect parameter
push distribution 14 delete job page 193
push technology 14 delete status page 194
drop pages 197, 198
Q execute report page 204
qualified names 81, 130, 354 options page 221
queries submit job page 244
archiving requests for 201, 241 referencing images 61, 65, 105, 109
copying 245 refreshing web pages 80, 93, 130
creating 191 Register attribute 58
deleting output objects for 200 registering files 58
generating output files for 201 registering tags 58
getting parameters with 70 relationships xviii
overwriting output for 201 relative hyperlinks 65, 108
preserving state information with 10 relative URIs 204
running xix, 199, 200, 240 release notes xx
specifying output formats for 202 reloading web pages 52, 93
submitting 245 renaming default files 105, 109
query banners 102 repeating reports 204, 236, 244
Query Editor 246 repetitive tasks 286
Query Option xix replace value 201
query tabs page 183, 246 Report Documents portlet 137
query.js 265 report executable files See report object
query/create action 178 executable files; executable files
query/execute action 178 report files
query/submit action 178 accessing 185
querybanner.ascx 59 archiving 203
querytemplate.ascx 56 assigning privileges to 229
querytemplate.jsp 98, 100 compressing 276
question mark (?) characters 43 creating new versions of 223
deleting 20, 192, 197, 336
R displaying latest version 218
displaying specific version 250, 253, 255,
range parameter 275
print page 229 downloading 269
save as page 234 filtering 218, 340
view default page 249 generating 202, 234
view frame set page 252 getting information about 64, 195, 337
view navigation page 254 limiting versions of 203
view page page 258 overwriting 204
ViewPage servlet 282 replacing existing versions 223
ReadFile value 227 retrieving list of 217, 344
recurring reports 204, 236, 244 saving 14, 204, 348
recurring schedules 244 searching 237
recurring value 236 selecting 341

Index 387
report files (continued) designing xvi
setting version names for 205, 223 developing xvi, xxvii
sharing 20 displaying xix, 16, 248, 251, 341
submitting requests for 14, 15, 241 distributing 49, 90
report generation requests 202, 234, 240 downloading 232, 269
report object executable files 138, 152, 217, executing at specified time 236, 244
222, 234 executing immediately 234, 339
Report Server API xvii executing on specified date 236, 243
Report Server Security Extension (RSSE) xvii filtering 217
report servers See iServer; servers generating xvi
Report Templates portlet 138 generating for specific locales 274
report.js 265 generating table of contents for 261, 300
ReportCast xvii getting page count for 295
ReportCast channels See channels integrating specific sections 71, 117
ReportingEngines suite xv overview xiii
reportlet tag library 287, 288 paging through 249, 252, 254, 281
Reportlet value 208, 257, 273, 280 printing 229
Reportlet Viewer portlet 139 protecting 352
reportletMaxHeight parameter providing online help for xxvii
get report data page 209 restricting access to 18, 352, 353
GetReportData servlet 274 retrieving specific pages 234
save as page 234 running 14, 70, 71, 111, 339
view navigation page 254 saving 232
view page page 258 scaling 250, 252, 254, 275, 282
ViewPage servlet 282 searching 230, 238, 290, 291, 292, 304
Reportlets selecting parameters for 67, 110
displaying 71, 117, 140, 153, 296 specifying default view for 79, 129
formatting data for 208, 257, 273, 280 submitting requests for 4, 14, 86, 202
getting size 296 viewing specific pages 249, 252, 254, 278,
integrating with Active Portal for .NET 282
71–72 request detail page 180, 196
integrating with JSPs 117–120 request drop page 180, 198
navigating through 258 Request page 222
overview 71, 117 request search page 172, 182, 230
printing 258 Request tabs 247
redirecting URLs for 299 request tabs page 183, 247
retrieving data for 206, 255, 298 Requester API xvi
scaling 259, 297 requester pages
setting locale for 297 adding tabs to 68
setting size 258, 297, 299 changing existing 67, 110
viewing specific version 259 changing options on 68
ReportQuery technology xv creating lists for 69, 113
reports customizing ASPX 67, 70, 71
accessing 13, 58, 101, 185 customizing JSP 110, 111, 116
customizing xvi displaying 68
deleting 204 labeling parameters in 112
deploying xix, 44 requester.jsp 111

388 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
requestFilters parameter 222 roles
requestor objects 278 assigning 19
requests defining in configuration files 18
See also jobs functionality levels and 17
archiving 201, 241 granting privileges for 241
deleting job notices for 193, 337 rollback directory 23
displaying completed 189 .rox files See executable files; report object
displaying job 247 executable files
distributing to multiple Actuate iServer RTF files 232
nodes 4 RTF formats 208, 242, 257, 274, 281
enabling functionality for 213 RTFFullyEditable constant 208, 242, 257, 274,
failing 221 281
filtering 214, 222, 340 _running value 215
getting details 196 running
processing 86 Java servlets 268
resetting filters for 214 queries 199, 200, 240
scheduling 188, 234 reports 14, 70, 71, 111, 339
sending to iServer 40, 47, 87 running mode 79
sending user 5 running page 172, 182, 231
setting notification options for 220
submitting 4, 14–16, 86, 202 S
validating user 12 samplerequester.jsp 116
viewing status 230 save as page 172, 182, 232
requests index page 181, 213 saveas.js 265
requestsearch.js 265 savefile user control 333, 348
required fields 16 Savefile.ascx 68
required parameters 41 Savefile.ascx.cs 68
required values 41 saveOutput parameter 204
reserved parameters 205 saving
resetFilter parameter 214, 218 output 14, 204, 348
resize.js 265 reports 232
resolution 209, 258, 274 views 77, 127
resource bundles 289, 303 ScalingFactor attribute 342
resource files 73, 121, 122 scalingFactor parameter
resources 40, 57, 86, 100 get report data page 209
responses 338 GetReportData servlet 275
restarting Active Portal 6 save as page 234
restricting access to reports 18, 352, 353 view default page 250
restricting data access 352 view frame set page 252
retrieving data 272, 278 view navigation page 254
retrieving session state information 6 view page page 259
returnContents parameter 260 ViewEmbeddedObject servlet 277
rgb function 54, 96 ViewPage servlet 282
RGB values 38, 54, 96 schedule page 172, 182, 234
Rich Text Formats 208, 242, 257, 274, 281 Schedule page (default) 16
.roi files See document files schedule properties 234

Index 389
Schedule tab 68 searching
schedule user control 333, 348 folders 237
Schedule.ascx 68 for specific components 234, 239
Schedule.ascx.cs 68 Reportlets 297
_scheduled value 215 reports 230, 238, 290, 291, 292, 304
scheduled job page 183, 236 searchList parameter 234, 239, 282
scheduled jobs 15 searchReport tag 288, 304
scheduled page 172 SearchReportTag class 304
schedulePeriod parameter 244 SearchReportTarget attribute 345
schedules searchtag element 239
adding calendar functionality for 188 SearchTag property 239
setting file deletion 201, 241 searchtoolbar.js 265
setting frequency of 236, 244 secure HTTP connections 4
setting recurring report 204, 236, 244 security
setting request 188, 234 data protection strategies for 352–353
specifying run 234 e.reporting solutions for xv
scheduleType parameter 236, 244 enabling page-level xviii
scheduling options 68, 348 getting extended credentials for 355
scriptlets 289 overview 352
search conditions See search criteria types described 352
search criteria 234, 237, 239 validating credentials for 11, 185, 355
search expressions 207, 237 security classes 354, 355, 357
Search Extension API xvi security manager
search folders page 172, 183, 237 creating 354, 357–363
search forms 230, 238, 240 setting qualified names for 81, 130
search frame page 172, 183, 237 testing 360, 363
search report page 172, 183, 238 user authentication and 334
search results security module 334
displaying 52, 94 security roles See roles
downloading 270 security tools xvii
formatting 304 SECURITY_MANAGER_CLASS parameter
returning 80, 130, 238, 304 81, 130, 353, 354
setting starting point for 239, 271 SecurityManager attribute 334
search toolbar page 173, 183, 240 SecurityManager class 357
search toolbars 240 securitymanager.dll 363
Search value 20 SecurityMgr.jar 359
search.js 265 select jobs page 173
SEARCH_ENABLE_COLUMN_HEADERS selectchannels action 178
parameter 80, 130 selecting
SEARCH_USE_QUOTE_DELIMITER Active Portal skins 32
parameter 81, 130 selectjobnotices action 178
searchCriteria parameter selectjobs action 178
view default page 250 SelectPage method 278
view frame set page 253 selectUsers tag 288, 305
view navigation page 255 SelectUsersTag class 305
view page page 259 SelectValueList attribute 69, 70
searchfiles action 178 SelfNotificationWithAttachment value 20
searchFilter parameter 237 semicolon (;) characters 43

390 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
sending notifications 20, 214, 221 session time outs 129
sending requests 5, 40, 47, 87 session variables 217
server parameter 228 sessionState attributes 82
SERVER_DEFAULT parameter 81, 130 SetUrlLink method 63
server-based reporting xv shared module 334
servers ShareFile value 20
authentication process for 353 sharing state information 6
configuring 7, 9, 10 shortcuts 13
e.reporting solutions for xiv, xv, xvii ShowDelete attribute 337, 343, 349
entering port numbers for 41 showDocument parameter 218
failing 6 ShowDocuments attribute 341
getting authentication IDs for 109 ShowExecutables attribute 341
getting URLs for 65, 109 showExecutables parameter 218
JavaBeans and 40 ShowExecuteRequestLink attribute 339
load balancing for 5 ShowFailedJobs attribute 341
maintaining session state for 6–11 ShowFilter attribute 344, 345
managing clusters for xvi ShowFolderIcons attribute 345
partial URIs and 278 ShowFolders attribute 341
referencing in URIs 40 showFolders parameter 218
restarting 6 ShowHeaders attribute 345
retrieving session information from 109 ShowNewJob attribute 337
selecting as host 9, 10 ShowOpen attribute 337, 343
setting application paths for 11 showSearch parameter 250, 253
setting garbage collection for 129 ShowStatus attribute 349
setting up clients for 7 ShowSubmitJobLink attribute 339
updating user options for 221 ShowSuccessfulJobs attribute 341
ServerURL attribute 346 ShowTabs property 344
serverURL parameter 67, 111, 174 showTOC parameter 250, 253
services 9, 228 side menu
servlet engine 40 adding company logos to 60, 104
servlet.jar 359 customizing 34, 60
servlets default elements for 101
changing 268, 269 disabling links in 20
defined 40 displaying 59, 213
displaying 250, 260 selecting links in 13
generating 86 specifying 101
invoking 268 side menu icons 60
overview 268 sidebar.ascx 59, 60
quick reference for 269 sidebar.jsp 102, 104
session attributes 217 simple object access protocol xvii
Session Manager Service 8 simple requests 14
session properties 54, 97 simple_banner.ascx 59
session state simpletemplate.jsp 98, 100
getting information about 65, 66, 109 single sign-on 132, 140
maintaining 6–11 skin customization pages 53, 94, 95
storing 66, 81 Skin drop-down list 32
Session string 65 skin options 17

Index 391
skin.config file 53, 94 status summary pages 230
skinerror action 175 storage options 17
skins storing session state information 6, 7, 9, 66
accessing templates for 56, 98 streamname parameter 275, 277
applying 33 string substitution 22
background images for 61, 105 string tag 288, 306
changing banners for 59, 102 stringList tag 288, 306
changing images for 60, 104 StringListTag class 306
cloning 33, 34, 35 strings 69, 114, 173, 306
customizing 33, 34, 35 StringTag class 306
customizing side menus for 60, 102 structured content technology xii, xiv
overview 31, 32 Struts framework See Apache Jakarta Struts
previewing 35, 37 struts-config.xml 86, 107, 174, 176
specifying as default 33, 39 style definition files 53, 94, 95
specifying icons for 22 style definitions 52, 53, 94
template elements and 58 See also stylesheets
skins directory 332 STYLE tag 94, 96
Skins Manager 32, 33, 35 stylesheets
skinstyles.css 53, 94 accessing 57, 98, 100
small icons 22 additional information for 98
SmallIcon tag 22 changing 52, 53, 93, 94, 95
SOAP messaging 4, 338, 354 embedding 277, 278
SOAP messaging protocol xvii generating content from 86
sort order 305 getting 276
space characters 43 overriding settings in 53, 95
special characters 42 specifying color settings in 54, 96
splitOversizePages parameter 259, 283 user controls and 332
spreadsheets viewing changes to 55, 98
customizing xix SubfeatureID tag 21
designing xvi subfeatures 20
generating xviii, 208, 242, 257, 273, 280 subfolders 237
SQL servers 9, 10 submit buttons 68, 114
sqlConnectionString attribute 82 submit job page 173, 183, 240
Standard level 23 submit page 173, 183, 245
Standard Object Access Protocol.See SOAP submitjob action 179
messaging submitjob controls 64
start folders 301 SubmitJobTarget attribute 64, 340, 345
start page (Active Portal) 13 submitquery action 175
startFolder variable 302 SubmitQueryTarget attribute 338, 345
starting web services 9 submittedjobstatus user control 333, 349
startingPoint parameter 239, 271 submitting jobs 64, 212, 240, 339
startUpMessage parameter 212 submitting requests 4, 14–16, 86, 202
state 6 subpage parameter 212, 215
state servers 9, 81 subpages 63, 215
stateConnectionString attribute 82 SubscribeChannel value 20
static data 69, 275, 277, 278 subscribing to channels 13, 20
status information 230, 349 succComp parameter 222

392 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
succEmail parameter 222 highlighting 311
synchronizing application paths 11 providing content areas for 68
synchronous jobs 14 selecting 310
synchronous request page 15 setting order of 308, 309
synchronous requests 14 specifying as default 311
syntax conventions (documentation) xxviii tabs pages 173, 183, 246
systemName parameter 67 TabSeparator class 312
tabSeparator tag 287, 312
T tabular reports 208, 242, 257, 273, 280
Tab class 307 tag libraries 98, 286, 287
tab panels See tabbed dialogs tag library descriptor (TLD) 286
tab separated values 304 tag lines 203, 242
tab tag 287, 307 taglib directive 286
tabbed dialogs tags
accessing 310 defining XML 286
associating tabs with 311 generating web pages and 40, 86
customizing skins for 34 JSP custom 286, 287
defining tabs for 307, 312 loading Reportlets with 117, 119
displaying tabs for 344 registering 58
requester pages and 68 target attributes 47, 332
setting orientation of 311 targetPage parameter 219
setting sequence for 308, 309 targets 63
specifying content for 292, 311 tasks 286
tabbed skins 22, 59, 102 TBODY tag 57
TabBegin class 308 technical assistance xx
tabBegin tag 287, 308 TEMP_FOLDER_LOCATION parameter 81,
TabEnd class 309 130
tabEnd tag 287, 309 template files 58
table of contents template.ascx 56
creating 261, 300 template.jsp 98, 100
displaying 250, 253, 260 template:insert tag 99
TABLE tag 101 template:put tag 99, 101
tables templates
nesting HTML 64, 108 changing 56, 57, 100
populating 57, 101 customizing web pages with 56, 98
TabMiddle class 309 regions in 56
tabMiddle tag 287, 309 registering tags in 58
TabMiddleSelected class 310 specifying 64, 99, 108
tabMiddleSelected tag 287, 310 templates directory 56, 98
tabPanel tag 287, 311 temporary directories 81, 130
TabPanelTag class 311 temporary reports 14, 207, 238, 249
tabs testing
associating pages with 311 environments 227
defining adjacent pairs 312 security manager 360, 363
defining labels and keys for 307 services 228
displaying 344 web pages 64, 108
text 74, 123

Index 393
text boxes 114 view default page 250
text editors 9 view frame set page 253
text strings See strings view navigation page 255
third-party applications 5 view page page 259
third-party reports 260 type tag 41
third-party tools xvi, xvii typographic conventions (documentation)
time formats 78 xxvii
time zones
getting 67, 221 U
mappings for 46 underscore (_) characters 43
setting default 79, 128 unexpanded folder images 61, 105
specifying 86 universal resource identifiers See URIs
timeout attribute 82 UNIX servers
time-out periods 78, 127 customizing error messages for 122, 124
timestamps 205, 226, 228 default directories for 87
timeToDelete parameter installing HTTP Service for 90
execute query page 202 unpaginated reports 278
execute report page 204 unsubscribing to channels 215
submit job page 244 updates xx
TimeZone attribute 346 updating
timeZone parameter 67, 174 parameter lists 70
timezonemap.xml 46 user options 221
timing information 228 user passwords 354
title ID 57 upgrades 23, 34
TLD files 286 uploading binary files 268
TOC button 260 uri attribute 286
toctree.js 265 URIs
toolbars 240 accessing Active Portal from 86
top ID 57 alphabetical listing of 170
trace value 228 applying to ASPX pages 47, 62
tracking session state 6 applying to JSPs 87, 107
trailing spaces 291 character substitution for 42
transactions xiv common parameters listed 173
transient reports 14, 207, 238, 249 creating from user input 114
treeview skins creating parameters for 43
ASCX files for 59 detailed reference for 179
default banner for 54, 97 embedded objects and 278
default icons for 22 entering Active Portal 40, 42, 353
JSP templates for 102 getting 67
updating images for 105 invoking actions from 117
trends xviii Java servlets and 268
truncated strings 173 loading Reportlets from 71
TSV formats 80, 81, 130 overview 170
TSV value 304 redirecting to 204
type parameter reserved parameters for 205
save as page 234 running reports from 67, 70, 110, 111
search report page 239 selecting 4

394 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
URIs (continued) changing passwords 221
setting link targets for 22 choosing experience levels 21, 23, 24, 31
specifying partial 278 controlling feature availability for 17, 18,
tag library descriptors and 286 20
testing security manager 360, 363 customizing security features for 352
URLs data maintenance options for 17
connection parameters in 86 displaying current settings 205
constructing ASPX 62 getting authorization IDs for 67, 109, 111
converting strings for 114 getting current passwords 356
debugging 116 getting jobs for 63
getting server 65, 109 getting security credentials for 355
loading Reportlets from 117, 118, 120 returning information about 65, 67, 109,
processing from JSPs 86 305, 353
redirecting Reportlet 299 reusing authentication information for 6
running reports from 70 selecting report parameters 67, 69, 110,
setting default values in 68 113
specifying parameters with 70 sending notifications to 194, 204, 215, 221
UsedForActuateQuery attribute 347, 349 setting notification options for 220
useQuoteDelimiter parameter 239 submitting requests 4, 14, 86
user control libraries 332 subscribing to channels 13, 20
user control reference 332, 333, 334 unsubscribing to channels 215
user controls 46, 62, 63, 64 updating passwords for 354
user interfaces updating server options for 221
Active Portal engines and 5 validating credentials for 11, 185
creating 4, 58 viewing home folders for 13
customizing 31, 34, 35, 332 viewing subscribed channels 13, 188, 215
user names 11, 111, 222, 356 users parameter 204
user parameter 220 users tag library 287, 288
user parameters 136, 137 UTF-8 encoding 43
User property 54, 97
userAgent parameter V
get report data page 209 validating
GetReportData servlet 275 requests 12
save as page 234 user credentials 11, 185, 301, 355
view default page 250 value lists 69, 113, 114
view frame set page 253 values
view navigation page 255 loading required 41
view page page 259 setting default 332
ViewPage servlet 283 setting parameter 113, 347
UserID attribute 346 variables
userID parameter 67, 174 changing error messages and 72, 74, 121,
UserInfoBean class 109, 110 123
userName parameter 194, 215, 222 developing requester pages and 111
users specifying parameters with 113
accessing home folder for 210 Vector objects 113
assigning roles to 18, 19 Version attribute 342
changing default views for 16

Index 395
version names 205, 223 current jobs 231, 343
version parameter data 272
detail pages 195 data cubes xv, 23, 247
GetReportData servlet 275 embedded objects 277, 278
save as page 234 Encyclopedia volumes 58, 101
search report page 239 error messages 199, 224, 338
view default page 250 failed jobs 214
view frame set page 253 files and folders list 79, 129
view navigation page 255 folders 13, 58, 101
view page page 259 images 209, 258, 274, 282
versionName parameter job requests 247
execute query page 202 online documentation xxiv
execute report page 205 PDF files 229
output page 223 report parameters 113, 224, 347
submit job page 244 Reportlets 71, 117, 140, 153, 296
view cube page 173, 183, 247 reports xix, 16, 248, 251, 341
view default page 173, 183, 248 requester pages 68
view embedded object page 173, 183, 250 search results 52, 94
view frame set page 173, 183, 251 servlets 250, 260
view mode (portlets) 132 side menu 59, 213
view navigation page 173, 183, 254 specific pages 249, 252, 254, 282
view options 17 status information 230, 349
view page page 173, 183, 255 subscribed channels 13, 188, 215
view page servlet 278 table of contents 250, 253, 260
View service 228, 275, 276 third-party reports 260
view third-party report page 173, 184, 260 web pages 58, 101, 278
view TOC page 173, 184, 260 viewing control 64
VIEW_SOURCE value 29 viewing module 334
viewcube action 175, 179 ViewingTarget attribute
ViewEmbeddedObject servlet 277 channellist controls 335
ViewEmbeddedObjectServlet class 277 detail controls 338
Viewer xix filelist controls 64
See also DHTML viewer jobdetail controls 343
customizing 34 joblist controls 344
displaying reports with 16, 254 list control 345
viewer framework 71, 117 viewnav.js 265
viewer tag library 287, 288 viewNewBrowser parameter 222
viewer toolbar 254 viewpage action 175
viewer.js 265 viewPage page 71
viewer/getsavedsearch action 177 ViewPage servlet 117, 278
viewFormat parameter 202 ViewPageServlet class 278
viewframeset action 175 views 77, 127
viewframeset.js 265 virtual directories 49, 50
viewframesetfuncs.js 265 Virtual Directory Creation Wizard 50
viewing viruses 352
banners 59, 186, 213 Visual Studio .NET 47, 332
completion notices 13, 189 Volume attribute 346

396 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal
volume icons 34, 60, 104 compiling as servlets 40
volume parameter 67, 111, 174 creating 4, 40, 64, 108
Volume property 54, 97 customizing 170
volume_icon.gif 61, 105 deploying 40
volumes See Encyclopedia volumes displaying 58, 101, 278
displaying Reportlets 140, 153
W embedding objects in 275, 277, 278
wait intervals 79, 128, 200, 202, 205 embedding Reportlets in 71, 117
wait parameter 205 formatting 64, 108
WAR files 33 integrating report sections with 71, 117
web archives 33 loading 40, 86
web browsers loading templates for 56, 99
accessing information with 4 localizing 289, 303
changing style definitions for 95 multiple files and 211
character encoding for 42, 43 navigating through 62, 107
displaying online documentation in xxiv referencing in URIs 41
displaying Reportlets with 296 reloading 52, 93
displaying reports with 13, 16, 251, 278 replacing images in 61, 105
embedded objects and 277 scaling 250, 252, 254
loading web pages for 40, 41, 86 sending Reportlets to 296
maintaining session states for 6 specifying color settings in 54, 96
opening new windows for 222 specifying content 212
optimizing locales for 289 specifying default 248
overriding settings for 96 testing changes to 64, 108
partial URIs and 278 unavailable 224
refreshing 80, 93, 130 viewing available reports for 13
setting cache for 78, 127 web resources 40, 57, 86, 100
setting general options for 205 web servers
setting report size for 234, 250, 252 entering port numbers for 41
specifying default page for 248 JavaBeans and 40
specifying type 250, 253 load balancing for 5
testing web pages for 64, 108 partial URIs and 278
web casting 14 setting application paths for 11
web channels See channels submitting requests to 40
web page banners See banners web services 9
web pages web sites
adding .NET controls 332, 333 accessing 47, 87
adding Active Portal 64, 65, 107, 108, 109 adding web pages to 64, 65, 107, 108, 109
adding banners to 59 changing style definitions for 52, 53, 94, 95
adding images to 60, 104 creating multiple designs for 49, 90
changing banners for 54, 58, 96, 101 customizing 4, 50, 51, 91, 92
changing fonts for 52, 94 deploying e.reporting 40
changing globally 53, 56, 57, 94, 100 deploying to 44
changing specific 64 e.reporting solutions for xiii, xv
changing templates and 100 entry points for 63, 212
character substitutions for 42 home directories for 47, 87
logging in to 219

Index 397
web sites (continued) default directories for 87
navigating through 13 installing HTTP Service for 90
obtaining Actuate product updates xx preserving session state information on 7,
securing xvii, 352 9, 10, 11
synchronizing application paths for 11 working folders 217
viewing changes to 52, 93 workingFolder parameter 187
web.config 9, 11, 76 workingFolderID parameter 191
web.xml 125 workingFolderName parameter 191
Web-inf directory 286 World Wide Web See Web
WebSphere portlets worms 352
accessing 134 write tag 95
adding to reports 134 WriteFile value 227
configuring 132 WSDL Service 111
overview 132, 137
WebSphere servers X
See also web servers XML API 12
configuring 7 XML data sources xix
preserving session state on 7 XML development tool xvii
setting up DB2 clients for 7 xml directory 332
weekly reports 236 XML documents 286
welcome.jsp 108 XML reports
wildcards 237 creating 4
windows formatting output for 209, 258, 274, 281
displaying reports in separate 16 XML tags 286
opening new browser 222 XMLCompressedDisplay formats 209, 258,
Windows systems 274, 281
accessing Active Portal from 5 XMLData formats 209, 274
customizing error messages for 121, 123 XMLDisplay formats 209, 258, 274, 281

398 Crea ting C ustom Web Ap plicatio ns using Actuate Active Por tal

You might also like