Genesys Composer (the GUI used to write GVP voice applications and ORS-executed routing applications) is now formally an Eclipse plugin and offered in a version that will run on Macintosh. Given my Mac preference, I thought I’d give installing Composer on Mavericks a try.
From the beginning, Composer was built on Eclipse, but was distributed as a complete package that included the Eclipse IDE with all the Genesys components baked in. In the latest version, the installation of Eclipse happens first. Additional steps incorporate the Composer plugin; these are performed either as part of the Composer installation, or as a later software addition to Eclipse itself.
I noticed that the Genesys Tech Marketing iDEMOSRV image includes this plugin version of Composer, added to the Juno version of Eclipse. Following their lead, I decided that Juno would be the right version to use for my Mac Composer installation.
Eclipse requires the Java 1.7 jdk, which I downloaded from Oracle. I installed the jdk, then Eclipse.
Genesys Customers can download Composer from the Customer Care website. I chose the latest hot-fix version (8130056b1), a zipped file containing a folder called IP. In it is an installation script called install.sh.
For the installation to work, the JAVA_HOME environment variable must be set. I added the line setting this value to my bash .profile.
Next I ran the installation script, install.sh, as root. The command was “sudo -E ./install.sh”. The -E argument preserves the JAVA_HOME and other environment variables, which are otherwise blown away when sudo is used.
After starting the script, I saw a banner: “Welcome to the Genesys 8.1 Installation Script”, and a notice that it’s installing version 8.1.300.56.
I was asked what port to assign to the embedded tomcat web application server that will be installed. I entered 9090.
Next, I was asked to specify the type of Eclipse Plugin mode. The choices are (1.) Use or (2.) Do Not Use. If you select Use, you will be prompted for the path where Eclipse is installed. If you select Do Not Use, you will have to later manually import the Composer bits from inside the Eclipse IDE. I chose Use.
Next, I was prompted to confirm the destination directory, /opt/genesys/gvp/Composer_8.1. I accepted this default value.
Executing the script with sudo, but without -E, will throw an error saying JAVA_HOME could not be found. Running the script with normal, non-root privileges, results in a bunch of activity… lots of permissions errors and nothing good coming of it. Root is required.
I used sudo -E and after a while I saw a message stating that Composer has successfully installed.
When you open the Eclipse IDE, you will see familiar Composer icons for creating java and .net projects, new interaction and workflow diagrams, validating and generating code, connecting to Configuration Server, starting and stopping tomcat, etc.
One problem, though: The tomcat command buttons don’t work. This is a reported bug. Tomcat has to be controlled manually, as root, by running either the startup.sh or shutdown.sh scripts located in /opt/genesys/gvp/Composer_8.1/tomcat/bin.
Aside from that bug, you have a functioning Composer instance on your Mac!
Now, what if you chose Do Not Use in the step above? You have to use the Help/Install New Software steps to install the com.genesyslab.composer.updateSite.zip package. This process is described in the Composer Deployment Guide, except I couldn’t make it work as described. The Eclipse Add Repository/Location dialog failed to recognize the zipped file as a valid jar file. I think permissions are again the problem as Eclipse is running under my normal credentials and Composer was deployed as root. Root owns those files.
The workaround for me was to use sudo to copy the zipped file somewhere not belonging to root (I chose the IP folder expanded after I downloaded Composer to begin with). I then found I could use the Archive button in the Eclipse Add Repository dialog to find that zipped file and perform the import.
I actually did it both ways, on two machines. In both cases, success!