Blog



Update ewm5

Ich habe eben ein Update für die 5er Version abgestellt.

  • Neuer Kern
    Wie schon angesprochen, wurde der Kern, der für die Umsetzung der Tags in HTML zuständig ist, komplett überarbeitet. Die neue Version ist nicht 100% kompatibel. Bisher waren Konstrukte wie {link="pos:{position}"} möglich, weil das Tag {position} immer vor {link...} bearbeitet wurde. Diese interne Bevorzugung einiger Tags gibt es nun nicht mehr. Deshalb wäre nun etwa {link="pos:{[6]position}"} korrekt. Genau genommen hätte man das aber schon immer so machen sollen.
    ACHTUNG: Das Update sollte nur eingespielt werden, wenn man ein wenig Zeit hat, sein System auf solche Konstellationen zu testen und gegebenenfalls die Probleme zu beheben. Allerdings dürfte das auch nur bei komplexeren Systemen vorkommen.

  • Besseres Verhalten beim Speichern
    Bisher war es so, dass man im Firefox während eines Speichervorgangs bereits weiter klicken konnte, was dann meist zu einem Hinweis führte, dass der aktuelle Datensatz noch nicht gespeichert ist. War er ja dann auch noch nicht. Dieses etwas seltsame Verhalten ist nun nicht mehr möglich, einfach weil während des Speichervorgangs der Inhalt etwas abgedunkelt wird und keine Klicks mehr möglich sind.

  • Länge der Eingabefelder bei Neu
    Wenn man eine neue Seite angelegt hat, war das Feld auf 40 Zeichen begrenzt, obwohl eforia 60 Zeichen verwaltet. D.h. man konnte dann in einem zweiten Schritt den Namen noch erweitern, aber eben nciht direkt bei der Neueingabe. Das hat Sascha gestört, deswegen habe ich es erweitert.

  • Mehrere Blogs
    Ein Blog ist für eforia nicht anderes wie normale Seiten, die eben zeitlich gestaffelt immer oben neu hinzukommen. Zwei Hilfsprogramme sorgen dann dafür, dass bei Neueinträgen der Feed und weitere Seiten aktualisiert werden und auch, dass die Welt per Ping von dem neuen Eintrag erfährt. Die beiden dafür zuständigen Module blog-update und ping können nun in der Ini-Datei mehrere Einträge verwalten. Konkret bedeutet das: Nun sind mehrere Blogs mit einer eforia-Installation möglich.
    In der blog-update.ini gibt es dann eben statt nur [main] und [refresh] auch [main_2] und [refresh_2]. Bei ping.ini [services_2] und [main_2]. Selbstverständlich ist es nicht auf 2 begrenzt, sondern kann einfach weitergeführt werden.

  • Overview kann sortieren und suchen
    der Parameter sort= sortiert die Einträge. Das lässt sich z.B. nutzen um ein Lexikon alphabetisch auszugeben. Oder einen Kalender nach Datum. Mit {execprog} und der neuen Suchmöglichkeit, lässt sich damit beispielsweise ein Kalender mit Einschränkung nach Datumsbereich und Volltextsuche "basteln".

    Vorlage overview/kalender
    Suche:&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="overviewsearch" value="{overviewsearch}" style="width:200px;">
    <input type="submit" name="OK" value="OK">
    </form> <!-- Form wird beim Aufruf schon geöffnet -->
    <br /><br />

    {if="'{overviewsearch}'#''"}
      <h2>Zeige nur Einträge mit dem Suchbegriff:</h2>
      <cite>{overviewsearch}</cite><br /><br />
    {end}

    {block}
    {date} {[4]if="{time}#0"}{time} Uhr{[4]end}<br />
    <h2>{title}</h2>
    {main}
    <br />
    {/block}

    Einbinden:
    <h1>Kalender</h1>
    {execprog}
      var fhAusgabe : integer
      var cVon,cBis : string
      var nVon,nBis : integer
      setpara('ec 0')
      fhAusgabe:=Rewrite('ramtext:out',0)
      if cVon:=cgigetparam('calendarvon')#'' then
        nVon:=val(cVon)
      else
        nVon:=today
      end
      if cBis:=cgigetparam('calendarbis')#'' then
        nBis:=val(cBis)
      else
        nBis:=0
      end
      if nVon<today then nVon:=today end
      if nBis>0 and nBis<nVon then nBis:=nVon end

      writeln(fhAusgabe,'<form action="{action}" method="post">')
      writeln(fhAusgabe,'<br />Zeitraum: <input type="text" name="calendarvon" value="'+DateStr(nVon)+'" style="width:70px;">')
      writeln(fhAusgabe,'- <input type="text" name="calendarbis" value="'+choice(sel(nBis=0),'',DateStr(nBis))+'" style="width:70px;"><br />')

      if nBis>0 then
        writeln(fhAusgabe,'{execmacro="overview" param="nocache;name=kalender;step=10;sort=Datum,Uhrzeit;sel=$cms_web.Datum>='+str(nVon)+',$cms_web.Datum<='+str(nBis)+'"}')
      else
        writeln(fhAusgabe,'{execmacro="overview" param="nocache;name=kalender;step=10;sort=Datum,Uhrzeit;sel=$cms_web.Datum>='+str(nVon)+'"}')
      end

      setpara('ec 1')
      close(fhAusgabe)
    {/execprog}

    Am lebenden Objekt kann man sich das hier ansehen.

Dieser Artikel wurde veröffentlicht am 22.06.2009 um 11:30 Uhr. Noch kein Kommentar.

Mehr Cache für ewm5

ewm5 hat nun eine neue Cachefunktion. Im Prinzip ganz simpel: Es gibt ein Flag Cacheable. Dieses wird bei jeder neuen Seite auf 1 gesetzt, beim Speichern dann aber geprüft ob Tags benutzt werden, die ein Caching verhindern. Beispielsweise wenn man if-Abfragen benutzt oder - ganz einfach - die Uhrzeit ausgibt. Man kann aber auch bewusst das Flag setzen und löschen. Es versteckt sich unter "Statische Seiten", das ist etwas unglücklich, aber da war auf die Schnelle noch Platz. 8-)

Was dann mit dem Cache passiert ist wieder eine andere Sache. Konkret habe ich overview erweitert, dass dieses Datensätze mit Cachable-Flag intern zwischenspeichert. Wenn hunderte von Datensätzen auf einmal ausgegeben werden sollen, spart das eine Menge Last. Konkret kommt das bei einem Blog vor, wenn man das gleiche Tag oft benutzt und viel schreibt. Ich habe da ein solches Beispiel, dass derzeit 193 Seiten verarbeitet. Nachdem in so einer Übersicht die Texte nicht unbedingt direkt angezeigt, sondern beispielsweise mit simple gekürzt werden, kostet das doppelt Zeit. Overview cached deswegen den kompletten Block pro Datensatz und Template. Selbstverständlich wird anhand Zeitstempel dafür gesorgt, dass die Daten auch aktuell sind.

In der cache.ini kann man außerdem ein maximales Alter in Tagen für die Caches angeben:
[overview]
max_age=50000


Und weil ich sowieso schon an der Datenbank war, habe ich ein Feld aufgenommen, was die Textlänge in Zeichen speichert. Dabei werden HTML-Elemente nicht mitgerechnet sondern nur der reine Text inkl. Satz- und Leerzeichen. Mittels {chars} läßt sich der Wert ausgeben. Vielleicht hat ja der eine oder andere, der bei VG Wort Mitglied ist, dafür Verwendung. 8-)

Bevor ich ein Update abstelle, will ich auch noch für den Tag {template} eine Cache-Funktion einbauen. Ich nutze das gerne um feste Schnippsel zu hinterlegen und eine Website damit Modular aufzubauen. Da kommt es oft vor, dass eigentlich statischer Inhalt immer wieder neu berechnet wird. Beispielsweise bei Leben ohne Diät [Link entfernt, weil Linkziel leider nicht mehr verfügbar] die Top-Artikel. Das sind jedesmal ein paar Sekunden unnötige Rechenzeit. Das ist im Moment in Planung, aber ich werde nochmal darüber schlafen, ob sich nicht eine bessere Lösung finden lässt. Eine Erweiterung nur für einen einzigen Fall macht auch nicht soviel Sinn.


Dieser Artikel wurde veröffentlicht am 07.01.2009 um 19:59 Uhr. Noch kein Kommentar.

Blog-Parade zu RSS

Im Webmeister-Blog [Link entfernt, weil Linkziel leider nicht mehr verfügbar] gibt es eine Blog-Parade. Vorgestellt werden sollen man Anwendungsmöglichkeiten von RSS. Na das passt ja gut, benutzt eforia doch schon lange RSS zum jammern.

Zum jammern? Ja, so nenne ich das. Wie ein Mensch jammert, dass andere wissen, dass etwas mit ihm nicht stimmt, so jammert auch eforia. Ein CMS ist hochkomplex. Zahlreiche kleine Bausteine spielen ineinander und sorgen für einen reibungslosen Ablauf. Es gibt dabei ganz typische Probleme, die diesen Ablauf stören können. Dabei muss nicht sofort ein Fehler auftreten, manches wirkt sich erst viel später aus. Wenn aber eforia jammert, kann man das Problem bereits vorher lösen.

Deshalb gibt es den RSS-Systemcheck. Dieser prüft verschiedene Dinge im System und gibt das Ergebnis per RSS-Feed aus. Geprüft wird beispielsweise der freie Festplattenplatz. Unterschreitet er eine gewisse Grenze, wird gejammert. Oder wenn Mails im Postausgang liegen und für länger als eine Stunde nicht verschickt werden können. Das kann viele Ursachen haben. Der lokale Mailserver könnte ein Problem haben oder die Vorlage für die Mail enthält schlicht Fehler. Aber auch der Scheduler könnte nicht laufen, wobei das auch extra geprüft wird.

RSS ist perfekt für diese Art der Überwachung geeignet. Einmal den Feed eingerichtet gibt er lauter OK-Meldungen aus. Bei jeder weiteren Abfrage ändern sich diese nicht. Der Feed-Reader erkennt also keine Änderung und bleibt ruhig. Sobald aber ein Fehler auftritt, erhält der Reader einen neuen Eintrag. Als Anwender sehe ich den dann sofort.

Für mich ist das die perfekte Lösung um ein System am Laufen zu halten. Ein Softwaresystem, dass mit anderen interagiert kann nie komplett wartungsfrei sein. Und wenn es nur Lappalien sind, wie eine volle Festplatte.

Dieser Artikel wurde veröffentlicht am 19.12.2007 um 09:43 Uhr. Noch kein Kommentar.

TagMagic

Das neueste ewm5 Beta Update enthält ein neues Modul TagMagic. Hier folgt eine kurze Beschreibung.

Ausgabe der Tags:
{execmacro="tagmagic" param="tagout"}
Gibt die Tags aus. Mit Tags ist gemeint, was man im Editor rechts oben eingeben kann. Die einzelnen Tags sind dabei mit Leerzeichen getrennt.

Für die Ausgabe wird die Vorlage tagmagic/tagout benutzt. Diese wird pro Tag ausgegeben und der Tag selbst kann als Platzhalter benutzt werden. Beispiel:
<a href="http://www.eforia.de/tags/{tag}">{tag}</a>

Hier benutze ich allerdings einen kleinen Trick. Um schönere URLs zu erhalten, rufe ich nicht direkt das Blog auf (overview kann Tags als Parameter verarbeiten), sondern benutze den Aufbau mit http://.../tags/xxx. Damit das auch funktioniert, benötigt man noch einen kleinen Eintrag in der .htaccess-Datei:
RewriteRule tags/(.*) /programm/o.prg?pos=/Blog&tag=$1

Tipp:
Wer sich ein wenig mit Suchmaschinenoptimierung befasst, der hat sich schon mal von dem Problem der doppelten Inhalte gehört. Grob geht es darum, dass die gleichen Texte mehrfach auf einer Website (oder im Web) verwendet werden. Das Problem dabei ist, dass eine Suchmaschine wie Google nicht so recht feststellen kann, welche Version denn nun die richtige ist. Da helfen auch Milliardengewinne und über 15.000 Mitarbeiter nichts. Da muss der kleine Webmaster Mama Google helfen.
Eine Blog-Übersichtsseite ist eben genau so ein Problemkind, weil die Inhalte der Artikel auch direkt angezeigt werden. Mit verschiedenen Seiten, je nach Tag, wird das noch potenziert. Die Lösung ist aber einfach. Man setzt die Übersichtsseiten auf noindex. D.h. man sagt dem Suchmaschinen-Roboter, er soll sie nicht indizieren. Aber die dort verlinkten Artikel sollen natürlich schon beachtet werden, also follow.

Um das gut steuern zu können, habe ich folgendes in meiner main-Vorlage:
<meta name="ROBOTS" content="follow">
<meta name="ROBOTS" content="{switch="noindex"}no{/switch}index">

Wenn dann unter Bedingung/Schalter noindex angegeben wird, wird eben diese Seite als noindex ausgegeben. In unserem Fall wäre das die Blog-Startseite. Wobei z. B. auch eine Seite mit Sitemap ein guter Kandidat dafür wäre.


Anzeige ähnlicher Beiträge:
Die zweite Aufgabe von TagMagic ist die Anzeige ähnlicher Beiträge. Diese werden anhand der Tags herausgesucht. Seit ein paar Tagen teste ich das schon auf dem Blog ohne Diät [Link entfernt, weil Linkziel leider nicht mehr verfügbar] und bin mit den Ergebnissen ganz zufrieden.

Vorlage tagmagic/similar
<li><a href="{link="url:full;type:static;pos:{pos}"}">{title}</a> ({date})</li>

Die Platzhalter sind die gleichen wie bei Navigation.

Aufruf Beispiel:
<span class="subline">Ähnliche Beiträge:</span>
<ul style="margin-top:0;">{execmacro="tagmagic" param="similar:5:10"}</ul>

Das similar steht eben für die Ausgabe von ähnlichen Artikeln. Wobei nicht nur Blog-Artikel einbezogen werden, sondern eben alle Seiten. D. h. diese Funktion ist durchaus auch für normale Webseiten durchaus lohnenswert. Wieder das Beispiel von der Seite Leben ohne Diät [Link entfernt, weil Linkziel leider nicht mehr verfügbar]: Dem BMI-Rechner habe ich die Tags bmi [Link entfernt, weil Linkziel leider nicht mehr verfügbar] und body-mass-index [Link entfernt, weil Linkziel leider nicht mehr verfügbar] verpasst. Wenn ich nun einen Blog-Post mit den Tags schreibe, erscheint unter Umständen ein Link direkt zum Rechner. Das ist doch gar nicht mal so unpassend, oder?

Hinter similar wird mit Doppelpunkt getrennt die Anzahl der auszugebenden Links angegeben. Der zweite Wert gibt eine abweichende Anzahl an, falls perfekte Treffer gefunden werden. Perfekte Treffer meint Artikel, die exakt die gleichen Tags haben. Da macht es durchaus mal Sinn mehr anzuzeigen. Beide Parameter sind optional, der Standardwert ist 5.


Verschiedene Vorlagen
Zusätzlich zu tagout und similar kann man auch template=xxxx angeben und damit eine andere Vorlage anwählen. Beispiel:
{execmacro="tagmagic" param="similar:5:10;template=test"}
Dann wird die Vorlage tagmagic/test/similar benutzt.

Dieser Artikel wurde veröffentlicht am 30.10.2007 um 15:15 Uhr. Noch kein Kommentar.

Mehr Besucher fürs Blog mit Blogfever

Für alle, die bereits ein Blog betreiben, stellt sich natürlich die Frage, wie man neue Besucher gewinnt. Eine mögliche Lösung nennt sich Blogfever [Link entfernt, weil Linkziel leider nicht mehr verfügbar].

Beim Upload-Magazin gibt es dazu einen ausführlichen Artikel.

8-)
Dieser Artikel wurde veröffentlicht am 22.10.2007 um 17:49 Uhr. Noch kein Kommentar.

ewm5 Beta Update

Ein neues Update, mit ein wenig Feinschliff:

  • Im letzten Update hatte ich eine Stelle vergessen umzustellen. So wurden teilweise noch vorkomprimierte Javascript-Dateien geladen. Deshalb hat unter Umständen das Einfügen des Durchstreichen-Symbols im Editor nicht funktioniert. Zur Erklärung: Um Übertragungsvolumen zu sparen, können die von eforia benutzten Script-Dateien komprimiert abgelegt werden. Der Browser übernimmt dann die Dekomprimierung. Allerdings ist dieses Vorgehen während einer Beta-Phase eher störend, da immer alle Dateien mehrfach erzeugt werden müssen.
    Außerdem bin ich nicht ganz sicher, ob es überhaupt noch Sinn macht. Denn Webserver wie Apache können Dateien sowieso bei der Auslieferung On-The-Fly komprimieren, wenn der Browser das unterstützt. Eigentlich sollte das dann sogar besser funktionieren, als wenn eforia sich nochmal selbst darum kümmert. Immerhin ist der Webserver genau dafür optimiert.

  • Im Modul Navigation gibt es zwei neue Platzhalter. {pos} und {lfd} fügen die entsprechenden Informationen des passenden Datensatzes ein. Das hat vor allem einen Grund. Der Platzhalter {link} fügt immer einen dynamischen Link ein. Gerade zum bloggen sind aber statische URLs besser. Mit den neuen Tags ist dann sowas möglich:
    <a href="{link="url:full;type:static;pos:{pos}"}" class="menu">&lt;&lt; {title}</a>

  • Eine neue Option in der cms.ini ist ein Schmankerl für Suchmaschinen-Optimierer:
    gostatic=nouser
     oder
    gostatic=nosession

    Gibt es bisher schon die Möglichkeit, Seiten statisch zu gestalten und erst wenn sich ein Benutzer angemeldet hat werden ihm dynamische Seiten ausgeliefert, so stellt das quasi die Umkehrfunktion dar. Wenn ein Benutzer eine dynamische Seite aufruft, dieser Benutzer aber nicht angemeldet ist, so wird er per Redirect auf die statische URL umgeleitet.

    Unterscheidung:
    Bei nouser wird dann umgeleitet, wenn kein Benutzer angemeldet ist. Es darf also durchaus eine gültige Session-ID vergeben sein, aber eben ohne Anmeldung mit Benutzername und Kennwort. Bei nosession wird nur umgeleitet, wenn keine Session-ID vergeben ist. Dazu zählt natürlich auch eine ungültige oder abgelaufene Session-ID.

    Die statischen URLs ohne Parameter können einfach wesentlich besser von Suchmaschinen erfasst werden. Mit der neuen Option geht auch Link-Liebe, die auf dynamische URLs gesetzt wird, nicht verloren. 8-)

    Die Funktion ist doch sehr experimental. Wenn eine Seite nicht aktiviert ist, es keine statische Seite gibt, eine Bedingung hinterlegt ist oder dem Benutzer die Rechte fehlen wird nicht umgeleitet. Falls jemand Probleme bemerkt, bitte melden. Das könnte vor allem auf Seiten auftreten, die eine Anmeldung benötigen.



Dieser Artikel wurde veröffentlicht am 09.10.2007 um 11:37 Uhr. 2 Kommentare.

ewm5 Beta Update

Heute habe ich ein neues Update für die Beta von ewm5 eingespielt. Es gibt eine Reihe kleiner Änderungen, aber auch einige Neuheiten.

Kleine Änderungen:
  • Der Editor lädt nicht mehr gleich die passende Sprachdatei, wenn vorhanden. Das ist eigentlich nur eine interne Sache. Während der Betaphase erleichtert es mir das Abstellen von Updates.

  • Aktiv und In Menu lassen sich nun einzeln schalten. Die bisherige Eingabehilfe, dass beim Aktivieren der Seite auch In Menu aktiviert wurde, hat mich mehr gestört als geholfen.

  • Im IE erzeugt die Enter-Taste wieder einen Absatz statt nur einen Zeilenumbruch. Das habe ich auf vielfachen Wunsch aus dem Forum wieder eingeführt.

  • Der Editor kann nun auch ein Icon für Durchstreichen erhalten. In der Editor-Konfiguration einfach aktivieren.

  • Insertcode kann mehrfach mit der gleichen Area benutzt werden (ging bisher tatsächlich nicht).

  • Benutzt man die Vorbelegung des statischen Namens in tree.ini, wird nun die lfd immer mit mindestens 5 Zeichen ausgegeben. Der Grund ist Google-News. Zur Aufnahme ist eine eindeutige ID mit mindestens 3 Zeichen Bedingung. Allerdings darf es keine Jahreszahl sein, deswegen ist man mit 5 Zeichen auf der sicheren Seite. Es ist also lediglich eine Vereinfachung, wenn jemand bei Google News gelistet werden möchte.

  • Der Link-Einfüge-Dialog wurde überarbeitet. Nun kann ein rel= angegeben werden. Zusätzlich ist besagtes rel mit einem Klick auf "nofollow" vorzubelegen. Genauso das target mit "_blank". Zusätzlich können die Spezifikationen für den Link Tag für Typ und URL nun einfach per Radio-Button aktiviert werden. Klingt kompliziert? Ein Screenshot zeigt es:

Bleiben noch die zwei größeren Neuerungen:

Blog-Update
Ein neues Programm schedul/blog-update.prg kann neue Einträge erkennen und automatisierte Aktionen durchführen. Typischerweise ist das bei neuen Blog-Artikel, deswegen auch der Name. Gesteuert wird das Programm über blog-update.ini.
Beispiel:
[main]
## Worauf Prüfen
pos=/Blog
## Wieviele Datensätze dort auf Datum prüfen?
num=10
## Wenn dort erster sichtbarer Eintrag neuer ist als:
last_timestamp=24.09.2007_09:12:49

[refresh]
## last_change-Datum in ping.ini setzen?
ping=1
## Startseite
pos_1=/
## Seite mit Namen "Startseite"
pos_2=/Startseite
pos_3=/BMI-Berechnung
pos_4=/Blog
## Erste 2 Seiten unterhalb /Blog
pos_5=/Blog/*2

[log]
log=1
file=../logfiles/blog-update.log

Es werden die 10 obersten Unterpunkte von Blog geprüft. Falls dort einer dabei ist, dessen Datum neuer als das in last_timestamp angegebene ist, wird eine Aktion ausgelöst. Typischerweise wird in einem Blog ja ein Beitrag mit neuem Datum oben an gestellt. Genau das würde dann eine Aktion auslösen. last_timestamp wird dann automatisch auf das aktuelle Datum gesetzt.
Bei der Prüfung werden sichtbare Punkte herangezogen, genauso wie im RSS-Feed bzw. bei Overview. D. h. es können neue Seiten als Entwurf angelegt sein (nicht Aktiv) oder für zeitgesteuertes Publizieren mit einem Zeitraum versehen sein. blog-update.prg schlägt dann erst zu, wenn der Beitrag tatsächlich sichtbar ist.
Tipp: Wenn man einen Beitrag automatisch erscheinen lassen will, sollte das Datum des Beitrags dem Erscheinungsdatum (Bedingung -> Zeitraum) entsprechen.

Die Aktion die durch Blog-Update ausgelöst wird, ist vor allem das automatische Auffrischen von Seiten. Wie im Beispiel zu sehen können die Seiten einfach angegeben werden. Bei pos_5 werden die ersten 2 Seiten unterhalb Blog aufgefrischt. Die erste ist der gerade neu eingestellte Artikel und die neue zweite Seite, muss einen Link zu dem neuen Artikel erhalten. Deswegen eben die ersten 2 Seiten.

Als Sonderfunktion gibt es noch ping=1. Ist das aktiviert, wird das aktuelle Datum in die ping.ini geschrieben. Wozu das dient, wird gleich erklärt.


Ping

Das ebenfalls nagelneue Programm schedul/ping.prg ist in der Lage sogenannten Ping-Diensten per XML-RPC mitzuteilen, dass ein neuer Beitrag veröffentlicht wurde. Auch hier erfolgt die Steuerung wieder über eine INI.
ping.ini:
[services]                      
service_1=http://ping.wordblog.de/
last_success_1=24.09.2007_09:12:52
service_2=http://ping.feedburner.com
last_success_2=24.09.2007_09:12:53
service_3=http://rpc.technorati.com/rpc/ping
last_success_3=24.09.2007_09:12:54
#service_4=http://rpc.pingomatic.com/RPC2
#last_success_4=23.08.2007_20:53:45

[main]
name=Blog ohne Diaet
url=http://www.leben-ohne-diaet.de/blog
last_change=24.09.2007_09:12:49

[log]
log=1
file=../logfiles/ping.log

Man sieht unter services verschiedene Dienste eingetragen und wann dorthin der letzte Ping erfolgreich gesendet wurde.

Unter main ist der Name des Blogs und die URL zur Blog-Startseite angegeben. Das last_change-Datum gibt das Datum der letzten Änderung an. Genau dieser Wert kann von Blog-Update automatisch gesetzt werden. Solange dieser Wert neuer ist, als bei einem der Services angegeben, versucht ping.prg einen Ping zu senden. Dadurch ist es auch kein Problem, falls einer der Dienste mal nicht erreichbar sein sollte.

So ein Ping ist durchaus sinnvoll. Gerade große Online-RSS-Reader ersparen sich so häufige manuelle Abrufe. Auch ist es erstaunlich wie schnell ein neuer Artikel über Google gefunden werden kann. Allerdings sollte man nicht zuviel Pingen und nur Dienste, die wirklich Sinn machen. Für deutsche Blogs sind die drei im Beispiel schon ganz gut. Pingomatic ist ein Dienst, der wieder zahlreiche andere anpingt. Allerdings bekomme ich von dort kein richtiges Ergebnis und erfahre leider nicht warum. Da halte ich mich lieber an diejenigen, die dem Standard entsprechen. Es macht sowieso keinen Sinn englische Blogverzeichnisse anzusprechen, die keine deutschen Nutzer haben. Außer man legt wert darauf, viel Kommentar- und Trackback-Spam zu bekommen. 8-)


Wichtig:
Wenn man Blog-Update und Ping nutzen will, muss man den Aufruf dafür selbst in der schedul.ini eintragen. Von einer automatischen Installation habe ich abgesehen, da es nur dann wirklich Sinn macht, wenn man ein Blog betreibt. Die meisten ewm5 Nutzer dürften das zumindest im Moment noch nicht tun. Es reicht dann aber auch der Aufruf alle paar Minuten.


Noch Fragen dazu?

Dieser Artikel wurde veröffentlicht am 24.09.2007 um 14:27 Uhr. Noch kein Kommentar.

Podcasting mit ewm

In meinem privatem Blog [Link entfernt, weil Linkziel leider nicht mehr verfügbar] habe ich eine kleine Podcastreihe [Link entfernt, weil Linkziel leider nicht mehr verfügbar] gestartet. D. h. neben dem Blog-Beitrag soll immer eine MP3-Datei mitgeschickt werden. Das ist mit ewm Bordmitteln zu machen. Hier will ich erklären wie. 8-)

Zuerst muss die Datei mal hochgeladen werden. Das passiert einfach über Dateien unter einem beliebigen Namen. Um den Namen dann beim Beitrag angeben zu können, machen wir einen insertcode Bereich in der Blog-Vorlage. Diese soll dann einfach den Namen der Datei aufnehmen. Ist ein Name angegeben, dann wird er benutzt, sonst bleibt alles beim Alten. Es zählt dabei der selbst vergebene Name und nicht der Dateiname.

Im Blog soll die Datei zum Download angeboten werden, aber auch direkt ein Flash-Player zum abspielen. Ich habe einen freien Player im Internet gefunden und die SWF-Datei als Datei flashmp3player hochgeladen. Die Parameter (flashvars) sind darauf angepasst.

Beispielcode:
{if="insertcode:audiofilename"}
<object width="240" height="64" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">
  <param name="movie" value="{file="flashmp3player"}"/>
  <param name="quality" value="high"/>
  <param name="flashvars" value="src={[0]file=""}&amp;autostart=no&amp;loop=no">
  <embed width="240" height="64" src="{file="flashmp3player"}" quality="high" flashvars="src={[0]file=""}&amp;autostart=no&amp;loop=no" />
</object><br/>
<a href="{[0]file=""}">MP3 Download</a> ({[0]filesize=""} Byte)
{end}

Die eckigen Klammern geben die Priorität der Tags an. Zuerst muss jeweils der Dateiname über insertcode eingefügt werden, dann erst die file-Tags bearbeitet werden. Deswegen die höhere Priorität bei insertcode.

Im RSS-Feed soll die Datei dann als enclosure mitgeschickt werden. Hier ändern wir das item-Template einfach wie folgt ab:
<item>
   <title><![CDATA[{title}]]></title>
   <description><![CDATA[{main}{if="insertcode:audiofilename"}
<br /><a href="{[0]file="{[9]insertcode="audiofilename"}"}">MP3 Download</a> ({[0]filesize="{[9]insertcode="audiofilename"}"} Byte)
{end}]]></description>
   <link><![CDATA[{link="url:full;type:static;"}]]></link>
   <pubDate>{pubdate}</pubDate>
   <guid isPermaLink="true">{link="url:full;type:static;"}</guid>{if="insertcode:audiofilename"}
   <enclosure url="{[0]file="{[9]insertcode="audiofilename"}"}" length="{[0]write="exchange('{[3]filesize="{[9]insertcode="audiofilename"}"}','.','')"}" type="audio/mpeg" />
{end}</item>

So, damit bekommt der Feed auch einen Download-Link und zusätzlich die Datei über den enclosure-Tag mitgeschickt. Podcatcher können so die Dateien automatisch herunterladen.

Das ist übrigens so alles fest auf MP3 Dateien festgelegt. Natürlich könnte man das auch für verschiedene Medientypen anpassen und mit dem fileext-Tag je nach Typ verschieden behandeln.

Dieser Artikel wurde veröffentlicht am 22.09.2007 um 16:24 Uhr. Noch kein Kommentar.

Vorbelegung neuer Seiten

Das Update von heute bringt als wichtigste Neuerung die Vorbelegung einiger Daten bei neuen Seiten. Wie zur Zeit üblich, hat das wieder was mit bloggen zu tun. 8-)

Fängt man einen neuen Artikel im Blog an, so soll der erstmal nicht sichtbar sein, bis er fertig ist und publiziert wird. Theoretisch könnte sonst auch bei einem halbfertigen Artikel der RSS-Feed abgerufen werden. Daher ist es sinnvoll, Aktiv bei neuen Artikel abzuschalten. Außerdem gibt es für Blog-Artikel eine eigene Vorlage und auch ein eigenes Schema, wo die statischen Seiten abgelegt werden. Zumindest bei mir.

Nun trägt man in tree.ini Beispielsweise ein:
[Blog]
Template=main-blog
InMenu=0
Aktiv=0
static_file=/blog/{name}.html

Das führt dazu, dass bei neuen Unterpunkten zu Blog die Vorlage main-blog gewählt wird. Die neue Seite ist nicht aktiv und nicht im Menü. Außerdem ist der Name der statischen Seite /blog/ + Name der Seite + .html. Zusätzlich zu {name} könnte man auch noch {lfd} verwenden. Etwas anderes habe ich erstmal nicht gemacht. Wenn jemand Sonderwünsche hat, bitte her damit.

Einen neuen Blog-Eintrag startet man nun also einfach durch Auswahl der Blog-Startseite im Baum und Klick auf Neu. Fehlt eigentlich nur noch der Publish-Knopf und es wäre richtig komfortabel. 8-)

Dieser Artikel wurde veröffentlicht am 14.08.2007 um 16:33 Uhr. Noch kein Kommentar.

Pingback

Das heutige Update ermöglicht ewm5 das senden von Pingbacks. Das ist im Prinzip sowas ähnliches wie Trackbacks und dient dazu, verlinkte Webseiten über den Link zu informieren. Bei der automatischen Trackback-URL Erkennung werden Pingback-URls mit einem ping: angezeigt.

Empfangen kann ewm Pingbacks noch nicht. Ich bin momentan noch nicht mal sicher ob das überhaupt wichtig ist.

Eine weitere Einschränkung gibt es: Die Zielseite kann die Pingback-URL im Head-Bereich der Seite oder im HTTP-Header übergeben. Der HTTP-Header wird im Moment noch nicht durchsucht.


Dieser Artikel wurde veröffentlicht am 13.08.2007 um 14:42 Uhr. Noch kein Kommentar.
Zeige 1 - 10 von 19
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: 24.04.2024 / 08:59:04
Suche  
Login / Userdaten
Impressum/Datenschutz