Page 1 of 2

Programminstallation mit CMSimple Help

Posted: Fri Dec 28, 2012 9:27 am
by imsueden
Hallo,
da mich die "normalen" Prorammhilfen nerven habe ich eine Programmhilfe mit CMSimple auf dem Webserver erstellt.
Vorteile: Leicht zu machen, immer aktuell, keine erneute Compilierung und Verteilung usw.
Links zu den Seiten sind im Programm eingebaut.

Wenn jetzt aber jemand keine Onlineverbindung hat (solls noch geben) dann fehlt die "Help".

Zuerst wollte ich das PlugIn "Makeoffline" benutzen, gibts aber wohl nicht mehr.
Jetzt dachte ich, einen Webserver (...vom Stick o.ä.) mit meinem Programm zu installieren (Inno Setup) und nach Prüfung Online/Offline mit der kopierten Webseite laufen zu lassen.
Die Hilfe ist dann zwar nicht immer aktuell, aber besser als gar nichts.

Fragen: Geht das? Welchen Webserver empfehlt ihr mir? hat jemand Erfahrung mit der Lösung?

Gruß
imSüden

Re: Programminstallation mit CMSimple Help

Posted: Fri Dec 28, 2012 10:56 am
by cmb
Hallo imSueden,

mir ist noch gar nicht aufgefallen, dass die Website des "Makeoffline" Entwicklers nicht mehr ist. Eigentlich finde ich die Idee, eine CMSimple-Site zu einer statischen konvertieren zu können, wenn man keine dynamischen Inhalte braucht, recht interessant.
imsueden wrote:Fragen: Geht das? Welchen Webserver empfehlt ihr mir? hat jemand Erfahrung mit der Lösung?
Da empfehle ich Portable_XH. Da ist Webserver, PHP und CMSimple_XH (derzeit noch die 1.5.3) bereits integriert. Bei der Zusammenstellung habe ich auch auf die Größe des Pakets geachtet; daher ist z.B. ein abgespecktes PHP 5.2.17 statt einem kompletten 5.3.x enthalten. Das Paket läuft übrigens auch ohne Installer, ggf. vom USB-Stick.

Christoph

PS: Ich hatte noch eine Version von makeoffline auf meinem Rechner, die ich nun ins Wiki hoch geladen habe: http://cmsimplewiki.com/doku.php/plugins/makeoffline.

Re: Programminstallation mit CMSimple Help

Posted: Sat Dec 29, 2012 12:02 pm
by imsueden
Hallo Christoph,
die Tipps von Dir waren Gold wert.
Ich konnte bei "meinem" CMS bleiben und alles 1:1 übernehmen.
Dazu noch, Delphi + Source!

Beim Start der Anwendung wird der Server gestartet,
ich werde das Programm noch etwas abändern, sodass die Webseite nicht direkt startet (wenn ich darf ?),
und dann werden die verschiedenen Seiten durch Links in der Anwendung aufgerufen.

Die beste Programmhilfe die ich je hatte.
Danke für Deine ausgefeilte Arbeit.

Gruß
imSüden

[Lindau > Flensburg = 955 km | Lindau > Rom = 896 km]

Re: Programminstallation mit CMSimple Help

Posted: Sat Dec 29, 2012 12:21 pm
by cmb
imsueden wrote:Dazu noch, Delphi + Source!
Das wird sich in der nächsten Version allerdings ändern; ich habe schon auf Lazarus umgestellt, da ich mir nicht sicher bin, wie lange mein altes Delphi 4 noch funktioniert, und Lazarus auch für andere Plattformen als Windows kompiliert werden kann. Den Quellcode werde ich natürlich weiterhin mit ausliefern.
imsueden wrote:ich werde das Programm noch etwas abändern, sodass die Webseite nicht direkt startet (wenn ich darf ?),
Ja, klar darfst Du. Das Programm selbst steht schließlich unter GPL.

Re: Programminstallation mit CMSimple Help

Posted: Sat Dec 29, 2012 3:25 pm
by imsueden
Danke,
Lazarus ist jetzt öfter ein Thema ... muß ich mich mal mit beschäftigen.

Ich habe lange mit D6 entwickelt und habe jetzt in der "Bucht" ein D2007Pro für 148,-- € bekommen.
Vor langer Zeit habe ich einige DevExpress - Komponenten (Grid, TreeView, ...) teuer gekauft und möchte sie unbedingt weiter verwenden.
Lazarus kann keine Fremdkomponenten? Oder?

Gruß
Süden

Re: Programminstallation mit CMSimple Help

Posted: Sat Dec 29, 2012 3:47 pm
by cmb
imsueden wrote:Lazarus kann keine Fremdkomponenten? Oder?
Grundsätzlich schon. Allerdings gibt es schon ein paar Unterschiede zu Delphi, so dass zumindest ein bisschen Nacharbeit am Quellcode erforderlich sein dürfte. Bei reinen Binärkomponenten (also ohne Quellcode) und Komponenten, die tief ins System eingreifen, ist aber wohl gar nichts zu wollen. Allerdings kenne ich mich da nicht wirklich aus; mit Delphi arbeite ich schon lange nicht mehr wirklich, und mit Lazarus habe ich nur immer mal ein bisschen rumgespielt.

Re: Programminstallation mit CMSimple Help

Posted: Sun Dec 30, 2012 1:07 pm
by imsueden
Ich war wohl etwas zu euphorisch.
Wenn ich meine Anwendung starte und den Server per > Klick auf Portable_XH.exe dann läufts.
Wenn ich die Portable_XH.exe aus der Anwendung aufrufe, dann geht gar nix.
Vermutlich die Firewall ? (Win7).
Beim externen Start der Portable_XH.exe meldet sich die Firewall-Abfrage und es läuft.

Ich habe noch nichts gemacht im Bereich Netzwerk/Internet/Firewall
und komme nicht klar damit. Den Anwendern möchte ich auch nicht zumuten kompizierte Firewalleinstellungen zu machen.

Wie kann das gehen, was muß ich beachten?

Gruß
Süden

PS: Ich würde gerne den Start des Servers in mein Programm übernehmen. Welchen Code brauche ich dazu? Dann kann ich die Portable_XH.exe sparen.

Re: Programminstallation mit CMSimple Help

Posted: Sun Dec 30, 2012 2:58 pm
by cmb
imsueden wrote:Wenn ich die Portable_XH.exe aus der Anwendung aufrufe, dann geht gar nix.
Absolut gar nichts? Wird nicht wenigstens das Icon in der TNA angezeigt?
imsueden wrote:Ich würde gerne den Start des Servers in mein Programm übernehmen. Welchen Code brauche ich dazu? Dann kann ich die Portable_XH.exe sparen.
Das klingt sinnvoll. Den entscheidenden Teil findest Du im TNA Formular. Soweit ich's auf die Schnelle überblicke brauchst Du nur das folgende aus CreateForm:

Code: Select all

  ExecuteBGProcess('nginx.exe');
  hPHPCGI := ExecuteBGProcess('php\php-cgi.exe -b 127.0.0.1:9000 -c php\php.ini');
  ShellExecute(Handle, 'open', 'http://localhost:8080', nil, nil, SW_SHOWNORMAL)
ExecuteBGProcess ist ebenfalls in diesem Formular definiert (eigentlich sollte es unter neueren Delphi-Versionen da bereits was fertiges geben). Und ggf. musst Du noch die Pfade zu nging.exe und php-cgi.exe/ini anpassen.

Re: Programminstallation mit CMSimple Help

Posted: Mon Dec 31, 2012 1:07 pm
by imsueden
Es läuft nicht aus meiner Anwendung heraus.
Egal ob ich mit shellexecute die Portable_XH.exe aufrufe oder den Code implementiere.
Wenn ich direkt die Portable_XH.exe aufrufe kommt die Aufforderung der Firewall die nginx.exe freizugeben,
aus meiner Anwendung heraus nicht. Auch die Benutzerrechte müssen gesetzt werden.
Wie das bei den unterschiedlichen Windowsversionen ausgeht kann ich auch noch nicht sagen.

Ich habe von der Materie zu wenig Ahnung und werde versuchen mich irgendwann mal damit zun beschäftigen.

Dann habe ich versucht, unter Xampp/CMSimple mit Makeoffline statische Seiten zu erzeugen, aber ohne Erfolg.
Nach Aufruf erscheint irgendwann ein leerer Bildschirm ... das wars.

Schade, ich finde meine Idee ganz gut.

Gruß
Süden

Re: Programminstallation mit CMSimple Help

Posted: Mon Dec 31, 2012 1:40 pm
by cmb
Portable_XH braucht nicht unbeding eine Firewall-Freigabe. Wenn aber die Anfrage der Firewall nicht erscheint, dann ist die Freigabe bzw. das Blockieren für dieses Executable (nginx.exe) bereits erfolgt, oder aber, und das vermute ich, der Prozess wurde nicht gestartet. Das kannst Du im Taskmanager mal prüfen. Falls der nginx Prozess nicht gestartet wurde, liegt's evtl. an den Pfadangaben. Zum Testen, ob das so ist, kannst Du den %PATH% ja mal um das Portable_XH Verzeichnis erweitern. Dann sollte zumindest nginx.exe ausgeführt werden können.

Makeoffline habe ich mal schnell mit einem frischen XH 1.5.5 ausprobiert: klappt soweit. Kann allerdings gut sein, dass es einen Timeout oder sonst ein Problem gibt. Im Zweifel einfach mal den Debug-Modus aktivieren, und noch mal probieren. Dann sollte eine Fehlermeldung ausgegeben werden. Der Nachteil bei Makeoffline für die Hilfe ist auf jeden Fall die nicht funktionierende Suchfunktion. Evtl. würde es sich da anbieten, das von Makeoffline erzeugte HTML in eine .chm Hilfe zu konvertieren (diese bietet ja wenigstens einen Index).