Forum Discussion

JoshWeeman's avatar
JoshWeeman
Qrew Assistant Captain
8 years ago

Solutions for inserting charts into Exact Forms Plus (Juiced Tech)?

We are using Juiced Tech Exact Forms Plus for our reporting.  I am attempting to include QuickBase charts/graphs into these EFP reports, but running into some issues...

There is a Juiced-approved method of streaming a live chart into an Exact Forms Plus report, using a URL call like this:  <img src=?https://mysite.quickbase.com/Chart/chart.aspx?realmhost=mysite.quickbase.com&dbid=bheiqafsq&qid=47&generate=image?>

(More info on the Charts tab of this page: https://juicedtech.quickbase.com/db/bknf8jnve?a=dr&r=g&rl=hti )  

Unfortunately according to Juiced, in order for this to work, your application has to be open to the Everyone on the Internet role, which won't work for us.

So question number one: Has anyone has found a creative workaround solution for this permission issue with EFP and charts?

My next thought is to render out the live charts to PNG files, upload them to a file attachment field, then have the Exact Form Plus report pull the image file from the attachment field into the report (which is easy to do and has no permission issues associated with it).  However that inserts a few manual steps into the process, which I would prefer to avoid.

So question number two: Does anyone know of a creative way to automatically render a chart into a static image (png or jpeg) AND upload it into a file attachment field?  Perhaps a script that could run when the record is edited/saved?

Thanks in advance.
  • You should be able to do this without generating an explicit file. Using script you can convert the HighChart to a format called a dataURL that represents an image for the chart.

    A dataURL for the QuickBase logo looks like this:

    <img src="data:image/png;base64,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">


    • JoshWeeman's avatar
      JoshWeeman
      Qrew Assistant Captain
      Wow, that is a heck of a URL.

      Can you point me to some instruction on using script to convert my charts to dataURLs?  I will give it a shot.  I'm curious if Exact Forms Plus will play nicely with a dataURL.

      Thanks!
  • JoshWeeman's avatar
    JoshWeeman
    Qrew Assistant Captain
    If anyone else has any isight into this one, we'd really appreciate it.  We really need to be able to get charts into our EFP reports (but not at the expense of opening up our app permissions to everyone on the internet).  With all of the people presumably using EFP, I would be surprised if no one else has wrestled with this before. 

    I'm willing to try the dataURL method above, but unfortunately I can't find anything in the pastie database or anywhere else that suggests how to script the conversion of a normal HighChart URL into a dataURL within Quickbase,

    Thanks!
  • JoshWeeman's avatar
    JoshWeeman
    Qrew Assistant Captain
    Cool, thanks very much for the reply, Keith.  What's the current ETA on that update you're making?

    In the mean time, I'm still trying to figure out how to convert my HighChart URL into a dataURL.  Any insight on that?

    Thanks!
    • KeithJusas's avatar
      KeithJusas
      Qrew Captain
      probably by end of the day tomorrow.  I have a few other changes to implement with this as well
    • KeithJusas's avatar
      KeithJusas
      Qrew Captain
      A client of mine in the Biotech industry creates some really cool molecular structure images in dataURL format and they look great in EF+ (but in subtables right now).  I'm not sure what she's using to do the conversions but if you wait a bit Dan may have a solution for you
    • JoshWeeman's avatar
      JoshWeeman
      Qrew Assistant Captain
      Thanks Keith.  If you glean any info on that from your client, I'd love to know.  I've never worked with dataURLs, so I have some learning to do there.
  • JoshWeeman's avatar
    JoshWeeman
    Qrew Assistant Captain
    I'm bumping this thread 5 months after I originally created it, because sadly we still haven't found a working solution for this.  Despite trying to push this along for many months, none of the solutions mentioned in the posts above have materialized, so we're still in need of a way to insert Quickbase native Highcharts into Exact Forms reports in a reliable and semi-automated fashion.

    If anyone knows of any other options for making this happen, we would love to know about it.  I see this as a sizable gap in QB functionality at the moment, and a huge opportunity for someone to develop an add-on/service that handles this.

    Thanks in advance!
  • Josh,
    we have another add-on called XL Docs which generates Excel files from your quick base data.  It works very similar to EF+ where you start with an Excel template file and we merge that file with data from your table(s).  We have a lot of clients creating some very complex Excel files using this add-on.  You get the full capabilities of Excel so you can use all of the charting and graphing capabilities as you need.
    Here is a link to our demo app: https://juicedtech.quickbase.com/db/bj446yrpq

    also, here is a link to an output excel file from XL Docs that uses some charts.  It handles multiple worksheets as well
    https://juicedtech.quickbase.com/up/bdhzeparp/g/rgt/eg/vb/Sample%20Excel%20File.xlsx
    • JoshWeeman's avatar
      JoshWeeman
      Qrew Assistant Captain
      Thanks for the reply Keith, but Excel doesn't really work for us.  Our reports are varying mixes of graphics, tables, headers/footers, and bodies of text with specific formatting needs, so we need the word-processing and layout power of Word. 

      Do you have any other suggestions, perhaps more progress on the dataURL workflow you mentioned previously?  Above you said you already had at least one client using dataURLs to insert charts into subtable reports, and that you still needed to make some tweaks to get it to work in EFP overall.  What's the current status of that?

      Unfortunately I still have not uncovered an existing or easily scriptable method of encoding a HighChart image to a dataURL on the fly from within QB, so that hurdle still exists.

      Thanks.