From the user's perspective there are several modifications which have been suggested by people using OPUS around the world, and we hope the current release addresses the most important of those concerns.
Problems were noted about the ease of use in bringing up the blackboard and in managing processes. OPRs 47219, 47395, and 46771 particularly address these problems.
We are happy to report that initial problems (46975) with Java 1.4 are resolved, and that we have made major progress in supporting OPUS on the IBM AIX platform, though it is not yet ready for CD. All of OPUS is now built using GCC 3.2 (41512) which now provides better support for C++ and potential 64bit processing than the older EGCS compiler. OPUS now supports secure file transfers (49367) via the freely available J2Ssh software, eliminating the need to enable FTP access (a security issue).
Several users have encountered problems with the naming (46127) and location (44317) of pipeline files, and, while we have modified the blackboards to be more general, we still encourage users to take care in naming files.
All pipeline applications at the Institute have migrated from the FITSPP package to the CFITSIO package (45889), and we heartily endorse that suite of programs which is maintained by HEASARC at Goddard:
While we included excellent documentation in previously releases on how to write internal pollers in a variety of languages, in OPUS 4.2 we forgot to include the required header files to create C++ internal pollers. These header files are now available (48405) and a new example internal poller has been created (process 'c++poller').
Example PATH file:
!---------------------------------------------------------------------------- ! STAGE_FILE = OPUS_DEFINITIONS_DIR:g2f_pipeline.stage OPUS_OBSERVATIONS_DIR = /info/devcl/pipe/sontag/t64/g2f/obs/ gif_data = /info/devcl/pipe/sontag/t64/g2f/input/ fits_data = /info/devcl/pipe/sontag/t64/g2f/fits/ hdr_data = /info/devcl/pipe/sontag/t64/g2f/fits/ sample_db = /info/devcl/pipe/dptbuild/sample02_2_00/db/ FRANK = SUB[HOME] !----------------------------------------------------------------------------
So, if my program uses the path file above, it expects the value of the FRANK item to expand to $HOME, specifically "/home/sontag".
Code was added to the OMG and PMG classes (and their base class, MGRFrame) to make sure the title bar is updated with the path, account-name, and the name of the Manager (e.g. "OMG" or "PMG").
The title bars for user "joe", currently viewing the "g2f" path should be: "g2f: joe: OMG", and "g2f: joe: PMG". This allows the most identifiable information (path name) to appear leftmost, and thus most easily, on the task icon.
So instead of a menubar menu-item for this, a menu-item was added to the right-click-popup-menu that appears over the table on the right side. The user can now view the resource file for the process via the popup. Note that the popup works only for the selected item.
What happened before the fix
Since the sole maintainer of this package is no longer available for updates, we are left with the choices of: 1) updating it ourselves, or 2) porting the OPUS codes to one of the currently available public FITS packages. Both choices have the potential to be a software effort of 'project' scope.
With this delivery, all OPUS and SHARE applications will now use the CFITSIO libraries which are fully supported by HEASARC at Goddard. These libraries supplant the FITS++ libraries which we have been using, and which will no longer be supported.
The ability to use either FTP or SFTP (via the freely available J2Ssh s/w) has been added. Note that this is coded so that users can run without having the J2SSH jar files installed (i.e. SshFtp class and its associated J2SSH code is dynamically loaded). Normal FTP is still an option. See the FAQ for more information.
If multiple instances of a process are in pending states, a start pending action now correctly updates the state of the specific process selected to starting and then to idle.
It would also be nice if the pipelines were alphabetized (across the stretch): currently *.pipeline files that appear in the first directory of one's OPUS_DEFINITIONS_DIR stretch appear before *.pipeline files in the next directory of the OPUS_DEFINITIONS_DIR stretch, so finding the desired pipeline file will be more difficult because the order will no longer be alphabetical.
I cannot even simply move a desired pipeline up from a sub-directory to the directory the PMG sees because the Java PMG does not respond to changes in this directory. Many tools provide a Refresh capability, causing a re-read of the directory being viewed, could not the PMG also do that?
The submitter decided that the most important part of this PR was to have the pipeline files alphabetized. That has been done. Subdirectories have not. Since one's OPUS_DEFINITIONS_DIR stretch can be quite complex, a display of those directories and all the subdirectories under each of those may not be exactly what is wanted. Further requirements should be submitted before that enhancement is begun. The "refresh" idea also has not been implemented, as that seems tied to subdirectory changes.
Problems associated with java 1.4.1 have now been resolved.
The reason for this is that as part of the startup of this instance of the opus_bb_server a directory listing of the home directory is done. The filename with a colon makes the software (osfile_stretch_file) think that it has an environment variable it needs to expand and attempts to do so (it fails since it is a filename and not an environment variable). The result of this error is that the server never starts and therefore the user is unable to start any processes. The workaround is, of course, not to have (valid unix) filenames with colons in one's home directory.
The OPUS blackboard code has some restrictions on file naming (for good reason), and they should likely not be changed at present. Two such restrictions are that OPUS has problems with files with colons and/or spaces in the name. If, then, such files are found in the user's HOME dir, the opus_bb_server encounters the problems listed in this PR.
The solution employed here is to not allow './*' to be used in that particular initialization case, but rather use only the File_entry defaults (which amount to a single match for ".") without adding any wildcards.
The 'kill_oservers.csh' wrapper script has been added as a convenience for external users to perform the two steps:
'pscluster.pl -kill', and then 'alter_server_files.pl'.
This creates the following problem: both of the managers allow the user to specify how they want PSTAT/OSF fields split in the display into subcolumns. The user species this through the .ini file by creating a property named after the PSTAT/OSF field to be subdivided. The PSTAT has a field called "path", which conflicts with the OMG property of the same name, leading to a renaming of the PSTAT "path" field to match the OMG path being monitored, which in turn causes problems with PSTAT filtering across the path tabs in the PMG.
To avoid the property name clash in a combined GUI, the OMG should look both for a property "path" (for backwards compatibility) and "omgPath", but only write out the property value as "omgPath" to the OMG.ini file when prompted by the user.
A new example internal poller has been created (process 'c++poller').