Superrenderer
Verfasst: So Feb 26, 2012 7:05 pm
So, nach dem Erfolg bei Genesys letzte Woche, packe ich mal einen Screenshot des zukünftigen Webservice hoch. Daran habe ich dieses Wochenende weitergemacht.
Die richtige Website habe ich ja letztens erst online gestellt.
Der Service funktioniert mit sogetauften "Renderern". Der HTML-Renderer überträgt die Website 1:1, Grafiken werden über einen FileTransmitter binär übertragen, was quasi ein BinärRenderer ist.
Die Endung .page wird derzeit an einen "Superrenderer" übergeben, dem ich jetzt Layout-Elemente beibringe. So sieht der Spaß dann aus:
Get und Post-Variablen werden gefressen, Cookies sind an Bord.
Nun gilt es für alle benötigten Elemente entsprechende Layout-Elemente zu schreiben. Anschließend wird vom Superrenderer abgeleitet, um spezialisierte Renderer für komplette Wiki-Seiten, Foren oder Besonderheiten wie Buchrezensionen oder User-Seiten. Und natürlich sämtliche Besonderheiten, wie Anmeldung, private Nachrichten usw.
Jetzt geht der Spaß mit dem CMS los - freie Auswahl, wie das CMS aussehen soll.
Es liegt natürlich nah, dass der Webservice auf kurz oder lang auch programmierbar sein wird.
Ein CMS zu schreiben, machen ja genug Leute hier... da wird das ja wohl nicht so lange dauern.
Falls jemand helfen will, dann kann man sich langsam Gedanken darüber machen, wie wir das Wiki und die Forumsdatenbank übertragen bekommen. Jemand Lust Konverter zu schreiben? ^^
Ansonsten kann man sich Gedanken machen, wie wir neue Elemente erstellen. Info-Boxen; Bereiche, die man einklappen kann, usw.
Die richtige Website habe ich ja letztens erst online gestellt.
Der Service funktioniert mit sogetauften "Renderern". Der HTML-Renderer überträgt die Website 1:1, Grafiken werden über einen FileTransmitter binär übertragen, was quasi ein BinärRenderer ist.
Die Endung .page wird derzeit an einen "Superrenderer" übergeben, dem ich jetzt Layout-Elemente beibringe. So sieht der Spaß dann aus:
Code: Alles auswählen
void SuperRenderer::Render( XSD::Net::HttpResult & result )
{
Layout layout( "bla" );
layout.Include( "header1.inc" );
layout.Title( "Genesys Compiler Project" );
layout.AllCSS( "/css/design.css" );
layout.Include( "header2.inc" );
layout.Include( "imageheader.inc" );
layout.Include( "page_pre.inc" );
layout.Spacer();
layout.TitleGraphic( "img/desert.jpg" );
layout.Spacer();
layout.Headline( 1, "Superrenderer" );
layout.Spacer();
layout.Node( "Dies ist eine Notiz." );
XSD::Type::Parameter * par = result.Url.Parameters.Find( "bla" );
if( par )
layout.String( par->getValue().Embrace( "Dies ist der Inhalt der Variablen bla: \"", "\"" ));
layout.Spacer();
layout.Include( "page_post.inc" );
layout.Include( "footer.inc" );
if( layout.Render( result ) )
result.SetCode( XSD::Net::HttpStatusCode::OK );
else
result.SetCode( XSD::Net::HttpStatusCode::InternalServerError );
result.SetMimeType( XSD::Net::MimeType::TextHtml );
}
Nun gilt es für alle benötigten Elemente entsprechende Layout-Elemente zu schreiben. Anschließend wird vom Superrenderer abgeleitet, um spezialisierte Renderer für komplette Wiki-Seiten, Foren oder Besonderheiten wie Buchrezensionen oder User-Seiten. Und natürlich sämtliche Besonderheiten, wie Anmeldung, private Nachrichten usw.
Jetzt geht der Spaß mit dem CMS los - freie Auswahl, wie das CMS aussehen soll.
Es liegt natürlich nah, dass der Webservice auf kurz oder lang auch programmierbar sein wird.
Ein CMS zu schreiben, machen ja genug Leute hier... da wird das ja wohl nicht so lange dauern.

Falls jemand helfen will, dann kann man sich langsam Gedanken darüber machen, wie wir das Wiki und die Forumsdatenbank übertragen bekommen. Jemand Lust Konverter zu schreiben? ^^
Ansonsten kann man sich Gedanken machen, wie wir neue Elemente erstellen. Info-Boxen; Bereiche, die man einklappen kann, usw.