This presentation was delivered jointly with two colleagues. The original slides have been stripped down and blog links have been added where videos used to be.
CUST-2 New Client Configuration & Extension Points in Share
World 2013 - Pushing MicroStrategy to the Limit, The Hacker Way
1. Pushing MicroStrategy to the Limit
The Hacker Way
Bryan Brandow Ashish Shah Jeremy Clover
facebook.com/MicroStrategyHacks
2. This presentation has been modified from the form
it was originally delivered. Facebook branding and
stats have been removed after the title
slide, videos have been removed and additional
links and information have been added.
6. HTML Containers
A door into the code
• Allows you to add HTML code
snippets
• Place them anywhere on the
dashboard
• Can be used as iFrames to load
external content
• Can run JavaScript…
7. Video Removed. For more information, check out this blog post.
http://www.bryanbrandow.com/20
12/09/create-graph-popups-with-
javascript.html
8. JavaScript Popups
Advantages over Info Windows
• Dashboard loads faster
• Called from anywhere
• No parameter limit
• Reposition window
• Open multiple
• Single popup serves the entire
dashboard
10. Answering Prompts
Append macros to the end of the URL
• &elementsPromptAnswers=AttributeGUID;AttributeGUID:Value
<BaseURL>
&elementsPromptAnswers=8D679D4B11D3E4981000E787EC6DE8A4;
8D679D4B11D3E4981000E787EC6DE8A4:Central;
8D679D4B11D3E4981000E787EC6DE8A4:South
• &valuePromptAnswers=Value
<BaseURL>
&valuePromptAnswers=Central^South
15. Video Removed. For more information, check out this blog post.
http://www.bryanbrandow.com/20
13/01/collapsible-sections-with-
jquery.html
16. jQuery
Making dreams come true
Add this to the beginning of the HTML Container:
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
21. dynamic sections
reuse and recycle based on structure
HTML Containers
• Define, Find, Capture, Change
<div id=“k50” pber=„AttributeVal‟>
<span>Metric Value</span>
</div>
• Let the document logic drive the data
• Approx. 50 lines (currently) of Javascript
Code will be posted directly after
25. full control over style
format anything anywhere
CSS and jQuery
• Move panels outside of div sections
• Remove block overflow hidden
• Z-index adjustments
• Transparency on the fly
• Extensive fading options
• Adjust “tooltip” formatting
33. Reducing clicks to access data…
Understanding the pain-points of end-users
The Challenges…
• Sharing a link the size of a paragraph in not very appealing
• Too many clicks to access daily reports causes friction
• Report links bookmarked by users can get outdated quickly
• Not sure how current the data is!
The Solution…
• Quick Links
• Data Freshness Time-Stamps
36. Quick Links & Data Freshness Timestamps
The Highlights
Highlights:
• Thin jdbc connection to the database
• Determines the active I-Server at runtime
• Deployed as a plugin – built in v8.1.2 and never touched since
• Crowd-sourced. Very easy to maintain and audit
• Easy integration with ETL scripting and internal pages
• Code extended to show highlights/announcements and communicate outages!
39. Revamp User Experience
One stop shop for accessing data
The Challenges...
• How to reduce friction?
• How to enable browsing?
• How to enable discovery?
• How to enable collaboration?
The Solution…
• Data Portal
41. Data Portal Highlights
• Crowd sourced
• Reporting technology agnostic
• Built on FB LAMP stack
• Internal identity management
• It‟s all about the UEX!
42. Data Portal
Example URLs of Mobile Dashboard
Instead of:
https://<web_server_name>/MicroStrategy/servlet/mstrWeb?Server
=<i_server_name>&Project=<project_name>&port=<port
number>&evt=2048001&src=mstrWeb.2048001&visMode=0&docu
mentID=29A51324451BE8397F1A14A79AB1AE1A¤tViewMe
dia=1&<authentication tokens>
This: intern/data/portal/mobile
Or just: dp mobile
Hinweis der Redaktion
We could create another extension of the attribute and ad it to the underling cubes. I like the date format the way it was…our external web app didn.’t