SEED Wiki   SeedSandbox UserPreferences
 
HelpContents Search Diffs Info Edit Subscribe XML Print View

How to MakeTwo SEEDSRun on one machine

A sandbox is a SEED installation that has the same directory structure as a standard SEED, but which shares its FIG/Data directory and the relational database with a full SEED on the same computer. We use these primarily for doing code development, where multiple users can perform independent work on independent copies of the SEED code without impacting each other or a production server on the same machine.

Sandboxes are created with the make_sandbox command. I am not documenting this at this point, as I am in the midst of being crunched for time and this page is a placeholder for the information I'm writing in the next paragraph :-).

Here is a typical recipe for making a sandbox (Ed) that I'm writing down so Bob doesn't have to keep telling me:

  1. Make sure your environment is cleared of Seed stuff, e.g, log off and back on but make sure fig_user_env is not sourced
  2. cd to a directory where you want the sandbox to live.
  3. suppose you want it to be called, "figbox"
  4. Setup httpd/apache so it can map to your sandbox. Sometimes, that means setting up softlinks which are printed out for you by make_sandbox. Other times, you have to edit something like /etc/apache2/conf/modules.d/99_jones_seed.conf
  5. make_sandbox figbox
  6. cd figbox/config
  7. Edit FIG_Config.pm and FIG_Config.py. We are doing this because ususally you want to just use the data from the production release and just play with code. If that is not your desire, ask for help. You need to make sure the following are correct:
    1. tmp_url put your username in before Fig-Tmp, e.g., jones/Fig-Tmp
    2. cgi_url similar
    3. temp_base again insert username, e.g., /FIG/ becomes /jones/FIG/
    4. cgi_base similar
    5. db should be "fig"
    6. dbuser should be fig

Once a sandbox is created, it is occasionally necessary to rerun the configure script for the sandbox (for instance, if one is working on the bootstrapping code itself). Currently, the bootstrapping code does not explicitly know about sandboxes, and will hence reconfigure the setup to not work properly in the sandbox environment. There is a set of environment variables that can be set to work around this problem. (A longer-term solution will involve the initial bootstrap or the make_sandbox invocation recording the configuration settings in a file for subsequent runs of a bootstrap to use as defaults).

The configure script recognizes the following environment variables:

FIGCONFIG_SANDBOX: Sandbox name; usually the user's name. Used to configure the FIG URL.

FIGCONFIG_DBNAME: Name of the database to use for SEED.

FIGCONFIG_DBUSER: Username for connecting to the database.

FIGCONFIG_DBPORT: Database port.

FIGCONFIG_DBPORT: (For postgres) number of database buffers to use.


PythonPowered
FindPage by browsing, title search , text search or an index
Or try one of these actions: LikePages, LocalSiteMap, SpellCheck