[ Development was completed in November 2013. This page archives the design work for the project. ]

Our setup program must make it easy to install and run OpenVisualizer, but still support rapid testing by developers within the repository tree. This page supports the parent JIRA issue, SW-98.

Layouts

We support four directory layouts. The main challenge is to know the location of configuration and data files. We plan to check in the order the layouts are described below.

  1. SCons – Run from the development repository via SCons. Data/config file directory identified by --appdir parameter passed in to executable.
  2. Double-click – Run from the development repository by double-clicking on the executable. Data/config file directory identified by the directory portion of __file__ attribute on openVisualizerApp.py, which is in the same directory as the startup script.
  3. Tree-based install – Default arrangement for setup.py. Files are contained within some directory tree; on Windows, C:\Python27. Data/config file directory must be in 'data' subdirectory relative to the directory portion of the __file__ attribute on openvisualizer_utils.py, which now is in the 'openvisualizer' package. The key is that all data/conf files are packaged as 'package data' relative to the openvisualizer package. No matter how the user actually installls the app (with –prefix, --home, etc.), we always can find openvisualizer_utils.py, assuming pythonpath has been initialized properly on the user's PC. See attached tree-layout.txt for an example layout. Requires use of MANIFEST.in to identify the data files.
  4. Native install – This is a special build designed for embedded Linux, although it works for Windows as well. On Linux we use /etc for config files and /usr/local/share for web data files. Directories are identified by ActiveState's appdirs library. The user must not alter the destination directories. See attached native-layout.txt for an example layout.

Repository Changes

TODO