You should run your external programs from Python using an External Method. However, you want to think about security - you don't want to let a random client be able to execute just anything. I recommend some configuration code that checks the request (and maybe the user) and only allows certain specified programs to be run. Requests for anything else would be rejected - in fact, they would not even be understood. You also have to work out how to handle it in case the external program fails or hangs. Cheers, Tom P [Lee Philip Reilly]
I wonder if anyone could perhaps answer a question for me regarding Zope and it's ability to inter(face/act) with external applications - running on the same (linux) machine. I am developing a web application and one of it's functions requires it to be able to execute programs (mainly written in c, but also Fortran) via command lines including all the required arguments;
e.g. ./do-something -i1 file1.txt - i2 file2.txt -o results.txt
In some cases the program output would have to be obtained (and returned to Zope for processing), and in others it would not - some of the calculations take a few hours - in which case the results would be mailed directly to the user when complete. I anticipate the flow of things will be as follows:
1-User will submit some data / upload files via web forms. 2-Zope will then use this data and then generate a command to execute an external program running on the same machine. 3-The user can then be notified if the program executed correctly, and if applicable, return any data.
Can Zope be of any use here? Is the above possible? Is anyone doing something similar at the present time? If anyone could provide me with any information, I would greatly appreciate it.