A framework approach eases support for the iServer Brio MidAtlantic User Group 8th April 2003 - PowerPoint PPT Presentation

1 / 48
About This Presentation
Title:

A framework approach eases support for the iServer Brio MidAtlantic User Group 8th April 2003

Description:

CommandButton1.OnClick Event. var tp = this.Parent. Qiq_trace('In ' tp.Name '.' this.Name,0,tp) ... c.OnClick(mySection,myControl) this.Parent. ... – PowerPoint PPT presentation

Number of Views:44
Avg rating:3.0/5.0
Slides: 49
Provided by: Jorge130
Category:

less

Transcript and Presenter's Notes

Title: A framework approach eases support for the iServer Brio MidAtlantic User Group 8th April 2003


1
A framework approach eases support for the
iServer Brio Mid-Atlantic User Group8th April
2003
  • Socs CappasQIQ Solutions

2
Agenda
Introduction
Our Brio iServer Experience
A Framework for Brio JavaScript
Leveraging the Framework
Where to from here
3
Who is QIQ Solutions?
  • Part of the Forge Group
  • Australian owned and operated since 1996
  • Offices in Sydney, Canberra and Melbourne
  • Forge Research
  • Developer of Telco Management Systems
  • Tens of thousands of network devices
  • 7x24 nationwide operation
  • Forge Data Solutions
  • Business Intelligence implementation
  • QIQ Solutions
  • Business Intelligence Product Development
  • Brio Solutions Partner

4
What QIQ does (1 of 2)
  • 2000 Query Intelligence
  • Harvest BQYs for their attributes
  • Load attributes into RDBMS
  • Query and Report on your BQYs
  • 2001 ES Designer
  • Framework for dashboards
  • Dashboard building via a Wizard
  • 2001 QIQ Merge
  • Merge your existing BQYs
  • With each other
  • With our framework

5
What QIQ does (2 of 2)
  • 2002 ES Architect
  • IDE for Brio JavaScript
  • Color coded syntax, brace match
  • Break points, Step execution, Peek and poke
    properties
  • Search and replace etc
  • 2003 Upgrade Dashboards for iServer
  • iServer has changed the Brio model
  • We change our users dashboards to match it
  • 2003 Upgrade Data Models
  • RDBMS changes, data model changes
  • Replace your old data models with new data models
  • Make your old Queries work against new schemas

6
ES Designer and its Dashboards
ES Designer Wizard
7
ES Architect - IDE for JavaScript
ES Architect
8
Agenda
Introduction
Our Brio iServer Experience
A Framework for Brio JavaScript
Leveraging the Framework
Where to from here
9
Architecture Pop up dialogs
Designer / Explorer / Insight QuickView FreeView
Click to start
JavaScript executes locally
Dialog pops-up
User answers
JavaScript executes locally
Screen is refreshed
JavaScript executes locally
10
Architecture Helper Forms
iServer
11
Architecture Joole
Designer / Explorer / Insight QuickView FreeView
var jonew JOOLEObject(param) jo.methodCall() L
ets you call and interact with the local
operating System
12
Architecture Joole
iServer
var jonew JOOLEObject(param) jo.methodCall() i
Server ignores this Why? a) It could be an
attack on the server b) the local OS is the
server! c) the local OS may not be Windows
13
Architecture Print / Export
  • Browser Print button for screens
  • Brio print feature not available
  • The servers resources may be
  • behind the firewall
  • on another continent
  • etc
  • Export feature not available via menus but can be
    implemented using JavaScript

iServer
14
Platform Differences
  • OnDoubleClick() not available
  • RefreshAvailableValues() broken
  • Intermittent firing of OnActivate()
  • ActiveSection construct can cause unexpected
    behavior
  • Connected status ambiguous
  • No Console Window
  • Charts and Pivots on EIS act as hyperlinks
    alwaysbut there is no back button
  • Ovals / round boxes gt rectangles
  • Multiple spaces are reduced to one
  • Browser versions are critical

iServer
15
Who is the Audience?
  • Can only be built via EIS / JavaScript
  • New Data models
  • New Queries
  • New Charts
  • New Pivots
  • New Reports
  • New or existing Local Limits
  • The audience seems casual users
  • Dashboards are essential for this audience

iServer
16
Making Dashboards iServer ready
  • Deploy to the iServer
  • Run all critical paths and observe the behavior
  • If something is broken find it and fix it
  • For all platforms
  • It took us almost 2 months
  • ESD dashboards only have ONE code base
  • No matter how many dashboards
  • We have complex and sophisticated code
  • We have our own fully featured diagnostics
  • We dont use the Console window so dont miss it

17
Agenda
Introduction
Our Brio iServer Experience
A Framework for Brio JavaScript
Leveraging the Framework
Where to from here
18
Your BQYs Our Framework
QIQ Merge / Import feature
Pivots
Charts
Results
Run Time
Build Time
Queries
Regular BQY
Template
19
Framework Needs Configuration
Pivots
Charts
Results
Runtime Framework
Build Framework
Queries
Template
20
Wizard Driven Application Building
Wizard Builder Interface
Pivots
Charts
Results
Runtime Framework
Queries
Build Framework
Runtime
Source Master
21
Extend with Plug and Play Components
Wizard Builder Interface
Pivots
Charts
Results
Runtime Framework
Queries
Build Framework
Runtime
Source Master
22
Analytic Development Platform
Development Lifecycle with Templates and
Components
Point, Click, Generate
Components
ES Designer
Templates
23
Let us look closely at the framework
OnStartup() discover environment
initialize diagnostics initialize back plane
initialize core initialize extra
initialize P-n-P activate welcome EIS
Visible EIS sections
Hidden EIS sections
Runtime Framework
Back plane
24
QIQ Diagnostics our life saver
25
Pattern for Qiq_trace
OnStartUp() function Qiq_trace(str,level,compone
nt) if (str.slice(0,3).toLowerCase()in
) Qiq_arrProcStack.push(str) else
if (str.slice(0,4) ).toLowerCase()out )
Qiq_arrProcStack.pop() if
(Qiq_harTraceLevelcomponentgtlevel)
SectionsQIQ Diagnostics.lbxTrace.Add(str)
ActiveDocument.Qiq_traceQiq_trace
26
Pattern for Component Initialization
OnStartUp() ActiveDocument.harSections1020new
Array() for (var a1altSections.Counta)
if (Sectionsa.TypebqEIS) if
(Sectionsa.FrameType.Text1020)
harSections1020Sectionsa.NameSectionsa
for (var b1bltSectionsa.Shapes.Countb)
if (Sectionsa.Shapesb.TypebqCo
mmandButton) Sectionsa.Shapesb
.OnClick()
27
Pattern for Components
Hidden EIS Section Buttons
Text Labels
StartUp
Frame Type 1020
Version Info
ShutDown
Component Info
Pre Process
Tool tips
Post Process
Language Strings
On Activate
Other persistent settings
On Deactivate
Control Click
Drop Down Select
Is System Section
Reset
Others
28
Pattern for functions
CommandButton1.OnClick Event var tp
this.Parent Qiq_trace("In " tp.Name"."
this.Name,0,tp) tp.harConstantsnew
Array() function Qiq_onClick(mySection)
Qiq_trace("In "tp.Name".Qiq_onClick()", 1,tp)
// regular code Qiq_trace("Out "tp.Name
".Qiq_onClick()", 1,tp) tp.Qiq_ onClick Qiq_
onClick Qiq_trace("Out " tp.Name"."
this.Name,0,tp)
29
Sample Initialized Brio Object Model
30
Pattern for User EIS sections
Visible EIS Section Scripted Shapes
Hidden Text Labels
Button 1
Configuration info for Button 1
Configuration info for Button 2
Button 2
Configuration info for Button n
Button n
etc
Drop Down 1
txlMe gt Template back plane
Drop Down 2
txlClass gt Component
Drop Down n
Picture 1
Picture 2
Picture n
Text Label 1
Others
31
Events on User EIS
Any Control - Any Event() SectionstxlMe.Text.Q
iq_onControlClick(this.Parent,this)
32
Pattern for Event Broker
function Qiq_onControlClick(mySection,myControl)
switch (myControl.Name) case (known
id1) handler1(mySection,myControl) break
case (known id2) handler2(mySection,myControl
) break case (known id3)
handler3(mySection,myControl) break //
etc default var
cfindComponent(mySection,myControl)
c.OnClick(mySection,myControl)
this.Parent. Qiq_onControlClick
Qiq_onControlClick
33
Typical Interaction
Pivots
Charts
Results
Runtime Framework
Queries
Build Framework
Runtime
Source Master
34
Agenda
Introduction
Our Brio iServer Experience
A Framework for Brio JavaScript
Leveraging the Framework
Where to from here
35
Code only exists in the Infrastructure
Pivots
Charts
Results
Runtime Framework
Build Framework
Queries
System Infrastructure
36
So when the world changes
Pivots
Charts
Results
Runtime Framework
Build Framework
Queries
System Infrastructure
37
We can Upgrade it safely
Pivots
Charts
Results
Runtime Framework
Build Framework
Queries
System Infrastructure
38
Template Make
1) Code Test Dev App
2) Generate Template
3) Upgrade newsections.dat
4) Upgrade Applications
39
Component Make
1) Code Test Dev App
2) Generate Component
ComponentDev Apps
TemplateDev App
3) Upgrade newsections.dat
4) Upgrade Applications
Sample and Production Applications
40
Template Component Make
1) Code Test Dev App
2) Generate Template
ComponentDev Apps
TemplateDev App
3) Upgrade newsections.dat Component
Dev Apps
4) Upgrade Applications
Sample and Production Applications
41
The Productivity Advantage
Analytic Development Platform
Traditional EIS Development
Highly Technical Developers
Components and Templates
Computer Literate Developers
Analytic Applications
Analytic Applications
42
Tool and Component Productivity
Component basedGenerated Applications
Generated Applications
Productivity
Hand written Applications with IDE
Hand written Applications no IDE
Flexibility
43
Benefits of this framework
  • Construction productivity
  • Focus on the businessnot on programming bugs
  • Empower the business users to drive performance
  • Build dashboards in hours not days and weeks
  • Standardization
  • Reduce the cost of training standard features
  • Saving on maintenance and enhancement
  • Write no code maintain no code
  • QIQ support the framework with new versions of
    Brio
  • Leverage QIQs JavaScript for your P-n-P
    components
  • Maintain only your P-n-P components
  • Save on how you keep dashboards current
  • ES Upgrade automates deployment of upgrades and
    enhancements

44
Agenda
Introduction
Our Brio iServer Experience
A Framework for Brio JavaScript
Leveraging the Framework
Where to from here
45
Change is the Management Challenge
  • What needs to change?
  • How to apply it quickly and effectively?
  • How to apply it consistently?
  • How to ensure no unwanted side effects?
  • How to authorize changes?
  • How to work within enterprise standards?

46
The Management Vision
  • Reduce the time and effort to roll out changes
  • Build lists of impacted documents easily
  • By defining criteria
  • By matching against provided samples
  • By selecting specific documents
  • Specify changes verifiably
  • Change specification generate scripts
  • Scripts can be saved and re-used
  • Changes can be tested on subsets of a list
  • Change reports generated
  • Authorization of change
  • Who can identify documents to be changed
  • Who can specify and apply changes
  • Recording who made the changed
  • Automation of change
  • Schedule execution of changes
  • Assist organizations with their change control
    process
  • Development, Test and Production

47
QIQ Workbench
Desktop Client
BrowseFolders
Ad-hoc Changes
Define Favorites
Standard Changes
ServiceManager
Desktop TransformEngine
Change Scripts Doc Lists
48
What Kinds of Changes?
  • Section Merge
  • With full dependency
  • Yank and graft
  • Section Replacement
  • EIS
  • Data Models, resolving all references
  • Re-Parent of Charts and Pivots
  • Document-wide shape properties
  • Locking, Visibility, Image replacement, Colors
  • Ad-hoc changes
  • Program changes in JavaScript
Write a Comment
User Comments (0)
About PowerShow.com