1

I have been tasked with researching technology for generating a dynamic report with charts & visuals.

There are countless BI tools available and online solutions that fit the bill, however, the customers have considerable IT restrictions preventing the installation of applications or sharing data across the internet.

One solution I've dreamed up is to serve up an HTML document for offline consumption in a browser. With javaScript bundled in & data added dynamically prior to sending to the client, I believe this would be possible in much the same way a website functioning offline is possible.

How feasible is this? If it's possible, what technologies are recommended? So far I've considered building this using AngularJS since an SPA could mimic a one-page report well & javaScript bundling is readily available.

Are there better solutions? Which?

user
  • 1,261
  • 2
  • 21
  • 43
  • If you want a fully offline website, you need to run a localhost, or some embedded HTML technology like [ElectronJS](https://electron.atom.io/) – Jeremy Thille Aug 14 '17 at 15:17
  • from what I understand about electronJS, users still need to install the app on their end, which won't work. did I miss something there? – user Aug 14 '17 at 17:20
  • 1
    no you're right, it makes apps, so there's something to be installed. If you want a fully offline website that can be accessible from a browser, the only solution as far as I know is still to run a local webserver. And even then, you won't be able to use libraries such as Google maps or such, that require an internet connection. – Jeremy Thille Aug 15 '17 at 07:16
  • Libraries like Google Maps won't be necessary. My hope was that I could bundle any libraries together, though. Anything like charting libraries or what have you. – user Aug 15 '17 at 18:03

1 Answers1

0

May be your clients will be okay with providing them files by SFTP. Say, if you are not using a database and are ok with building charts based on files, you can try to provide end users with the files (txt, csv, xml...). Then you will be able to execute client-side code with no server needed. You may even go for some open-source Javascript libraries for data visualisation like D3. All you have to do is to allow local file access for user's browser.

Otherwise you need a local server. I would recommend you to use Python python's SimpleHTTPServer or node.js may fit you.