1 / 48

A framework approach eases support for the iServer Brio Mid-Atlantic User Group 8 th April 2003

A framework approach eases support for the iServer Brio Mid-Atlantic User Group 8 th April 2003. Socs Cappas QIQ Solutions. Agenda. Introduction. Our Brio iServer Experience. A Framework for Brio JavaScript . Leveraging the Framework. Where to from here. Who is QIQ Solutions?.

vida
Download Presentation

A framework approach eases support for the iServer Brio Mid-Atlantic User Group 8 th April 2003

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Click to start JavaScript executes remotely New HTML is sent to browser Click to start JavaScript executes remotely New HTML is sent to browser Click to start JavaScript executes remotely New HTML is sent to browser Architecture – Helper Forms iServer

  11. Architecture – Joole Designer / Explorer / Insight QuickView FreeView var jo=new JOOLEObject(“param”) jo.methodCall() Lets you call and interact with the local operating System

  12. Architecture – Joole iServer var jo=new JOOLEObject(“param”) jo.methodCall() iServer 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 server’s 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 always……but there is no back button • Ovals / round boxes => 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 don’t use the Console window so don’t miss it

  17. Agenda Introduction Our Brio iServer Experience A Framework for Brio JavaScript Leveraging the Framework Where to from here

  18. Reports Frame Classes Core Classes CoreCollector Extra Classes Your BQYs & Our Framework QIQ Merge / Import feature Pivots Charts Results Run Time Build Time Queries Regular BQY Template

  19. Reports Frame Classes Core Classes CoreCollector Extra Classes Framework Needs Configuration Pivots Charts Results Queries Runtime Framework Build Framework Template

  20. EIS - User Interface Reports Frame Classes Core Classes CoreCollector Extra Classes Wizard Driven Application Building Wizard Builder Interface Pivots Charts Results Queries Runtime Framework Build Framework Runtime Source Master

  21. EIS - User Interface Reports P-n-PCollector P-n-P Frame Class Frame Classes CoreCollector Core Classes Extra Classes P-n-P Classes Extend with Plug and Play Components Wizard Builder Interface Pivots Charts Results Queries Runtime Framework Build Framework Runtime Source Master

  22. Design, Code, Test Components ES Architect Analytic Development Platform Development Lifecycle with Templates and Components Point, Click, Generate Components ES Designer Templates

  23. EIS - User Interface Core Classes Extra Classes P-n-P Classes 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,component){ if (str.slice(0,3).toLowerCase()==“in ”){ Qiq_arrProcStack.push(str) }else{ if (str.slice(0,4) ).toLowerCase()==“out ”){ Qiq_arrProcStack.pop() } if (Qiq_harTraceLevel[component]>=level){ Sections[“QIQ Diagnostics”].lbxTrace.Add(str) } } ActiveDocument.Qiq_trace=Qiq_trace

  26. Pattern for Component Initialization OnStartUp() ActiveDocument.harSections1020=new Array() for (var a=1;a<=Sections.Count;a++){ if (Sections[a].Type==bqEIS){ if (Sections[a].FrameType.Text==1020){ harSections1020[Sections[a].Name]=Sections[a] for (var b=1;b<=Sections[a].Shapes.Count;b+){ if (Sections[a].Shapes[b].Type==bqCommandButton){ Sections[a].Shapes[b].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.harConstants=new 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 => Template back plane Drop Down 2 txlClass => Component Drop Down n Picture 1 Picture 2 Picture n Text Label 1 Others…

  31. Events on User EIS Any Control -Any Event() Sections[txlMe.Text].Qiq_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 c=findComponent(mySection,myControl) c.OnClick(mySection,myControl) } } this.Parent. Qiq_onControlClick = Qiq_onControlClick

  33. EIS - User Interface Reports P-n-PCollector P-n-P Frame Class Frame Classes CoreCollector Core Classes Extra Classes P-n-P Classes Typical Interaction Pivots Charts Results Queries Runtime Framework 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. EIS - User Interface Reports P-n-PCollector Frame Classes P-n-P Frame Class CoreCollector Core Classes Extra Classes P-n-P Classes Code only exists in the Infrastructure Pivots Charts Results Queries Runtime Framework Build Framework System Infrastructure

  36. EIS - User Interface Reports P-n-PCollector Frame Classes P-n-P Frame Class CoreCollector Core Classes Extra Classes P-n-P Classes So when the world changes… Pivots Charts Results Queries Runtime Framework Build Framework System Infrastructure

  37. EIS - User Interface Reports P-n-P Collector P-n-P Frame Class Frame Classes Frame Classes CoreCollector Core Classes Extra Classes P-n-P Classes We can Upgrade it safely Pivots Charts Results Queries Runtime Framework Build Framework System Infrastructure

  38. TemplateDev App Sample and Production Applications newsections.dat Template Template Make 1) Code & Test Dev App 2) Generate Template 3) Upgrade newsections.dat 4) Upgrade Applications

  39. newsections.dat Template Components 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. newsections.dat Template Components 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 business…not 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 QIQ’s 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 Define Favorites BrowseFolders Standard Changes Ad-hoc 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

More Related