snakeseven hat geschrieben:Mühsam nährt sich das Eichhörnchen..
Also Zope installiert und Pythonscript reingeladen (Add: Script (Python)):
Hi Seven!
Internetanwendungen laufen auf einem **SERVER** und Anwendungen mit grafischer Benutzeroberfläche auf einem **DESKTOP**. Mische diese Anwendungsarten nur dann, wenn du dich in beiden Bereichen *gut* auskennst, sonst wirst du ins Schleudern kommen.
Wie im ZopeBuch zu lesen ist, haben Objekte vom Typ "Script (Python)" nicht alle Rechte, die ein normales Python-Skript im Dateisystem hat. Das ist aus Sicherheitsgründen so und kann nur sehr schwer geändert werden. Sicherheit ist im Internet extrem wichtig, deshalb ist das so.
Möchtest du von Zope aus ein Skript mit mehr Rechten aufrufen, musst du von Zope aus eine "Externe Methode" aufrufen. Diese darf alles, was man mit Python machen kann, läuft aber unter Windows mit dem Python-Interpreter, der mit Zope mitgeliefert wird. Es ist also unabhängig von einem bereits installierten Python. Das betrifft auch die Python-Module wie z.B. TkInter. Damit ein TkInter-Fenster auch aus Python heraus aufgerufen werden kann, musst du ein installiertes TkInter auch in den richtigen Ordner unterhalb der Zope-Ordnerstruktur kopieren. Ich weiß allerdings nicht welche, weil ich nie auf die Idee kommen würde, ein GUI mit einer Webanwendung auf diese Weise zu kombinieren und es deshalb auch nicht ausprobieren werde.
Ein Internetserver-Programm ist dafür ausgelegt, viele Anfragen zu bedienen. Was passiert, wenn du vom Internetserver aus ein GUI-Programm aufrufst, das auf eine Eingabe von dir wartet? Jetzt rufen mehrere Benutzer evt. sogar noch die gleiche URL auf. Für jeden Aufruf würde jetzt das GUI-Programm gestartet werden. Der Speicher ist sofort voll, die Programme können nur noch durch einen Timeout-Mechanismus gekillt werden und Probleme wie, "Was passiert, wenn ich nicht am Windows angemeldet bin?", sind in diesem Szenario noch gar nicht berücksichtigt. Damit möchte ich aufzeigen, welche Problem auf dich zu kommen, wenn du Internet und GUI nicht trennst.
mfg
Gerold
