XAL applications development should be done from the "softegr" account, preferably on lcls-builder.
XAL applications being used in production running of LCLS should be run from the "physics" account, on lcls-srv01.
If you are authorized to use these accounts, you should hav the RSA credentials in your AFS account. You must first log onto lcls-prod02 to access either lcls-builder or lcls-srv01. So, your locing process will be one these two, starting from a SLAC network machine:
ssh -l<your-SLAC-username> -Y lcls-prod02 followed by either ssh -lsoftegr -Y lcls-builder or ssh -lphysics -Y lcls-physics |
softegr has the SAME Java Channel Access properties (~softegr/.JCALibrary/JCALibrary.properties) as the physics account, so when you are using softegr you are connected to the prodction PVs and can change them, so be careful. The difference between softegr and physics accounts, is in the default model files and data file locations.
Follow the README file in /usr/local/lcls/physics/xal4lcls/README
On linux (such as lcls production machines) Java v 1.5 (1.6 is not compatible, due to a bug in java's handling of Preferences on Linux)
XAL applications are started by a luncher system symlinked from the directory /usr/local/lcls/bin/ which is in the PATH. Each app's own launch script uses /usr/local/lcls/tools/script/xalapplauncher to set basic environment and actually run the executable. See the README named above for instructions on how to add an app to this system. To start an XAL app "by hand", as an example:
export JAVA_HOME=/usr/local/lcls/package/java/jdk1.5.0_14 export PATH=$JAVA_HOME/bin:$PATH java -jar /usr/local/lcls/physics/xal4lcls/build/jar/apps/mpx.jar & |
The data directories of XAL applications, are defined with respect to the DEFAULT_FOLDER Java preference value. Apps use it as the Root directory of the folder into which they store either configuration data, scientific data, or both. That is, they use the name: DEFAULT_FOLDER/<appname>. DEFAULT_FOLDER has the following values:
For softegr:
/usr/local/lcls/physics/data/ |
For physics:
/u1/lcls/physics/data/ |
The named directories are also used as the default folder in the Dialog Box of XAL apps, when running in softegr or physics respectively.
In ~/.java/.userPrefs/gov/sns/application/prefs.xml. Since ~ is different for physics and softegr accounts, this how the value is different in the two accounts.
There are 3 locations of the XAL model files:
/usr/local/lcls/physics/config/model/ |
/usr/local/lcls/physics/config/model/test/ |
/usr/local/lcls/physics/xal4lcls/xal_xmls |
Presently, XAL matlab files are in CVS module matlab/src/. This is checked out to /usr/local/lcls/tools/matlab/src/.
/usr/local/lcls/tools/matlab/src/README
Scripts that are specific to an application are kept with the application. Eg /usr/local/lcls/physics/xal4lcls/gov/sns/apps/knobs/knobs is a script called "knobs", which starts the knobs application. This script would then be in the CVS module physics/xal4lcls/gov/sns/apps/knobs.
Scripts which are common across apps are in /usr/local/lcls/tools/script/ (CVS module tools/script).
As said above, scripts that are specific to an application are kept with the application. Eg /usr/local/lcls/physics/xal4lcls/gov/sns/apps/knobs/knobs.
At the time of writing we have emerging standards for XAL Applications. They're in sharepoint here
CVS module physics/common/standards. This is checked out to:
/usr/local/lcls/physics/common/standards/ |