Distributed NetBeans for OpenVMS Version 5.5 Installation Guide and Release Notes May 2008 HP-AXPVMS-IDESERVER-V0505--1.PCSI$COMPRESSED (IDE Server Kit on OpenVMS Alpha) HP-I64VMS-IDESERVER-V0505--1.PCSI$COMPRESSED (IDE Server Kit on OpenVMS I64) distnbopenvms55_v55_100.nbm (Distributed NetBeans Client Module for NetBeans 5.5.1) Contents » 1 Overview of Distributed NetBeans » New Features in Version 5.5 » 2 Before Installing Distributed NetBeans » Hardware Prerequisites - Client » Hardware Prerequisites - IDE Server » Software Prerequisites - Client » Software Prerequisites - IDE Server on OpenVMS Alpha » Software Prerequisites - IDE Server on OpenVMS I64 » 3 Downloading and Installing Distributed NetBeans » Downloading the NetBeans Client and IDE Server Kits » Installing the Client Kit » Installing the IDE Server Kit » 4 After Installing Distributed NetBeans » Importing Settings from NetBeans 5.5 » IDE Server Startup and Shutdown » Accounts, Quotas, and System Parameters » Logical Names » 5 Release Notes » 6 Known Problems and Restrictions in the IDE Server and Distributed NetBeans Client » 7 Corrected Problems in the IDE Server and Distributed NetBeans Client » 8 Software Support 1 Overview of Distributed NetBeans Distributed NetBeans comprises two parts: · Distributed NetBeans Client for OpenVMS, which is a plug-in for NetBeans 5.5.1 running on your desktop. You install the NetBeans IDE (from NetBeans.org) and the Distributed NetBeans Client for OpenVMS on your desktop system. · IDE Server for OpenVMS, which runs on OpenVMS and provides remote services for the client plug-in. You install the IDE Server on your OpenVMS system. (You do not need to install the NetBeans for OpenVMS IDE or any additional plug-in modules on your OpenVMS system.) Communication between the client system and the remote server system is encrypted using SSL. How to use Distributed NetBeans is explained in the online help that is available through the NetBeans JavaHelp system when you install the NetBeans client module. This help is fully integrated with the standard NetBeans JavaHelp and may be opened from the Help menu. (The HelpSet option in the Help menu lists installed module help files.) JavaHelp texts may be copied and pasted into an external text editor or printed. URL links provided in JavaHelp can be copied and pasted into a browser's address field. New Features in Version 5.5 · You are prompted for parameters before remote execution of DCL command procedures, MMS files, Bash shell scripts, and EXE files. · You can now re-use folders that contain an NBPROJECT subdirectory. The project that previously referenced the NBPROJECT directory must be closed and removed from the IDE open project cache. New Features in Version 5.5 FT3 · NetBeans 5.5.1 is now supported. · FT3 includes support for debugging non-Java applications (C/C++, Fortran, Pascal, COBOL, and Basic) running on the OpenVMS machine remotely from inside the NetBeans IDE. · New features have been added to the Distributed NetBeans Client and to the IDE Server to provide better security for passwords. · SMB file shares are now supported for the use with remote projects. The supported SMB products on the OpenVMS machine are Advanced Server and HP OpenVMS Common Internet File System (CIFS) Version 1.0, based on Samba V3.0.24. Earlier versions of Samba are not supported. The share on the remote OpenVMS machine must be a STREAM_LF share. · Remote Execute – Foreign Command Support. The use of a foreign command is now supported for remote program execution. · Remote Execute – Prompt for Runtime Arguments. You can have the IDE prompt for runtime arguments for remote execution of .EXE files. · 3GL file properties support has been expanded. 3GL settings are now supported on a per file, per project, and global basis. New Features in Version 5.5 FT2 · Sun’s C/C++ module can now be used with Distributed NetBeans. Individual file remote compilation is missing, but all other remote file options are available. · 3GL and remote Ant compilation settings have been expanded to include "per project" settings. See the Distributed NetBeans JavaHelp for more information. · The latest OpenVMS Java 1.5 kits are now supported. · Improvements have been made to the Distributed menu items on the Project right-mouse click menu. · The Distributed NetBeans plug-in now works with Mac OS. · Problem with the Distributed NetBeans plug-in on Linux have been fixed. · Extra source directories in a project are now supported during initial remote project conversion. 1 Before Installing Distributed NetBeans Hardware Prerequisites - Client For NetBeans IDE desktop system hardware and software prerequisites, see the Readme file at http://www.netbeans.org/community/releases/55/1/relnotes.html#SystemRequirements. Hardware Prerequisites - IDE Server The Distributed NetBeans IDE Server requires the following: » 500MHz minimum Alpha or I64 processor » 256MB of memory » 2000 blocks minimum free disk space on your system disk » ODS-5 or ODS-2 disk (ODS-5 is required to use the Java SDK with Distributed NetBeans) Software Prerequisites - Client » NetBeans 5.5.1 (from NetBeans.org) running on your desktop system » Java Standard Edition v 1.4.2-07 or higher (Note: JSE v 1.6-04 is not supported.) (from http://developers.sun.com/downloads/ running on your desktop system) » (Optional) X Windows Server (such as eXcursion) running on your desktop system Note Distributed NetBeans 5.0 FT2 for OpenVMS was the last release on which NetBeans 5.0 is supported. An X Windows Server is required to run remote Java applications that use Swing, and to use some of the features of the Distributed NetBeans Client (such as "Use XTerm for Compile" and "Use XTerm for Execution"). Software Prerequisites - IDE Server on OpenVMS Alpha » OpenVMS Alpha Version 8.2 or higher » Software Development Kit (SDK) v 1.4.2-7 (or higher) for OpenVMS Alpha for the Java platform » All required ECOs for the Java SDK » Required Debug ECOs (See Remote 3GL Debug Notes) » HP TCP/IP Services for OpenVMS Version 5.4 ECO 4 or higher » FTP Service in TCP/IP Services for OpenVMS enabled and started (see FTP Notes) » (Optional) BASIC, C/C++, FORTRAN, COBOL, or PASCAL compiler for OpenVMS Software Prerequisites - IDE Server on OpenVMS I64 » OpenVMS I64 Version 8.2 or higher » Software Development Kit (SDK) v 1.4.2-7 (or higher) for OpenVMS I64 for the Java Platform » All required ECOs for the Java SDK » Required Debug ECOs (See Remote 3GL Debug Notes) » HP TCP/IP Services for OpenVMS Version 5.5 or higher » FTP Service in TCP/IP Services for OpenVMS enabled and started (see FTP Notes) » (Optional) BASIC, C/C++, FORTRAN, COBOL, or PASCAL compiler for OpenVMS FTP Notes Before you can use the FTP as your remote file access provider in Distributed NetBeans, the TCP/IP FTP Service must be enabled and started. Enter the following command: $ @SYS$MANAGER:TCPIP$CONFIG select 3 - Server components select 5 - FTP select 2 - Enable and Start See HP TCP/IP Services for OpenVMS Installation and Configuration for more information. Remote 3GL Debug Notes For Remote 3GL Debug support, the following kits are required: For OpenVMS Alpha: · VMS82A_DEBUG-V0200 or later (for V8.2) · VMS83A_DEBUG-V0100 or later (for V8.3) · ACRTL Facility Patch Kit VMS83A_ACRTL-v0400 (for V8.3) For OpenVMS I64: · VMS821I_DEBUG-V0300 or later (for V8.2) · VMS83I_DEBUG-V0100 or later (for V8.3) · Version 8.3-1H1 does not require an ECO kit. 2 Downloading and Installing Distributed NetBeans Downloading the NetBeans Client and IDE Server Kits Point your browser to the Distributed NetBeans for OpenVMS download page. Save the IDE Server file HP-xxxVMS-IDESERVER-V0505--1.PCSI_xxxEXE (where xxx is AXP or I64) to any location accessible to the OpenVMS system on which you will install the IDE Server. If applicable, copy or FTP the file(s) to the OpenVMS system. Expand the IDE Server file by entering: $ RUN HP-AXPVMS-IDESERVER-V0505--1.PCSI_AXPEXE ! for OpenVMS Alpha $ RUN HP-I64VMS-IDESERVER-V0505--1.PCSI_I64EXE ! for OpenVMS I64 The file expands to HP-xxxVMS-IDESERVER-V0505--1.PCSI$COMPRESSED. Save the NetBeans client to your desktop system: distnbopenvms55_v55_100.nbm for NetBeans 5.5.1. Note: The downloaded .nbm file must have an extension of nbm. The case must match exactly. The downloaded file should be named distnbopenvms55_v55_100.nbm. Installing the NetBeans Client Kit You must have NetBeans 5.5.1 (from NetBeans.org) installed on your desktop system before you install the Distributed NetBeans for OpenVMS client. To install the Distributed NetBeans client, perform the following steps. 1. Save the client module to a folder on your desktop system. (The client module is available from the Distributed NetBeans download page on the Distributed NetBeans web site.) 2. Start NetBeans on your desktop system. 3. Open the NetBeans Update Center wizard (choose Update Center from the Tools menu). 4. Select the Install Manually Downloaded Modules option. 5. Follow the instructions on the wizard for completing the installation. 6. After clicking Finish, if you are prompted to restart NetBeans, you must choose Restart the IDE to complete installation of the module. The Distributed NetBeans client module contains support for the following features on OpenVMS. • Distributed OpenVMS File Access • Distributed BASIC Support for OpenVMS • Distributed C/C++ Support for OpenVMS • Distributed COBOL Support for OpenVMS • Distributed FORTRAN Support for OpenVMS • Distributed PASCAL Support for OpenVMS • Distributed DCL Support for OpenVMS • EDTkeypad Support (disabled by default) To enable EDTkeypad support, from the Tools menu, select Options, the press the keymap button on the left. Select edtkeypad from the Profile: drop down menu. The Distributed Client can be disabled or uninstalled, or both, from the Module Manager on the Tools menu. Installing the IDE Server Kit $ PRODUCT INSTALL IDESERVER Install the server .PCSI$COMPRESSED file by entering the following command from the SYSTEM account or another privileged account. (Do not expand the .PCSI$COMPRESSED file before installing it; PCSI installs from the compressed kit directly.) $ PRODUCT INSTALL IDESERVER The IDE Server is installed into SYS$COMMON by default. To specify a different installation location, use the /DESTINATION qualifier on the PRODUCT INSTALL command line, or set the PCSI$DESTINATION logical name to a different location. Following is a sample installation of the IDE Server on OpenVMS Alpha. $ PRODUCT INSTALL IDESERVER The following product has been selected: HP AXPVMS IDESERVER V5.5 Layered Product Do you want to continue? [YES] Configuration phase starting ... You will be asked to choose options, if any, for each selected product and for any products that may be installed to satisfy software dependency requirements. HP AXPVMS IDESERVER V5.5: OpenVMS IDE Server The IDE Server includes the JAR files for Jakarta Ant. You must agree to the terms of the Ant license agreement in order to use the IDE Server. Press return to display the license /* * Apache License * Version 2.0, January 2004 * http://www.apache.org/licenses/ * ... I have read and accept the above license. [Y = I Accept, N = I Reject]: y * This product does not have any configuration options. The following product will be installed to destination: HP AXPVMS IDESERVER V5.5 DISK$ALPHASYS:[VMS$COMMON.] The following product will be removed from destination: HP AXPVMS IDESERVER T5.5-FT3 DISK$ALPHASYS:[VMS$COMMON.] Portion done: 0%...10%...20%...40%...50%...60%...70%...80%...90% %PCSI-I-PRCOUTPUT, output from subprocess follows ... %INSTALL-W-NOPREV, no previous entry exists - new entry created for JESSE$DKA0:[SYS0.SYSCOMMON.][IDE$SERVER.SYSLIB]IDE$VMS_AUTH_MOD.EXE;1 %INSTALL-W-NOPREV, no previous entry exists - new entry created for JESSE$DKA0:[SYS0.SYSCOMMON.][IDE$SERVER.SYSLIB]IDE$DBGLIBSHR.EXE;1 Portion done: 100% The following product has been installed: HP AXPVMS IDESERVER V5.5 Layered Product The following product has been removed: HP AXPVMS IDESERVER T5.5-FT3 Layered Product HP AXPVMS IDESERVER V5.5: OpenVMS IDE Server Insert the following lines in SYS$MANAGER:SYSTARTUP_VMS.COM: @SYS$STARTUP:IDE$STARTUP.COM Insert the following lines in SYS$MANAGER:SYSHUTDWN.COM: @SYS$STARTUP:IDE$SHUTDOWN.COM ACCOUNT QUOTAS The IDE Server requires the modifications to system parameters as follows: System parameter CHANNELCNT must be greater than or equal to 2000 USER ACCOUNTS that will use Distributed NetBeans will require quotas as follows in order for the IDE$USER server to start: WSEXTENT greater than or equal to 30000 JTQUOTA greater than or equal to 60000 PGFLQUO greater than or equal to 500000 Higher values of other quotas may be required depending on the commands you will be executing in your IDE$USER server. KEYSTORE CONFIGURATION The keystore for SSL uses a default account and password. If you would like to modify these values, please see the Release Notes for information on changing the keystore values. $ 3 After Installing Distributed NetBeans Importing Settings from NetBeans 5.0 to 5.5 When you start NetBeans 5.5 for the first time, NetBeans may prompt you about whether to import user settings from NetBeans 5.0. If you answer yes, and the Distributed NetBeans V5.0 FT1 or FT2 kit was already installed in NetBeans 5.0, the import wizard will not copy the Distributed NetBeans module files into the NetBeans 5.5 new user directory. You will see errors when you attempt to open Distributed NetBeans projects. To correct this problem, install the Distributed NetBeans V5.5 client module into NetBeans 5.5. IDE Server Startup and Shutdown After you install the IDE Server, add the following line to SYS$STARTUP:SYSTARTUP_VMS.COM: $ @SYS$STARTUP:IDE$STARTUP.COM Then add the following line to SYS$MANAGER:SYSHUTDWN.COM: $ @SYS$STARTUP:IDE$SHUTDOWN.COM Important: Execute the IDE$STARTUP.COM command procedure only from the SYSTEM account. Accounts, Quotas, and System Parameters Following are the quotas for the remote user account. (This is not the IDE$SERVER account, but the account that you specify when you create a remote server, called IDE$USER, from within the Distributed NetBeans client.) Important: If you have DISK QUOTAS enabled on the disk on which IDE Server is installed, you must grant the IDE$SERVER account a disk quota of at least 200,000 blocks. In addition, you must grant each USER ACCOUNT that will be used by Distributed NetBeans a disk quota of at least 100,000 blocks on the disk on which the IDE Server is installed. Default Quotas assigned when OpenVMS account is created. Minimum Minimum value required for Distributed NetBeans to run. Recommended Recommended value for optimal performance of Distributed NetBeans. User Account Quota Default Minimum Recommended WSDEF 2000 2000 2000 WSEXTENT * 16,384 30,000 30,000 FILLM 100 100 500 BIOLM 150 150 512 DIOLM 150 150 512 ASTLM 250 250 300 TQELM 10 10 400 BYTLM 64,000 64,000 64,000 JTQUOTA * 4096 60,000 60,000 PGFLQUO * 50,000 500,000 500,000 * Manually increase these quotas. The IDE Server installation creates an account IDE$SERVER and a rights identifier (IDE$SERVERRI). The IDE$SERVER account is created with the following user quotas: PRIVILEGES=TMPMBX,NETMBX,PRMMBX) ASTLM=300 BIOLM=1024 BYTLM=2000000 DIOLM=1024 ENQLM=2000 FILLM=512 JTQUOTA=60000 PGFLQUOTA=1500000 PRCLM=10 TQELM=400 WSEXTENT=524288 (Be sure SYSGEN parameter WSMAX is large enough to allow this) WSDEF=2000 Logical Names Following are the logical names that can be used to control the IDE Server. • IDE$ALLOW_EXTAUTH – This logical causes the IDE Server to ignore the ExtAuth flag and try local authentication using your password from the SYSUAF file. • IDE$JDK_VERSION – This logical forces a particular version of the Java SDK to be used by specifying the version number. For example: $ DEFINE/SYSTEM IDE$JDK_VERSION 150 ! Use Java 1.5.0 Note: You must restart the IDE Server after changing the IDE$JDK_VERSION logical name. • IDE$HOST_IPNAME – If you have multiple Ethernet cards on your OpenVMS system, this logical allows you to choose which card the IDE Server uses for registration in the Java RMI registry. Set the logical in the SYSTEM table to the IP address or IP hostname of the card you choose. If you have multiple cards and you do not set this logical, the results are unpredictable. For example: $ DEFINE/SYSTEM IDE$HOST_IPNAME bugsy.malone.gangsters.com • IDE$RMI_PORT – This logical defines the RMI port to be used. By default, 1099 is used. If this logical is defined, the value of the logical will be used as the port number. For example, if you enter the following command, the IDE Server will use port 999 for RMI communications: $ DEFINE IDE$RMI_PORT 999 Note: If you want to redefine the IDE$RMI_PORT logical, it needs to be done in the SYSTEM logical name table. • IDE$VERBOSE_LOG – This logical turns on verbose logging in the IDE Server. The IDE Server startup procedure creates the following logicals in the system logical name table. Logical Name Location Description IDE$ROOT Top level IDE Server directory (PCSI installation destination) IDE$ANT_HOME IDE$ROOT:[IDE$SERVER.ANT] Distributed Ant files. The use of this logical name is deprecated. Please use IDE$JDK_VERSION to set the Java version to be used by the IDE Server. IDE$ANT_ROOT IDE$ROOT:[IDE$SERVER.ANT.] Root directory of Ant files IDE$CMS IDE$ROOT:[IDE$SERVER.CMS] Distributed CMS support files IDE$COM IDE$ROOT:[IDE$SERVER.COM] Command procedures IDE$DOC IDE$ROOT:[IDE$SERVER.DOC] Documentation IDE$JARS IDE$ROOT:[IDE$SERVER.JARS] JAR files for the IDE Server IDE$JARS_ROOT IDE$ROOT:[IDE$SERVER.JARS.] Rooted logical for JAR files IDE$JAVA_ROOT Varies Root of Java files IDE$LIB IDE$ROOT:[IDE$SERVER.SYSLIB] Shareable images used by the IDE Server IDE$LOGS IDE$ROOT:[IDE$SERVER.LOGS] Logs from the IDE Server processes IDE$SCRATCH IDE$ROOT:[IDE$SERVER.SCRATCH] Scratch directory IDE$STORES IDE$ROOT:[IDE$SERVER.STORES] Keystore and truststore files IDE$SYSTEM SYS$SYSTEM System files The IDE$SERVER process writes log files into the IDE$LOGS directory. 4 Release Notes · Version Renumbered Distributed NetBeans 5.0 FT2 for OpenVMS was the last release on which NetBeans 5.0 was supported. The current release, Version 5.5, supports NetBeans 5.5 and 5.5.1 only. Therefore, Distributed NetBeans has been renumbered to Version 5.5. · Support for NetBeans 5.0 Discontinued Distributed NetBeans 5.0 FT2 for OpenVMS was the last release in which NetBeans 5.0 was supported. · Supported SMB Products The supported SMB products on the OpenVMS machine are Advanced Server, and HP OpenVMS Common Internet File System (CIFS) Version 1.0, based on Samba V3.0.24. Earlier versions of Samba are not supported. The share on the remote OpenVMS machine must be a STREAM_LF share. · File Extension of .nbm Must Be Lowercase The downloaded .nbm file must have an extension of nbm, and the case must match exactly. If the extension (nbm) is not in lowercase, the module will not install correctly and NetBeans will get into an installation/update loop. · Interactions with the NetBeans C/C++ Development Pack The NetBeans C/C++ Development Pack can be installed with the Distributed NetBeans client plug-in. The NetBeans C/C++ Development Pack takes precedence over the Distributed NetBeans C/C++/Fortran/Bash support when both plug-ins are installed. Therefore, the following remote actions are disabled for C/C++/Fortran/Bash files when the NetBeans C/C++ Development Pack is installed: Remote Compile, Remote Execute (from Bash file), Remote Properties. Remote Execute for DCL command procedures and Ant scripts can be used instead of Remote Compile in these cases. · Conversion of Distributed NetBeans Version 3.6 Projects Distributed NetBeans Version 5.5 does not support the conversion of projects from Distributed NetBeans Version 3.6. When you are creating a new remote project in Distributed NetBeans Version 5.5, add the remote filesystems from your Distributed NetBeans Version 3.6 project into your remote project in Distributed NetBeans Version 5.5. · Java Source Version on Desktop and IDE Server Must Be Compatible When you convert a local Java project to a remote project, Distributed NetBeans checks that the JVM version used on your desktop system and IDE Server are compatible. You cannot convert your project to a remote project until the Java project and IDE Server are using compatible JVMs. To change the Source Level for your project, select the project tab. Right click on your project and select Properties. Set the proper source level from the Source Level dropdown menu. The Java source level should be less than or equal to the version of Java with which you are running the IDE Server on OpenVMS. · EDT Keypad Disabled by Default To set the keypad on your keyboard to adopt EDT keypad behavior, you must manually enable it. From the Tools menu, select Options, the press the keymap button on the left. Select edtkeypad from the Profile: drop down menu. · OpenVMS Directory and Filenames Containing Spaces Are Not Supported Do not choose directory names containing spaces on OpenVMS. Spaces in directory names are not supported in Ant on OpenVMS. (Distributed NetBeans uses Ant to build projects.) · Default Java SDK Version The IDE Server requires Java SDK version 1.4.2-7 (or higher) on OpenVMS Alpha and I64. By default, the IDE Server assumes that Java v 1.4.2 is installed on the system, and the server attempts to use that version of the SDK. To force the server to use a particular version of the SDK, define the logical IDE$JDK_VERSION to a three-digit version number of the SDK you want to use (for example, 150). For example, entering the following command causes the IDE Server to be started using the SDK (in this case, v 1.5.0) contained in the tree whose root is SYS$COMMON:[JAVA$150]: $ DEFINE IDE$JDK_VERSION 150 User processes that are started by the IDE Server also use this logical to choose the Java version. You must restart the IDE Server after changing the IDE$JDK_VERSION logical name. · Define IDE$ALLOW_EXTAUTH Logical for Users with ExtAuth Flag Set in SYSUAF Record The IDE Server does not support external authentication. If you have the ExtAuth flag set in your SYSUAF user record, you must define the system logical name IDE$ALLOW_EXTAUTH to cause the IDE Server to ignore the ExtAuth flag and try local authentication using your password from the SYSUAF file (these are usually synchronized with Advanced Server). If the logical is defined (with any value) then the check for the ExtAuth flag is disabled. If the logical is not defined, then the SYSUAF record is checked for the ExtAuth flag and the Remote Server connection will fail from within the Distributed NetBeans client. HP recommends that you define the logical in the SYSTEM table to ensure that it is visible to the IDE Server process. · JSSE Keystore and Truststore The IDE server uses JSSE (Java Secure Socket Extension) for secure network connections. Configuring the JSSE’s Keystore and Truststore for the IDE server requires running IDE$STORES:IDE$CONFIG.EXE. It will encrypt the user provided information and store it as IDE$STORES:IDE$KEYDATA. The IDE server is shipped with a preconfigured IDE$STORES:IDE$KEYDATA which assumes IDE$STORES:IDE$_KEYSTORE and IDE$STORES:IDE$_TRUSTSTORE as the Keystore and Truststore, respectively. IDE$STORES:IDE$_KEYSTORE and IDE$STORES:IDE$_TRUSTSTORE were created with JDK’s keytool and preconfigured to use with the IDE server. The password to access them is _keystore. · IDE$SERVER and IDE$USER Processes on OpenVMS At system startup, the SYS$STARTUP:IDE$STARTUP.COM command procedure creates a process named IDE$SERVER, which runs in the IDE$SERVER account. The IDE$SERVER process starts a subprocess named IDE$RMIREG for handling RMI. Both of these processes are detached processes. When you create a remote server inside NetBeans running on your desktop, the NetBeans client contacts the IDE$SERVER process running on the OpenVMS machine. The IDE$SERVER process authenticates the user account login information you supplied, and creates a detached process running in your user account on the OpenVMS machine. This process is named IDE$USER_xxxxxx, where xxxxxx is a unique identifier. The IDE$USER_xxxxx process is then fed DCL commands by the NetBeans client running on your desktop. Because the IDE$USER process is running detached, it may not obtain all of the symbol and logical name definitions that you defined in your SYLOGIN.COM and LOGIN.COM files. A detached process has an F$MODE() of OTHER. SYLOGIN.COM has sections for each different process mode, and a GOTO at the beginning of the file. When a process has an F$MODE() of OTHER, the GOTO may bypass some important DCL commands. This is also a common DCL programming practice in LOGIN.COM. HP recommends that you examine your SYLOGIN.COM and LOGIN.COM procedures to make sure that detached processes obtain the proper symbol and logical name definitions. · Remote Command Execution and Privileges Remote commands are not executed in a process that has the AUTHORIZED privilege mask from the remote user server. The IDE$SERVER starts a detached user server process logged in to the account you specify when you create the remote server in NetBeans on your Distributed NetBeans desktop machine. This detached process spawns subprocesses to execute commands (at your control) on the OpenVMS machine. The spawned subprocess is given only the privileges that were enabled when the user server spawned the subprocess. If you need extra privileges to execute commands in a DCL file, you must enable them in your user server process. You can do this by modifying your LOGIN.COM file to turn on the required privileges. You can restrict this action by turning on privileges only if your process name begins with IDE$USER_ or by checking the f$mode() of the process. (All Distributed NetBeans servers are detached, so the f$mode() == "OTHER".) · Using Ant Outside of Distributed NetBeans Apache Ant version 1.6.5 is included with the IDE Server. This version of Ant has been patched to work on OpenVMS. The logical IDE$ANT_HOME points to the root directory of the Ant files for OpenVMS. This directory contains the command procedure IDE_ANT.COM. If you define a symbol that points to this command procedure, you can issue Ant commands to DCL. For example: $ @sys$manager:java$142_setup fast $ ant :== @ide$ant_home:ide_ant.com $ ant "-version" Apache Ant version 1.6.5 compiled on July 14 2006 $ · Multiple Ethernet Cards on IDE Server If you have multiple Ethernet cards on your OpenVMS system, you must choose which card the IDE Server uses for registration in the Java RMI registry. Set the IDE$HOST_IPNAME logical in the SYSTEM table to the IP address or IP hostname of the card you choose. For example: $ DEFINE/SYSTEM IDE$HOST_IPNAME bugsy.malone.gangsters.com If you have multiple cards and you do not set this logical, the results are unpredictable. · Multiple Ethernet Cards on Desktop Machine Having more than one IP address or hostname on your desktop machine can cause the connection to the IDE Server to fail. To solve this problem, choose a host name or IP address for your client machine and set the RMI hostname property on the command line used to launch NetBeans as follows: -J-Djava.rmi.server.hostname= · Client Tested on Windows Only The Distributed NetBeans client has been tested on Windows only. However, HP believes that the client software will run on other desktop platforms, such as MAC-OS, Linux, and HP-UX. · C/C++ Error Marking Errors in C/C++ source files are marked with red underlining and a red x in the margin. These error markings are cleared only if you modify the line they mark. · Process Termination from Runtime Tab Explicitly terminating a process from the NetBeans Runtime tab sometimes does not stop the corresponding remote process on the server. · Open Files in Editor Delays Subsequent Startup If you exit NetBeans on your desktop with several files from the remote OpenVMS system open in the editor, your startup time when you next invoke NetBeans will be longer than usual. At startup, NetBeans restores the state of the previous editing session, which includes opening all of the files that were open when you last exited NetBeans. 5 Known Problems and Restrictions in the IDE Server and Distributed NetBeans Client Following are the known problems and restrictions in Distributed NetBeans Version 5.5. · CMS support is not provided. · Error message “package com.sun.crypto.provider does not exist.” If you see this message on OpenVMS I64 or OpenVMS Alpha running Java 1.4.2-23 or higher, rename the jar files in IDE$JAVA_ROOT[JRE.LIB.EXT] to all lowercase. This is a known OpenVMS Java problem. · Importing settings from NetBeans 5.0 to 5.5 causes errors until client module is installed. When you start NetBeans 5.5 for the first time, NetBeans may prompt you about whether to import user settings from NetBeans 5.0. If you answer yes, and the Distributed NetBeans V5.0 FT1 or FT2 kit was already installed in NetBeans 5.0, the import wizard will not copy the Distributed NetBeans module files into the NetBeans 5.5 new user directory. You will see errors when you attempt to open Distributed NetBeans projects. To correct this problem, install the Distributed NetBeans V5.5 client module into NetBeans 5.5. · A remote project cannot be created in a directory containing an NBPROJECT folder. Distributed NetBeans will not allow a directory containing this folder to be chosen as the remote FTP root of a remote project. When this occurs, the Next and Finish buttons will be grayed out in the wizard until a suitable remote root directory is selected. An error message is returned that explains why the remote project cannot be created. · The SYS$LOGIN directory cannot be chosen as the remote root for a new remote project. An error message is returned that explains why the remote project cannot be created. · In the JSP Sample project, after conversion to remote, the project does not build. The error "Use a fileset to copy directories" is returned from Ant. · EXE and OBJ files are non-editable in the IDE, but they are not marked as non-editable. · If you have DISK QUOTAS enabled on the disk on which IDE Server is installed, you must grant the IDE$SERVER account a DISK QUOTA of at least 200,000 blocks. · Router using NAT times out. If the Distributed NetBeans client initiates the connection to the remote server via a router that uses Network Address Translation (NAT), the connection attempt will time out. This happens because the Java RMI implementation obtains the virtual IP address (private IP address) of the client from the IP packet body, and not from the actual address in the IP packet header. The workaround for this problem is as follows: Set the java system property and make sure the is correctly resolvable on both sides of the router. If you do not set this property, or the related java.rmi.server.useLocalHostname property, the RMI server will by default pick up the server machine's IP address (inside the NAT), which is meaningless to the client. java.rmi.server.hostname="" See the Java RMI FAQ at http://java.sun.com/j2se/1.4/docs/guide/rmi/faq.html#nethostname This means that you should set this property on both the PC and the OpenVMS machine. On the PC, you can modify the shortcut you use to start NetBeans to add (on the java command line): -Djava.rmi.server.hostname="" On the OpenVMS machine, set the logical IDE$HOST_IPNAME as follows, and restart the IDE Server by entering: $ define/system IDE$HOST_IPNAME your_openvms_ip_address $ set def sys$manager $ @sys$startup:ide$shutdown $ @sys$startup:ide$startup See the Sun/Java RMI FAQ http://java.sun.com/j2se/1.4.2/docs/guide/rmi/faq.html 6 Corrected Problems in the IDE Server and Distributed NetBeans Client · Converting a Java project to a remote project or creating a remote 3GL project on an SMB share works properly. · Ant targets beginning with a hyphen are not displayed, making it easier to navigate the list of targets for large projects. · The IDE$STARTUP and IDE$SHUTDON command procedures are generated using the logical device name association with the installation directory, instead of the physical device name. This allows, for example, for the system disk to be moved to another logical drive without affecting the installation. · A wait message is displayed during project conversion. · Debug wait status is displayed in the status area when the IDE is waiting for a response from the remote Debug Server. · The Remote Project Properties action is displayed if you right click on the Remote Java Project Node. · In FT1, after conversion of a J2SE project to a remote project, the source directories, project meta data directories, and default compile time/runtime library jar files were mapped to their remote counterparts. However, if you added any additional libraries (jars/folder) later, they were not automatically mapped. To work around this problem, you needed to modify the build.xml file and override Java class related properties such as javac.classpath. · The Remote IDE Server diagnostics had unprintable chars after "default device is..." · During the 3GL project creation, the Finish button was enabled before the steps were finished. · The FTP port forwarding property was read only from the 3GL remote project property. · The last line of output from the user server process was not always flushed to stdout. · 3GL language settings were not able to be changed globally. · The conflict resolution box did not resize well when using Java v 1.5-04. · If the user password changes for the remote IDE Server, the FTP file system no longer gets repeated errors. · XML files are now properly handled in remote file systems. · Large amounts of output from the process on the OpenVMS machine would cause the IDE to hang. · Failed login attempts now trigger intrusion detection on the IDE Server. · The IDE Server can now be installed on ODS-2 disks if necessary. This is not the recommended installation device, however. · FTP file system operations output can now be seen on the Runtime tab under FTP Filesystems. · MMS "Run Remote Target" is working again. · The paste action did not show up from the 3GL project if the file is being copied from another 3GL project. 7 Software Support On OpenVMS Alpha: Support for Distributed NetBeans is provided by HP under OpenVMS Alpha service agreements through standard support channels. Download is an official distribution mechanism for Distributed NetBeans, including updates in addition to the OpenVMS Alpha media kit. Source code kits are provided in the spirit of the open source community, but are not supported by HP. On OpenVMS I64: Support for Distributed NetBeans is provided by HP under OpenVMS I64 Foundation Operating Environment (FOE) service agreements through standard support channels. Download is a courtesy distribution mechanism for Distributed NetBeans. Kits or updates other than security patch kits obtained via download are unsupported. The OpenVMS I64 Operating Environments media kit is the official distribution mechanism for Distributed NetBeans. Supported kits and updates must be obtained from this mechanism or from software product update services. A variety of service options are available from HP Support. For more information, contact your local HP account representative or distributor. Information is also available from Software Support Services. General NetBeans support is provided by the NetBeans user group at http://blog.gmane.org/gmane.comp.java.ide.netbeans.user. You can informally exchange information with other users in the OpenVMS newsgroup comp.os.vms. To contact the NetBeans for OpenVMS engineering team, please send mail to NetBeans@hp.com.