About "session" in pqServerResource

In ParaView, all “resource” are reprsented as pqServerResource, which can be converted to an URI and is stored in the settings of ParaView so that they can be presented in the “recently used resources” menu.

The current URI scheme is as follows:
scheme://host:port/path/to/file:DATA:VAL
eg:
cs://localhost:11111/path/to/cow.vtp

There is one exception though, “session” resource, which are only used for paraview state files and where the URI is as follows:
session:/path/to/statefile.pvsm#cs://localhost:11111;PARAVIEW_STATE_FILE:1

The usage of PARAVIEW_STATE_FILE is perfectly justified as a state file is not loaded like a data file and require special processing.

The session scheme however seems not justified. It uselessly increase the complexity of each code reading the URI of a resource and does not seems required. It would be perfectly fine to have instead:

cs://localhost:11111/path/to/statefile.pvsm;PARAVIEW_STATE_FILE:1

There is already a working branch for this, however, it would mean a small breaking change.
C++ Method deprecation is possible however, with the new implementation, someone recovering the URI of the resource and expecting a session scheme would never get it.

This is a fairly minimal breaking change, but I want to make sure this is fine for everyone before going ahead.

FYI, this change in the end will add the serverName in the URI, allowing to have resource by serverName instead of by host and port.

1 Like

FYI @utkarsh.ayachit @cory.quammen

If the session: scheme is useless then removing an exception looks good to me. Keeping the retro compat would be nice though.

Thats just not possible to be fully retro compat. I cant remove the session scheme and at the same time provide an URI with the session scheme.

Merged in ParaView in https://gitlab.kitware.com/paraview/paraview/-/merge_requests/5627