highcharts / node-export-server

Highcharts Node.js export server
Other
354 stars 260 forks source link

Is this project still maintained ? Dependency to PhantomJS #331

Closed floviolleau closed 1 year ago

floviolleau commented 2 years ago

Hi,

Thanks for your very complete project and the time you spent on it but I face to some issues. Because it is a widely used project and I don't see any changes since December, this is why I'm asking if this project is still maintained. The documentation seems to not be updated accordingly: see #312 and we are forced to use node 15.

Moreover, there is a dependency to PhantomJS which is a project not maintained since 13th april 2017.

Important: PhantomJS development is suspended until further notice (see https://github.com/ariya/phantomjs/issues/15344 for more details).

Expected behaviour

Running with latest LTS node version No dependency to suspended/abandoned projects

Actual behaviour

Forced to use only node 15 Do not work with node 14

Reproduction steps

Install project from scratch

Thanks!

cvasseng commented 2 years ago

Hi @floviolleau, the project is still maintained and actively developed, however we're focusing on refactoring to switch out Phantom for Puppetter, which can be followed in this branch https://github.com/highcharts/node-export-server/tree/enhancement/puppeteer. This has taken more time than expected unfortunately, but it's nearing completion.

There are a also a lot of general improvements and enhancements as well as bugfixes there, so our priorities right now is to get that out the door ASAP rather than on maintenance tasks on the phantom-based solution.

Feel free to check out the puppeteer branch of course - we're currently in the last stage of testing and expect a full release in Q2. Most things should work, but the performance is currently slightly worse in terms of latency (though slightly better overall in terms of general resource use) - which we're working on.

david-induro commented 2 years ago

Is there an Issue or PR related to that refactor that we can monitor/subscribe to? And do you know if the upgrade path will be relatively straightforward? I'm trying to decide if I should just point my active development at this enhancement branch.

cvasseng commented 2 years ago

There's no central PR or issue, the best bet is to watch the dev branch.

In terms of upgrade path, the goal is for it to be seamless drop-in replacement. There may be some additional installation requirements in certain situations though, specifically related to Puppeteer system dependencies (e.g. on our test server we had to install libatk through the OS package manager to get it running).

floviolleau commented 2 years ago

@david-induro a release will be issued I think

You can watch custom event now on github :)

image

level420 commented 2 years ago

@cvasseng regarding dependencies on different OS: It would be great to have a docker image which has everything in place and which is preferably published on docker hub as an official highcharts docker image. For other purposes I'm successfully using a docker image based on node:16-bullseye-slim which uses chrome/puppeteer for PDF generation. I'm using it in docker-compose stacks on rhel 7/8 and ubuntu 21/20 without fighting with local installation hassles of node or puppeteer.

bernardgut commented 2 years ago

@level420 do you mind sharing your Dockerfile ? thanks

level420 commented 2 years ago

@bernardgut here we go: https://gist.github.com/level420/27c44f7444893284538bbb8724d8beaf

Pascal76 commented 2 years ago

Hello,

Thank you for your docker image. I tested it and highcharts-export-server does not work with javascript on server mode (SyntaxError: Unexpected token t in JSON at position 21)

Do I have to change something in this command line ? curl -H "Content-Type: application/json" -X POST -d @a.json 127.0.0.1:7801 -o a.png

a.json contains: {"infile":{"title": {text: "Steep Chart"}, "xAxis": {"categories": ["Jan", "Feb", "Mar"]}, "series": [{"data": [29.9, 71.5, 106.4]}]}}

Server mode: /bin/docker run \ --name highchartsd --rm \ -p 127.0.0.1:3003:7801 \ -p 172.17.0.1:3003:7801 \ --tmpfs=/run \ pascalh/node-14-bullseye-slim-highchartsd \ /usr/local/bin/highcharts-export-server --enableServer 1 --port 7801 --workers 4 --logFile /dev/stderr --allowCodeExecution true &

floviolleau commented 2 years ago

Hin

How are you @cvasseng? I hope everything goes well.

Do you have an idea when a release will be done of enhancement/puppeteer?

Thanks a lot!

slaven3kopic commented 1 year ago

@cvasseng Any news on this? Any idea when will PhantomJS be replaced by Puppeteer?

Current version of PhantomJS can't even be installed on Suse Linux distribution.

verhulststefanie commented 1 year ago

Hi, thank you for this package. Any news on the update? Today my deploy on https://hub.docker.com/r/keymetrics/pm2 debian stretch with node 16 stopped working because of the "2.1.14" phantomjs-prebuilt deprecation.

floviolleau commented 1 year ago

Hi,

Please see #388

jszuminski commented 1 year ago

We've recently released a beta version of the Puppeteer-based version of the Export Server which I encourage you to try out.

Here's a short setup guide: https://github.com/highcharts/node-export-server#puppeteer-version-information

Please feel free to report any problems you encounter with the newest version and we will investigate it.

PS. We do not plan to publish any changes to the PhantomJS version. Our complete focus is on improving the Puppeteer-based version.

floviolleau commented 1 year ago

Hi,

I completely understand but I still face to some issues on puppeteer version. Please see: https://github.com/highcharts/node-export-server/issues/388#issuecomment-1690025171

Thanks