Issues with Connection and Recent Files

From ParaQ Wiki
Jump to navigationJump to search

Connect and Disconnect

Figure 1: Recent files menu, showing hierarchical ordering of recent files by 1) Server 2) type (pvs, then data types). Note that 1) the icons show pvs and 'other' (data) files, and 2) the 'Local' heading is bold, indicating that this is the server to which the user is currently connected.
Figure 2: Current recent files menu implementation, featuring all of the above, except notification of which server is currently connected. Note that the servers are also "live" menu items that can be used to connect to a given server without opening any file.
Figure 3: File Browser Dialog, showing the location of the server list, and the results of selecting one of the servers - the recent file list for that server is displayed in the right side of the dialog. The user can select one pvs file, or multiple data files, and open them in the normal way.

We want to support a simpler, quicker connect/disconnect design, in conjunction with a recent files list that encodes server information. Working with recent files, servers, and connect/disconnect should be as simple as browsing for files on a local machine. The only difference should be that the user will need to be prompted for passwords in some cases, but this will depend entirely upon the setup of the customer's network.

Requirements

  • ParaView shall be configurable so that a list of possible server connections is available at startup. This configuration is to be obtained through one of the following methods:
    • URI
    • Default configuration file, located in a known place in the installation.
    • User-specified configuration file, located in a place designated by an environment variable.

Use Cases

  • Start client on a machine which cannot save client data.
  • Start client on a machine which cannot save client data, start making movie, then disconnect once ParaView has started to create the movie. The movie should continue to be made on the server. Server exits after movie is created.

Assumptions

  • State is saved as follows:
    • ParaView Server state is saved on the server
    • User's settings for the server are saved on the server. These settings apply for this user on this server only.
    • Client-side settings that are not needed on the server are saved on the client. These include:
      • Recent files list.
      • Window sizes, etc.

Recent Files List

The recent files list is a hierarchical list of recent files kept on the client (only) by the client. The recent files are grouped by server name in the UI (see Figure 1)

Grouping the recent files by server changes the order of the recent files. The last file the user opened might not be at the top of the list. If we put the server name at the front of the file name (like a drive letter), the recent files can still be displayed in the order they were opened. This will allow the user to use paraview the same way he/she uses any other application. The image below illustrates putting the server name in the file name. It also shows the recent file list in a different place in the file menu. Most applications put recent files in the file menu this way.

RecentFiles.png

The file names are shortened to fit in the menu better. The tooltip shows the whole file name, which can also be displayed on the status bar.

Actions

  • Selecting a recent file:
    • Asks the user if he wants to close the current file.
    • Closes the current file.
    • Connects to the requested server, if that server is not the one that is currently connected.
    • Locates the requested file.
      • If it exists, opens it.
      • If it does not exist, reports that to the user. The connection is kept alive, in case the user wants to try to open a different file.

File Browser

When the file browser is brought up (in response to a File->Open action), it has current information for the server to which the user is currently connected. In the case of the Local server, this would be the local file system. On the left side of the file browser, in the 'Look in ...' area - is a list of the possible servers, obtained from the configuration (see above). This list will exactly match the headings in the 'Recent files' menu. Clicking on a server to which the user is not currently connected displays the recent files list for that server. This list, and its icons, exactly match the one availalble in the 'Recent Files' menu.

Connect/Disconnect Actions

A user can disconnect from a server at any time, using 'Connect/Disconnect' menu items or buttons. Disconnecting from a server requires that the current session be terminated. The user is offered the option of saving the session before it is terminated.