Blog



Execprog

Irgendwie ist es manchmal zu aufwendig, für kleine Aufgaben extra ein eigenes Modul zu schreiben. Mit der if-Abfrage alleine kommt man aber auch nicht weiter. Also dachte ich zuerst, ich integriere Tags um Variablen zu definieren und Schleifen zu ermöglichen. Aber so richtig Übersichtlich ist das nicht, außerdem wäre es alles andere als schnell. Da fiel mir eine sehr, sehr alte Funktion der tdbengine ein: Execprog. Damit wird ein Stück Quellcode zur Laufzeit übersetzt und ausgeführt. Darum dann flugs einen Tag gebastelt:

Beispiel:
{execprog}
var fhAusgabe : integer
fhAusgabe:=Rewrite('ramtext:out')
writeln(fhAusgabe,'hallo welt')
close(fhAusgabe)
{/execprog}


Nachdem man ja nicht direkt an der aktuellen Stelle ausgeben kann, benutze ich einfach ramtext:out. Alles was man in dem Mini-Progrämmchen dorthin ausgibt, wird nach Beendigung an der aktuellen Stelle eingefügt.

Mit Variablen muss man ein wenig aufpassen, man kann eforia-Eigene nämlich auch überschreiben. Insgesammt ist die Funktion sehr mächtig, man sollte also wissen was man tut. Bei Compiler-Fehlern im Programm wird das Problem angezeigt, man muss also nicht ganz "blind" arbeiten.

Wo ist nun der Sinn?
Beispielsweise kann man in einem RSS-Feed Tags ausgeben. Allerdings einzeln in einer besonderen Weise. Intern gespeichert werden die Tags aber in einem Feld. Das muß man also etwas "umbauen". Das geht dann so:
{execprog}
  var fhAusgabe : integer
  var cTags,cTemp : string
  cTags:=getfield(cms_web,'Tags')
  fhAusgabe:=Rewrite('ramtext:out',0)
  while cTags#'' do
    write(fhAusgabe,'<category><!--[CDATA[')
    if pos(' ',cTags)>0 then
      cTemp:=cTags[1,pos(' ',cTags)-1]
      cTags:=cTags[pos(' ',cTags)+1,255]
    else
      cTemp:=cTags
      cTags:=''
    end
    write(fhAusgabe,cTemp)
    writeln(fhAusgabe,']]--></category>')
  end
  close(fhAusgabe)
{/execprog}

Ein Nachteil sei noch erwähnt: Der Programmcode muss im Quelltextmodus eingegeben werden. Sonst stören HTML-Codes für Zeilenumbrüche oder Leerzeichen. Hier muss ich mal einen neuen Button im Editor einbauen, der das dann so macht wie jetzt die Javascript oder PHP-Bereiche. Allerdings hat das keine hohe Priorität, weil ich es hauptsächlich für Vorlagen verwenden werde.


Dieser Artikel wurde veröffentlicht am 19.11.2008 um 17:24 Uhr. 3 Kommentare.

simple - Einfach mächtig

Es gibt mal wieder ein neues Tag: simple. Wird ein beliebiger Codeblock mit {simple} und {/simple} umschlossen, so werden schlicht alle darin enthaltenen HTML und eforia-Tags entfernt. Übrig bleibt also der blanke Text. Soweit nicht wirklich sinnvoll, aber man kann noch ein paar Parameter mitgeben:
  • br=Code für Zeilenumbruch
  • graphic=Breite:Höhe:Ausrichtung
  • textlength=Maximale Textlänge
  • linelength=Maximale Zeilenlänge
  • hellip=Zeichen am Ende, falls Text gekürzt wurde
  • stripendbr Abschließende Zeilenumbrüche entfernen
Was soll das nun?

Beispielsweise macht
{[6]simple="graphic=108:108:left;textlength=250;hellip=&hellip;"}
{[7]main}
{[6]/simple}</a>
aus dem Hauptinhalt ein Textschnippsel von 250 Zeichen und fügt vorne die Grafik linksbündig an. Benutzt wird immer die erste Grafik, die im Text gefunden wird. Der main-Tag hat übrigens höhere Priorität, weil sonst simple nur das Tag selbst bearbeiten würde. Aber es soll sich ja um den Inhalt kümmern, nachdem main ersetzt ist.

Wenn man das nun mit Overview kompiniert, bekommt man eine schicke Übersichtsseite mit Bildern aus den Unterseiten und einem kurzem einblick in den Text. Wer das mal live sehen will, kann sich gerne die Startseite von Leben ohne Diät [Link entfernt, weil Linkziel leider nicht mehr verfügbar] ansehen.

Dort benutze ich auch eine zweite Variante für den wöchentlichen Newsletter. Dieser wird in einer HTML und reinen Text-Mail verschickt. Man weiß ja nie, was das Mail-Programm beim Empfänger anzeigen kann, deswegen ist mir die Textversion wichtig. Zum zusammenstellen benutze ich das:
* {title} ({date})<br />
&nbsp;&nbsp;{[6]simple="br=<br />&nbsp;&nbsp;;linelength=58;stripendbr"}{[7]main}{[6]/simple}<br />
&nbsp;&nbsp;{link="url:full;type:static;pos:{position}"}<br />
&nbsp;&nbsp;________________________________________________________<br />
<br />

Der Code wird wiederum innerhalb eines Overview-Blocks benutzt. Im Ergebnis erhalte ich den Inhalt auf 60 Zeichen lange Zeilen gekürzt, wobei die ersten beiden Zeichen 2 Leerzeichen zur Einrückung sind. Ich muss nur noch mit Copy&Paste das Resultat in den Newsletter-Editor übertragen. Etwas ähnliches mache ich auch für die HTML-Variante, aber das geht sogar ohne simple. 8-)


Dieser Artikel wurde veröffentlicht am 14.11.2008 um 17:13 Uhr. Noch kein Kommentar.

Double-Opt-In für Kommentar-Benachrichtigung

Es gibt ein neues Update für den ewm5. Der Hauptgrund dafür ist die Double-Opt-In-Funktion bei Kommentaren. Aufgrund rechtlicher Probleme sollte man die Mail-Benachrichtigung bei neuen Kommentaren besser nur noch mit dem sogenannten Double-Opt-In-Verfahren anbieten. Das bedeutet, dass zuerst eine Mail verschickt wird, bei der ein Link zur Bestätigung angeklickt werden muss. Damit ist sichergestellt, dass der Empfänger auch sicher zustimmt und niemand schlicht eine falsche Adresse angeben kann.

Dazu werden 3 neue Vorlagen benötigt und in comments.ini im Bereich [comments] muss
doubleoptin=1
gesetzt sein.

Die Vorlagen:

comment/mail-doubleoptin
Das ist die Nachricht mit dem Bestätigungslink. Diese sollte in etwa so aussehen:
tdbmail
{eMail}
blog@ihre_domain.de
Blog-Name -  Bitte bestätigen Sie die Benachrichtigung über Kommentare
Vielen Dank für Ihren Kommentar im Blog-Name beim Artikel
*{title}*

Sie haben die Option gewählt, dass Sie über neue Kommentare zu diesem Artikel informiert werden möchten. Da dies das erste Mal ist, müssen Sie die Benachrichtigung per Klick bestätigen. Für alle weiteren Kommentare, bei der Sie die gleiche Mail-Adresse verwenden, ist dies nicht mehr notwendig.

Sie müssen die Benachrichtigungsfunktion mit dem folgenden Link bestätigen.
{linktoactivate}

__________________________________________________________

Rechtlicher Hinweis:
Dies ist keine Werbemail! Der Zweck dieser eMail ist die Überprüfung des Wunsches einer Benachrichtigung bei neuen Kommentaren.
Dieses Verfahren (Double-Opt-In) soll sicherstellen keine unverlangten eMails zu versenden.
Weiterhin wird mit dieser eMail der Informationspflicht laut BDSG § 33 Abs. 1 sowie TDDSG § 4 Abs. 1 nachgekommen.
Ihre eMail-Adresse wurde in unserer Datenbank für Kommentare gespeichert. Ohne Aktivierung wird sie nach angemessener Zeit automatisch gelöscht.
Falls Sie nicht wissen, warum Sie diese Mail bekommen haben, hat sich vermutlich jemand einen Scherz erlaubt und Ihre eMail Adresse unberechtigt eingetragen.
Solange Sie nicht den obigen Link zum aktivieren benutzen werden Sie keine weiteren eMails erhalten.


comment/message-doubleoptin
Das sieht der Benutzer, wenn er den Link angeklickt hat und alles war OK. Beispiel:
<a name="message"></a>
<span class="headline" style="font-size:24px;">Vielen Dank. Sie erhalten nun eine Benachrichtigung, falls zu diesem Artikel ein neuer Kommentar verfasst wird.</span><br />


comment/message-doubleoptin-error
Das wird angezeigt, wenn es Probleme mit dem Bestätigungslink gibt. Beispielsweise wenn der Geheimcode nicht stimmt. Den brauchen wir ja, sonst könnte man die Bestätigung für andere übernehmen. Beispiel für die Vorlage:
<a name="message"></a>
<span class="headline" style="font-size:24px;">Es ist leider ein Problem aufgetreten.</span><br />
Die Bestätigung für den Empfang von Benachrichtigungen bei Kommentaren kann leider nicht akzeptiert werden.
Möglicherweise haben Sie den Link nicht korrekt aufgerufen oder zu lange gewartet.
<br /><br />


  • Ansonsten enthält das Update noch die neue overview-Version, die bereits vorgestellt wurde.
  • Der Trackback-Verschicker arbeitet wieder mit HTTP1.1, ich hatte kurzzeitig mal auf 1.0 umgestellt. Komischerweise funktionieren Trackbacks innerhalb des gleichen Servers bei mir nur mit HTTP1.0, was eigentlich genau falsch rum ist. 
  • Ein neuer rollmann ist auch dabei, ich habe den Verdacht beim alten gab es manchmal kleine Probleme mit mehreren Volltexten. Der Sache bin ich aber noch auf der Spur, weil es immer mehrere Tage dauert, bis das Problem überhaupt zu bemerken ist.
  • Beim scheduler ist eine Debug-Ausgabe geändert.


Dieser Artikel wurde veröffentlicht am 18.10.2008 um 13:09 Uhr. Noch kein Kommentar.

Neue tdbengine

Beim letzten Update für den ewm5 gab es bei einigen Probleme. Die Ursache dafür war die tdbengine, die einfach zu alt war. Seit heute gibt es nun eine neue Version, womit auch die neueste Version des ewm5 wieder läuft. Ich habe es eben bei einem Projekt [Link entfernt, weil Linkziel leider nicht mehr verfügbar], das bei 1&1 läuft, getestet.

Für den 4er ewm spielt das übrigens alles keine Rolle. Nur wer den neuesten 5er Beta einsetzt, sollte auch die neue tdbengine benutzen. Den Download gibt es hier [Link entfernt, weil Linkziel leider nicht mehr verfügbar].


Dieser Artikel wurde veröffentlicht am 15.10.2008 um 13:47 Uhr. Noch kein Kommentar.

Selektionen für Overview

Overwiev hat einen neuen Parameter bekommen: sel

Damit lassen sich Datensätze selektieren. Beispielsweise gibt
{execmacro="overview" param="name=blog-titel;source=/Blog;step=10;noget;sel=$cms_web.Datum>=today-7;"}
nur Datensätze der letzten Woche aus.

Das ist auch mehr oder weniger der Sinn, warum ich die Selektionen eingebaut habe. Ich will Einträge der letzten Woche per Newsletter verschicken und mir so die Arbeit ersparen, die Seiten manuell raussuchen zu müssen. Es gibt aber vermutlich noch andere Einsatzzwecke, erlaubt ist als Selektion nämlich alles, was die tdbengine so versteht.

Die Erweiterung wird im nächsten Update enthalten sein. Ich will mir angewöhnen in Zukunft gleich über Änderungen zu schreiben und nicht auf Sammel-Updates zu warten. Intern teste ich dann nämlich schon noch gerne ein paar Tage oder Wochen, bevor ich Funktionen der Allgemeinheit zur Verfügung stelle.

Dieser Artikel wurde veröffentlicht am 02.10.2008 um 20:21 Uhr. Noch kein Kommentar.

Update ewm5

Ich schulde noch ein paar Worte zum letzten Update. Das will ich mal fix nachholen.

  • Ein neuer Baseman ist dabei, der hat schöne Import-Funktionen und weitere Nettigkeiten. Für den Normalanwender dürfte das relativ egal sein, weil er den Baseman sowieso nicht sieht. Ich habe halt die neue Version für diverse Dinge gebraucht, deswegen habe ich ihn mal rein gepackt. Danke an Sven, der ist nämlich derzeit der, der den Baseman betreut.

  • Der Newsletter wurde intern überarbeitet, nach außen merkt man davon aber nichts. Es gab wohl ein Problem, dass teilweise lange Zeilen abgeschnitten wurden. Das hat Sven (schon wieder der 8-) ) in der Mail-Funktion behoben. Die ist Teil unserer Bibliothek und ich musste nur den Newsletter neu übersetzen. Naja, eigentlich. Weil der Newsletter auch direkt kodiert, wenn man HTML-Mails verschickt, war es dann doch nicht so einfach. Es hat mich ein paar Tage gekostet es so hinzubekommen, dass die Umlaute immer stimmen. Den Aufwand habe ich betreiben, weil ich es für den Newsletter ohne Diät [Link entfernt, weil Linkziel leider nicht mehr verfügbar] benötigt habe.

  • Die Sache mit den Priotitäten von Tags wird intern nun anders behandelt. Das sind die [n], die man angeben kann. Beispielsweise {[6]get="..."}. Die ganz einfachen Tags hatten das bisher nicht beachtet und man konnte bei Schachtel-Tags am Ende die Priorität nicht setzten. Ich finde es aber irgendwie übersichtlicher. Also {[9]switch="lala"} ... {[9]/switch} ist nun erlaubt. Dadurch können außerdem auch extrem komplexe Vorlagen gebaut werden, wenn man intensiv mit if-Abfragen arbeitet. Ich habe das eben bei abgekliert so umgesetzt. Dort gibt es Vorlagen für den Autor, die an verschiedenen Stellen eingebunden werden. Um Code nicht doppelt zu haben, ist das ganze sehr zerstückelt in kleine Bereiche. Also eine Vorlage die unter der und der Bedingung diese Vorlage einbindet, die dann wieder diese benutzt und so weiter.
    Auf das Ergebnis bin ich durchaus ein wenig stolz. Es klappt nämlich richtig gut.

  • Overview muss bei jedem auszugebenden Datensatz prüfen, ob dieser auch angezeigt wird. Dazu müssen evtl. auch die Rechte betrachtet werden. Bei mehreren 100 auszugebenden Seiten ist das etwas zeitintensiv. Daher wird nun direkt eine Prüfung gemacht, ob überhaupt gepüft werden muss. Das macht die Sache um etwa 1 Sekunde pro 1000 Einträge schneller. Das summiert sich aber, wenn man mehrere Ausgaben auf einer Seite hat.

  • Im Editor wird unten links ein Zeichenzähler angezeigt. Der Grund für mich ist schlicht die VG Wort. Dort kann man auch Internet-Veröffentlichungen einreichen, was aber erst ab 1800 Zeichen geht. 8-)

  • Unter Tools bei der Konfiguration kann der INI-Editor auch weitere Text-Dateien bearbeiten. Ich fummle öfter mal schnell an einer .htaccess-Datei rum, wozu das ganz praktisch ist. Allerdings sollte man wissen, was man tut. Wenn der Web-Server den Zugriff auf die Seite sperrt muss man doch wieder die Zugangsdaten rauskramen. 8-)
    In der cms.ini gibt man die Dateien einfach an. Beispiel:
    [INI_CONFIG]
    extra_1=../.htaccess
    extra_2=../robots.txt

  • Langsam wird's spannend. Neue Tags steht in der Beschreibung. Was war das gleich noch? 8-)
    {tag="abc"} gibt {action}&tag=abc, wobei abc richtig codiert würde, wenn es Sonderzeichen enthält. Ich bin spontan gar nciht mehr sciher, wozu ich das gebraucht habe. Ich glaube mittels TagMagic wurde das dann wieder überflüssig.
    {outside_template="vorlage"} baut die Vorlage um den aktuellen Inhalt außen rum. Also Die Vorlage wird geladen und die bisherige Seite an Stelle des Platzhalters main dort gesetzt. Damit wollte ich mir Arbeit sparen, habe es aber dann doch anderweitig gelöst.
    {set="..."}: Damit kann man eine Art Umgebungsvariablen setzen. Z. B. {set="type:static"} sorgt dafür, dass Links statisch ausgegeben werden. Außer dort ist bewusst wieder type:dynamic gesetzt. Bisher gibt es type:static/dynamic, url:absolute/full und gfu:full. Type und url bezeihen sich auf Links, gfu auf Dateien und Grafiken. D.h. erstmal nur auf Grafiken, bei denen dann der komplette Pfad benutzt wird. Das ist nämlich noch nicht ganz fertig und wird auch erst im nächsten Update zur Verfügung stehen. Ich habe gestern einen Feed auf Feedburner umgestellt, damit Grafiken dort funktionieren, muss der komplette Pfad angegeben sein.

  • Es gibt ein kleines Cache-System. Dazu bitte einen Blick in die cache.ini werfen:
    [page_1]
    pos=/Spezial/Tags
    param_1=tag
    max_age=14400

    [page_2]
    pos=Blog
    param_1=noc
    max_age=2880

    Das bedeutet nun, dass die Seite /Spezial/Tags gecached wird. Ausgaben, bei denen sich der Parameter tag ändert, werden jeweils auf Festplatte gespeichert und wieder ausgeliefert, falls sie nicht älter als 10 Tage sind. Bei der zweiten Seite ist es Blog und der Parameter noc. Dafür gilt der Cache nur 2 Tage (=2880 Minuten). Zufällig wird der Parameter tag für TagMagic und noc für Overview benutzt. Damit kann man also das Blättern in einem Blog und den Abruf von Tag-Seiten deutlich beschleunigen.

  • So richtig Sinn macht das dann nur, wenn man auch schöne Tag-Clouds basteln kann. Das macht dann TagMagic. Gesteuert wird über tags.ini:
    [cloud_1]
    root=/Blog
    list=../syswork/blogtags.ini
    cloud=../syswork/cloud.html
    min=3
    size_min=10
    size_max=20
    color_min=cccccc
    color_max=000000
    pattern=<a style="font-size:{size}px;color:#{color};text-decoration:none;" href="http://www.leben-ohne-diaet.de/tags/{tagencoded}">{tag}</a>


    Ruft man TagMagic nun auf, was über schedul.ini erfolgen sollte, erzeugt es aus allen Untereinträgen von "Blog" eine Wolke. Diese wird als syswork/cloud.html gespeichert. Ein Tag muss mindestend 3 mal vorkommen, die fertigen Tags sind zwischen 10 und 20 Pixel groß, die Farbe ändert sich nach Häufigkeit.

    Mittels {template="extern:../syswork/cloud.html"} wird die Wolke dann eingebunden. Achja, das ist auch neu, dass template das kann. 8-)
    Wie so etwas dann aussieht, kann man sich gerne im Blog ohne Diät [Link entfernt, weil Linkziel leider nicht mehr verfügbar] ansehen. Ganz unten auf der Seite ist die Wolke.

Etwas viel? Ja. Etwas kompliziert? Ja, auch das. Aber ich freue mich ja sogar über Rückfragen. 8-)

Entschuldigung für die vielen Tippfehler. Mein FF3 will gerade wieder keine Rechtschreibprüfung durchführen und ich habe es eilig...

Dieser Artikel wurde veröffentlicht am 23.09.2008 um 16:47 Uhr. Noch kein Kommentar.

Update ewm5 Beta

Heute gibt es ein kleines Update für die 5er Beta. Darin sind ein paar kleine Dinge enthalten wie ein neuer Mailman, der nun Umlaute in der Betreffzeile einer Mail codiert oder der Scheduler, der die schedul.ini leicht geändert handhabt.

overview hat nun einen weiteren Parameter noget bekommne. Der Grund ist simpel. Beim EInsatz von overview kann man Blätterbuttons verwenden. Die Seite, die dann angezeigt wird, steht dann in der URL. Hat man nun z. B. ein Blog, das 10 Beiträge anzeigt und dort Blättern erlaubt, aber gleichzeitig in der Seitenleiste die letzten 5 Beiträge anzeigt, so blättern auch diese 5. Das will man nicht. Deswegen wäre dort der Parameter noget richtig. Ganz abgesehen davon, dass es so besser ist, können auch echte Probleme entstehen. Blättert man zum Ende des Blogs, wobei die letzten Beiträge ein RSS-Feed und eine Übersicht sind, die beide wiederum overview verwenden, kann ein ganz schönes Chaos enstehen. Deswegen auf noget achten.

In ping.ini kann man nun eine maximale Versuchszahl einstellen, wie oft versucht wird ein Ping zu senden. Außerdem lässt sich die Serverantwort nun auch ignorieren. Seit einiger Zeit bekomme ich von feedburner nämlich keine Rückmeldung. Die Antwort von bloggerei.de wird nun ebenfalls akzeptiert, obwohl diese meiner Meinung eigentlich nicht dem Standard entspricht.

Die für SEOs interessanteste Neuerung dürfte das Nofollow-Attribut sein. Unter "Statische Seiten" kann man dies setzen. Links zu dieser Seite werden dann mit rel="nofollow" versehen. Warum das Sinn macht, würde hier zu weit führen. Vielleicht einfach mal beim Radio4Seo [Link entfernt, weil Linkziel leider nicht mehr verfügbar] reinhören.

Dieser Artikel wurde veröffentlicht am 21.05.2008 um 14:41 Uhr. Noch kein Kommentar.

RSS Reloaded

Vor ein paar Tagen habe ich es bereits angesprochen, es gibt eine neue Möglichkeit den RSS-Feed zu managen. Mit dem Live-Test bin ich sehr zufrieden. Da ein Feed selbst bei einem kleinen Blog durchaus mehrere hundert mal pro Tag abgerufen wird, rentiert sich das schon. Doch nun eine kleine Hilfe zur Implementation.

Zunächst legt man eine Vorlage für Overview an. Diese nennt sich dann sinnvollerweise overview/rss.
Ein Beispiel:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0">
   <channel>
      <title>Blog Titel</title>
      <link>http://www.wollen.de</link>
      <description>Hier steht die Beschreibung vom Blog</description>
      <language>de-de</language>
      <pubDate>\Wed, 19 Nov 2008 17:24:00 +0100</pubDate>
      <lastBuildDate>{rfcnow}</lastBuildDate>
      <docs>http://www.leben-ohne-diaet.de</docs>
      <generator>eforia RSS Generator</generator>
      <managingEditor>hk@tdb.de</managingEditor>
      <webMaster>hk@tdb.de</webMaster>
{block}<item>
   <title><![CDATA[{title}]]></title>
   <description><![CDATA[{main}]]></description>
   <link><![CDATA[{link="url:full;type:static;"}]]></link>
   <pubDate>{rfcdate}</pubDate>
   <guid isPermaLink="true">{link="url:full;type:static;"}</guid>
</item>{/block}
   </channel>
</rss>


Dann wird noch eine Seite im ewm angelegt mit dem Namen RSS-Feed. Ich habe es direkt unterhalb des Blogs als letzten Eintrag angelegt. Die Seite ist aktiv, aber nicht im Menü. Wobei auch dagegen nichts sprechen würde. Die Seite selbst muss auf "Ohne Vorlage" gesetzt werden und sollte statisch erzeugt werden. Das ist schließlich der Sinn des Ganzen. Als Name wählt man z.B. "/blog/rss.xml". Das XML als Endung ist wichtig. Theoretisch könnte der Name sonst beliebig sein, jedoch habe ich festgestellt, dass manche Feedreader Bilder nicht mehr korrekt aufrufen, wenn die Datei im Hauptverzeichnis liegt. Daher die Empfehlung die Datei in einem Unterverzeichnis anzulegen, aber auch nicht in einem Unter-Unter-Verzeichnis. Wie oft aufgefrischt wird, ist eigentlich egal. Ein Wert wie 14400, also alle 10 Tage reicht völlig.




Um das Auffrischen sollte sich nämlich Blog-Update kümmern. Entsprechend tragen wir in blog-update.ini die Seite mit ein:

[refresh]
ping=1
pos_1=/
pos_2=/Blog
pos_3=/Blog/RSS-Feed
pos_4=/Blog/*2

So, damit fehlt eigentlich nur noch der Inhalt der Seite selbst:

{execmacro="overview" param="name=rss;source=/Blog;step=10;"}

Das war's dann.

Achja, eforia.de benutzt noch das bisherige rss.prg. Das muss ich noch umstellen... 8-)

Dieser Artikel wurde veröffentlicht am 31.03.2008 um 11:00 Uhr. Noch kein Kommentar.

Weg mit dem Feed

Natürlich soll der Feed nicht weg, aber rss.prg könnte es erwischen. Ich habe mir überlegt, ob ich nicht den Feed statisch anbieten sollte. Bei der Suche nach einer einfachen Lösung fiel mir auf, dass es eigentlich keine solche braucht. Alles Nötige ist längst in ewm vorhanden. Einfach eine Seite anlegen, dort direkt den XML-Code reinsetzen und mittels overview die letzten 10 Beiträge ausgeben.

Das funktioniert recht gut. Lediglich das Datumsformat im RFC-Stil hat gefehlt. Deswegen bringt das heutige Update die Tags {rfcdate} und {rfcnow} mit. Die Ausgabe sieht dann etwa so aus: Wed, 26 Mar 2008 17:48:00 +0100.

Overview kennt nun das zusätzliche Tag {newest_rfcdate}. Dort wird das Datum des neuesten von overview ausgegebenen Beitrags benutzt.

Tja, das reicht dann auch. Ich habe heute testweise in einem Blog den Feed auf diese Technik umgestellt. Nun warte ich mal ab, was so für Probleme auftreten. In Kürze kommt dann eine Anleitung zur benutzten Vorlage.

Der Vorteil ist natürlich die Erzeugung einer statischen XML-Datei. Diese kann dann vom Webserver richtig verwaltet werden. Also reine HEAD-Requests und Not-Modified-Antworten sparen schon Traffic und machen die Sache auch bei vielen Abonnenten sehr flott. Über das Modul Blog-Update wird die Feed-Datei dann auch immer richtig aufgefrischt so, dass ein manuelles Update eigentlich überhaupt nicht notwendig ist.

Mir gefällt die Lösung so gut, dass ich ernsthaft über den Wegfall des rss.prg nachdenke. Oder ist jemand anderer Meinung?

Dieser Artikel wurde veröffentlicht am 26.03.2008 um 17:48 Uhr. Noch kein Kommentar.

ewm5 Beta Update

Nach langer Zeit mal wieder ein kleines Update. Es enthält die neue Version des Baseman, im Viewer wurde die Debug-Ausgabe abgeschaltet und Tagmagic beschleunigt. Das ist eigentlich auch der Grund für das Update. In der alten Version wurden ähnliche Beiträge mit einzelnen Volltextsuchen zusammengestellt. Im ungünstigsten Fall waren das 1024 Suchen. Das war eigentlich nur als Test gedacht, wie gut das Prinzip funktioniert. Nachdem es ganz zufriedenstellende Ergebnisse liefert, habe ich das nun etwas intelligenter gemacht. Nun sind es maximal 10 Suchen und der Rest läuft über Bitoperationen.

Dieser Artikel wurde veröffentlicht am 25.03.2008 um 10:50 Uhr. Noch kein Kommentar.
Zeige 31 - 40 von 58
Anfang Zurück Vorwärts Ende


Hier bloggt Horst Klier mit und über eforia web manager und was dazugehört (HTML, Javascript, Internet, Webdesign, Such- maschinenoptimierung, usw.).

>> Zur Blog Startseite

RSS-Feed
abonnieren


Übersicht über alle Beiträge



eforia® ist ein eingetragenes Markenzeichen.
Alle anderen Marken und Markenzeichen gehören Ihren jeweiligen Besitzern.
Letzte Aktualisierung dieser Seite: 26.04.2024 / 00:06:24
Suche  
Login / Userdaten
Impressum/Datenschutz