Seite 1 von 1

Hallo Welt

Verfasst: Do Jul 28, 2011 6:36 pm
von Xin
Ich bin mal von meiner Couch runtergekommen und habe mit STRG-Shift+B gespielt und mal den Header und Footer von proggen.org als Textdatei auf die Platte geschrieben.

Aus den Textdateien müssen noch Klassen werden, die sind also alles andere als generiert. Zunächst wird es wohl Klassen geben, die proggen.org-Header und Footer bauen.
Hier wird dann auch endlich dani93s Embrace-Klasse Verwendung finden ;-D

Dazu gibt es die Datei "start" mit folgendem Inhalt:

Code: Alles auswählen

xin@trinity:/data/home/xin/workspace/gsys/trunk/apps/cms$ cat data/start
====== proggen ======

proggen.org HTTP-Service \\

====== Test-Wiki

Styles: \\
**bold**, __underline__, //kursiv//, ''monospace'' \\
\\

Links: \\
[[http://www.proggen.org|www.proggen.org]] \\

Code: \\
<console>                                                                                                                                                                   
#include <stdio.h>                                                                                                                                                          
                                                                                                                                                                            
int main( void )                                                                                                                                                            
{                                                                                                                                                                           
  printf( "Hello World\n" );                                                                                                                                                
                                                                                                                                                                            
  return 0;                                                                                                                                                                 
}                                                                                                                                                                           
</console>
Grundsätzlich sieht das ähnlich aus wie in Dokuwiki, lediglich die Headlines müssen nicht mit 2 Blöcken aus Gleichheitszeichen bestückt werden, ein Zeilenwechsel reicht auch. Umrandet man eine Überschrift mit 2 Blöcken aus Gleichheitszeichen, so kann man danach weiterschreiben.

Das ist alles noch sehr am Anfang. Aber es antwortet wenigstens schon:
pt.jpg
Editieren kann man auch noch nichts. Ich kann allerdings Formulare auslesen - es gibt halt nur noch nichts, was ein Formular auf die Platte schreibt. Es gibt noch keine Benutzerverwaltung oder Rechteverwaltung. Aber es ist zumindest kein Hirngespinst mehr. :-)

Re: Hallo Welt

Verfasst: Sa Okt 01, 2011 3:14 pm
von Xin
Schonmal wieder ein Problem weniger.

Meine Website bis 2004 funktioniert schonmal auf dem Progtall-Webserver. :-)
Die funktionierte größenteils noch ohne PHP.

Das bedeutet, dass Dateien erfolgreich übertragen werden können und zwar inkl. der Kennung (Mimetype). Damit werden Grafikformate, wie auch das favicon übertragen.
Damit sind die Grundfunktionen des Servers eigentlich da.
111001_screenshot.png
Jetzt geht es langsam darum, das eigentliche CMS zu schreiben. :-)
Aber ein paar Kleinigkeiten gibt's ja dafür schon. :-)


PS:
Ich wunderte mich gerade etwas über den vorherigen Screenshot, denn da ist ja auch Grafik im Spiel, was zu dem Zeitpunkt gar nicht funktionieren konnte. Ich habe den Header einfach als Include hinzugefügt. Die Grafiken wurden da wohl von proggen.org geladen. Das Fav-Icon funktionierte jedenfalls da noch nicht. ^^

Re: Hallo Welt

Verfasst: Sa Okt 08, 2011 11:33 am
von Dirty Oerti
Meine Antwort kommt zwar etwas spät, aber trotzdem: Das gefällt mir so! :)

Damit ist der Webserveranteil fertig, so wie ich das verstehe? Wie bindest du das CMS nun an? Wird das im Prinzip 1 Server mit dem CMS integriert oder hast du das CMS extra?

Re: Hallo Welt

Verfasst: Sa Okt 08, 2011 12:56 pm
von Xin
Dirty Oerti hat geschrieben:Meine Antwort kommt zwar etwas spät, aber trotzdem: Das gefällt mir so! :)

Damit ist der Webserveranteil fertig, so wie ich das verstehe? Wie bindest du das CMS nun an? Wird das im Prinzip 1 Server mit dem CMS integriert oder hast du das CMS extra?
Nun, da entstehen derzeit sogenannte "Renderer". Einer ist schon fertig, der "FileTransmitter". Er kopiert eine Datei auf den Stream, zum Beispiel eine ".html"-Datei, oder eine ".png". Der Unterschied ist eigentlich nur, dass die Antwort einen anderen Mime-Type verpasst bekommt.

In Arbeit zum einen ein "Directory"-Renderer. Apache listet dann das Directory auf, ich möchte zunächst nach speziellen Dateien suchen, die die Seite beschreiben, bzw. was damit gemacht werden soll. Die Meta-Information gibt quasi an, wie dieses Directory gerendert werden soll. Sie könnte zum Beispiel "filetransmit index.html" enthalten, was die index.html verschickt - so wie man das ja auch kennt.
Sie könnte aber auch "wiki start.wiki" enthalten, so dass die Datei "start.wiki" durch den Wiki-Renderer geschickt wird. Ein alternativer Wiki-Renderer könnte ein "libindex"-Renderer sein, der sich alle Unter-Verzeichnisse ansieht und guckt und daraus einen Index für Library-Funktionen erstellt.
Was dem derzeitigem Wiki fehlt, ist ein "forward", eine URL umlenkt oder einfach eine andere vorhandene Seite zeigt (z.B. eine Fehlerseite).

Genauso wird es dann einen "thread"-Renderer geben, der Postings untereinander packt und einen "board"-Renderer, der Threads und Unterbretter zu einer Liste verpackt.
Eine Seite besteht also nicht nur aus Inhalt, sondern auch aus der Frage, wie man den Inhalt darstellt.

Viel interessanter ist zur Zeit allerdings die Versionierung von Texten. Das gibt's noch gar nicht. Deswegen ja auch mein Interesse an "Diff"-Algorithmen. ^^
Es gibt noch keine User- oder Rechteverwaltung. Es bleibt also noch einiges zu tun. :-)

Ein Renderer für dynamische Seiten wird sicherlich auch noch kommen. Ich habe da auch schon eine Idee, welche Sprache ich dafür verwende ^^

Re: Hallo Welt

Verfasst: Sa Okt 08, 2011 3:13 pm
von Kerli
Xin hat geschrieben:Viel interessanter ist zur Zeit allerdings die Versionierung von Texten. Das gibt's noch gar nicht. Deswegen ja auch mein Interesse an "Diff"-Algorithmen. ^^
Es gibt noch keine User- oder Rechteverwaltung. Es bleibt also noch einiges zu tun. :-)
Wie wäre es denn mit git? Es ist doch genau für so etwas gedacht. Man kann git auch direkt in C/C++ verwenden, also auch direkt in ein C/C++ Programm linken.

Re: Hallo Welt

Verfasst: Sa Okt 08, 2011 4:32 pm
von Xin
Kerli hat geschrieben:Wie wäre es denn mit git? Es ist doch genau für so etwas gedacht. Man kann git auch direkt in C/C++ verwenden, also auch direkt in ein C/C++ Programm linken.
Ich habe auch schon über Subversion nachgedacht.
Bedenken habe ich im Konflikt-Fall. Schließlich kann so ein Repository dann auch von mehreren Seiten gefüttert werden, was schief gehen könnte.

Ich kenne mich mit GIT noch kaum aus. Ich warte ja immernoch auf das GIT-Tutorial. ;-)

Ein nicht unübliches Problem ist, dass ich gerne die Kontrolle über die verwendeten Algorithmen habe, weil ich dann auch die Kontrolle darüber habe, Fehler zu entfernen und dafür muss ich auch nicht in fremden Sourcen debuggen. Das ist hier zwar zweitrangig, aber auch nicht ganz grundlos.

Hast Du Erfahrungen damit GIT aus C++ anzusprechen? Besteht da die Möglichkeit eines Wissenstransfers? Ich bin durchaus interessiert, mir diese Möglichkeit genauer anzusehen.

Re: Hallo Welt

Verfasst: Sa Okt 08, 2011 5:23 pm
von Kerli
Xin hat geschrieben:Hast Du Erfahrungen damit GIT aus C++ anzusprechen? Besteht da die Möglichkeit eines Wissenstransfers? Ich bin durchaus interessiert, mir diese Möglichkeit genauer anzusehen.
Direkt habe ich es noch nicht verwendet. Ich habe nur etwas an cgit geändert und dabei gesehen, dass git direkt verwendet wird.

Re: Hallo Welt

Verfasst: Mo Nov 28, 2011 7:26 pm
von Xin
So, ab heute gibt's auch Kekse. ^^

Cookies implementiert.

Re: Hallo Welt

Verfasst: Mo Nov 28, 2011 7:36 pm
von cloidnerux
+1
Mist, das geht ja nicht^^
Aber immerhin geht es vorwärts: Weiter so!

Re: Hallo Welt

Verfasst: Mo Nov 28, 2011 7:44 pm
von Xin
cloidnerux hat geschrieben:+1
Mist, das geht ja nicht^^
Aber immerhin geht es vorwärts: Weiter so!
Ich spielte eben mit dem Gedanken, wie man sowas implementieren kann, um "Zustimmung" oder "Dank" auszudrücken, ohne gleich ein Posting machen zu müssen.

Da fehlt diesem Forum nämlich durchaus etwas. Genauso, dass man eine Thread als "Gelöst" markieren kann.