Documente Academic
Documente Profesional
Documente Cultură
MICROSTRATEGYUNIVERSITY
CUSTOMIZATION
ESSENTIALS
20002013 MicroStrategy Incorporated. All rights reserved.
This Course (course and course materials) and any Software are provided as is
and without express orlimited warrantyofanykindby eitherMicroStrategy
Incorporated (MicroStrategy) or anyone who has been involved in the
not
particular
Course
you
creation,
limited
(andnot
andSoftwareis
production,
purpose.The
to,the
MicroStrategyor
impliedwarranties
orwithyou.Shouldthe
entire
distribution
risk
anyoneelse
astothe
ofofthe orSoftware,
merchantabilityand
whohas
Course
qualityand
CourseorbeenSoftware
performance
involved
fitness
including,
prove
with
for
ofdefective,
the
the
a but
use, inability to use, quality, or performance ofsuch Course and Software, even
if MicroStrategy or any such other person or entity has been advised of the
possibility
MicroStrategyorany
distributionofofsuch
the damages,
Course
otherpersoninvolved
andSoftware
orfortheclaim
shallnot
inthe
by anyother
be
creation,
liableparty.
for
production,or
anyclaim
Inaddition,
by you
use,
contribution,
or
performanceofsuch
warranty,
any otherparty
negligence,
thefailure
forCourseandSoftware,
strictliability
damagesarising
of any remedyto
forthe
fromthe
achieveitsessential
basedupon
negligenceinability
of
principlesof
indemnity
touse,or
purpose,
contract
quality,
or or
otherwise.
The
such
MicroStrategy.MicroStrategy
to the
Courseandthe
revision.
Courseorthe
Copying,
Software
Software
duplicating,
arecopyrighted
without
reservesthe
selling,
obligation
rightto
orand
otherwise
tonotify
all
makeperiodic
rightsare
distributing
any person
reserved
modifications
or
anyentityof
bypart of
under
of the Software.
copyright
Trademark lawsoftheUnited States with respect to unpublished portions
Information
Developmentand
CentralizedApplication
Through
Business,EveryPhone,
Personalized
Sophisticated
Intelligence
Intelligence
Management,
Analysis,BestInBusiness
ToEvery
Portal,
InformationLike
Query
DecisionMaker,
Tone,Rapid
Water,Intelligence
Intelligence,
IntelligentE-
Application
E-Business,The
Enterprise,ThePlatform
Intelligence
Development, Platform
MicroStrategyIntelligent
IntegratedBusiness
BuiltForThe
ForIntelligent
Internet,Office
IntelligencePlatform
Cubes,The
E-Business,Intelligence,
FoundationFor
TheScalable
BuiltForThe
MicroStrategy
Business
Intelligent
Office, MicroStrategy Report Services, MicroStrategy Web MMT, MicroStrategy
Web Services, Pixel Perfect, Pixel-Perfect, MicroStrategy Mobile, MicroStrategy
Integrity Manager and MicroStrategy Data Mining Services are all registered
companieswithwhich
All
trademarksor
othercompany
trademarksof
andproduct
theyareassociated.
MicroStrategy
namesmaybetrademarks
Specificationssubject
Incorporated. of therespective
tochange
Patent
This productis
Information
patented.One or moreofthe following patents mayapply to the
8,094,788,8,130,918,
applicationsarepending.
8,296,287,
How8,321,411and
toContact Us
8,452,755. Otherpatent
MicroStrategy Education MicroStrategy Incorporated
Services 1850 Towers Crescent Plaza
1850 Towers Crescent Plaza Vienna, VA 22182
Phone:
Vienna,VA22182
877.232.7168 Phone: 703.848.8600
Fax: 703.848.8610
Fax: 703.848.8602 E
Email: education@microstrategy.com mail: info@microstrategy.com
http://www.microstrategy.com/education http://www.microstrategy.com
PREFACE
Course Description
This two-day course is for individuals who are tasked with making basic
customizations of their MicroStrategy Web application using the MicroStrategy
Web Software Development Kit (SDK). The class combines lecture and hands-
on exercises,conducted intheWindowsenvironment using MicroStrategy Web
Universal.Exercises involvebasiccustomizationsusing configuration files,
including logo placement, page layout design, and Web beans placement in a
page. The exercises also cover how to create custom styles to modify report
Who Should Take this Course
display
This
MicroStrategyWebarchitecture,
essential
MicroStrategy
courseis
onconfiguration
a MicroStrategy
designed
WebInterface Web
files,andthe
for:Web page.
Designers
MicroStrategy
Studentswillbe
CustomizationDeveloper
Editor,
exposedWebbeans,
Library.
to the
Project Managers
Consultants
Course Objectives
After completing this course, you will be able to:
Describe the benefits of MicroStrategy Web and list the main components of
the MicroStrategy Web SDK.
Describe
customizethe
pagesinMicroStrategy
components ofa MicroStrategyWebpage
Web. andhow to
Explain the benefits of Cascading Style Sheets, describe the types of CSS
files used in MicroStrategy Web, and perform CSS customizations.
About the Course Materials
ContentDescriptionsLearning
Objectives
Lessons
Opportunities for Practice
Typographical Standards
This course is organized into lessons. Each lesson focuses on major concepts
and skills that helpyoutobetter understand MicroStrategy products and use
them to implementMicroStrategy projects.
Content Descriptions
Each major section ofthis course beginswitha Description heading. The
Description introduces you to the content contained in that section.
LearningObjectives
for
should
Learning
youatthefollowing
obtain
objectives
by successfully
enableyou
threelevels:
completing
to focus onthis
thecourse.
key knowledge
Objectives
andare
skillsyou
provided
Lessons
Each lesson sequentially presents concepts and guides you with step-by-step
procedures. Illustrations, screen examples, bulleted text, notes, and definition
tables helpyoutoachieve the learning objectives.
Opportunities forPractice
This version of this course manual excludes hands-on exercises. If you are
interested in taking the complete course, please contact MicroStrategy
Education at education@microstrategy.com.
Typographical Standards
of
Thenotes
followingsections
thatyou see inexplain
this course.
the fontstyle changes, icons, and differenttypes
Actions
Sum(sales)/number of months
Data Entry
References to literal data you must type in an exercise or procedure are in bold
Arial typeface. References to data you type in that could vary from user to user
or system to system is in bold italic Arial font style. The following example
shows this style:
Keyboard Keys
Press CTRL+B.
New Terms
New arefirst
they termstonote
encountered
are in regularitalic
inthe coursefont
material.
style. Theseterms
The following
are
example
definedshows
when
this style:
A warning icon calls your attention to very important information that you
should readbefore continuingthe course.
Other MicroStrategy Courses
CoreCoursesAdvanced
Courses
Core Courses
Implementing MicroStrategy: Development and Deployment
MicroStrategyOfficeEssentials
Advanced Courses
MicroStrategyAdministration: Configurationand Security
MicroStrategyWebSDK: PortalIntegration
All courses are subject to change. Please visit the MicroStrategy website
for the latest education offerings.
1
INTRODUCTION TO
MICROSTRATEGY WEB AND
SDK
Lesson Description
Describe the benefits of MicroStrategy Web and list the main components of the
MicroStrategy Web SDK.
AfterListanddescribethe
completing the topics
benefits
in thisof
lesson, youwillbe able to:
MicroStrategy Web.
List and describe the main MicroStrategy Web SDK customization tools.
List and describe the major sections of the MSDL. Describe the
MicroStrategy Developer Zone.
Benefits of MicroStrategy Web
MicroStrategyWeb
Simplified Customization
Overview
Application Independence
Plugin Architecture
Easy
XML
Web Knowledgenot
Customization
UpgradeofCustomizations
Editor
Required
Web ServicesReady
Integration with Salesforce.com
Simplified customization
Application independence
Plug-inarchitecture
Easyupgrade
No XML knowledgeis
ofcustomizations
required
.NET or J2EE development architectures
Web services-ready
Portlet-to-portlet(P2P) communication
Simplified Customization
MicroStrategy Web has an object-oriented, layered architecture that simplifies
the customization process. The presentation layer is separate from the business
logic, and the page navigation and layout specification reside in a single
configuration file. This structure simplifies the task of customizing the interface
without causinganyimpact tootherobjectsandfunctions. Most customization
tasks involvemerelymodifying thevaluesofparameters in configuration files,
without doing any programming.
Application
The
componentization
codeMicroStrategy Independence
modification required
and
Webapplication
architecture
for agivenchange,
independence.
was built inline
Thisreduces
withthe themes
theamountof
of
CustomizedSalesforce.com Application
Quick Integration with Portals
The architecture makesuseofJavaBeans thatyou can usetoembed
MicroStrategy reportswithinteractive drilling, pivoting, sorting, and
formatting capabilities into homegrown or third-party enterprise portals. For
example, ratherthanmaking low-level API calls, youcan simply embed a
MicroStrategy ReportBean that includes all the necessary properties,
triggers,andcallstomake
Formore
Integration
information,
course. thereport
refer tothe
fully
MicroStrategy
interactive withinthe
Web SDK:Portal
portalinterface.
SDK Overview
The MicroStrategy SDK is a comprehensive Software Development Kit (SDK)
that enables you to easily integrate MicroStrategy platform functionality into
any application. It is a collection of programming tools, utilities,
documentation, and libraries of functions or classes that are designed to enable
users to customize, extend, and integrate MicroStrategy products within other
applications.
knowledgeabout
customization tasks. It provides an in-depth technical
MicroStrategy Web and its customization.
you
Mobile
performtaskssuchas
SDKTheMobile SDK
installing
providesthe
the Mobile
infrastructure
SDK, customizing
and tools to help
Visualization
visualization,and
MicroStrategy SDKThe
Mobile,building
distributing
Visualization
AppleiPadoriPhone
a customapplication
SDK provides oracustom
APIs,applications.
tools, samples,
and documentation that enable you to build new widgets and visualizations,
import third-party widgets, and develop Rich Internet Applications (RIAs)
and specialized workflows such as writeback applications and special-
purpose
Web Services
dashboards.
SDKTheWeb Services SDK provides documentation
other
list
applicationontopofthe
of COM-based
interfaces and
languages.
methods
MicroStrategy
available fordeveloping
platform inVisualBasic,
aclient-server
C++, or
Office SDKThe Office SDK consists of the Office API Reference. This
reference guidedescribes each interfaceandmethodincluded in the
NarrowcastServer
Narrowcast
programming
MicroStrategyOffice
ServerGuideand
examples
SDKThe
APIand
installed
provides
theSubscription
NarrowcastServerSDK
withMicroStrategy
codesamples to
Office.
supplementAPI
consistsofthe
Portal API-related
documentation.
SDK Components
The MicroStrategy SDK enables you to easilyadapt andintegrate MicroStrategy
functionality into your application and modifythe standard interface or
functionality. TheSDK consistsof thefollowing components:
Documentation
Development tools
Packaging and embedding utilities
Web
XML-basedWebAPIwith
Services API supportfor Java/COM
Documentation
The SDK comes with a host of guides and references, such as Javadocs for the
APIs, to enable you to perform a variety of tasks on top of the MicroStrategy
platform. TheMSDLcontains avast amount of information for working with
MicroStrategy Web SDK and other MicroStrategy SDK products. The MSDL
contains details about the product architecture and object models, and it
provides code samples that are useful for building sophisticated and highly-
functional customized solutions.
Development
ready
The SDKcomes
utilitiesthatTools
withthe
reducesource
code creation
code,sample
and maintenance,
applications, andhelp
kits, and you
production-
build
and
customizedapplications.
WebServices Development
Development
Kit. tools include thePortalIntegration Kit
Packaging and Embedding Utilities
The MicroStrategy SDK provides various tools that you need both to customize
and extend MicroStrategy Web functionality and data, as well as to integrate it
in enterprise applications. MicroStrategy Web takes full advantage of Web
technologies and techniques, such asWeb2.0,AdobeFlash, AJAX,RIAs,
mashups,and composite applications. Thefollowingimage illustratesthe
functionality of the MicroStrategy SDK:
MicroStrategySDK
Customizing and extending MicroStrategy functionality and data
MicroStrategy SDK provides a Web Customization Editor that makes it easy
to customize the look and feel, workflow, and functionality of MicroStrategy
Web. The Web Customization Editor takes advantage of MicroStrategy
Webs plug-in architecture to simplify the process of customizing and
upgrading.
to
Webintegrate
includesa
access
customizable
to MicroStrategy
External
BISecurityModulethat
datawithanexisting enables
securityyou
presenting
information from diverse sources in a unified and collaborative way over a
functionality
AJAX,
Web browser.
MicroStrategy
inmanypowerfuland
Withitsbuilt-in
Web enables
supportfortechnologies
youtopresent
compellingvisual
yourpresentations,
BIdataand
likeAdobeFlex and
including
Rich Internet
thefollowing:
ApplicationsRich Internet Applications (RIAs) are
Q- a
.00
*4 oo- -
III
. h _
Ma ""00 -0 IIIOM
"no. ~00 III-n _
v'b
WMH-bhub.
~_00 o 0
_o. -.m u.
C" - o~.~'o'-~.~
gm -
Qun ' H ."
no
.~_ war
0-0- ' u
.......
was
w b |
no. no. "0- 0|.
I\- 00. 00 Oi-
b-hw
Web SDK
WebSDK Overview
MSDL
Page Configuration File and References
Style Catalog Configuration File and Transform Parameters Reference
Complete API and Other Customization References
MicroStrategy Web SDK Sample Customizations
Afterand
List describethis
completing themain MicroStrategy
topic,you Web SDK customization
willbeableto:
tools.
The Web SDK contains details about the product architecture, object models,
code samples, step-by-step tutorials, and other information to help developers
build
The Thepageconfiguration
MSDL
WebSDK
sophisticated
customization
and highly-functional
tools includethe
customizedsolutions.
following:
Style catalog
Complete APIand
configurationfile
othercustomization
andTransform
references
Parameters Reference
SDK kits, sample applications, and code samples
MSDL
The MSDL provides provides resources to understand and perform
customizations using the Web SDK. It includes sample customizations and
extensivedocumentation.
Tool Function
Page ThisXML
andlayoutfile
products. withintheMicroStrategy Web
helps you customizethenavigation
File
Configuration
Custom Tags
MicroStrategy The Custom
that you use towork
HTML Tags
withreferencelists
MicroStrategythe
Webtags
Reference components.
Tool Catalog
Style
File
Configuration Function
customizethe
Thestyle catalog
look
configuration
andfeel ofthe
fileMicroStrategy
helpsyouto
The References section also provides additional references such as the Event
Handlers Reference, the Tasks Reference, and the Troubleshooting Reference
that provide all the information necessary for accomplishing customizations
quickly and easily. Similarly, the XML Schema Reference helps you accomplish
MicroStrategy
MicroStrategy XML. Web
advancedcustomizations, which may require theabilityto useand manipulate
Sample
Customizing
customizations
the MicroStrategy
included withthe
Web, suchby
SDK demonstratethefollowing:
creating custom menus,
Customizing
toolbars,icons,and
page layout
pages.
and datarendering
Creating customvisualizations
Mashups andRIAs
For
referinformationabout
to the MSDL, theMicroStrategy
customizationWebSDK:Portal
scenarios notcovered inthis course,
Integration course,
and the MicroStrategy Web:Customizing Security course.
MicroStrategy Web SDK Tools
The MicroStrategyWebSDKincludestools:
The
MicroStrategy
Extended PropertiesEditorenables
metadataobjectsto achieveyoutoadd
newfunctionality.
custom informationto
This course will familiarize you with the Web Customization Editor. For
more information aboutother MicroStrategy Webtools, refertothe MSDL.
MSDL
Accessingthe MSDL
MSDLSections
MicroStrategy Developer Zone
To accesstheMSDL:
1 Navigate to https://resource.microstrategy.com/MSDZ
OR
MSDL Sections
The MSDL is organized into the following main sections:
Introduction
Version Differences
Customizations Explorer
Web SDK
Mobile SDK
Visualization SDK
Office SDK
Resources
Introduction
The section discusses the tools and functionality available in MicroStrategy SDK
to customize and extend MicroStrategy Web functionality and data, as well as to
integrate itinenterprise applications.
Version Differences
Customizations Explorer
customization
UsingtheCustomizations
scenario or Explorer
visualization
isaquick
sample.
wayto find any
Web SDK
Mobile SDK
This section covers the infrastructure and tools to help you perform tasks such
as installing the Mobile SDK, customizing MicroStrategy Mobile, building a
custom
applications.
applicationor a custom visualization,and distributingiPhoneor iPad
Visualization SDK
This section covers the APIs, tools, samples, and documentation related to
widgets and visualizations.
This section provides information for developing and deploying Web services-
based applications.
This section provides a link to the API Reference. This reference provides a
comprehensive list of interfaces and methods available for developing a client-
server application on top of the MicroStrategy platform in VB, C++, or other
COM-based language.
Office
This SDK
section providesalink to the Office API Reference.
Resources
MicroStrategy Web enables you to easily integrate with portals and use it as
Web services.
The
documentation
customization
Web SDK provides
tasks.
to help you
intuitive
understand
customization
key concepts
tools andaccomplish
andrich
The
documentation
MSDListhesingle
MicroStrategyDeveloper
needs. sourceZoneisaresource
foryour MicroStrategy WebSDK
Lesson Description
This lesson introduces you to the MicroStrategy Web architecture. You will
learn about the various architectural layers of MicroStrategy Web and the page
execution flow. The lesson also describes the plug-in architecture and its
advantages.
Lesson Objectives
Describe the structure of MicroStrategy Web, page execution flow, and the plug-
in architecture.
AfterList
completing
anddescribethe
the topics in this lesson, youwillbe able to:
XMLAPIlayer
WebBeanslayer
Web Objectslayer
Transformslayer
Application Objects layer
Presentation layer
XML Construction
Data Representation
The Web
structure
These objectscan
Objects
andvalues
layermakesit
be ofthe
used alongwiththeXML
XMLas
easier
interconnected
toinspect
API.
XMLdata
objectswith
For example,
by representing
properties.
these objects
the
could be used to construct XML, and then save it or execute a request and
collect the response as an XML string. This set of objects provides a necessary
and critical separation between the XML structure and the application, which
enables the introduction of new XML forms without breaking the application
functionality.
Web Beans Layer
The WebBeans layerisalayer ofJavaBeans built on top of the Web Objects
layer. Webbeans (orsimply beans)represent high-level GUI components,
such as reports, folders, and prompts. They coordinate the appropriate objects
from the Web Objects layer to retrieve and structure XML data to fulfill user
requests. Theyare thus responsible for collecting theXMLfrom Intelligence
ApplicationIndependence
Transform
Server. After
layer
thedesired
toperform
XMLallHTML
has beenrendering.
captured,the dataistransferred tothe
JavaBeans
Many beans are stateful objects. Thatis a beans statewill change asauser
interacts with it, and these changes arestored inthebeanitself. Forexample,in
the case of a report, several key data structures are needed to retrieve the report
data from IntelligenceServerin aspecific state. The beansstate issaved on the
page by default in the form of a URL parameter or a hidden form field.
Web Transforms
convertingthedata
The objects intheWeb Layer
residentin
TransformsLayer,
abean intocalled
itsfinaloutput
transforms,
representation.This
are responsible for
is typically HTML, but may also include other formats, such as Wireless Markup
Language (WML), plain text, or binary data.
Transform
Modifying
The relationship
image
business
between
below:intelligence and abean isdepicted in the Bean-
transformsfunctionality
BeanTransform Relationship
Refer to the numbers in the Bean-Transform relationship image for the
explanation given below:
Transforms also use events. Generally, they use events to generate URL links
and forms.
later be used
Whenever
toperform auser action,it
atransform needstogeneratea
searches forthe
link
event
oraform thatwill
corresponding to
the desired action and obtains a set of required and optional arguments from
that event. It uses this information to construct a URL string or a form that
encapsulates the request. If no event is found, then the transform does not
generate any output for it. This prevents the transform from generating a
request that cannot be fulfilled by the Web page components.
Application beans
Style
Page configuration
catalog configuration
file file
Preferences
Application
Application Beans
beansare
ObjectBrowsercomponent
Containers(such
Editors (such astheFilteror
asthe Report
DrillEditor)
FrameBeans thatcontain areport bean,
menus, toolbars and editors.)
The page configuration file is an XML file that stores the page navigation and
layout information. It also stores data that is shared across all the pages, such as
error messages andmenuitems.
In addition to the page configuration file, another XML file, style catalog
configuration file, hosts a collection of styles and transforms for manipulating
reports, folders, prompts and so on.
Preferences
User
preferences
andprojectpreferences
are anintegral partofa
areapplied
usersattheApplication
experience in MicroStrategy
Objects layer.These
Web
where
Web
products
The
English,
descriptor
MessagesBundle
languages.
eachofthese
every
infile.
a given
MicroStrategy
TheMessages
Eachfile
language.
files
files
corresponds
stores
consistofa
Web
Bundleisattheheart
Forexample,
a listofall
pagesstring
tonumber
oneofthe
stringsused
ifausers
of
isdrawn
localized
supportedMicroStrategy
oflanguagepreference
inMicroStrategy
fromtheEnglish
descriptorfiles,
Web
is
coordinating multiple
language support for MicroStrategy Web. The following image displays partial
contents of MessagesBundle_en_US. properties file:
MessagesBundle_en_US.properties File
Presentation
MicroStrategy LayerprovidesupportfortheJ2EEand .NET
Web products
The
differencesarehighlighted
J2EEand.NET architectures
inthissection.
differs only inthepresentation layer. These
for
architecturewiththe
Thethe
presentation
architecture
layer
with
.NET
isJ2EE
the
presentation
topmost
presentationlayer,
layer,and
layer. Thesepages
consists
orthe ASP.NET
of either the
files
JSP
forthe
files
the MicroStrategy Web client. Most of the HTML functionality provided in the
pages is implemented using these Custom HTML tags. These tags appear in a
page with static HTML tags. This enables easier integration of MicroStrategy-
provided content with other forms of custom content.
The
.NETcode
architectures
forthe Custom
exceptHTML
for thetags
inclusion
is almost
oftherunat="server"attribute
identicalin the J2EE and the
JSP
<web:displayGuiComponent
Code: name="report_area"
isContainer="true"/>
ASP.NET Code:
<web:displayGuiComponentrunat="server" name="report_area"
isContainer="true"/>
Submit request
Create page
Process events
Collect data
Display data
Display page
Submit Request
Create
The
using Page
Select
MicroStrategyWebapplication
thefollowing
pageOn threesteps:
receiving and receives
acceptingand
theprocessestheuser
user's request, therequest
Web server
Validate
by
retrieved,
the controlleror
sessionAfter
thesession
bya
is validated,ifnecessary.
third-party
the definitionof
application,suchasaportal
the target
The sessioncan
page hasbeen
bevalidated
or custom
application, using the External Security Module.
Customizations
session
Module. isvalidated.
performedatthisstep
This includes customizingthe
involve customizing
ExternalSecurity
the way the
sets the initialization properties for the bean (normally, default values
defined bythe user), then tells the bean to restore its state, and finally sets
the request properties for the bean.
Process Events
After
event
modifies
the
specified
the
beans
state
in
have
theuser's
of the
beenbean
initialized,
request
and, ultimately,
triggers
thepageis
a different
theready
pagetohandle
setofactionsthat
output.Apage
events.
can
Each
In this step, the data is collected from the Intelligence Server. You can apply
custom logic both before and after the collection of data. Accordingly, you may
have thefollowing threesteps at this stage:
Collect data
Each
Applystep
custom
isdescribed in detail
logic before collecting
in the following
dataYou
sections.
can execute custom code
before the datais collected from Intelligence Server. The pre-data collection
logic is generally used to modify the amount of data collected from Intelligence
Server. For example, youcan usethe custom pre-data collection logic to limit
the display of datamart reports on a folder browsing page to only those users
who have the permission to access datamart reports.
Apply custom logic after collecting dataYou can execute custom code after
the
logic
on
maythe
datahasbeencollected
want
isstatus
generally
to opena
ofthe
used
bean
promptafter
tomodifythestate
(suchasready,
fromIntelligence
ithas already
processing,
ofabean
Server.
beenororerror).
answered
The
perform
post-data
Forexample,
an
so thatit
actionbased
collection
canbe
you
displayed on a report, or you may want to add a report to the History List only if
the report was successfully executed.
Customizations
the datahas beenperformed
retrieved atthis
fromIntelligence
step involveServer.
modifying bean information after
These customizations
involve creating custom add-ons and adding them to page definitions in the
page configuration file.
You canapply
typeof logic differs
customdepending
logicboth
onbeforeor
thepointafterdatais
atwhichitiscollected,but
applied. the
Display Data
In this step, the data collected by the beans is rendered using the transforms.
The following steps are involved at this stage:
Select template
Arrangecontent
Transform beans
One or more templates are defined for every page in the page configuration file,
with each template associated with a different page status. The MicroStrategy
Web applicationselects thetemplate to be used based on the current status of
the page and then forwards the execution to this template.
Customizations
target
page. Customizations
page, thatperformed
is,theinvolve
arrangement
atthis
creating
step
andcontent
or
involve
modifying
modifyingthe
of the
custom
pagesections
page
content
section
ofthe
on the
files
(JSP or ASP.NET pages) that will provide the content for various parts of the
content.
target pageandusingthe
Customizations may
CustomHTML tags in thesethe
also involvemodifying filestorender
page sectionsthe
defined
typically
associated
for
Transform
defined
the target
bya
a layout
with
beansEachbean
style
pagein
a definition
transform,anoptional
fromthe
the page
style set of
fileconfigurationfile.
onthe
that
catalog
determines
target
configuration
page
transform
themore
isrendered
file.parameters,and
granular
Each
bystyle
atransform
arrangement
is
Customizations
when performedatthisstep involve modifying the HTML output
created beans on the target page are transformed. Customizations involve
one
creating
Transforms,transform
through
or moreof
astyle
customthe
definition.
transform
following
parameters,and
files,orcreating
actionsmaking
layout
customlayout
changesto
definitionfilesare
thestylecatalog
definition
associated
files. file,
is
Display
that
After
returned Page
isdisplayedtothe
the tothe
beans browserfor
have been
userisdetermined
transformedand
displaytothe user.
bythestyle
thecontentarranged,
The lookand
sheet thatis
feelofthe
thepage
applied.
page
All customizations are stored as plug-ins inside the plugins folder. Each plug-in
file
specific
ASP.NET
virtuallymergedinto
correspondstoasingle
JSP
is restarted.Based
or
orASP.NETfiles)
a tothe
combinationofseveral
files)thatcontain
customization
onthe
the
when
customization
appropriatefile
customization
code
the
changes.Aplug-in
files
application
specific
(such
taskand
requirements,
tothe
or
asfiles
serverhosting
configuration
storesonlythecode
customization.
subfolder
(suchas configuration
can
MicroStrategy
filesandJSPor
contain
Thiscodeis
thatis Web
a filesand
single
then
Plugins
For example, deploying the CreatingNewRibbonReport
to plug-in (included in the
SDK) adds a Publish menu and Publish toolbar Design Mode.
Be
them
sure
laterifthey
toback upareneeded.
anyplug-ins you remove,sothatyoumayre-deploy
Advantages of Plugin
The plug-in architecture Architecture
offersthe following advantages:
1 Makes MicroStrategy Web more extensible and customizableDue to
the separation of the customization code changes from the default code,
plug-ins can be used to of
extend functionality of MicroStrategy Web without
2 Minimizes
MicroStrategy
the need to the
recompile.Youcanalso
Webwithout
impact upgradesThe
requiring
usethem
accesstothe
plug-in
toaddarchitecture
source
newfunctionality
code.minimizes
to
has been
successfully deployed using the Web Customization Editor, it can be easily
ported to an identical version of MicroStrategy Web on a different machine.
You simplyneed
MicroStrategy Webtoinserttheplug-in
installation. Theplug-in
intothepluginsfolder
architecture reduces
insidethe
the time
production
in moving your
environment.
customizations froma development environment toa
5 Simplifiesyoucan
sufficient, managing
deploy
theyour
customizationsSince
customization by simply
plug-insareself-
addingthe plug-in
to
folder.
plug-in
into
removea
theThus,
architectureis
pluginsfolder
customization,
youdo notneed
very
insidethe
powerful.
youonly
to manually
MicroStrategy
needto
modifyor
removetheplug-infrom
Webrecompile
installation.Similarly,
the files.The
that
MicroStrategyWeb
The structureofa plugins
folderstructure.
folderisthesameas thatof theuncustomized
MicroStrategy Web stores all changes toan original source XML file in what is
known as the delta file. MicroStrategy Web compares the files and combines the
changes to create the final custom XML or .properties file, that is then used by
the application. The following image shows the file comparison operation
involving the source pageConfig.xml and delta files:
The XML API layer is the lowermost layer and is responsible for sending
requests
XML strings.
andretrieving responses fromIntelligence Serverintheformof
The Web Objects layer is built on top of the XML API layer and assumes
complete
The
layer.
WebBeans
Beans
responsibility
coordinate
layer is alayerof
forXML constructionanddata
JavaBeansbuilt on toprepresentation.
oftheWebObjects
The objects in the Web Transform layer, called transforms, are responsible
for converting the dataresident in a beaninto its finaloutput
representation.
The key to
efficient way,istocustomize
achievingthe type of customization you want,in themost
the right MicroStrategy Web component.
customization task.
A plug-in
(such as configuration
subfoldercancontain
files andJSPorASP.NET
asingle file oracombination
files)that contain
of several
codefiles
Lesson Description
This lesson describes the Web Customization Editor and its advantages. The
lesson also describes the steps involved in deploying the editor as well as setting
preferences. Next, the lesson explains the Web Customization Editor views and
wizards, and the conflict log and search functionalities. The lesson concludes
with a list of best practices for customizations and upgrades.
Lesson Objectives
Describe the advantages ofthe Web Customization Editor and the steps
involved in deploying and using the editor.
of
Describe the advantages
After completing this topic,youwillbe ableto:
WebCustomization Editor
You should perform most customizations using the Web Customization Editor.
Since the Web Customization Editor leverages the benefits ofthe plug-in
architecture, it automatically creates plug-ins inside the plugins folder based on
your customization requirements. Each plug-in corresponds to a single
customization task.
3 Reduces timefrom
easy-to-use wizards development todeploymentThe editorprovides
that help you navigate through specific customization
tasks. Youdonot need to manually modify multiple files, such as the
configuration files, JSP or ASP.NET files, or CSS files. The wizards guide
you
are ready
throughthe
for deployment.
relevant customization stepsandsave thechangessothey
4 MicroStrategyWebis
intuitive
Decreases
friendly manner.
user
customization
interfacerequired
presents
complexityWhile
tothe
perform
customizablecomponents
customizations, in auser-
some understanding
the editor's
of
7
6 Eases
inserts
Reduces
defaultuser
customizations.Additionally,
them
valuesfor
errorsThe
maintenanceThe
into theappropriate
the different
editor reducesthepotential
itproperties
converts
editor
files. automatically
yourselections
or settingsfor
that
creates
errors
intocodeand
are availablefor
plug-ins
byproviding
based
on
or save
yourfiles.
customization requirements.You donot need tomanually modify
of the
8 Facilitates
successfully
by
MicroStrategy
ported
simplyinsertingtheplug-in
toanportability
deployed
identical
Web installation.
version
usingtheWeb
customizationsAfter
ofintotheplugins
This
MicroStrategy
Customization
reducesthe
Webona
folderinside
timein
a plug-in
Editor,
different
it
hasbeen
canbeeasily
machine
moving your
customizations from a development environment to a production
environment.
Deploying the Web Customization Editor
To deployandconfigure theWeb Customization Editor:
2 Inside
CustomizationEditor
com.microstrategy.web.sdk.webcustomization.
the tools\WebCustomizationEditor
plug-in, subfolder,locate the Web
3 Unzip and extract the plug-in to the Eclipse installation folder. This extracts
the JAR file, com.microstrategy.web.sdk. webcustomization.jar, to the
eclipse\plugins
If you haveaneclipse
subfolder.
subfolder withinyour
4
5 Launch
In
MicroStrategy.
Eclipse,
Eclipse.
onthe Window menu,pointtoPreferences,and select
8 In the MicroStrategy Web URL box, type the URL for launching
MicroStrategy Web.
13 Click OK to accessthe
viewsApplication
MicroStrategy menuis
Settings
WebCustomization
addedandCSS
tothe Settings.
Editor.
In addition,
The editordisplaystwo
anew
J2EE (tomcat):
C:\tomcat\webapps\MicroStrategy
.NET:
J2EE:
http://webserver:port/MicroStrategy/servlet/mstrWeb
.NET:
http://webserver/MicroStrategy/asp/Main.aspx
webserver is the name of your MicroStrategy Web server, and port refers to
the port used by your application server.
Use MicroStrategy
enables you to view MSDL
Developer
within
Library
theWebOnlineIfenabled,this
Customization Editor. option
Show Advanced OptionsYou can select this check box to display all, or
Mappings,
Pages,
one or moreofthefollowing
BrowserSettings,
Property Files,ErrorList,
Style
application
Maps,
Export
System
settingsAdmin
Formats,
Defaults,
Folder
System
Error
Links,Folder
Definitions,
List, Admin
setting,
System Pickers,
selecttheVisualization Settings, and Widget Settings. To display a
Show Advanced Options check box, and under Options,
select the appropriate settings.
Search
Size
the
LocaleThis
In
MicroStrategy
the Web
previoussearch
ofMicroStrategy
Preferences
Searchoption
HistoryThis
pane,
wordsthat
Services-related
enables
Objects
if youexpand
you
window.
option
displayin
tospecify
preferences.
enables
MicroStrategy,
the
thelocale.
search
youtodrop-downlist
specifythe
youcannumberof
alsospecify
inthe
You can also launch the Select Plug-In window by clicking Select PlugIn in the
Application Settings view or the CSS Settings view of the Web Customization
Editor.
4 In the Select Plug-In window, if changing the plug-in folder, in the Plug-in
Folder drop-down list, select the appropriate plug-in. You can select a
default or custom plug-in.
If creating a new plug-in, in the Select Plug-In window, click New >>. In the
Plug-in Name box (see the following image), type a name for the plug-in.
For each customization, you can use the same plug-in folder or a different
one. Using different plug-in folders enables you to keep customizations in
separate plug-in folder, making it easier to port and troubleshoot. If
interdependent customizations are stored in different folders, be sure to
copy and/or remove the folders together.
5 Click OK to close the Select Plug-In window.
MicroStrategy Menu
After you deploy and configure the Web Customization Editor, the
MicroStrategy menu displays on the Eclipse menu bar. The MicroStrategy menu
offers thefollowingoptions:
New StyleThis option launches the Style Creation wizard, which guides
you through the process of creating a new style.
Tothe
in launchthis
Web CustomizationEditor
wizard,youmust firstspecifytheAnt
preferences root directory location
window.
ina
Launch Web BrowserThis optionlaunches MicroStrategy Web Web
browser
outcomeinside
ofyourcustomization.
the Eclipse IDE. TheWebbrowser enablesyou toviewthe
Launch
Customizations
Conflictwindow.
LogThis
Thisoption
windowlaunchestheConflict
enables you to scanLogfor
allthe plug-ins in
Launch
UpgradeUpgrade
Wizard toWizardThis
upgrade youroption
customizations
launches from
the Customization
8.xversions of
Application Settings
CSS Settings
application
Browser SettingsThe
uses.For example,
browsersettingobjects
browser settings control
are cookies
whether
thatthe
the page-by
settings
mode is enabledor
corresponddisabled
tothe properties
bydefaultand
in MicroStrategy
valuesdefined Web.The
for the<browser-
browser
installationfolder.
Clientside
All
INF\xml\layoutsCS\mstr\layouts
defined
client-sidelayout
forthe
LayoutsThis
client-sidelayout
definition
settingcorresponds
files
definition
folderinsidetheMicroStrategy
areXMLfileslocatedin
filesusedin
tothe propertiesandvalues
MicroStrategy
theWEB-
WebWeb.
the
itemPreferencespagewhenyouclickthatmenu
click on
a folder.
theFolder
Similarly,
Browsing
youcan
pagetodisplay
haveanotherthe
context
item.
folderIDwhen
menu item
you
that
right-
opens
configuration file. The folder links configuration file listsa series of folder
link definitions that represent ashortcut to a systemfolder.
Reports
While the
andMyReports.
folder mapping definitions correspond to system folders, the
links (shortcuts) to these systems folders are defined using the folder link
they
Global
to
(JSP
definitions.
allaredefined
or
MicroStrategyWebpages.
CSSThe
ASP.NET).
inthemain
GlobalCSS pagetemplates
folder
Sincedisplays
these CSSfilesareglobalinnature,
and
theCSSfilesthatare
intheGlobal_Links applied
file
CustomizationsThis
made toanyspecific folder displays global.css bydefault. Changes
CSS files are copied to global.css. These changes
are then propagated to the respective MicroStrategy Web pages.
MicroStrategy
to all MicroStrategyWebpages.
WebThis folderAny
displays
changes
theCSS
madefilesthat
tothese CSS
are applied
filesget
The copiedto
following the
imageshowsthe
global.css file in the Customizations folder.
Each <page> node under the <pages> node has a number of properties and
child
the
additional
andReport
appropriate
securityand
nodesspecificto
information
Execution
tab
features
atpage
the
thatpage.
about
fortheReport
bottom.
displays
the Youcan
pageby
For
properties
example,
Execution
clickingthe
viewtheseproperties
such
thepage.You
asname,description,
BasicProperties
Template
canview
by
Properties,
clicking
tabof
Bean Properties, Add-on Properties, and the Events and JavaScript tabs at
the bottom.
The following imageshows theBasic Properties taboftheReport Execution
page editor:
RibbonsThis
the <ribbon-list-set>
setting
node
corresponds
in the page
tothe
configuration
propertiesfile.This
andvalues defined for
file is located
in WEB-INF\xml inside the MicroStrategy Web installation folder. The
<ribbon-list-set> nodegroupsalist ofribbons, with eachribbon
representing
Style MapsThis
atoolbar
setting
and a menu.
styleCatalog.xmlfilelocated
MicroStrategy
StylesTheStyles
report usingthe
Webdefault
folder
installation
ReportGridStyle.
corresponds
inthe
folder.
WEB-INF\xml
tothe
Thisconfigurationfile
propertiesdefined
folder inside the
inthe
is responsible
for presenting the data.
display
By selectingastylein
following
informationabout
threetabsatthe
theApplication
bottom
that style:
ofthe
Settingsviewand
Style Propertiesusing
editor,youcan
one ofthe
Style
parametersused
ParametersThis
bythe style.
tab displays information abouttransform
and values defined for the <system-pickers> node in the page configuration
file. This
colors, and
node
fill includes
effects. variouspickerssuch as pickersfor selectingfonts,
In MicroStrategy Web, system pickers represent the objects that enable you
and
to choose
time formats
suchsettings
that areusedbythe
asthefonts,colors,
application.
styles,borders,
There canlines,anddate
be multiple
system picker configuration files, each of which defines the choices available
for a specific type of setting. System pickers appear as drop-down lists in a
TasksThe
toolbar
list
for tasksin
of shortcut
orincertain
MicroStrategy
Tasks
objects
folder
editors.Each
thatdefine
corresponds
Web.Thisthe
systempicker
choicesinthedrop-down
tothe properties
configuration
andvalues
file
list.groupsa
defined
Tasks Folder
Visualization
properties
visualizations.xml
andSettingsThe
values
configuration
defined Visualization
forfile,
the located
<visualizations>
Settings
inthe WEB-INF\xml\config
correspond
node in the
to the
folder inside the MicroStrategy Web installation folder. The visualizations
configuration file contains the list of visualizations available in
MicroStrategy Web.
Web
to theConfiguration
settingsdefinedin
SettingsThe
the microstrategy.xml
Web Configuration
configuration
Settingscorrespond
file. This
Admin SettingsThe
defined foradministering
settingson
MicroStrategy
this tabWeb.
correspond to the settings
FolderTransform.css
Edit HTML Menus Wizard (Add)The Edit HTML Menus Wizard (Add)
enables youtoadda menuitem toan existingHTMLmenu. This menuis
used when MicroStrategy Webis launched intheHTMLmode (JavaScript
disabled).
Edit HTML Menus Wizard (Edit)The Edit HTML Menus Wizard (Edit)
when
enables
MicroStrategy
youtoedita Web
menuitem
is launched
underan
inthe
existingmenu.
HTMLmode This
(JavaScript
menuis used
disabled).
edit
when
Editone
Menus
using
ormore
MicroStrategy
Wizard
menus
(Edit)The
forWeb
a MicroStrategy
inEditMenus
the Dynamic
Web
Wizard(Edit)
HTML
page. mode
Thesemenus
enables
(JavaScript
youto
display
enabled).
Event Map WizardThe Event Map Wizard enables you to specify an event
map for an event.
newWeb
aNew beanthat
BeanisWizardTheNew
automatically added
WebBean
toa MicroStrategyWeb
Wizard enables youtocreate
page.
Transform
to create anew
Creation WizardThe Transform Creation Wizard enables you
transform.
1 In
Launch
the Web
UpgradeWizard.
Customization Editor,on the MicroStrategymenu, select
After you select the Launch Upgrade Wizard, the Customization Upgrade
current
Wizard the
specify opens.
andpredefined
previous
The wizardprovidesvarious
versions,
MicroStrategy
the Web installation
options, including
folders forthe
theoptionsto
Conflict Log
customization
To
Thelaunch
ConflictConflict
Log
plug-insintheplugins
isaLog:
troubleshooting tool
folder.
thatidentifiesany conflicts between
The
Conflict
following
Logfor
image
Customizations
showsthe Conflict Log for Customizations window:
Window
2 In theSearchforbox,typethe searchtext.
3 Inthe From
AllThis option
drop-downlist,select
enables you to search
onethe
theentire
following:
list of settings.
PagesThis option enables you to search only the <pages> nodes from the
page configuration file.
StylesThisoptionenables
style catalog configurationfile.
you tosearch only the <styles> nodes from the
4 Click
andOpen
the click
Searchto
OpeninEditorto
inEditorbutton
startthesearch.You
changes
view the
tomatch.
canselect
a ShowIfinthe
anyofthe
View
match
button.
isaCSSselector,
matches
Clickingthe
found
The following image shows the Search MicroStrategy Web Settings window
with the search results for alertseditor:
existingpages.
Do not modify the page template to create new page sections. You should
default
page
MicroStrategy
use existing
sections.
page.page
Forexample,
Websections
page, reuse
toifaddormodify
you
thefooter
wantto pagesectionfor
addcontent
content rather
tothefooter
thancreate
thatpageor
ofanew
the
Use transforms only for rendering data. All logic-related changes should be
Do
done
not
using
modify
add-onsand
out-of-the-box
events.
JavaScript files.If youwant toadd custom
JavaScript methods, make sure that these custom files are placed together
in a common, but separate, customization folder and referenced from the
links page section of the page in which you want to use them.
Unlike
customizations
Java classes,
performed
JavaScript
on out-of-the-box
methods arenotbackward
JavaScript files
compatible.
have to beAny
MicroStrategy
of
the
If you
the
JAR.
Webapplication.
needto
Instead,placethe
extract
Webproducts
filesfroma
Filesinthe
modifiedfiles
andmodify
JavaArchive
WEB-INF\classes
them,
into the
(JAR)fileused
donotplacethem
WEB-INF\classes
folder take
by backin
folder
When upgrading,check whether thereare any obsolete API entities that you
own
have
If
information
youprefixinsteadof
usedinyourexisting
arecreating
on obsoleteAPIs.
new
mstrWeb
IDsforstrings
customizations.
in the Messages
in aMessages
See the
Bundle
MSDLfor
Bundlefile,useyour
files (for
more
example,
scenario1.1="My New String").
If you
all the change the default
changestohelp youstrings
withfuture
inthe product
MessagesBundlefiles,
upgrades. keep alog of
If you add new strings to a Messages Bundle file, add them to Messages
Bundle filesfor all thelanguages to maintain consistency.
3 generates
ModifyingHTMLpages
existing or applying new CSS filesMicroStrategy Web
that use several CSS files. The CSS files used by
styles in MicroStrategy Web are referenced by <link> tags in the HTML
source for each MicroStrategy Web page.
in
4 configuration
initializes
Modifyingpage
itselffiles
the first time,andorarethen
configuration
arereadbythe servletor
style catalog
stored
an ASP.NETfile
configuration
memory.when
This
fileThese
enables
it
Consequently,bydefault,
configuration
applicationorthe
applicationserverafter
You do not needto
fileorthe
application
restart
style
makingany
you
the
catalogconfiguration
server
need
MicroStrategy
toifyou
changes
restart
made
the
to
Web
jsp,
changes
MicroStrategy
file.
applicationorthe
aspx,orascx
to thepage
Web
files.
Best Practices for Upgrades
Documentandbe awareofallyour
FollowMicroStrategy's best practicesfor
customizationsand
customizations.
their
Thislocations.
easesthe task
Beforeupgrading
of futureupgrades.
customized
files)
If yourelated
madefiles
customizationsto
to yourMicroStrategy
to thenew version
non-XMLfiles(such
files
Webproducts,
anduse theyoumust
asJSP
Web Customization
orASP.NET
compareyour
Always
entities
for the latestversion
migrateyour
assoonas possible.
customizations
of MicroStrategy
t is usefulto
from
Webcheck
deprecated
andthe
update
listof
entities
accordingly.
deprecated
to the new
APIs
The MicroStrategy SDK also provides a set of APIs you can use as building
to
blocks integrate advanced functionality into your applications. Youcan
use these building blocks to create your own custom classes and JAR files.
These classes are backward-compatible, so your custom classes should work
when you upgrade. You should recompile these classes so that if any of them
in
Always
arethe
possible
customizations.
deprecated,
latestversion
usethe
problems
Customization
the
Thewizard
ina
codecanbe
ofMicroStrategy
future
creates
release.
Upgrade
updated
customization
Web.
Wizard
to usenew
forupgrading
plug-ins
methodsthat
and
your
can
toavoid
beused
Always test the upgraded customization plug-ins to make sure they achieve
the desiredresults.
Lesson Summary
TheWebCustomization Editoreasesthetask of customization and
upgrades.
The Web Customization Editor easily integrates into the Eclipse IDE.
customizations.
By default,the
the ApplicationSettings
Web Customization
view and the
Editordisplays
CSS Settings twoviews
view. onlaunch
The Application Settings view displays the different settings that can be
customization
The
modified
CSS Settings
to perform
changes.
view
customizationsinahierarchical
provides options tomakethe CSS-related
tree.
The Web Customization Editor provides various wizards, each of which you
can use for a specific customization.
MicroStrategy
The Customization
Web UpgradeWizard
8.x customizations
enablesyou
toMicroStrategy
toupgrade your
9.x.
The Conflict Log is a troubleshooting tool that identifies conflicts among all
There
the customization
areseveralbest
plug-insinthe
practices that
plugins
you should
folder.follow when customizing
Lesson Description
This lesson describes how you can modify the look and feel of MicroStrategy
Web by changing the contents and layout of pages. Look and feel
customizations can involve modifying headers and footers; adding, removing, or
modifying components of pages; or adding or removing entire pages.
Lesson Objectives
AfterDescribe
completing
the variouscomponents
the topics in this lesson,
ofa you willbeableto:
Describe the page configuration file, Default Page, Pages folder, and basic
page properties.
Page Overview
The key to success in customizing MicroStrategy Web is understanding how the
application is structured and how to use its components to perform the actions
you want them to perform.
at
these
runindividualsections
time using apage template.
tobereused, there are separate files thatareincluded
Page Configuration File
OverviewPagesFolder
Default Page
Basic Page Properties
Describe the page configuration file,Default Page, Pages folder, and basic page
properties.
Overview
The page configuration file is an XML file that defines the framework for the
entire MicroStrategy Web application. By default, the file is located in the WEB-
INF\xml folder and is named pageConfig.xml. For each page in the application,
the page configuration file defines the page name, sections, shortcuts, Web GUI
components, styles, and so forth. The following image shows a portion of the
page configurationfile:
PagesFolder
The sequential order of the child page nodes is generally unimportant, with one
notable exception. To utilize the Default Page, it must be the first page defined
in the list of page nodes.
Default Page
The Default Page is the first page defined under the Pages folder in the Web
Customization Editor. It is listed in the editor as -1(Default Page).
on
whether aspecific feature (or setoffeatures) is trueor false.
the
If the
user
history
featureisnot
willbe
list page,
redirected
availableto
the user
to theaccess
would
the user,the
require
denied
the
page
page.
willForexample,
notbedisplayed
to access
and
You
Basic
EnumWebFeaturesclass
possible
canassociate
Properties
valuesfor
tabof
afeature-ids,
featurewitha
theinpage
therefertothe
APIReference
editor.
page To
by clickingthe
seealist
EnumAppWebFeatures
section ofthe
ModifyMSDL.or
of featuresandthe
buttoninthe
Persistence ModeThis determines whether the page should be saved
(persisted). You can specify:
DefaultThebean
bean stateisnot saved
isnotpersisted
beyond thescope
acrossuserrequests (thatis, the
of a given page).
Enable this page to be used in the returnto linkIf this check box is
selected,
path pagethe
section
pagecan
of several
beusedfor
MicroStrategy
the Return
Web
Tofeature
pages.Inavailableinthe
this case,if the
Page
The pageTemplate
template defines theoverall layout of thedifferent sections ona page.
A page is separated into a set of subpages or sections, with the page template
acting as a placeholder. The majority of the pages in the application use
mstrWeb as the page template. The following image shows an example of the
sections defined in this template:
PageTemplate
The content section can include a container bean, which in turn holds other
beans, referred to as child beans or contained beans. Container beans provide
the framework that enables their child beans to be programmatically
manipulated together and their child components to be laid out on the page in a
specific way. Container beans are generally not rendered directly. For example,
the Report Execution page includes a Report Frame container bean that consists
of various contained beans for the report grid, drilling editor, formatting editor,
and so forth.
Template
You
a
Report
page
candefineProperties
editor.
Execution
The
template-related
page:
followingimageproperties
shows theTemplate
using theTemplate
Properties tabof the of
Propertiestab
The Waiting for User template is used when waiting for a user to provide
the prompt answer in the case of prompted reports. TheProcessing
template is used when processing a report execution request.
You can add or delete status for a template using the Template Properties tab of
the page editor.
1 On the Template Properties tab of the page editor, click Add Template.
2 Under
appropriate
Selectstatus.
Template
TheStatus,in
following the
image
Status
showsthe
drop-downlist,select
Status drop-downlist:
the
3 Click OK.
The value of the Status attribute can be set to any fully-qualified value from
the EnumRequestStatus interface defined in the API Reference.
2 Under Selectstatus
appropriate TemplateStatus,inthe
tobedeleted. Statusdrop-down list, select the
3 Click OK.
Template File
You can have different files for different templates. For example, the default
Report Execution page uses mstrWeb.aspx (or .jsp) for the Default and Waiting
for User templates, respectively and Wait.aspx (or .jsp) for the Processing
template. You can use a different predefined template file or use your custom
template fileassociated with a page.
1 On the Template Properties tab of the page editor, click the appropriate
page template tab.
Page Sections
A page is separated into a set of subpages, commonly referred toasthe page
sections. The page template acts as a placeholder for these page sections. You
can reuse these individual page sections in separate files that are included at run
time using the page template.
The
corresponding
pagesection
page
fileis
section
a JSPon
orASP.NET
apage.Youfile
canthat
have
rendersthecontent for the
differentfilesfor different
1 On the Template Properties tab of the page editor, click the appropriate
page template tab.
2 Under
appropriate
Click page
on thesection
sectionand
youselectChoose
wouldlike to replace,
a new file.
right-click
The following
the
3 You can choose the Make section empty option, if you want to leave the
page section empty. Similarly, you can choose theEditcurrent file option
to edit the existing file associated with the page section.
You can define the features necessary to view or use each Web GUI
Component.
You can useinline frames toenable dynamic partial updatesof pages where
Web GUI Component is used.
You can create Web GUI Components fora page template usingthe Display
Web GUI Component Wizard.
2 Double-click the MicroStrategy Web page to which you want to add a Web
GUI Component.
6 In the Component Name box, type the name of Web GUI Component.
of
7 If
isExamples
the
a container
Web GUIcontained
check
Componentis
box.
beans ainclude
container
ObjectBrowserBean,
bean,selectthe This component
FormulaBarBean, andSortEditorBean.
8 In the Web Bean associated with this component drop-down list, select the
appropriate bean.
Each Web GUI Component includes a base bean that ties the Web GUI
Components functionality to abean defined on thesame page.
10 Click Next.
11 In the left hand pane, select the appropriate features to be associated with
the Web GUI Component. The following image shows the second window of
the Display GUI Component Wizard (Create):
13 Click Next. The following image shows the third window of the Display GUI
Component Wizard (Create):
14 In the Style associated to this component, type the name of the style
associated with the Web GUI Component.
The specified style is used to render the Web GUI Component for display. If
you specify a style name, it overrides any defaults specified in the
underlying bean definition.
This setting specifies that the style definition should be taken from the user
preferences rather than from the style catalog file.
18 In the Select Enumeration window, in the Enter type name prefix or pattern
box, type the appropriate name prefix or pattern.
20 Click OK.
23 Click OK.
24 Click Next.
25 Click Finish.
Shortcuts
A shortcut is simply a hyperlink defined in the page configuration file. A group
of shortcuts is called a shortcut list. A shortcut list can be defined in a page or
inherited from the Default Page.
Shortcut Properties
Extra URLThis defines a URL segment that is appended to the links URL.
Base BeanThis indicates the bean in the pages bean hierarchy that is
associated with the shortcut. This bean is used in tasks, such as resolving
features. Ifthisattributeis not set, theapplication triestouse the base-bean
TargetThisindicates
when
attribute
the fortheshortcut-list-set
shortcut link isclicked.
thetargetelement.
windowto which the requestisdirected
string
shortcut
information. If this state.Thestate
needsto append attributeissettotrue,theapplication
includes the MicroStrategyURL
will
append the state information to the hyperlink created using the shortcut. If
the value issettofalse,thestate information is notincluded withthe
hyperlink.
MicroStrategy
shortcut
as http://www.google.com
node (which
URL information
pointsbut
tothe
set
will
Append
Googles
be appended
Stateto
website).
totrue,the
the
Consequently,
HReftag ofthe
you
Display thismenu
availableThis indicates
item onlyifthe
a feature orfollowing
MicroStrategy
feature(s)is(are)
privilege thata
must have to access the pages content. If the featureisnot available user
to the
user, the page will not be displayed and the user will be redirected to the
access
To seedenied
a list ofpage.
features, click the Modify button.
when if thefeature
EventidThis
indicates
rendered,
Checka thismenu
user
whetherashortcut
clicksthe
indicates
itemshortcut.
isifthe
the
available
shoulddisplay
idfollowing
associated
to theuser.
feature(s)
withthe
checkedevent
is(are)availableThis
or uncheckedwhen
tobe performed
associated
BasebeanThisindicates
with the event. This
thebeanin
bean isusedin
the pages beanhierarchy thatis
tasks, such as resolving
features.
The Template Shortcuts Wizard enables you to edit shortcuts for a page
template. Using this wizard, you can remove all shortcuts, inherit them from the
main template,select individualshortcuts todisplay, add a new shortcut, or
rearrange existing shortcuts.
To edit
1 In
Template
theWeb
shortcuts:
Propertiestab.
Customization Editor,inthe appropriatePage editor,click the
All new pages created in MicroStrategy Web use the shortcuts defined on
the
bar Default
displayedatthe
Page. If you
topofthe
wanttomodify
MicroStrategy
theshortcuts within theshortcuts
Web pages that inherit the
Default Page, select the Default template.
4 In the Template Shortcuts Wizard, under What would you like to do with
the
shortcuts,
shortcuts.
Inherit
Remove from
all
select
shortcutsThis
Main
oneTemplateThis
ofthefollowing
optionoption
options:
enables
enablesyou
youto remove all
to inherit
shortcuts from the main template.
5 Click Next.
If you selected the Select Individual Shortcuts option, clear the check
boxes
click Next.
forany shortcut that youdo not want to include on a page, and
If you selected the Add New Shortcut option, provide information about
the relevant shortcut properties. When done,clickNext.
If you selectthe
pane, selected the
appropriate
Rearrange Shortcuts option, under the Shortcuts
shortcut and reorder its position using the
up or down arrow. When done, click Next.
option,
If you selected
you arethe
takentothe
Removeall
lastwindow
shortcuts or
ofthewizard
the Inheritfrom
whereMain
youcan
Template
click
Adding a Page
The Web Customization Editor provides the following options for adding a new
page in the MicroStrategy Web application:
Duplicateanexisting page
When
existing
adding
page andmodifyitthanto
pages within the application,
build anewpagefrom
itisoften easier tocopyan
scratch.
4 Click OK. The new empty page gets created and it opens on the right
displaying the Basic Properties tab. You can define properties for this page
using the various tabs at the bottom.
5 Click Save.
The Web
youCustomization Editor enables you to create or duplicate a new page by
When acopyofanexisting
making duplicate by making
page
a copyofan
orby inheriting
existing
from
page,the
anexisting
pageConfig.xml
page.
delta file containsthe entire XML definition ofthe existing page. The copied
page is
nolonger
distinctfromthe
impactthe existing
copiedpage
page and
afterany
youhave
changesmade
created it.
to theexisting
propagated
All
inherited
Any modifications
changes
page
toyou
allpages
formake
madeinan
overriding
willdisplay
thatinherit
existing
the necessary
in
fromit.You
MicroStrategy
the pageConfig.xml
portions
can also
of
Webpage
the
customize
delta
inherited
are
file.automatically
the
Non-
Web page.
2 Right-click
and select oneofthe
the existing
following
pagethatyouwant
options: toduplicate, pointtoDuplicate,
by inheritingfrom thispage
You can define additional properties for the duplicated page by accessing
the pages editor using the Web Customization Editor. You can also
rename the page usingthe Namebox in the Basic Properties tab of the
pages editor.
3 In the Duplicate Page window, in the Enter a new name for the page below
box, type the name ofyour newpage.
4 Click OK.
You can add a new page in the MicroStrategy Web application using the
Edit/Create Page Wizard (Create). This wizard enables you to create a new
MicroStrategy Web page by copying or inheriting from an existing
MicroStrategy Web page.
You can also use the Edit/Create Page Wizard (Edit) to edit an existing
page.
2
1 TolaunchtheEdit/Create
MicroStrategy
In the Web Customization
Web Configuration,
Page
Editor,
Wizard
in
right-click
the(Create),
ApplicationSettings
Pages.
selectNewPage.
view, under
3 In the first window of the Edit/Create Page Wizard (Create), select one of
the following options:
from,
To addandinthe
a newpage bycopying, select Adda newpage by copying
drop-downlist,
select the appropriate page.
(Create):
4 Click Next.
5 In the Name box, type the page name.
7 Click Next.
8 Under Display template when the status of the page is, select the
appropriate status check boxes.
9 Click Next.
10 select
In the theappropriate
Display thistemplate
status.whenthe status of the bean is drop-down list,
11 Under Click on the section you would like to replace, click the appropriate
page section.
12 In
.ascx/.jsp
the Openfilewindow,browse
tobe usedinthepage
to theappropriate
section. folder andselect the
13 Click Next.
15 Click Next.
16 Under Would you like to include menus on a page, click either Yes or No.
17 Click Next.
18 Click Finish.
Removing a Page
You can use the Web Customization Editor to remove a page from the
MicroStrategy Web application. However, you need to be careful when
removing pages as deleting the wrong page can result in errors in the
MicroStrategy Web application.
To removeapage:
1 In theWebCustomization Editor,inthe
2 Right-click the existing page that you want to delete, and select Delete.
pageConfig.xml
The page
entire MicroStrategy
configurationfile
and isWeb
located
application.
is an
inthe
XMLWEB-INF/xml
file
Thethat
default
defines
file
folderofthe
theframework
nameis Webfor the
application
The Defaulttoshare
Page enablesmanypagesin
similar settings suchyour
asa MicroStrategy Web
common header, footer, and
shortcut list.
Every
properties
Properties
pageaboutthat
tabof
containsanumber
a page
page.Youcan
editor.of attributes
view these
thatproperties
serveto describe
inthe Basic
basic
You can createWeb GUI Components for a page template using the Display
Web GUI Component Wizard.
The
template.
Template Shortcuts Wizard enables youtoedit shortcuts for apage
adding/removing
The Web Customization
a pageinthe
Editor MicroStrategy
providesvarious
Web
optionsfor
application.
5
MICROSTRATEGY WEB BEANS
Lesson Description
This lesson describes beans and how you can render bean data for display. You
will become familiar with the purposes of beans, their properties, and how to
add or remove beans.
Lesson Objectives
Understand the purpose of beans. Describe bean properties and how to add and
remove beans.
AfterUnderstand
completingthe
the topics in this lesson, you will beableto:
Overview
Beans represent blocksof MicroStrategy data (for example, a reports data, or
the contents of a folder). Beans enable you to bring MicroStrategy data onto the
page.
Beans Folder
Beans are childrenofthe
bean-independent initializationthat
pagenode. enablesa
Pagescreateandinitialize
custom application
beans.
to initialize
Itisthis
In the Web Customization Editor, beans are displayed under the Beans folder of
the appropriate page. The following image shows the Beans folder, along with
its component beans, under the report(Report Execution) page:
BeansFolder
Bean Properties Overview
A bean has various properties associated with it. You can view these properties
on the Bean Properties tab of a page editor.
4 Double-click the appropriate bean to launch the Bean Properties tab. The
tab displays the various properties associated with the bean.
sortBeanBean PropertiesTab
A brief description of some of the bean properties is as follows:
NameA name is a unique identifier for the bean so that it can be called by
a MicroStrategy Web page. This attribute is required for all beanssystem
and custom.
different
The eventtype
Handlers panein
handler
musthavetheir
theWeb
onlyapplies
Customization
ownevent
to the specified
handlers
Editor.
bean.
specified
Any child
under
beans
theof
Event
a
this
beans
Persistence
stateinformation.
ofstateinformation
the bean
ModePersistence
between
The Persistence
isrequests
stored.isa
Mode
The
somechanism
that
valuesarelistedbelow:
attribute
subsequent
by
determines
which
requestscan
youstore
ifandhow
access
the the
RequestThe bean state will be passed with and restored from the
request
manipulation,
PreferencesThe
no MicroStrategy
objectbetween
andbeanusesthis
FolderBean
beanstate
pages. isattachedto
Example:
during
persistence
folder
ReportBean
user
mode.
browsing.
preferences.
duringreport
Currently,
is
specify
Event Handlers
the fully-qualifiedclass
panelThis setting
name in
forthe
the Event
eventHandlers
handlers for
panel
the implicit
used to
bean
child
where
and are
hierarchy
beans.
applicable.
propagated
Ifspecified,these
in thepage
Implicit
down fromthe
child
configurationfile
event
beansare
parentbean
handlers
beans
but
are
leveltoimplicit
thatdo
are
addedto
created
nottheparent
appearinthe
childbeans,
bean
programmatically by the parent bean.
For example, report beans and report writer beans can have prompt beans
and viewbeansasimplicit children; document beans can have prompt
beans as implicit children.
Initialization Properties
Initializationproperties
properties are are set immediately afterthebeanis instantiated. These
generally not dependent on a specific request, but rather serve to
provide detail as to how the bean should operate once the remainder of its
properties are set.
Maximum wait time for areporttoexecute will often be the same regardless
of the report to be executed.
Requestexamples
generallylargelydependent
Typical propertiesare veryimportant,
on therequest
as thedata
(suchasthe
desiredby
linkclicked
theuseris
bytheuser).
The Report ID (or Template and Filter IDs) for a report execution request
Theview
The Folder
modeforthe
ID ofafolders
report
contents
request
to bedescribed
The attributes
correspond of theproperty
to the beans methods
nodes
and
ofthe
the parameters
initialization
(arguments)
and requestofproperties
the
of
methods. For example, in the previous example, the value, objectID, the
name attribute corresponds to the setObjectIDmethod of ReportBean. Refer
to the API Reference for the appropriate bean to find various methods
associated with it.
Characteristics
Both ofrequestproperties
initialization and Properties have the following characteristics:
TypeThis specifies the type of the property. The possible values are
string,int,boolean,float,double,and flag.
SourceThis specifies the source for setting the property. The possible
valuesareasfollows:
featureName of thefeature.
SourceThis specifies the source for setting the property. The possible
and
values
feature.
arerequest,enum,constant,preference,browserSetting,
ValueThis specifies the value for the property. For example, for LevelFlag,
it could be123775.
Adding or Removing Beans
AddingBeansRemovingBeans
Adding Beans
You can add a new bean to a MicroStrategy Web page using the New Web Bean
Wizard. The new bean is automatically added to a MicroStrategy Web page.
To add a bean:
4 In the New Web Bean Wizard window, in the Name box, type the name of
your bean.
The Fully qualified bean class indicates the fully-qualified name of the
bean class that should be used to instantiate the custom bean. This
attribute is used only for custom beans, not system beans.
7 Click Next.
9 Click Next.
10 Under
to associate
Is thereacustom
anevent handler
eventforyour
handlerfor
beanand
this bean,select yes if youwant
selectno otherwise.
11 If you selected yes, beside the Event Handler box, click Browse.
12 In the Select - MicroStrategy class window, in the Enter type name prefix or
pattern box, type the name prefix or pattern.
14 Click Next.
15 Under Select the properties you wish to add, select the properties, and using
the >> button, add the initialization properties you want to associate with
your bean.
16 Click Next.
18 Click Next.
19 Click Finish.
20 Click Save.
Removing Beans
You can use the Web Customization Editor to remove a bean associated with a
MicroStrategy Web page. However, you need to be careful when removing beans
as deleting the wrong bean can result in errors in the MicroStrategy Web
application.
To remove a bean:
2 Expandtheappropriate page.
4 Right-click the bean that you want to delete and select Delete.
Request
to a users
properties
unique request
are generally
to the bean.
parameters that relay information specific
You can add or remove a bean associated with a MicroStrategy Web page.
6
TASK INFRASTRUCTURE
Lesson Description
After
DescribeMicroStrategy
completing thetopicsinthis lesson, you willbeableto:
Task Infrastructure
Tasks
Functions
Task Request
ofTasks
Workflow
The
MicroStrategy
following imageillustrates
platform: the service-orientedarchitecture ofthe
ServiceOriented Architecture
Benefits of ServiceOriented Architecture
The service-oriented architecture offers the following benefits:
Task
The task Infrastructure
infrastructureisaset ofcomponents that facilitates highly-interactive
Task Infrastructure
As a result of the MicroStrategy Web task infrastructure, you only need to build
and register your tasks once. and they can then be used by a variety of different
client applications, including MicroStrategy Web, mobile devices, portals, and
so forth.
Tasks
The task infrastructure consists of various Java objects called tasks. A task in
MicroStrategy Web isa well-definedoperation thatis packaged asaWeb-
accessible service. Tasks receive inputs (also referred to task parameters),
perform custom data collection, and generate content. Examples of tasks
include logging in or out, executing a report or document, adding a
mobile
Tasks
another
visualization,deploying
browser
aredesignedto
device.
usingavariety
toa serverora beofprotocols,
awidget,
remotelyand
accessible
includingan
performing
fromHTTP
avariety of actionsfrom
one machineor
requestfrom
deviceto
a Weba
Functions of Tasks
All tasks perform twoessential activities:
client applications:
Task RequestWorkflow
The
request:
following steps are performed when a client application submits atask
4
3 error
The
creates
Aftertask
message
receiving
anperforms
instance
isreturned
the the
request,the
of the
necessarydata
requested
totheclient
Task task.Ifno
Processorchecks
application.
registered
theTask
task isregistry
found, an
and
the
bean's output.
The transform
defined inthe styleCatalog.xml
and thelayout definition
file. file associated withastyle are
7 The Task Processor passes the output content to the requesting Web
8 The
services
requested
framework
outputis
component or the task processor servlet.
Describe the role of the Task Administrator, use tasks, and create tasks.
Task Administrator
is of
TheTask Administrator part the MicroStrategy Webapplication.Itprovides users with accesstothe names, descriptions,
andparameters for allregistered tasks,and enables userstoconstructandtestURLs thatinvoke thesetasks.
1 Open the Task Administrator application using one of the following URLs:
J2EE environment:
http://webserver:port/MicroStrategy/servlet/taskAdmin
where webserveristhemachinethathoststheWeb application server and port is the port number to which the Web
application serverlistens.
.NET environment:
HomeThis tab provides a list of all tasks that are currently registered with the Task Administrator. These include predefined
with The
image
tasksshipped
Task AdministratorHome
displays the Hometab:
MicroStrategy
TabWeb,aswellasanycustom tasksthathavebeen addedbythe administrator. following
Homepage
change the valueof
andtheir
these
current valuesare foundinthe microstrategy.xml file.You canusethe Web Customization Editorto
parameters.
Discovering Tasks
MicroStrategyprovidesseveral pre-builttasks that areregisteredandavailable foruseout-of-the-box. You can locate these tasks
by accessing the Home tab of the Task Administrator. This tab displays all available tasks along with the taskId and description.
For example, the task for logging in is as follows:
taskId = login
Ifyoucannotfindan existingtaskthat meets your needs, you can build your own task and register it in the Task Registry.
Afteritisregistered, it willdisplayon the Home tab.
TestingTasks
YoucanbuildaURL
testingataskisas follows:
toexecute anexisting task andthen invoke ittosee ifitmeetsyourneeds.Theprocess for buildingand
1 Identify the task parameters to useYou need to identify the parameters to use and the values, if any, you will assign to
them. You can identify the parameters that must be or can be used with the task by clicking the Parameters tab of Task
Administrator and selecting the appropriate task in the Task ID combo box. This tab displays all parameters available for the
selected taskalong with the following information for each parameter:
Task
The
Default
following
AdministratorParameters
value,
image
ifany,of
displaysthe
theparameter
parameters
Tab associated withthe reportExecute task:
Task Administrator
Home Parameters Builder Conguration Thursday, August 1, 2013 1:35:11 PM EST
This page allows you to examine the parameters for all registered tasks.
Description: This Task executes and transforms a Report with the style supplied by the caller.
valuePromptAnswers No The parameter to specify the answers for the value prompts
2 Select the task to use and create the URLUsing the Builder tab of Task Administrator, you select the task you want to
use. This tab displays the following information:
- Task Envelopedrop-down list to specify the type of format for the output of the task. You can choose from htrnl, xml,
and so forth.
The value you select for the Task Envelope is used as the value of the taskEnv parameter in the task
call. Every task call should include this parameter to explicitly specify how the contents generated by
the task should be packaged.
' Task Content Typedropdown list to specify the task content. You can choose from html, xml, jSOl'l, and SO forth.
The Task Content Type species how information is rendered and the Task Envelope is the way the information is encapsulated.
For example, if you execute the login task with the XML content type and XML envelope, the final output could be
as follows:
<taskResponse statusCode="200"> <root>
<sessionState>0.000000017ec70b7fl9de882e7dc92073da66589db4707749al60a5fac68277c8a28d4f652e47cE
Tutorial.B19DEDCC11D4wOwtCOOOmB9495DOF44F.O
1033.l.l_lO33.l.l_1033.l.l_3.l.l6</sessionState> <name>Administrator</name></r00t>
</taskResponse>
where the < ta s kRe spons e> tags represent the task envelope and the remaining content represents the task content type.
After you have made your selections, click the Update URL button. A complete URL with the task and task parameters that
you specified is displayed in the pane below. The following image displays the Builder tab of Task Administrator:
3 Test URLIn order to test the URL you have built, ontheBuildertab, click the Invoke URL button. The application attempts
to execute the task, and displays the results.
You can continue to edit the choice and values of the parametersuntil you are satisfied with the result. However, each time
you select or clear a parameter or change a parameter value,youmust click the Update URL button to update the task URL
displayed in the pane. You can then test the new URL byclickingthe Invoke URL button. You can also copy and paste this
URL into a Web browser to test it.
The advantage of executing a report using a bean-based task is that it enables you to return just the data for the report and
You
return
cancreate
it inthepreferred
bean-basedformat(based
tasksusing thefollowing
onthe style/transform
twoapproaches:
usedto generate thecontent).
Assembling an existing beanbased taskYou can build a new task by assembling an existing bean, an event, and a
transform. If an existing
anew the
bean, event, and transform are used, no Java programming skills are required. However, if a
to
transform.While
Extendinga
youarenot
custom
functionality
For example,
bean,
creating
existing
thatis
if
eventhandler,or
youwantto
this
missing
method
beanbased
bean,
customizetheway
fromthe
oftransformare
task
event,
taskYoucanbuild
creationrequiressome
existingbean,
ortransform
needed,
data iscollected
event,
from
thenyouneed
a scratch.
new
ortransform.
Javaprogramming
taskbyextending
for In
your
towrite
this
task,
case,
you
theJavacode
you
skills,itreducestheamount
an
might
write
existingbean,an
need
the codeonly
to
createthe
extendevent,
for
annecessaryclasses.
existing
anda
ofcoding
required
eventas
handler orcreateanewone, which involves writing a new Java class. Similarly, if you want tocustomize the way content
class.
is generated,
Finally,youmightneedto
youmightwant toextend
provide
anexisting
adifferenttransformor
base class for
create
the beantomodify
anewone,which
thealsoinvolveswriting
tasks behavior if theanewJava
nature of
yourtaskis
causesyour moredynamic
class to be invoked
orthesemantics
and lets youoverridecertain
oftheXMLdo not method
fullyconvey
calls. This
thenatureofyour
enables you to task.
declare
Specifying
some aspects
abaseofclass
by
Creating
your taskthrough
Javabased theXML
tasksThesetasks
andimplement
arebuilt
therest
programmatically
inJava. writingoneormorenew Java classes that definethe
task andthen registering thattaskclassina special task configuration file.ExamplesofJava-based tasks include actions such
as logging in to or out of a Web application, a Flex application, or a mobile application. The advantage of using a Java-based
task to log in to a Flex application is that it lets you easily specify the parameters passed to the task and just as easily retrieve
theinformation returnedbythetaskwithout havingtoparseXML.
the
Task
You canCreation
While
APIs,
create
itwriting
does Wizard
tasks
require
custom
usingsophisticatedJavaprogramming
the
Java-basedtasksisanexcellent
Task Creation Wizard. This wizard
way
skillstowrap
and
enables
involves
upyou
functionality
to
much
create
more
a that
new
effortthantheother
isexposedthrough
bean-basedor Java-based
two approaches.
WebObjects
task.
IntheWeb the
To createanew
1 selectNew Task
Customization
task:
tolaunch Editor,inthe
theTaskCreation
ApplicationSettingsview,
Wizard.Thefollowingimage
right-click
shows thefirstwindowoftheTask
Tasksfolder(oranytaskbelow
Creation
it),and
Wizard:
Create a Task using an existing Bean and Event (XML based Bean Task)Use this option if creating a task by
assembling or extending an existing bean.
3 Click
Create
Next. aTaskby writingaJavaclassonlyUse thisoptionif creating a taskbycreatingyourown Javaclass.
4 In the next window, in the Task ID box, type the task id. The following image shows the second window of the Task Creation
Wizard which contains the Task ID and other parameters:
5 Beside the Fully Qualified Task Class box, click Browse.
6 In the Select Task window, type the task class name, pattern, or prefix to find the task class.
7 Under Matching types, select the task class and click OK.
10 Beside the Bean upon which your Task will be based box, click Browse.
11 In the Select System Bean window, to find the system bean, type the bean class name, pattern or prefix.
12 Under Matching types, select the system bean class and click OK.
13 In the Style to be used to format the data drop-down list, select the style.
15 If the task parameter is required, for Required, select the Yes check box.
In
16 theDescription forstyle parameter box,typethe description.
17 If creating a class file, select the Create Java Class check box.
18 ClickNext.
19 Select the events to trigger when executing the task and click the >> button. The following image shows the third window of
the Task Creation Wizard:
20 Click Next.
The steps in this topic assume that you did not select any event to trigger your task. If you do use an event, on clicking Next,
you will be taken to a window where you can provide information about the event argument to be used when executing your
task; whether the argument is exposed or not; the argument name, alias, and description; whether it is a required argument;
and the default value of the argument.
21 If you want to add any additional parameters, click Add as shown in the following image:
25 Click Next.
26 Click Finish.
Lesson Summary
MicroStrategyWeb hasaservice-oriented architecture, which enables it to
provide services to multipleapplications.
You can createtasks using the Task Creation Wizard. This wizard enables
you to createanew bean-based or Java-based task.
7
STYLES, TRANSFORMS, AND
LAYOUTS
Lesson Description
This lesson describes how you can modify the look and feel of MicroStrategy
Web by changing the data presentation, styles, and layouts.
Lesson Objectives
AfterDefinetransforms,
completing the topics
styles,
in this lesson,you will beableto:
Become familiar with the style catalog configuration file, the Styles folder,
and the styleeditor.
Define layout definitions, understand the layout architecture, and learn how
to associatelayout definitions withstyles.
Data Presentation
DataPresentation Overview
Transforms
Styles
Layout Definitions
Transform, Style, andLayout Definition Relationship
Transforms
A transformobject isa Javaclass responsible for generating the outputfrom a
output
specificcanbeinformats
typeofbeans data
such
according
as HTML,
to therules
DHTML,defined
WML, XML,
bythetransform.
PDF, and soThe
All out-of-the-box transforms are defined in the style catalog configuration file
and ready to be used by a style. When you create a new style, you must specify
the transformthatwillbeused by that style. The rules defined in a transform
can onlyapplytoasinglebean type, though many transforms can be written for
a bean, providing various alternatives for how that beans data can be displayed.
You can create your own transforms and use them in MicroStrategy Web
products. Since transforms are self-describing,information about their
descriptions, types, and names must be provided while designing them.
in
that
Creating
this
manycustomizations
course.
anewHowever,
transformtheMicroStrategy
requires
can be accomplished
Java programming
Webarchitecturewas
by simply
skillsand
modifying
isdesignedso
notcovered
thelayout
For a list of parameters for transforms, see the Transforms Parameter Reference
in the MSDL.
are
components.
Transforms
notuseddirectly.
containtherules
Eachstyle
Stylesareuseddirectlyto
linksto
that
transformsand
render thedatafurnishedbyabean,butthey
display
containbeansand
values for WebGUI
the
Layout Definitions
and
Layout
file,
Theycontentofthe
calleda
provideaflexible
definitions
layoutoutputrendered
are
definition
responsible
anda code-free
file, whichincludes
for
bydefining
aapproach
transform.You
thetomodifying
both
layoutof
regular
simply
contents
the
modify
arrangement
onapage.
anXML
HTML elements
as well as MicroStrategyCustom HTMLtags.These elements and tags represent
content from a transform associated with the layout definition. The transform
content is typically well-defined sections of the transform output, such as the
name of the object or the action links in the folder browser transform.
A layout definition file is associated with a transform through a style in the style
catalog configuration file. All layout definition files are located under WEB-
INF\xml\layouts in the MicroStrategy installation directory.
contents
A MicroStrategy
ofafolder.Italso
Webpage,such
provides
asadetailedinformation
Folder Browsing page,displays
aboutthe objectsin
the
the folder, suchasthename and description ofthe objects, owner of the objects,
last modification date of objects and so on. You can customize the level of
Transform,
Relationship
details
also Style,tousing
useyouwanttodisplay
layout definitions and
modify Layout
thelayout Definition
the arrangement
definitions.
ofthe
Additionally,
contentonapage.
youcan
Transforms normally take translate data from beans and translate it into
HTML. Styles set the parameters for the transforms. Layout definitions enable
you to arrange and modify the content and layout of these pieces of HTML
without needinganyJavacode. Therelationships betweenthebean, transform,
style, and layout definition is illustrated in the following image:
BeanTransformStyleLayout Relationship
Transform takes
information and creates
HTML
Read properties
style
Data from
bean
Styles
StyleCatalog Configuration File
StylesFolder
Style Editor
Adding Style
Duplicating a Style
Viewing
Deleting XML
Stylefor aStyle
Become familiar withthe style catalog configuration file, the Styles folder, and
the style editor.
associated
located
Beans
The
servlet
default
contain
convertingthe
style
andWeb
or
file
under
any
catalog
ASP.NETfile
withtheformal
provided
information
WEB-INF\xmlfolderofthe
data
GUI
configuration
contained
with
Components
during
onhow
MicroStrategy
parametersfor
in
initialization
filecontains
the
beansare
access
dataWeb
and
should
transforms.
application.
provided
information
and
contain
iscalled
is
bethen
displayed.
by
data,
styleCatalog.xml
The
thestyles
stored
about
fileis
butThe
in
theydonot
theactualvalues
readbythe
memory.
inthe
rulesfor
andis
style
The
catalog configuration file.
Styles Folder
In the Web Customization Editor, styles are displayed under the Styles folder in
the Application Settings view. The following image shows the Styles folder:
Styles Folder
Style Editor
A style has various properties associated with it. You can view these properties
in the style editor.
2 Double-click the appropriate style to launch the style editor. The following
image shows thestyle editorforthe ReportGridStyle:
Style Properties
Style Parameters
Style Layouts
The next sections provide brief descriptions ofthe parameters displayed on each
tab.
the style. You can edit the transform associated with a style by clicking the
with
Edit Transformbutton.Similarly,
the style. youcan modify the transformassociated
1
2 In the Style
SelectProperties
Transformtab, beside the Transformbox, clickChange.
4 Click OK.
5 Click Save.
The following image shows the Style Parameters tab for ReportGridStyle:
Transform Parameters
The two styles have different values for five of the transform's parameters:
useBuiltInFormat, cssFile, cssPrefix, showBanding, and contextMenus. The
values provided for each of these parameters is used to override the default
parameter values when this style and its associated transform are applied to
a bean.
2 In
youthe
button.
wishtoadd,select
Shopping Cart -Add
the parametersthat
Elementswindow,
youunder
want to
Select
addandclick
the parameters
the >>
OR
5 Under Parameter Properties, in the Value box, type the new value.
6 Click Save.
The following image shows the Style Layouts tab for ReportGridStyle:
1 In the Style Layouts tab, beside the Layout Definition box, do one of the
following:
To edit the current layout definition file, click Edit Layout. A message
displays indicating that the copy of the file created in the plugins folder
willopenfor editing. ClickYestothe message, thenmakethe
appropriate changes to the file, and save the file.
To
Closethewindow
preview XML inthelayout definitionfile, click Preview Layout.
after previewing the file.
2 Click Save.
Adding Style
You cancreateanew styleusing the Style Creation Wizard. The new style is
automaticallyadded tothestyle catalog configuration file.
You can also access the Style Creation Wizard using any of the following
four methods:
In the Application Settings view, right-click the Styles folder (or any
style below it), and select New Style.
The following image shows the first window of the Style Creation Wizard:
4 In the Transform Defn drop-down list, select the transform definition for
the style.
You can also createa newtransform from within the wizard by clicking
New Transform Defn. The transform you create automatically gets
included in the style catalog configuration file.
5 Click Next.
6 In
thethe
appropriate
Select the transform parameters youwishto add on the style, select
transform parameters, and click the >> button.
7 Click Next.
9 Click Next.
12 Click Next.
13 Click Finish.
Duplicating a Style
You can duplicate an existing style using the Web Customization Editor.
To duplicate a style:
2
3 Right-click
In the DuplicateStyle
theappropriate
window,
styleand select Duplicate.
4 Click OK.
Deleting Style
You can delete a style using the Web Customization Editor.
To delete astyle:
4 Click Save.
Layout Definition
OverviewLayoutDefinition Architecture
Overview
Layout definitions are used to modify the arrangement and content of the
output of a transform. Layout definitions enable you to modify an XML file that
includes both regular HTML elements and elements representing content from
the transform.
displayingthe
For example, consider
content ofafolderon
thefolder transform
a Folder
output
Browsing
thatisresponsible
page.It provides
for
detailed information about the objects in the folder, such asthe name and
description of the objects, owner of the objects, last modification date of the
object
you wanttodisplay.
and soon.UsingThelayout
following
definitions,
image illustrates
you cancustomize
the default
thelevel
displayfor
ofdetail
the
The
a series
transform
of smallresponsible
steps. For example,
for creating
it creates
the above
the contentrenders
HTML for the header
theHTML in
section
and then creates a row for each object in the folder. In turn, each row is actually
is
made
important
up of small
to notethat
HTML the
sections
orderfor
andtheicon,
layout is
object
determined
name, owner,
by the layout
andso on.It
definition file. To customize the output, you need to modify the layout definition
file used by the transform.
On the other hand, a transform that does not use a layout definition file relies
on Java methods to arrange the content for each of the objects into the above
layout by looping through each object in the folder and creating an HTML row
for each folderobject.It then,inturn, calls theappropriate methods togenerate
the HTML for the object name, owner, description, and so on that is displayed
in the column. In this case, the order and surrounding layout for the output is
controlled by the Java methods. To customize the output, you need to replace
the
transform
arranging
classes.
methods with newmethods by extending oraggregating the
The following two images show part of the Folder Browsing page in the List
View and Large Icon View modes, respectively:
FolderDisplay inListView
Folder Display in Large Icon View
These images illustrate the flexibility of the layout transform. Both view modes
use the same Java class, but differ only in their layout definitions.
Changing a Layout Definition Associated with a
Style
You can changetheway the data ispresented by a style simply by changing the
layout definition for an existing transform within MicroStrategy Web. The
layout definition can be a new file that you create or a modified version of an
existing layout definition file, and the style can be a new style or a modified
version
Layouts
Youcan
of an existingstyle.
tabofthestyle
changethe layout editor.
definition associated witha styleusing theStyle
Lesson Summary
A transformobject is aJavaclassresponsible for generating the output
from a specific type of beansdata.
The
MicroStrategy
stylecatalog
Web
filedefinesthe
application. It
transforms
contains information
andstyles for the entire
about the actual
values associated withthe parameters for transforms.
modify
A
arrangement
layoutanXMLfile
definition
and content
isaflexible
that includes
of theand
output
both
simpleapproach
regular
of a transform.
HTMLtoelements
It
modifying
enables
and
youto
the
in
Thethe
use
transformorbean
ofanelementin with
a layout
a particular
definitionfile
signature.
impliesthata methodexists
8
CASCADING STYLE SHEETS
Lesson Description
This lesson describes the different types of Cascading Style Sheets and their use
in modifying the look and feel of MicroStrategy Web. You will learn how to
perform customizations involving CSS files.
Lesson Objectives
Explain the benefits of Cascading Style Sheets, describe the types of CSS files
used in MicroStrategy Web, and perform CSS customizations.
After
Describe
completing
CascadingStyleSheets
the topicsin this lesson,you
and understandthe
will be ablebenefits
to: ofusing
Describe Cascading Style Sheets and understand the benefits of using Cascading
Style Sheets.
Cascading style sheets (CSS) are a simple, yet powerful, tool to achieve
paragraph alignment. ofvarious HTML elements such asfonts,font sizes, and
consistentformatting
CSS gives greater control to the Web page developer,
rather than to the browser, over the appearance of a Web page. It enables Web
developers to provide a consistent look and feel across different browsers.
The is stored
information,including
information
In MicroStrategy
formattingandsimple
MicroStrategy inarrangement
Web,the
Web fonts,colors,
CSS.
GUICSS
generates
files provide
changes.
images,and
HTML aMostofthe
centralized
pages
somewhich
arrangement
formatting
location
use several
formaking
CSS files.
These CSS files are referenced in the HTML by <link>tags. Typically, the
<link>tagscanbefound
exceptions. For example, some
in the
transforms, whichof
<head>section are
theHTML,
stillused in
withafew
the GUI,
Application-wide CSS
Page-specific CSS
The table below lists the application-wide CSS files in the /style/mstr subfolder.
Files
mstrTheme.css color
Contents
Formatting
themes.Responsible
for differentMicroStrategy
forfont properties,
Web
shortcuts bar, navigational path, toolbars,
menus, and accordions
mstr.css
Application-wide CSS Formatting
changes performed
for theentire
usingMicroStrategyWeb
the Web Customization
PageSpecific
Page-specific CSSFiles
CSS files contain rules for aspecifictypeofMicroStrategy Web
page. The following table lists some of these page-specific files in the
\style\mstr subfolder, and notes which page type each file applies to:
pagePrompts.css or
The Prompts page fora prompted report
document
pageRW.css The
(applies
Report
to view
Services
and design
Documentpage
modes)
These CSS files references are defined in each pages links page section by
default. Most transforms (particularly the newer transforms) do not output
<link> information as part of their HTML output. Rather, they rely on the
<link> information being defined in the page into which the transform output
is included.
wide CSS canspecify that the toolbar dock zone should be displayed near the
top of every MicroStrategy Web page by default. However,can the page-specific CSS
file for the MicroStrategy Web Administrators page specify that the tool
when
BrowserSpecific
dock canbe
<link2>will
TheCSS CSSFiles
zone shouldbehidden
affectedbyCSS
Specification
always override
dictates
specificityrules.
for suchthose
that
pages.
defined
thereare
in <link1>.However,
conflicts the valuesin
this
browser-specific CSS files.For every Web page, MicroStrategy Web reads the
type of browser and includes a single <link>tothe corresponding CSS file in
the <head>section of the page.
Some examples of css files in the /style/mstr folder are chrome.css, ie6.css,
ie9.css, firefox4.css,andfirefox2.css.
Customizing CSS Files
1 MicroStrategy Web uses CSS files when it generates the HTML source for a
MicroStrategy Web page. It uses CSS files identified by links page section
files defined in the page configuration file, as well as a CSS file that is
specific to the browser being used to view the page. If a page inherits page
sections fromtheDefaultPage,the <link>tagsforthe application-wide
CSS files are generated first, followed by the <link>tags for the page-
specific CSS files. Finally, the application automatically generates a single
<link>tag tothebrowser-specific CSS file.
2 all
MicroStrategyWebhas
the pages.Themesare
several
a collection
defaultofcolor
themethemes
elements
that or
youfront
canapplyto
end objects
of
that
(color),
theme
definethelookand
pathbar
elementsinclude
(gradient),
feelthe
pathbar
of shortcut
the MicroStrategy
font
bar(gradient),
(color), Web
editorsand
interface.
shortcutdialogs
barfont
Examples
title
In
bar
customization
some
font (color),
cases, needs,
you
andso
canwithout
simplyusea
forth. havingto
different
perform
themeto
any customizations.In
meet your
addition, by deploying themes as a plug-in, you can easily share themes with
other MicroStrategy Web applications.
To select acolortheme:
4 In
appropriatecolor
the General preference, fromtheColor Theme drop-downlist, selectthe
theme. You can change themes at the user or project level.
The following image shows the Color Theme setting:
Color ThemeSetting
5 To save a color theme, click Apply.
images
images.that adhere to the relative position and sizesof MicroStrategy
CSSRelated Customizations
MicroStrategy
most CSS-related
recommends thatyou use the Web Customization Editor for
customizations. You can make CSS-related changes either in
the Application Settings view or in the CSS Settings view, depending on your
preference. You can use the Application Settings view to customize CSS for
individual pages and the CSS Settings view to edit global CSS rules.
ApplicationSettingsView
In the Application Settings tab, in the Pages folder, there are items representing
each
CustomizationsThis
subfolders:
MicroStrategy
pageinMicroStrategy
WebThisWeb.Youcan
folder
folder
contains
contains
expand
the theoriginal
customized
each pagefiles
files.
to display
with thedefault
two
values (unless you modified the original files). Any changes you make to the
files in this folder are stored in the customized files in the Customizations
folder.Thesyntax ofthecustom file name is pageNamePage.css where
pageName refers to the actual name of the page. For example, if you make
any CSS-related changes to the report page, those changes are stored in the
reportPage.css file.
CustomizationEditorto
You canuse theSearch MicroStrategy
find Objects functionality in theWeb
CSS files, rules, and properties used in
MicroStrategyWeb.
2 Use a developer tool to identify the CSS elements such as name of the CSS
file, selector, andproperty that areresponsible forthe aspectoftheGUI
that you want to customize.
3 CSS
You can
tab by
make
making
changes
changestothe
to a specificCSSfilein
MicroStrategy
the Customizationsfolder
Web stylesheet usingor
the
the MicroStrategy Web folder. If you attempt to modify a CSS file in the
MicroStrategy
all changes affect
Webfolder,
onlythe copy.
a copy
This
displaysin
isbecause
theCSS
Customizations
files in MicroStrategy
folder and
original
Web arenot
CSS deltafilesinstead
file, theWeb Customization
ofmerging your customizationsand the
Editor must make a copy of the
original CSS file and store the changes in the copy.
4 file.
Web
can
If theuse
CusotmizationEditorstores
CSS
thechange
CSS tab
is tomodify
applicableglobally
global.css.As
your changes
to allMicroStrategy
withinpage-specific
a copy ofthe
Webpages,
CSSfiles,
original CSS
you
the
All customCSS files are saved in the plugins folder inside the appropriate
customization plug-in. If you need to specify thepathto these custom CSS
files, use the following syntax:
../plugins/pluginName/style/reportPage.csswhere
pluginName is the name of your customization plug-in.
Lesson Summary
CascadingStyleSheets provideacentralized location for making formatting
and simple arrangement changesinMicroStrategy Web.
For
you any
shouldusethe
image-related
corresponding
customizations (such as removing existingimages),
sprite images, adhering to the relative
position and sizes of MicroStrategy images.
A
API Reference 32
application beans 60
application objects layer 60
B
bean 59
addingorremoving 176
application60
events 58
state 58
syntax 169
types 169
C
Cascading StyleSheets See CSS
contained bean 131, 138
CSS 265
application-wide 266
browser-specific 268
page-specific 267
types 265
Custom HTML tags 31, 63
D
default page 127
delta file 75
Display Web GUI Component Wizard 137
document bean 172
E
external security module 21,26, 66
F
feature 129
I
identity management applications 21
implicit child bean 172
initialization properties 173
J
java beans 58
JavaBeans20
L
layer
application objects 60
presentation 63
web objects
beans57 56
web transforms 58
XML API 56
layout definition 237
architecture 237
layout definitions 225
M
markup output object 59
messages bundle 62
MicroStrategy Developer Library 11, 24, 30, 34, 37
sections34
MicroStrategy Developer Zone 37
MicroStrategy Web architecture 54
MicroStrategyWeb17
P
page configurationfile 31,61, 126
page executionflow65
page section 135
page template 131
pageConfig.xml 102, 126
172
persist mode
plug-in 18, 71,72,73,76,79, 90, 91
R
request properties 173
S
sample applications 33
SDK components 23
servlet 63
142142
shortcut list
style 224
style catalogfile 32,61
T
template 131
template file 134
Template Shortcuts Wizard 144
template status 133
transform 59, 223, 226
transform parameters 32, 225
V
view bean172
W
Web Beanslayer 57
Web Customization Editor 18, 62, 72, 79, 89, 90, 91, 92
Web feature 129
Web layers 55
Web Objects layer 56
Web SDK 30
Web services 19, 200, 201, 202
Web services development kit 24
Web
WebBean
Transforms layer 58
interface58
WebComponent interface 58
X
XML API 19
XML API layer 56
Index
A
API Reference
application beans
application objects layer
bean
adding or removing
application
events
state
syntax
types
applicationwide
browserspecific
pagespecific
types
Custom HTMLtags1, 2
D
default page
delta file
Display WebGUI Component Wizard
document bean
feature
java beans
JavaBeans
layer
application objects
presentation
web beans
webobjects
web transforms
XML API
layout definition
architecture
layout definitions
sections
MicroStrategyDeveloper Zone
MicroStrategyWeb
MicroStrategy Web page
page section
configurationfile1, 2, 3
executionflow
page template
pageConfig.xml 1, 2
persist mode
plugin 1, 2, 3, 4, 5, 6, 7, 8
plugin
plugins architecture
1, 2 1,2,3,4,5
R
request properties
sample applications
SDK components
servlet
shortcut
shortcut list
style
style catalogfile 1, 2
template
template file
Template ShortcutsWizard
template status
transform 1, 2, 3
transform parameters 1, 2
view bean
Web Customization
Beanslayer Editor1,2,3,4, 5, 6,
7, 8
Web feature
Web layers
Web Objects layer
Web SDK
Web services 1, 2, 3, 4
Web services development kit
Web Transforms layer
WebBean interface
WebComponent interface
XML API
XML API layer