A grants.gov linux mini-howto

How I got grants.gov forms and opened them under linux with the Citrix ICA Client
Eric DeWeaver
February 28, 2006

This is how I got forms from grants.gov and was finally able to enter data in them. Basically, the non-windows setup is that you have to login remotely to an MS Windows sever machine, using an ICA Client on your local machine. The server then runs the PureEdge Viewer, which you use to print, save, and edit forms on your local machine. This process is the same whether you're running linux or Mac OS.

The instructions I'm posting here are essentially the same as those in the MSWord file PEClientCitrix.doc, available at

http://www.grants.gov/MacSupport

When you get to the MacSupport page, click on "Citrix Client Start-up Guide" to download the Word file. If you don't have MSWord, a pdf version of the guide is here.

Alternatively, you can try to follow the instructions below. I can't be sure they'll work for you, but they worked for me.

Update: NIH server sometimes asks for login IDs (09/10/06)

Recently a colleague at the University of Pennsylvania had difficulty accessing the NIH server. The server asked him for a login ID and password which (of course) he couldn't provide. However, after some phone calls and a few days, the NIH server stopped asking for passwords and return to it original behavior of allowing unauthenticated access. It's not clear why the server suddenly started asking for login IDs, or why it later stopped asking for them. If you get stuck at a login prompt, it might be worth calling the toll free grants.gov number, 1-800-518-4726, or sending email to support@grants.gov.

1. Go to https://apply.grants.gov/forms_apps_idx.html

Enter the CFDA Number and the Funding Opportunity Number, then click "download application package" when you get the chance. You should be given an opportunity to download a file with a .xfd extension. In my case, the file is called

oppDE-FG02-06ER06-04-cfda81.049.xfd

This is where the fun begins. The .xfd file contains all the forms you need, but how can you access it and fill out the forms? Even though the front office is ultimately responsible for filling out and submitting the forms, I still want to have access to them, be able to see what's in them, print them out, maybe even fill in a few things.

2. Get and install the linux version of ICAClient from citrix.com, which comes in rpm form. When installed (with rpm -ivh), it creates a subdirectory /usr/lib/ICAClient, populated with various files and subdirectories. I'm using version 9.0 of the ICAClient, downloaded from here. If you don't use rpms, I believe you can get the client in a tarball instead.

3. Make an ascii file called PEClientCitrix.ica, by pasting the following lines into a text editor:

[WFClient]
Version=2
TcpBrowserAddress=128.231.74.221
PersistentCachePath=C:\Documents and Settings\lekhoa\Application Data\ICAClient\Cache

[ApplicationServers]
IE PureEdge=

[IE PureEdge]
Address=128.231.74.221
InitialProgram=#IE PureEdge
ClientAudio=On
AudioBandwidthLimit=2
Compress=On
TWIMode=On
DesiredHRES=800
DesiredVRES=600
DesiredColor=2
TransportDriver=TCP/IP
WinStationDriver=ICA 3.0
EncryptionLevelSession=EncRC5-128
ScreenPercent=0

The IP Address listed in the file belongs to an MS Windows server at NIH. The ICA client is invoked from within your browser (Mozilla in my case), and it connects you to this server. The server then runs the PureEdge software (apparently inside a copy of MS Internet Explorer) that lets you fill out the forms. (No doubt, there are problems with my .ica file, such as the nonexistent directories in the PersistentCachePath line, but still it seems to work.)

4. At the unix prompt, run

/usr/lib/ICAClient/wfcmgr

This brings up the Citrix ICA Client for Linux. When using grants.gov, the ICA client is run automatically by the browser (in that case, the ICA executable is called wfica). The reason for running wfcmgr by hand is to access the drive mapping.

At the top of the ICA client window on the right side is a button labeled "Tools". Click

Tools -> Settings -> Preferences -> Drive Mapping

Because you're accessing an MS Windows server, the server will expect the files on your local machine to be on a windows filesystem with a drive letter like "C:". Drive mapping lets you designate any directory as the C: drive

C: Your home directory/grants subdirectory

After you designate a "C:" drive directory, give read and write permissions for that directory using the "Enable/Read/Write" button.

This is the creepy part of the exercise: you have to give the remote MS Windows server full read/write access to your directory.

When you're done setting up the drive mapping, you can exit the ICA Client. The exit button is under the "Connections" button on the top left side of the ICA window. (Where does the ICA Client store the drive mapping info? I have no idea.)

5. Start Mozilla, and point it to the file PEClientCitrix.ica. In the URL address box you can type

file:///you home directory/grants subdirectory/PEClientCitrix.ica

Where, of course, "your home directory" and "grants subdirectory" give the location of the .ica file.

When you point the browser at the .ica file, the ICA Client starts automatically and logs you onto the MS Windows server at NIH. You should see a box titled "Citrix MetaFrame" come up, along with a box saying

*** Warning ***

with a warning about how you're logging onto a government computer. After that, you should see a copy of Internet Explorer running on your screen, with the words

Welcome to the Grants.gov Citrix Server for Mac.

Beneath the welcome, there are detailed instructions for what to do next.

DO NOT FOLLOW THE INSTRUCTIONS ON THE WEBPAGE.

If you follow their instructions on how to access the grants.gov forms, you will get several error messages, most of which say

Error: Unable to find a PureEdgeAPI.ini file

I think the reason for the error is that you're trying to run the PureEdge software on your local computer, which you can't because PureEdge doesn't reside on your computer (and doesn't run under linux anyway).

Rather than following the instructions, go to the top left of the Internet Explorer window and click on "File":

File -> Open

In the dialog box labeled "Open" type "C:", then click "Browse".

You should see a bigger dialogue box, at the bottom of which is written "Files of type", with the words "HTML Files" in the box. Grab the pulldown menu button on the right, and change "HTML Files" to "All Files".

Then you should see a listing of all the files in your local directory. One of them will be the .xfd file for the grant forms of interest to you.

Click on the .xfd file, then click "OK" to open it.

At this point, you should be able to read, modify, save, and print the forms. This works because the MS Windows server at NIH is running PureEdge, and you are giving the server read/write access to the local directory containing the .xfd.

6. If all goes well, you should be able to save your work and close the Internet Explorer window (running on the remote server) when you're done. If not, you may want to kill the ICA Client. To issue the "kill -9" command you can first type

ps aux --cols 250 | grep wfica

to find the process ID to kill.

I've had trouble with the ICA server restarting or refusing to exit nicely. I'm not sure what I'm doing wrong, but the kill command seems to solve the problem.

Good luck!