.._workspaces:

Workspaces

Workspaces are designed to be customizable work environments for Toyz users. A workspace consists of a set of tiles that can be moved and resized in a browser and linked to a number of different native tools as well as customizable tools added by the user. Tiles can share data sources, allowing interactive plots to be linked to each other or other tiles to make it easier to visualize large, high-dimensional data sets.

Workspaces can also be saved so that at a later time the user can reload data sources and tiles and pick up right where they left off, or share their current work with a collegue who also has access to their toy application.

Workspaces can be accessed by navigating to host:port/workspaces/ or from the main menu at host:port, choosing the Toyz tab and clicking New Workspace.

Warning

Don’t forget the trailing ‘/’ after workspaces

Data Sources

To allow multiple plots and other tiles to have their data points linked together, a list of data sources can be loaded for each workspace. Any tiles that linked to a given data source will receive updates whenever that data source has changed, for example if points are selected, added, or removed.

Adding a Data Source

To add a new data source right-click on the workspace area and choose either Datasources, which will open a dialog that lists all of the current data sources, and clicking the New button, or choose new->source from the context (right-click) menu.

A dialog will pop up to allow you to choose a file from the server. First choose which module you would like to use for file i/o (currently on numpy and pandas are supported). Next choose a file from the server. If you don’t know the path, click on the button labeled ... which opens a file dialog. A user can only browse directories that he/she has been given find or read access to.

Depending on the module and file type you choose there will be different options available. There is currently limited support for different file types and if you would like access to a file type that is currently unsupported please consider updating Toyz so that other users can benefit.

Once you have finished click Open to load the file from the server into the current workspace. If you have the file dialog open, notice that the source has now been added to the list of sources. You can also change the name of the source to something more explicit than data-0.

Editing or Reloading a Data Source

If you make changes to a data file and want to repopulate the source with the new data, open the Datasources dialog and choose Edit. This will open the source dialog with all of the options you had previously selected when you opened the source initially. To keep all of the settings the same just choose Open, otherwise make any changes to the input format.

Tiles

Tiles are like mini apps or widgets that can be used to display interactive content on the workspace. They can be linked to data sources or each other, so they are not independent apps, but they are customizable in that users can shoose their location, dimensions, and even add their own custom tools.

Adding and Positioning a Tile

To add a new tile right-click on the workspace area and choose new->tile. The newly created tile will consist of a dark grey border with a white interior. To re-position the tile click anywhere on the dark gray border and drag it into position. To resize, theoretically move the cursor to any corner, but I’ve found that the bottom right corner works best. When you see the resize cursor click and drag the tile to the desired dimensions.

Adding Content to a Tile

Right-click anywhere in the white part of the tile to open the tile context menu. Notice that it contains all of the menu options from the workspace wit two additional options: Tile Type and Remove Tile (guess what that does). If you move the cursor over Tile Type it will display all of the different tile types enabled for the current user. At this time the default tile types are Highcharts, which are interactive plots, and Viewer, which is an image viewer capable of displaying large mosaic images. If you have created custom Toyz then your tiles will also show up in this menu.

For more information on the available tiles see highcharts and Image Viewer .

Loading and Saving a Workspace

If you have a workspace you would like to save for later use, right-click on the workspace and choose either Save Workspace or Save Workspace as. This will prompt you to enter a name for the workspace. If you choose a name of an existing workspace (that you have created) you will be alerted and given the chance to rename your workspace.

Warning

When a workspace is saved, only the configuration of the tiles and data sources are saved, Not the content. This means that if you have a set of plots open and the data source is changed, when you load the workspace it will load the new data.

To load a previously saved workspace, first make sure that you have a clean, new workspace by hitting the reload button in the browser window. This helps prevent memory leaks that may exist in the code. Then right-click on the workspace and choose Load Workspace. A drop down menu will appear with all of the available workspaces for the current user id.

If you already know the name of your workspace you can alos load it by entering a url into the web browser in the form:

hostname/workspace/username/workspace_name

For example:

localhost:8888/workspace/admin/test_workspace

Sharing Workpsaces

By default, all of a users workspaces are private. In order to share a workspace with other users you must first navigate to the management console hostname:port. Scroll down to the Workspaces section and choose the workspace you wish to share from the dropdown menu. Next add any users and/or groups that you want to be able to have access to the workspace.

Warning

Even if you share a workspace with other users, if the workspace connects to any files that the other users cannot see, the workspace will not load correctly. Make sure that you also share the file diretories with those users.