CADev - CometAnywhere Remote Development

From CometWiki

Jump to: navigation, search

Contents

Overview

CADev consists of a suite of programs that provide a facility for editing and compiling IB programs over a CometAnywhere connection. That is, .IBS source files that previously could only be edited and compiled on a computer hosting Comet can now be edited and compiled remotely across a network or the Internet. This is accomplished by maintaining identical copies of an .IBS source file at both the host and remote computers. When a request is made to compile the remote version of a file, it is first copied back to the host computer and then the appropriate commands are sent to the host computer to compile the file.


Host programs used by CADev (REL):

CADev.obj

Capi.obj


Remote programs used by CADev (Comet programs folder):

Cosw.exe

CADev.exe

Console.exe

UEdit32.exe (UltraEdit)

CometUESetup.exe (for initial setup only)

Using CADev

Using CADev is pretty simple. Log onto the target CometAnywhere host computer and acquire access to the Comet directories required to edit and compile the .IBS source files you wish to work with (see Note below). Now you will run the Comet program CADev (lives in REL) which will launch a surrogate program CADev.exe (a Windows program) on the remote computer. CADev will hide the session window (configurable) and present a new window that will be used to select the host files that will be edited remotely. A one-to-one relationship exists and must be maintained between the CometAnywhere session and CADev program. Therefore if one terminates the other will no longer be usable without reestablishing the connection. When you exit CADev all files being monitored for changes will be deleted. Only one CADev session is allowed to run on a CometAnywhere computer at a time.


The CADev window consists of three panes. The left or "Ready" pane contains a list of the files that have been designated for remote editing. Files in this list will be monitored for changes and synchronized as required by UltraEdit. The center or "QDir" pane lists the Comet directories that are currently accessed at the host computer. The third or "Comet" pane contains a list of the text files in the selected Comet directory that are available for remote editing. Double-clicking a file in the Comet pane (or right-clicking and choosing "Prepare to edit") will cause that file to be added to the Ready pane. As each file is added to the Ready pane, it will be copied from the host computer to the "Local Storage Folder" on the remote computer. To view the files that are currently being maintained in the Local Storage Folder by CADev you can click on the "View" menu and choose "View Local Storage."


Once a file has been added to the Ready pane it may be edited with UltraEdit. You can load a file into UltraEdit in any conventional way. The easiest is by simply double-clicking the file in the Ready pane which will cause the file to be loaded into UltraEdit. You may now edit the file as you normally would. When you click the compile button in UltraEdit a command is issued to CADev to copy all modified files back to the host computer in preparation for compilation. Once all files have been copied to the host computer, the appropriate command is issued to Comet to start the compile, returning the results in the output pane of UltraEdit.


CADev provides visual indication of the status of any file listed in the Ready pane. If a file is currently unmodified it will show a green check mark next to it. If a file has been modified it will show a purple triangle next to it. As a file is being copied to or from the host computer it will show a animated arrow pointing in the direction of the copy.


Note: Unlike using UltraEdit locally where Comet sessions are created (and destroyed) on the fly each time a compile command is issued, CADev requires a persistent CometAnywhere session.


Special Considerations

Because CADev will be monitoring all of the files in the Local Storage Folder on the remote computer it is necessary that only CADev known files reside in that folder. If new a file is detected by CADev the user will be asked to identify the file so it can be synchronized with the host. This is handy when intentionally adding new files to the program you're working on. This can also be accomplished by right-clicking the "Comet" pane and choosing "Create New File." If CADev detects a new file and you do not designate a corresponding "Comet" file then that file will be deleted from the Local Storage Folder. A undesired side affect of this behavior is caused when UltraEdit saves changes to a file and renames the original file for backup purposes (<filename>.bak). CADev will think you've added a new file and you will be asked to identify a corresponding Comet file. To avoid this problem we recommend that you configure UltraEdit (Advanced Menu -> File Handling -> Backup) to store backup files in an alternate location.


Behind The Scenes

As mentioned earlier in this document, CADev consists of several programs that work together to perform the magic of remote editing and compiling. This is how it all works:


After you connect to the host computer and set all of your required accesses you then run CADev (from REL). CADev.IBS is really a very simple program. It has two basic functions: To launch CADev.exe at the remote computer and then run Capi (from REL) at the host computer.

CADev.exe is passed information that allows it to connect to the host computer using CometLib. This provides CADev with the ability to transfer files directly to/from the host computer. While CADev.exe is aware of the remote CometAnywhere session, communication to that session is minimal - only to show/hide the session window. All behaviors that you see in the CADev window including synchronization are managed by CADev.exe via its CometLib connection to the host computer.

While CADev.exe is happily doing its thing, Capi.obj is busy in the original session window waiting for commands to be issued to it from UltraEdit. When you click on the compile button in UltraEdit you are actually asking UltraEdit to run the Signature Systems supplied program Console.exe. Console.exe receives its commands on the command line and uses that information to pipe commands to Capi.obj via the Comet session window (Cosw.exe). After Capi has finished processing the command, the resulting output file is the sent back to the Console.exe program which then sends it to UltraEdit for display in its output window.


System Requirements

Host Computer:

Comet version 2011.452 or higher (Comet32 or Comet16) with a COM license

CometAnywhere (2 sessions recommended but will work with just 1)

REL version 11.10 or higher


Remote Computer:

CometAnywhere connection to the aforementioned host computer.

UltraEditĀ® Professional Text Editor version 13.20 or higher

After installing UltraEdit, you'll need to run CometUESetup.exe once on each CA client where you will be using CADev. This configures UltraEdit for IB compiling and CADev. You must run CometUESetup.exe even if the CA client has already been setup to do IB compilations locally. You will find CometUESetup.exe in your Comet executables folder $(COMET).

Personal tools