Home > Dashboards > Use MhtRipper to Extract Dashboard Components from MHT Files

Use MhtRipper to Extract Dashboard Components from MHT Files

January 13th, 2009

If you use Narrowcast to produce any of your dashboards you probably know that the output is in an IE specific format known as MHT (Mime HTML). The problem with this is that the dashboards only work with internet explorer and if you want to deploy it via a portal or do something creative with the components you really cant unless you have zero firefox users. Even with zero firefox users extracting components will allow for greater flexibility.

Thats why Aellament developed MhtRipper a free open source utility which extracts all the flash components and creates a cross browser compatible html file. You can easily wrap this in batch files and process multiple mht files simultaneously.

http://www.aellament.com/products

MhtRipper could easily be developed in java, but we did it in ruby cause we like ruby :). So far the ripper was only tested on 8.0.1 and 8.1.0 dashboards. If anyone tries this on newer versions would be nice if you reported back on weather it still works.

ajo Dashboards , ,

  1. Pacjack
    January 14th, 2009 at 05:40 | #1

    Hi ajo, I tried MhtRipper on a MicroStrategy 8.1.2 dashboard of my own. The mht-file is 2,5MB. Running Windows XP Professional SP3, english. I installed the latest ruby (ruby186-27_rc2.exe).

    I got the following error:
    C:\MhtRipper>ruby MhtRipper.rb test.mht
    MhtRipper.rb:34: uninitialized constant Date (NameError)

  2. January 14th, 2009 at 13:32 | #2

    Hi PacJack, thanks for letting me know. I updated the ruby file to correct the problem. I didnt see this error on my machine because I have other ruby packages installed that initialized the Date class already. Please download the latest and let me know.
    thanks
    ajo

  3. Abel
    January 14th, 2009 at 16:48 | #3

    Thanks for the info.

  4. Tonio Lora
    February 10th, 2009 at 11:18 | #4

    It looks like the download link is broken, any chance you can fix it so I can try this nice Ruby utility?

    Thanks

  5. February 10th, 2009 at 12:33 | #5

    @Tonio, the link may not work if your accessing it from within your corp network. Since the site is temporarily running on a non-standard port some companies block it.

  6. Will
    April 7th, 2009 at 12:01 | #6

    For those who has a broken image link that was supposed to be an embedded image on the dashboard, modify the file AssetMap.xml and change the value of the tag to where you store your image. For me, it looks like the following:

    <image_path>file:///C:/Documents and Settings/will/Desktop/MhtRipper/GPS_Analysis/logo_dashboard.jpg</image_path>

  7. Will
    April 7th, 2009 at 12:12 | #7

    By the way, I meant tag. The HTML tag was escaped / removed from previous comment.

  8. April 7th, 2009 at 12:56 | #8

    @Will
    Fixed it. Thanks for the update Will.

  9. rogelio
    April 14th, 2009 at 11:45 | #9

    Hi, all

    I get the following error:

    F, [2009-04-14T13:24:21.187000 #2212] FATAL — : undefined method `to_str’ for nil:NilClass (NoMethodError)
    c:/ruby/lib/ruby/1.8/fileutils.rb:1388:in `fu_list’
    c:/ruby/lib/ruby/1.8/fileutils.rb:1388:in `map’
    c:/ruby/lib/ruby/1.8/fileutils.rb:1388:in `fu_list’
    c:/ruby/lib/ruby/1.8/fileutils.rb:197:in `makedirs’

    Do you know what could be the problem? I installed Ruby with the “one click installer” and when i ran mhtripper the console outputs: “splitting completed succesfully”, but when i go to my folder only .html and mhtripper.log are created.

    Thank you

  10. April 14th, 2009 at 11:59 | #10

    @rogelio
    Looks like it fails when trying to create the subdirectories. Make sure your mht file doesn’t contain any unusual/illegal characters. What version of mstr are you using?

  11. rogelio
    April 14th, 2009 at 15:16 | #11

    i’m using microstrategy 8.1.1, can i send you the mht file?

  12. April 14th, 2009 at 16:44 | #12

    @rogelio
    sure send it to abraham.ajo@gmail.com
    ajo

  1. No trackbacks yet.