INTRODUCTION TO
CUSTOMIZING
INFOVIEW (XI R3.1) Adam Lange
Lake Tahoe Community College
Agenda
• Why Customize?
• Best Practices for Customization
• Modify Basic InfoView properties
• Modify Web Intelligence Default Settings
• Modify InfoView Title and Greeting
• Hide Unused Buttons on InfoView Toolbar
• Change Log On Page Instructions
• Add Dynamic Text to Log On Page
• Customizing Launchpad in 4.0
• Resources
Why Customize?
• Modify appearance to create seamlessness among other
internal systems/interfaces
• Modify functionality to align with practices and standards
specific to your organization
• Extend the delivered functionality of Business Objects to
meet unique requirements
• Bonus: It’s fun!
Best Practices for Customization
• Always make back-up of original system file
before customizing it
• Document all customizations
• Restart Apache Tomcat after making changes
• Make changes on Test server first – if possible
Modify Basic InfoView Properties • CMC > Applications > InfoView > Properties
Tomcat55\webapps\InfoViewApp\
res\schema.blue\default.css
Logo displayed on
InfoView log on page
Change InfoView Log On Page Logo 1) Copy logo file to Tomcat55\webapps\InfoViewApp\res\schema.blue
2) Enter custom logo file name under CMC > Applications > InfoView > Properties
3) Restart Tomcat
Change InfoView Log On Page Logo
Before
After
Modify WebI Default Settings • CMC > Applications > Web Intelligence > Properties
Modify InfoView Title & Greeting
• InfoView Title
• InfoView Greeting (log on page)
Modify InfoView Title & Greeting
• Text is defined within web.xml file
Tomcat55\webapps\InfoViewApp\WEB-INF
• Web.xml file contains mant system parameters. Modify
the app.name and app.name.short with desired text.
Modify InfoView Title & Greeting
• Edit web.xml file
• Save web.xml file
• Restart Tomcat
Hide Unused Buttons in InfoView
• Buttons and links for unused features in InfoView may
cause confusion among users.
LTCC does not use these features
Hide Unused Buttons in InfoView • Suppress buttons by modifying the headerPlus.jsp file:
• “Comment out” .add() functions
Hide Unused Buttons in InfoView
• After making change to headerPlus.jsp file:
Change Log On Page Instructions
• InfoView log on page displays generic instructions by default
Change Log On Page Instructions
• Instructions can be tailored to fit your organization
Change Log On Page Instructions • Tailor instructions by modifying
PlatformResources_en.properties within the
PlatformServices_en.jar file
(Tomcat55\webapps\PlatformServices\WEB-INF\lib)
Change Log On Page Instructions • Modify the logon.firstInstruction and/or
logon.secondInstruction parameters
logon.secondInstruction=For questions regarding account
information, contact Adam Lange at x756 or <a
href="mailto:[email protected]"
class="homepage">[email protected]</a>.<br><a
href="https://portal.ltcc.edu/facstaffresources/technology/Lists/
Report%20Requests/NewForm.aspx" class="homepage"
target="_blank">Click here</a> to request a new report.
Add Dynamic Text to Log On Page
• LTCC uses a reporting database (ODS) which is
refreshed daily from the ERP system
• Refreshes occur around 1:30AM every morning
• In the future, LTCC may establish an additional mid-day
refresh around noon
• A dynamic message was added to the InfoView log on
page to display the date/time when the reporting database
was last refreshed
Add Dynamic Text to Log On Page
Message is updated automatically
after the completion of daily refresh
Add Dynamic Text to Log On Page
Process to update message on log on page:
1) Refresh of reporting database is completed and then SQL
stored procedure is executed automatically.
2) Stored procedure writes the date/time of refresh to text file
under Tomcat55\webapps\InfoViewApp\WEB-INF
3) Java code snippet added to logon.jsp file (under
Tomcat55\webapps\InfoViewApp) to dynamically
read/display refresh date from text file.
Add Dynamic Text to Log On Page
Stored procedure to write refresh date/time to text file. Executed automatically after daily refresh of reporting database is completed.
CREATE PROCEDURE [dbo].[L56_WRITE_ODS_REFRESH_STATUS]
AS BEGIN
-- =============================================
-- Author: Adam Lange
-- Create date: 3/20/2013
-- Description: Writes to refresh data to ODSREFRESH.txt file on LTCC-BOAPP
-- =============================================
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @cmd VARCHAR(256)
DECLARE @result VARCHAR(100)
SET @result = 'ODS reporting database last updated ' + (SELECT LTRIM(RTRIM(REPLACE(CONVERT(VARCHAR(30), GETDATE()), ' ', ' '))))
SET @cmd= 'echo>\\LTCC-BOAPP\WEB-INF\ODSREFRESH.txt ' + @result
EXEC master..xp_cmdshell @cmd, no_output
END
Add Dynamic Text to Log On Page Java code in logon.jsp dynamically reads from ODSREFRESH.txt text file.
<%
String fileName = "/WEB-INF/ODSREFRESH.txt";
InputStream ins = application.getResourceAsStream(fileName);
try
{
if(ins == null)
{
response.setStatus(response.SC_NOT_FOUND);
}
else
{
BufferedReader br = new BufferedReader((new InputStreamReader(ins)));
String data;
while((data= br.readLine())!= null)
{out.println(data+"<br>");}
}
}
catch(IOException e)
{out.println(e.getMessage());}
%>
Add Dynamic Text to Log On Page
Customizing Launchpad in 4.0 Many similar customizations shown in this presentation are
also possible in 4.0/Launchpad. However, the actual processes
for implementation are quite different.
Helpful resources for customizing 4.0/Launchpad:
Business Intelligence Platform Administrator Guide
http://help.sap.com/businessobject/product_guides/boexir4/en/xi4_bip_admin_en.pdf
SAP BusinessObjects OEM Customization Guide
http://help.sap.com/businessobject/product_guides/boexir4/en/xi4_oem_customizati
on_en.pdf
Customizing SAP BusinessObjects BI 4.0
www.dallasmarks.org/blog/2011/09/customizing-sap-businessobjects-bi-4-0
Resources for Customizing InfoView
BusinessObjects Chop Shop (InfoView hacks)
www.dallasmarks.org/blog/2009/07/businessobjects-chop-shop-
infoview-hacks
Customizing SAP BusinessObjects Enterprise XI 3.1
www.dallasmarks.org/blog/2008/08/customizing-
businessobjects-enterprise-xi-3-0
Customizing InfoView without Coding (R2)
http://scn.sap.com/docs/DOC-20265