I’m looking at the web version of ParaView here. When I use the server located at Kitware headquarters, in Clifton Park, New York, the screen is different between two different tabs on my Google Chrome browser.
However, If I use the command
pvpython.exe -m paraview.apps.visualizer --data ~/ --port 1234 to start a server on my laptop and then join it by navigating to
http://localhost:1234/index, I’m able to see the same visuals on multiple tabs (although with some bugs).
My question is why doesn’t the server from the Kitware document work like this?
Also, can this visualizer server be run on a headless machine and connected through a different machine? I have tried this setup with pvserver and it has worked before (hosting the pvserver on a headless Linux device and connecting to it through the ParaView client through my PC). It does not seem to work with the web visualizer.
I figured out how to host and connect to the server. I just had to specify the host through
--host <host_name> just like port, otherwise it would use
localhost. However, the problem still remains with the Kitware server.
Another issue I noted is that when I refresh or close a tab, the backend server prints
schedule exit for 10 seconds from now and shuts down. It appears the server mistakes one client leaving as the time for shutting down.
One further issue is that the UI panel is not synced between states. If one of the clients makes changes to it, other clients will see the change reflected in the visualization but not in the UI.
The Kitware deployment is set up for multiple users, where each user gets its own session. If you want to enable collaboration, on the multi-user setup you need to provide the same session URL that way a running session would be re-used.
If you want to prevent auto shutdown of a session when a client disconnects, you should remove that line.
The version of Visualizer was not really meant to be used for collaboration, so unless you move toward using trame, it won’t be trivial to fix that part.
For the headless part, that is how we deploy it anyway. But do you have a GPU or not? If you do, just use the EGL version of ParaView, otherwise you will have to rely on the OSMesa one.
For the proper panel synchronization (in collaboration setup) would require using its trame equivalent application that is still
Thank you for your response. Trame appears to be a framework like ParaView Web rather than an application like ParaView Web Visualizer. Is there already an existing application built on top of Trame rather than ParaView Web that supports collaboration over web?
When I try to run the application following the instructions on the GitHub page, I get the following error:
ValueError: No directory exists at 'C:\...\paraview-visualizer\pv_visualizer\html\module\serve'
That is because you use the repo as Python package without building the JS.
You can simply install the release version by doing
pip install pv-visualizer like described in the section Installing from release.