"IMAGE PULLER" Graphical Interface
1.- General explanation
a) Initialization face
When it starts, it tries connecting to the local ArcVIEW
If it can't comunicate with it, it will display an error message and will
keep on a loop FOREVER trying to establish communication. It will
get out of that loop only when it can communicate, or when the QUIT button
is pressed.
When it comunicate, it will ask for all the parameters, like host address,
user, etc, and will write it to the Control display (see GUI description).
After that, it will ask the local ArcVIEW to get the image list from
the remote machine. If the local ArcVIEW cannot comunicate with the
remote ArcVIEW database (DBS), it will return an error message, and the GUI
will remain in a loop asking for remote communication untill it reaches it
or the QUIT button is pressed.
Once the local ArcVIEW communicates with the other, it will return a list
of image names from the remote DBS. If the list is empty, the initialization
face go to the last stage. If the list is not empty, meaning that there are
images on the remote list, then it will prompt the user what to do with the
list of images: forget or bring its. If the user says "forget", then
the image names will be deleted from the remote DBS, so next time they will
not appear; if the user says "bring", then nothing is done, and the initialization
face goes to the last stage.
The last stage on the init procees is now to request the local ArcVIEW
to start the loop for asking the list every "pollingtime" seconds. The it
goes into the main loop
b) Main Loop
The system will keep in a loop, asking the remote DBS for the list of
images. Everytime an image list is gotten, then it will go and get all the
images on that list using Secure FTP (no password is asked ... see this important note on the subject
). Now, there are two implemented mechanisms for avoiding getting the images
again once they are on the local disk:
a) deleting the image name from the remote list: everytime an image is succesfully
written on the local disk, the system can ask the remote DBS to delete from
its list that image (just the name from the list, NOT THE IMAGE), so next
time it will not appear on the list at will not be pulled out. It is important
to note that deleting the name from the remote machine does not mean much
considering that you can specify a local "image log file" of all the images
that have been pulled, and since the remote DBS is keeping the list for this
specific purpose. The DBS is capable of keeping a completelly separate log
file for another purposes, if desired
b) Using a timestamp mechanism: everytime a list of images has been pulled,
it will grab the timestamp of the last image, and the next time it will ask
for images "older than" the last timestamp. In this way, the remote DBS will
have untouched its list and will send only the desired image names on the
list. This is needed if more than 1 reduction machine is getting the data,
for example.
The system will remain on the loop untill the QUIT button is pushed.
c) Finalization face
After the QUIT button is pushed, the system will clean up and will shutdown
all activity
2.- Graphical Unit Interface description
Front Panel
The present GUI is used as a front-end to the ArcVIEW IMPUL Module, which
basically is capable of pulling out images from a remote host holding
an ArcVIEW database module (DBS). The IMPUL Module can be used undr ArcVIEW
or as an stand-alone program.
The present document will describe only how to use the GUI; the internals
are described on a different document (developers docuement)
The GUI has basically two areas: Status and Control Area
Status Area
This is a upper part of the GUI (from top to the "Info" line)
The right part, under the "Status History" label holds the whole history
of events, since the GUI was started. It will keep in there any error ocurred
on the past as well as all the images that have been pulled out.
The left part, has, in the top, a display which has the current status;
basically if it is waiting for new images, or fetching images, or any
current error status.
This status will be added to the history list once it is not "current"
anymore (so it will pass from left to right)
The seconf display, labeled as "command response" will display the response
to any command sent; a command will be ANY modification to ANY GUI control,
because the information is sent when any change in the GUI controls is
produced. This means that the feedback of a requested change will be inmediate.
Then, there are four LEDs:
Fetching Images : it will turn
green every time an image is being fetched to the local machine
waiting
: it will be green every
time the system is waiting for new images (normally green between pollings)
pause
: it will turn green and
will blink if the systme is in pauses, which means that it is not getting
images (see the "Pause" button explanation
below)
error
: it will turn red if
any error ocurred. The actual error message will be displayed on the "current
status" display
After that, there are the following fields:
Last Image
: The last
image that was succesfully pulled out (meaning that it is already on the
local disk) will be displayed. The display will
include not just
the image name, but the local path also
Last Remote TimeStamp : It has the timestamp
on the remote list for the last image gotten. This computes
the time when the images was added to the
list on the remote
machine (meaning the time when the image was writen to disk on the remote
machine)
Last Local TimeStamp : it is the time when
the last image was localy written.
Control Area
Replicate Remote Dir: It says if the system should replicate
(or try to) the remote directory structure. If checked, it will try to
leave the local image on the
same relative place it was on the remote machine. If
the directory structure does not exists, it will try to create it. If the
box is
not checked, or it fails in creating
the remote directory structure (permissions errors, for example) then it
will leave any image on the
path specified (when
unckecked an image path control will apear). If it is unable to leave the
images even on the path specified, it will
keep trying, giving an error (error
led on) and beeping so the user pay attention to it
LOG
: It says
if the user can log a list of all the images succesfully goten, and file
log file name. It will store the image name and the
timestamp. Disabled
if unckecked
host address
: address of the remote host (from the where the images
will be pulled out)
user
: specify the user to loggin on the remote machine for getting the
images
port
: specify the port on remote host where the DBS is servicing. It normally
goes to 1300
Polling Time
: time, in seconds, for asking the remote host for new images.
Pause
: If pushed it will leave the system in "Pause" mode, which means that it
will not ask for new images. It will remain on this condition
untill the button is unpushed. The
"pause" LED on the status area will turn green and will blink on this condition.
Quit
: Stop program. It will stop all activity and will close the GUI.