2
1
0

Hi, 

I was wondering if there is a way to create an automated excel export of the extract data on a monthly basis which will be emailed to a specified address.

Thanks,
Hannah 

  1. Lin VanOevelen

    We have been meaning to write a groovy service to do this for ages, but haven't found the time to even start on it. If you do write one, can you please share the code? This would be hugely helpful for a few of our form owners.

CommentAdd your comment...

4 answers

  1.  
    1
    0
    -1

    Hi Hannah,

    Take a look at the BIRT reporting guide at BIRT Reporting Guide Manual

    1. Unknown User (strube)

      Bill, BIRT Reporting is legacy.

      The recommended solution would be to use a scheduled service to execute a Groovy Script to access Data Extracts, and then create an Excel file which can be transferred externally.

      I do not have the details on how to code this.

      Hannah, please be careful. If you send PII data over email, this could be seen as a data security risk. Check with your architects and security department if there is another way to do this.

      Some examples of a secure transfer include:

      • Log into a Work Space and download the excel file
      • sftp to a secure server to be made available to an internal filesystem
      • password protect the xls file in a zip archive
      • Use asymmetric encryption techniques
      • Even use an exchange connector, rather than SMTP to deliver to a secure mailbox

      Each of these solutions require some sort of setup by your organisation, and are worth considering.



    2. Hannah MacDonald

      Hi @strube, 

      I am trying to create an email delivery service, where for each submission the data is sent in an excel spreadsheet to a specified email address.

      I am reading an article which states you can do this by ticking the "Deliver Excel Receipt checkbox", however I cant seem to find the checkbox. 

      Delivery Configuration (Manager v4.3) 


      Could you please advise?


      Thanks,

      Hannah 

    CommentAdd your comment...
  2.  
    3
    2
    1

    The answer is yes and it's quite simple. I've posted a KB article that you could easily transform into a scheduled service that will deliver this data via email. https://support.avoka.com/kb/display/TKB/Creating+and+Presenting+Custom+Reports

    The DAO you'd be looking for is: DaoFactory.getSubmissionExtractDataDao().getSubmissionExtractData(). There's a Fluent equivalent which is recommended but the problem with the Fluent version is it doesn't take a date range yet. Good luck!

      CommentAdd your comment...
    1.  
      2
      1
      0

      Hi Brad White, Thanks for the detailed instructions on this. I've created the form and groovy script service, but I'm getting the following "No Dynamic Data service" error relating to the "GenerateDynamicDataReport":

      Do you see an issue with how I've created this service delivery? 


        CommentAdd your comment...
      1.  
        1
        0
        -1

        I believe the problem is how you created the service. You need to create a Dynamic Data Service called "GenericDynamicDataReport". It looks like you created a Delivery Service with a parameter called "GenericDynamicDataReport". 


          CommentAdd your comment...