Local Directory

Locally Customized Files in a Release

You can make local changes to various configuration files that affects how the product runs. The product looks for these files in the /local directory within the platform, within the release.

This is the file /opt/rtda/<version>/<platform>/local.

Here are these files within the installation area, showing just the files of interest in the directory tree.
"Local" Directory Holds Customized Files

    opt/
        rtda/
            2014.09/ ...
            2015.03/ ...
            2015.09/ ...
                linux/ ...
                    local/ <-- Products look here for locally changed files
                win64/ ...
                    local/ <-- Products look here for locally changed files

Locally Customized Files Across All Platforms

This /local directory within a release/platform is defined by default to be a symbolic link to the /local directory that is shared across all platforms within the release. This is the default layout for an installation.

The shared platform-independent /local directory is the file /opt/rtda/<version>/common/local.

Here are these files within the installation area, showing just the files of interest in the directory tree.
"Local" Directory - Platform-Independent

    2015.09/
        common/
            local <-- Platform-independent directory within release
        linux64/
            local/ --> ../common/local <-- symbolic link
            ^^^ - Products look here for locally changed files
        win64/
            local/ --> ../common/local <-- symbolic link
            ^^^ - Products look here for locally changed files

Using this standard layout allows for making local changes in one place within the release and have these changes apply to all platforms within the release.

Locally Customized Files Across All Releases

You can provide an even more universal location for locally customized files. You can create a /local directory outside the release and use a symbolic link from the release's /common/local directory to the external directory.

This enables you to edit local files in one place and have these changes apply across multiple releases.
Note: Although this is a recommended layout, it is not done automatically during an install. You must set up this layout manually after doing the first install as the way to actively choose this strategy for managing locally changed files. During installs of later releases, the install can honor your setup and use it when carrying locally changed files forward into the new release.
Here are these files within the installation area, showing just the files of interest in the directory tree.
"Local" Directory - Release and Platform Independent

    rtda/
        local/ <-- Release-independent, platform-independent directory. Created manually.
            environments/
            capsules/
            ...
        2014.09/ ...
        2015.03/ ...
        2015.09/
            common/
                local/ --> ../../local <-- symbolic link
            linux64/ ...
                local/ --> ../common/local <-- symbolic link
            win64/
                local/ --> ../common/local <-- symbolic link

Carry Local Directory Forward During Install

The install process requires you to select how you want the program to provision the local directory during the installation.

The options include four different choices, which you select depending on how you manage your locally changed files and how you want them to be carried forward into a new release.


Figure 1. Install Dialog - Local Directory Section

You can have the install create a brand new set of files to start changing locally, or you can have the install do a copy of the files from the previous release's /local directory, or you can have the install make a symbolic link to the previous release's /local directory, or you can have the install make a symbolic link to the special /local directory that exist outside of a particular release, that holds the files.

During the first install you should select Build from release files (fresh start).

This tells the install to create a default layout having a platform-independent common/local directory holding initial files that can be changed locally. Each platform-specific /local directory will be a symbolic link to the platform-independent directory.

Here are these files within the installation area, showing just the files of interest in the directory tree.
Build From Release: "Local" Directory - Platform Independent

    2015.09/
        common/
            local <-- Platform-independent directory within release
        linux64/
            local --> ../common/local
            ^^^ - Products look here for locally changed files
        win64/
            local --> ../common/local
            ^^^ - Products look here for locally changed files

When installing a later release, you can tell the installer how to carry forward locally changed files into the new release so that the /local directories of the new release contain what was used in an earlier release.

There are three possible choices.
  1. The Recommended choice to Link to version independent local directory can only be done if you have set up a special release-independent /local directory as is described above. If you have created this setup, then the installation can create the release's /local directories as symbolic links to the release-independent /local directory.

    The other two choices direct the installer to create the new /local directories in other ways.

  2. Choosing the option to Preserve info by copying previous (if available) creates the release's common/local directory structure by copying it from the common/local directory in the previous release.
  3. Choosing the option to Link to previous location creates the release's /local directory structure by creating a symbolic link to the common/local directory in the previous release.

After the installation completes, following your directive on how to set up the common/local directory, you can do whatever you'd like to do with the /local directories. You can change the symbolic links to point to another directory. You can replace a directory's symbolic link with an actual directory having files that will be used in that particular context.

In order for the installation to perform the recommended option to Link to version independent local, the special release-independent /local directory must be set up exactly as described above. It must be in the top level install directory (/opt/rtda/local) and it must be named local.

If you want to put the special version-independent locally changed files in another area or use another name, then you should use a symbolic link to that directory when creating the release-independent /local directory in the standard place.
"Local" Directory - Use Different Name, Keep Path to "local"

    rtda/
        config/
        local/ --> config <-- Link to another name/location.
        2015.09/
            common/
                local/ --> ../../local <-- symbolic link
            linux64/ ...
                local/ --> ../common/local <-- symbolic link
            win64/
                local/ --> ../common/local <-- symbolic link