WebATOMS is the version of ATOMS written to be a CGI application, i.e. it is served over the web and the interaction between the user and the program is via a web browser such as Netscape or Internet Explorer. In this Chapter, I explain how to install WebATOMS on your own web server and give a brief description of its use by a client.
This section explains how to set up WebATOMS to run on your web server. That means that you administer a computer which is used to serve content to the World Wide Web. If you are only interested in using WebATOMS by connecting your web browser to a site that that offers WebATOMS, then you can skip ahead to Section .
I am assuming that you have a web server correctly configured to run CGI scripts. I am also assuming that you have perl installed on that computer and that perl is available for use by your CGI scripts. If you are using APACHE, you should look into installing mod_perl. There is a lot of overhead at start-up as WebATOMS loads various modules and databases into memory. If you anticipate any significant level of traffic on your site, mod_perl will help apache and WebATOMS run more efficiently. Similarly, if you are running Microsoft's IIS, you should look into installing PerlScript from ActiveState. Other web servers may offer similar abilities for embedding a perl interpreter in the running web server. I recommend you look into it.
Here are the steps to installing WebATOMS on your server. Please note that I have only installed WebATOMS on a Linux machine running APACHE. Some parts of the instructions might be different for other systems and/or servers.
atoms.cgi -installThis sets up the set of hard links to the script which are used to serve up the correct file names when the client clicks the ``save-as'' button. Note that these symbolic links have names that might conflict with files that you want to place in the same disk space as 'atoms.cgi', for example 'atoms.inp' and 'feff.inp'. Sorry.
If you encounter problems, there are two things that you could include in a bug report that would greatly improve my chances of solving the problem. (1) Any relevant lines from the server log and/or error log. (2) Save the page where you entered input data as a flat text file and mail me the text file. The second thing will allow me to attempt to reproduce the problem on my own computer.
WebATOMS is designed to interact nicely with other web applications. If you have ATOMS input files on your web server that you would like WebATOMS to read, you can call WebATOMS from another CGI script or from a static page using a URL like this:
http:/what.ever/path/to/atoms.cgi?file=foo.inpIn that case, the form will be filled in with data from the specific input file.
This section documents the use of WebATOMS by a client connected to
a site serving WebATOMS. All you need is a URL. One such location
The use of WebATOMS is very similar to the use of ATOMS and TkATOMS. If you have read and understood Chapters and then WebATOMS will be obvious. If not, I recommend that you read those chapters because here I will only outline the aspects of WebATOMS which differ from the other versions.
Figure shows what WebATOMS looks like with Netscape. The first thing to notice is that all of the data needed by ATOMS has either a text field, a button, or a menubutton associated with it. The next thing to notice is that the label of every widget is a link. Clicking on that link will take you to the appropriate part of a web page explaining the purpose of each kind of input data. If you are confused, click on a label!
The menubutton labeled ``Output type'' lets you select from various different output formats. Most of the types discussed in Chapter are in this menu. The menubutton labeled ``Edge'' allows you to explicitly select an absorption edge. If left blank the algorithm for selecting edges described in Section will be used.
Once all the data has been entered correctly, click on the ``Run Atoms'' button. If all of the data is sensible and WebATOMS is able to run to completion, you output file will be presented as a plain text page suitable for downloading. If there is a problem in the data, the entry form will de redisplayed with some hints about what the problem was.