
Well it's been a while since I last wrote a blog post...any blog post. I can't put my finger on why that is. I've been up to a whole bunch of things development, mainly internal to The Information Lab. When you pass 200 active users with at least 8 joining every couple of months you realise that system automation becomes somewhat important. That doesn't mean that I don't intend to be totally open with all my automation-based development, there'll be more posts to come once I'm happy that they're water tight and documented.
Anyway, what I'm trying to say is the blog blackout stops now and I can think of no better way than posting about the new release of the Export All extension for Tableau Server.

Tomorrow will be 1 year since the Export All extension hit the Tableau Extension Gallery and I've been absolutely amazed by its popularity having been downloaded over 7,000 times!

With that popularity has come a whole bunch of feature requests as well as folks highlighting some bugs in the code. Let's start with some of the bugs that have been fixed with this new release.
Data Volume
The Export All extension has always relied on the local machine for processing the summary dashboard data and producing an Excel file. The major benefit of this approach being that your data doesn't leave your machine. It's not sent to a server to be processed and as such maintains the security of your data. However, when folks started to put larger volumes of data through it they found that nothing would be produced. In fact in the background the code would throw an error.
Now I'd always blamed this error on the local machine not being able to process the data volume. Until that is a comment turned up on the extension's Github page saying a user called 'shimrot' had forked the code and solved the issue! And indeed they had. A bit of testing and a tweak to their implementation and now the extension handles a lot more data.
So the lesson here for any extension builders out there...'Get Your Code on Github!' As your extension's popularity grows so does the number of developers willing to help you debug/enhance it.
Internet Explorer 11
I'm going to partly share the blame for this one with Tableau. When they first released the Extension SDK there was no support for IE11 even though Tableau Server does technically still support it. Then in an update to the SDK magically IE11 support was added and the pressure was then immediately on us authors to also make our extensions support it too.
Now I'm a bit stubborn when it comes to technology and I had no interest in doing work to support a very old browser. In fact if needing to use my extension meant some folks had to upgrade away from IE11 then all the better for the world. However I'm also not too proud to say when I'm wrong. And all the emails that came through into my inbox suggested I was very wrong.

So there we have it, Export All working in IE11.
However! There is one issue still outstanding. It seems that you can't configure the extension using web editing and IE11. This is an issue others have experienced and if it bothers you please let Tableau know. For now I'd recommend configuring the extension in Desktop and then publishing to Server for use with IE11.
New Features
Right, now we're past the bugs let's look at the stuff that's brand new and almost all requested from end users.
New Look
After some encouragement from Andre de Vries and myself Tableau released a library of UI components for use in extensions including guidance on how to layout the interface. This means those of us external to Tableau can create interfaces with the same look and feel. Now I put a bunch of work into making version 1 as close to native Tableau as possible, but now it's even more Tableau!

Reorder and Rename
Quite often the names you've given to the sheets and fields in your dashboard make sense to you as the author in Tableau but wouldn't make sense to somebody downloading an export into Excel. Fear not! The latest version allows you to both rename and reorder your sheets and columns including, as before, hiding those that you don't want to be part of your export.

Carrying Over the Meta
When extensions first released the SDK had a funny 'quirk' in that it would return all data types from the dashboard as strings. Thankfully that was rectified and now so is the extension. When you export numbers or boolean that's what you'll get in Excel. So no more converting strings to numbers post export, you can go straight to formatting into, for example, currency:

Date/DateTime fields are still coming through as text in this release. I'm going to spend some time thinking about how best to handle the various different formats of dates in an upcoming version.
Extra Configuration
The ability to change the button label has remained as before, however you can now also set the filename of the download as well as choose from a few different button styles:


Export in Desktop
Finally, something I've learned from a lot of user feedback is many people are confused as to why the v1 extension wouldn't download an Excel file when run in Tableau Desktop. The reason for this is the QT WebEngine that Tableau uses in Desktop for rendering and executing extensions hasn't been configured to handle downloads. As such there's no way to transfer the Excel file generated by the extension to your local machine.
This created a lot of confusion with users of the extension and accounted for a lot of emails reporting the 'bug' that the file wasn't downloading. Unfortunately there's not much I can do unless Tableau takes action with their next release. So now when ever somebody clicks the button in Desktop they'll be asked to email the product manager Tableau and request it:

Feedback
So it feels pretty good to get this new version out as a response to the feedback received so far. If you'd like to submit any new issues or feedback then please feel free by using the extension's Github page.
And remember everyone. With great exporting comes great responsibility!