Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Multi Blogger HTTP Server (https://www.delphipraxis.net/118726-multi-blogger-http-server.html)

littleDave 13. Aug 2008 17:18


Multi Blogger HTTP Server
 
Liste der Anhänge anzeigen (Anzahl: 2)
Servus :hi:

Was ist der Multi Blogger
Multi Blogger ist ein HTTP-Server, der ein komplettes Blogging-System beinhaltet. Dabei ist Multi Blogger komplett unabhängig von externen Programmen/Libraries. Das besondere dabei: Das Blogging-System ist nur optional. Doch was heißt das jetzt genau? Ganz einfach: die komplette Website ist nicht in die exe hineinkompiliert - sie wird dynamisch während der Laufzeit erzeugt und kann somit auch während der Laufzeit geändert werden. Die Erstellung der Website übernimmt dabei meine eigene Script-Engine die hier die Aufgaben übernimmt, die z.B. php auf einer normalen Website machen würde. Eigendlich war dies nur ein Testprojekt für meine Script-Engine, doch ich hab mich dann doch dazu entschlossen, dieses Projekt noch seperat zu veröffentlichen. Natürlich mit dem Hintergedanken, etwas Werbung für mein Script-Sprache zu machen, doch das ist wirklich nur nebensächlich.

Hinter den Kulissen
Die Websiten werden komplett dynamisch während der Laufzeit erstellt. Das hat den Vorteil, dass das komplette System auch während der Laufzeit geändert werden kann. Die Erstellung der einzelnen Seiten übernimmt dabei die eingebaute Sysygy Script Engine. Diese Script-Engine kompiliert die Befehle in Byte-Code, der dann extrem schnell von einem Interpretor ausgeführt wird. Dabei bietet der Server intern sehr viele Funktionen für die Script-Engine an. Mit Hilfe dieser Funktionen kann aus der Script-Engine heraus z.B. auf die Datenbank zugegriffen werden.
Die eingebaute Datenbank ist ebenfalls komplett selbst geschrieben und ist ebenfalls unabhänig von externen Libraries. Natürlich ist die Datenbank keine Konkurenz zu anderen Datenbanken wie z.B. MySQL - jedoch reicht diese vollkommen dafür aus.

Welche Fremdkomponenten werden benutzt?
Eigendlich sind es nur zwei (abgesehen von der VCL): der idHTTPServer (für den Server an sich) und SynEdit (für den Script-Editor). Jedoch ist auch nicht alles an den generierten HTML-Seiten von mir gemacht. Das Design (bis auf ein Paar Änderungen) hab ich von Arcsin Web Templates (Lizenz: Creative Commons Attribution 2.5).
Der WYCSIWYG-Edior ist der TinyMCE-Editor (Lizenz: LGPL).

Wofür brauch ich den Multiblogger?
Das ist an sich eine berechtigte Frage. Das Projekt ist wie gesagt nur ein Test/Demonstrationsprojekt für meine Script-Engine. Aber ich hab mir auch schnell noch ein paar Sachen einfallen lassen:
Denkbar wäre z.B. der Einsatz auf einem kleinen Firmen-Server, auf dem nicht extra zusätzliche Programme installiert werden sollen. Auch die Installation ist komplett einfach: man muss nur das Archiv, das man gedownloaded hat, einfach in einen Order mit Schreibrechten entpacken, die exe starten und fertig.
Gerade diese einfache Installation ist auch für ein kleines LAN von großem Vorteil - lästige Installationen entfallen und man hat sofort ein lauffähiges Programm.

Schon wieder Schreibrechte im Anwendungsordner?
Ich hab mir gedacht, dass dies im Moment für ein Demoprogramm am sinnvollsten ist. Wahrscheinlich werden einige wieder sagen: das soll man nicht, jedoch werden wahrscheinlich die wenigsten (wenn überhaupt) das Programm wirklich benutzen - daher wollt ich die "deinstallation" bzw. das Löschen so schnell und simpel wie möglich machen: einfach den Ordner löschen und fertig. Es werden keine Registry-Einträge sowie keine Dateien außerhalb des Ordners erstellt, bearbeitet oder gelöscht.

Screenshots?
Nun ja, das ist schwer. Das Interface des Programms ist relativ unspektakulär und somit eher nicht für Screenshots geeignet. Das sinnvollste wäre wahrscheinlich ein paar Screenshots der erstellten HTML-Seiten, doch so ganz sinnvoll sind diese auch nicht - es geht ja um Interaktion. Sinnvoller wäre eher eine Live-Demo. Dafür hab ich bei mir zu Hause den Server laufen und jeder, der Lust hat, kann sich das ja mal im Betrieb anschauen. Natürlich läuft der Server nicht 24/7, da es ja mein normaler Heim-PC ist und der auch nicht immer an ist bzw. ich auch nicht immer daheim bin. Wenn der Server an ist, ist er unter folgender URL erreichbar:

http://littledave.globedns.info

Nun noch kurz eine Installationsanleitung:
Nachdem du das zip-Archiv heruntergeladen hast, entpackst du es in einen Ordner, in dem du Schreibrechte hast. Danach startest du das Programm BlogServer.exe. Ein kleines Fenster in der rechten unteren Ecke deines Bildschirm wird dann erscheinen. Dort wählst du im Hauptmenü unter Server den Eintrag Start Server aus. Der HTTP-Server läuft jetzt. Nun öffnest du deinen Webbrowser und gehst auf die Addresse http://localhost/ (alternativ kann man auch im Programm unter Tools den Eintrag Open Browser). Jetzt findest du dort den Startbildschirm der Seite. Zuerst solltest du dich registrieren. Da der aller erste Benutzeraccount automatisch admin-Rechte bekommt, solltest du als Benutzername auch admin nehmen, dies steht dir jedoch total frei. Nachdem du dich registriert und eingeloggt hast, siehst du rechts unter Verschiedenes zwei wichtige Administrationspunkte: Benutzerliste und Servereinstellungen. Diese beiden Einträge sind nur für Administratoren sichtbar. Dort kannst du alles in Ruhe einstellen.
Hinweis:
Der Server minimiert sich beim Schließen in die TNA (Task Notification Area) links neben der Uhr in der Taskleiste. Mit einem Doppelklick auf das Symbol öffnet sich das Fenster wieder. Wenn du das Programm komplett beenden willst, musst du unter File den Eintrag Shut Down auswählen.

Was ist mit dem Source-Code des Programms?
An sich will ich den Source nicht komplett freigeben, da ich ein paar Komponenten von mir mitbenutzt habe, dich ich ungern freigeben möchte. Falls sich jemand brennend für den Quelltext interessiert, kann er mich ja anschreiben.

Abschluss
Falls sich jemand dazu überwindet, sich das Programm mal anzuschauen wäre ich sehr froh über jegliches Feedback.

littleDave 17. Aug 2008 15:52

Re: Multi Blogger HTTP Server
 
Ich hab im Originalbeitrag zwar geschrieben, dass es keinen wirklichen Screenshot gibt, doch da mein PC, auf dem ja die "Live-Demo" läuft, nicht immer an ist, hab ich nun doch einen Screenshot erstellt. Also falls jemand sich das Programm live anschauen will, mein PC nicht läuft und somit die Live-Demo nicht verfügbar ist, kann er sich ja dann den Screenshot anschauen.

Außerdem hab ich noch eben einen kleinen Bug in einem Script gefunden. Durch eine unnötige Umwandlung des Zeichens & in & in einem Link wurde der Link ungültig. Dies trat immer auf, wenn man im WYCSIWYG-Editor einen Beitrag schreibt und Bilder/Links aus der eigenen Link-Liste hinzufügt.

Grüße
Dave

PS: Ach nochwas zur Live-Demo: ihr könnt euch darin ruhig austoben, euch registrieren, Blogs oder Kommentare schreiben. Die Demo ist komplett anonym.

littleDave 24. Aug 2008 20:21

Re: Multi Blogger HTTP Server
 
Schade dass niemand sich dafür interessiert :( - kann es aber auch verstehen - nicht jeder braucht das Programm.

Für alle, die es interessieren sollte, ich hab gerade eine neue Version hochgeladen. An der exe hat sich nichts geändert, jedoch hab ich die Website-Scripts zum Teil etwas überarbeitet. Außerdem gab es noch einen Fehler mit dem WYSIWYG-Editor und einen kleinen Fehler in den css-Dateien.

Win32.API 24. Aug 2008 20:29

Re: Multi Blogger HTTP Server
 
Hallo,

ich habe leider keine verwendung dafuer, aber ich moechte dir hier mal meinen groeßten Respekt aussprechen. Finde es wirklich super, dass du an dem Projekt (Scriptengine) drann bleibst und sie staendig erweiterst und verbesserst, obwohl sie zu unrecht sehr wenig beachtung bekommt.

In meinen Augen ist sie eins der Interessantesten Projekte, die hier in den letzen Jahren veroeffentlicht wurden.

Hochachtungsvolle Grueße - Win32.API

littleDave 24. Aug 2008 20:39

Re: Multi Blogger HTTP Server
 
Zitat:

Zitat von Win32.API
Hallo,

ich habe leider keine verwendung dafuer, aber ich moechte dir hier mal meinen groeßten Respekt aussprechen. Finde es wirklich super, dass du an dem Projekt (Scriptengine) drann bleibst und sie staendig erweiterst und verbesserst, obwohl sie zu unrecht sehr wenig beachtung bekommt.

[...]

Hochachtungsvolle Grueße - Win32.API

Danke erstmal für dein Feedback :-)

Ich glaub, ich würd diese Komponente auch nicht weitermachen, wenn ich nicht selbst drann so sehr interessiert wäre. Ich arbeite gerade an einem neuen Projekt, welches meine Script-Engine wiedermal extrem ausnutzen wird. Das aktuelle Development-Tagebuch führe ich in der in der Live-Demo dieses Projekts. Das wird dann auch mal ein Projekt, welches ein wenig mehr Nutzen hat, als dieser HTTP-Server (Link funktioniert nur, wenn mein Server an ist ;-))

Zitat:

Zitat von Win32.API
In meinen Augen ist sie eins der Interessantesten Projekte, die hier in den letzen Jahren veroeffentlicht wurden.

:love: so was hört man gerne :D Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz