Friday, April 30, 2010

Generating Interactive Web Pages In Alteryx Using HTMLPassThrough

Hi All!

Well its been a while since I posted last, but I've been having some fun with what I've learned at Extend! One of the activities I like best at each conference is called the Solution Center.

This conference event is where Alteryx users can get questions answered about any Alteryx product. Here you can meet with Alteryx Developers and support teams in person and ask for assistance about any issues you're trying to resolve. Where else can you sit down with Ned Harding, Lead Alteryx Developer, and talk about working with the software, or brainstorm with Jim Schattin, Rob Bryan (Alteryx Guru's) and Adam Riley (fellow Alteryx blogger) about a unique feature?

These discussions came together like this - I was in the Solution Center one day and asked Ned about using Alteryx to generate interactive web pages, and he told me about the little documented PCXML HTMLPassThrough tag. This tag is used within the Text Tool in Expert Mode (more on this in a bit). Shortly thereafter, Jim, Rob, Adam and I sat down and started working with it. The module displayed to the right is the result. A little playin' with the Google Maps and StreetView API's, a bit of JavaScript, and a touch of HTML, and you have what I call the 'Cuppa Joe' Finder! Not much to the overall module, yet I think the results are great! The result is the web page you saw at the top of this blog.

Here's how it works...
PCXML is Alteryx's proprietary file output format that provides a standard reporting structure across all of its products. This is how the Render Tool can output into multiple formats; it easily converts the PCXML into the output format you desire. Yet when outputting to HTML, certain code and tags (like JavaScript and HTML iFrames) are not recognized within PCXML, so the HTMLPassThrough tag was created to allow for "raw" text. This is text which is not converted into PCXML and left alone. To use this tag, use must enclose the "raw" text within beginning and ending tags (... ). This also will only work if you toggle the Expert Mode radio button on the Text Tool.

This opens up a whole new use of Alteryx for me, and was exactly what I was looking for. My preference is to provide users with interactive web pages, not static ones.  Yes, you might say that you could use a web development language to do this, and I agree there are better ways to accomplish to create interactive web content. Yet I also say that I do not have to know a web development language because I can now have Alteryx do some of this for me! That said, it is not nearly as flexible and you still need to know a bit about JavaScript and HTML, and like in this example how to work with the Google Map and Streetview API's. Regardless, there is alot that can be accomplished with this tag.

For example, if this web page represented a company store finder, this module could simply be scheduled to run often to reflect the changes in store locations and post the updated pages on the web server. Unfortunately, since it is not dynamically generated content, each page would have to be loaded to the server taking up what could be considerable disk space. Anyway, look for more posts from me using this tag in the near future. I believe Adam might post something about this as well on his UK Alteryx Blog.

A short note about the Google map and StreetView window; if you have the Google Earth Plugin you will get the option to view the map in "3D" or Earth mode like it is shown in the page screen capture above, but only if you have it installed. Time to go - If you would like a copy of this module, simply e-mail me at ronh@allaboutgis.net. Just put in the Subject line "Send Me the Cuppa Joe Module Now!" and I'll reply with the module.

Till next time, enjoy!

BTW, have you sent in your donation for World TEAM Sports and the Adventure TEAM Challenge?

1 comments:

  1. Check out the Street View macro on my blog here:

    http://ukalteryxuser.blogspot.com/2010/05/street-view-macro.html

    Adam

    ReplyDelete

Add Comments Here: