Blog



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.

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.

nofollow: Was wünschen sich die Anwender

Heute möchte ich mal ein wenig Feedback von den Anwendern einfordern. Bei einer neuen Funktion gibt es zwei unterschiedliche Ansätze und ich möchte wissen, welcher davon eher gewünscht wird. Mir ist bewusst, dass es kein Thema für jedermann ist, aber vielleicht gibt es ja doch einige, die sich schon näher mit SEO auseinander gesetzt haben.

Sistrix [Link entfernt, weil Linkziel leider nicht mehr verfügbar] schreibt in seinem Blog über interne Verlinkungen und warum man manchmal dafür das Attribut nofollow benutzen sollte. Nun überlege ich, eforia entsprechend zu erweitern. Also für jede Seite würde es eine Checkbox für nofollow geben.

Dann gäbe es zwei Möglichkeiten diese Information zu nutzen.
  1. Die erste wäre, bei jedem Link zu einer solchen Seite ein rel="nofollow" einzufügen. Also wenn irgendwo im Quelltext
    <a href="{link="zur-nofollow-seite"}">
    steht, würde daraus etwas wie
    <a href="../text/zur-nofollow-seite.html" rel="nofollow">

  2. Die zweite Möglichkeit wäre, alle Module entsprechend zu erweitern, um gezielt auf die Information zuzugreifen. Also beispielsweise im Menü könnte man in der Vorlage einen Platzhalter {nofollow} verwenden, der dann für eine entsprechende Ausgabe sorgt.

Methode 1 hat den großen Nachteil, dass der Link nicht nur einen Link einfügt, sondern eine Zusatzinformation anhängt. Das ist eigentlich nicht ganz sauber. Außerdem könnte man dann nicht mehr individuell entscheiden, wie man verlinken möchte.
Methode 2 hat den großen Nachteil, dass man die Vorlagen erweitern müsste, wenn man davon Gebrauch machen will. Dafür hat man sehr genaue Kontrolle darüber, was intern passiert.

Ich würde deshalb eher zur Methode 2 greifen.

Was meinen Sie, liebe Anwender?

Methode 1 oder 2?
Oder braucht man das sowieso gar nicht?

Dieser Artikel wurde veröffentlicht am 02.10.2007 um 10:07 Uhr. Noch kein Kommentar.

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.

ewm und TAS

Nachdem Thomas es bereits verraten hat [Link entfernt, weil Linkziel leider nicht mehr verfügbar], will ich nun auch nicht weiter mit Infos geizen. Es gibt eine Integration von TAS innerhalb ewm. Konkret bedeutet das, man kann TAS-Code innerhalb von Seiten verwenden, die mit ewm erstellt werden. Also Beispielsweise einfach eine Datenbanktabelle anzeigen.

Die entsprechenden Seiten werden dann mit der Endung esp gespeichert und immer dynamisch vom tdb Application Server (=TAS) ausgeführt.

Dabei ist zu beachten, das ewm nicht TAS enthalten wird, sondern lediglich die Benutzung erlaubt. D. h. es wird quasi TAS unterhalb einer ewm Installation betreiben und ist weitgehend unabhängig davon. Das hat den Vorteil, dass beides relativ unabhängig voneinander gewartet werden kann.

Geplant ist diese Funktion für ewm5, aber bereits in ewm4 enthalten. Allerdings ist das inoffiziell, verraten Sie es einfach nicht weiter. 8-)


TAS-Modus Aktivieren

Um mit TAS/ESP innerhalb von ewm arbeiten zu können, muss ein vollständiger TAS in das ewm-Verzeichnis kopiert werden und der TAS-Modus aktiviert werden.

  • Legen Sie eine lauffähige TAS-Installation an
  • Erzeugen Sie einen Context ewm ohne Authentifizierung und mit ../../database/ als DatabaseLocation
  • Kopieren Sie das komplette Verzeichnis in das ewm-Verzeichnis
  • Achten Sie darauf, dass Verzeichnisse vor unberechtigtem Zugriff geschützt sind
  • Tragen Sie in ini/eforia.ini ein:
    [tas]
    enabled=1
  • Tragen Sie in ini/cms.ini ein:
    [SYSTEM]
    esp=1
  • Tragen Sie in ini/editor.ini unterhalb von [PANEL]
    esp=1
    ein
  • Legen Sie in der .htaccess-Datei im Hauptverzeichnis die folgende ReWrite-Regel an:
    RewriteEngine on
    RewriteRule (text\/)?(.*\.esp)$ programm/esp.prg?ewm/$2 [L,QSA]

Funktionsweise:
Wenn Sie eine Seite als ESP kennzeichnen, wird diese vor der Ausgabe durch esp.prg aus dem TAS ausgewertet. Bei statischen Seiten, werden diese mit der Endung esp in webapps/ewm statt text gespeichert, wobei ewm so tut, als lägen die Dateien wie gewohnt im Verzeichnis text. Die entprechende ReWrite-Regel sorgt dann dafür, dass diese Seiten über den TAS ausgeliefert werden.


Hinweise zur main-Vorlage

Normalerweise baut der TAS aus einer ESP-Seite eine komplette HTML-Seite. D. h. es ist nicht notwendig eine komplette HTML-Seite zu erzeugen, sondern lediglich der Teil innerhlab des HTML-BODY muss angegeben werden.

Verwaltet man eine Website mit ewm, ist es jedoch oft gewünscht auch weiterhin den Rahmen durch die main-Vorlage ausgeben zu lassen. Das ist möglich, wenn der TAS angewiesen wird im sogenannten plain-Modus zu arbeiten. Dieser wird aktiviert mit <#document.mode=plain#>.Allerdings sollte man dann gewisse Platzhalter in den HEAD der Vorlage einfügen, um alle Funktionen des TAS benutzen zu können.

Dies ist auch sehr einfach dynamisch möglich so, dass die Vorlage sowohl bei aktiverten als auch deaktiviertem ESP-Modus richtig arbeitet. Fügen Sie dazu einfach im HEAD-Bereich der main-Vorlage folgenden Code ein:
{if="getrfield(cms_web,'ESP')=1"}
{::espDefaultCSS::}
{::espDefaultJS::}
{::espCustomCSS::}
{::espCustomScript::}
<#document.mode=plain#>
{end}


Wichtig: Der Codeblock darf nicht innerhalb eines Style oder Script-Blockes stehen.


Der Lohn der Mühe ist dann z. B. sowas wie Thomas hier mit einer Tabelle [Link entfernt, weil Linkziel leider nicht mehr verfügbar] oder einem Formular [Link entfernt, weil Linkziel leider nicht mehr verfügbar] zeigt. Normalerweise gestaltet er ja schöner, aber ist ja nur eine Demo. 8-)

Dieser Artikel wurde veröffentlicht am 14.08.2007 um 14:06 Uhr. 2 Kommentare.

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.

Beta-Update: Neues Modul FeedPeek

Heute gab es wieder mal ein kleines Update für die ewm5-Beta. Der Viewer (o.prg) kann nun auch mit Angabe der Laufenden-Nummer der anzuzeigenden Seite aufgerufen werden. Also .../programm/o.prg?lfd=123.

Das ging zwar bisher auch im Format .../programm/o.prg?pos=lfd:123, aber der Doppelpunkt im Parameter ist eigentlich nicht ganz Standardgemäß.

Warum das Ganze?

Das Comment-Modul hat bisher per pos= verlinkt. Hat man aber einen neuen Blog-Beitrag eingefügt, änderte sich die Position der folgenden Einträge. Die statische Seite bekommt das nicht mit und das Formular läuft ins Leere. Genau das ist Cem Basman [Link entfernt, weil Linkziel leider nicht mehr verfügbar] passiert, der es freundlicherweise mir gemeldet hat.

FeedPeek

Die eigentliche Neuheit ist aber das kleine Modul feedpeek. Das zeigt Einträge aus dem RSSReader an. Damit kann man also beispielsweise Feeds von anderen Seiten abfragen und auf der Eigenen anzeigen. Ich mache das nun auf der Startseite von tdb.de. Wie das aussieht, kann man dem Screenshot (die Leiste die hier links kommt) entnehmen.

Sidebar auf tdb.deUm FeedPeek benutzen zu können, muss allerdings erstmal der RSS-Reader installiert werden. Dieser ist Teil von eforia-Base [Link entfernt, weil Linkziel leider nicht mehr verfügbar] und liegt dort im schedul-Verzeichnis. Er bringt die 2 Datenbanken rssf und rssfi mit und benötigt außerdem iconv im system-Verzeichnis.

Empfehlenswert sind 2 Einträge in schedul.ini, damit der RSSReader auch die Feeds aktuell hält aber nicht zu viele Einträge ansammelt. Das kann dann so aussehen:

program_7=rssreader.prg -refresh -doublecheck
dir_7=../schedul
next_start_7=08.08.2007 17:00
every_min_7=60

program_8=rssreader.prg -garbagecollection maxitem=20
dir_8=../schedul
next_start_8=09.08.2007 03:00
every_min_8=1440


Um neue Feeds aufzunehmen auf Kommandozeilenebene den Reader mit Option add starten. Beispiel:
../bin/tdbengine rssreader.prg -add http://www.eforia.de/custprg/rss.prg


So, damit sind die Feeds vorhanden, fehlt noch die Anzeige mit FeedPeek.

FeedPeek benötigt eine Vorlage. Wir nennen diese feedpeek/blog. Diese ist sehr simpel aufgebaut:
{block}
{date} {time} Uhr: <a href="{link}">{title}</a><br />
{/block}

Alles zwischen {block} und {/block} wird pro Eintrag ausgeführt. Die vier Platzhalter erklären sich von selbst.

Aufgerufen wird FeedPeek dann so:
{execmacro="feedpeek" param="template=blog;feed=http://www.eforia.de/custprg/rss.prg;count=3"}

template= bestimmt die Vorlage
feed= gibt den Feed an
count= gibt die Anzahl auszugebender Datensätze an.

So, ich weis, das die Erklärung ein wenig knapp ist. Ich gehe mal einfach davon aus, dass jemand der FeedPeek nutzen möchte, bereits weis was ein Feed ist. Sonst käme man ja vermutlich erst gar nicht auf die Idee Feeds nutzen zu wollen. 8-)

Falls Fragen auftauchen, auch zum RSSReader, stehen die Kommentare offen.

Dieser Artikel wurde veröffentlicht am 08.08.2007 um 16:45 Uhr. Noch kein Kommentar.

Bloggen mit ewm - Abschluss

Zum Schluss noch ein paar Tipps zum richtigen Umgang mit ewm zum bloggen.

Wenn ein neuer Artikel veröffentlicht wird, soll dieser ja auch auf der Blog-Startseite erscheinen. Doch diese ist statisch angelegt und weis ja erstmal nichts von dem neuen Artikel. Ebenso wird der bisherige erste Artikel zum zweiten und müsste dann einen Link zum ersten bekommen. Um das zu lösen kann man entweder die Einstellungen der statischen Seiten so wählen, dass diese alle paar Minuten (15 sollten reichen) aufgefrischt werden, oder man stößt den Vorgang über die Funktion in Tools an. Das mache ich im Moment so. Später soll das mal besser gelöst werden. Ich bin noch am überlegen wie das am besten zu machen ist. Ich denke da an eine Art Makros, die man hinterlegen kann.

Bei neuen Kommentaren gibt es das Problem übrigens nicht. Das Comments-Modul frischt die jeweilige Seite automatisch auf. Lediglich wenn ein Kommentar über die Administrations-Oberfläche manuell geändert wird, muss die entsprechende Seite auch wieder regeneriert werden.

Für allgemeine Tipps kann ich das Schreibprojekt Blogtipps für Einsteiger von Jan im Upload-Magazin empfehlen.

Dieser Artikel wurde veröffentlicht am 25.07.2007 um 15:17 Uhr. Noch kein Kommentar.
Zeige 41 - 50 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: 19.01.2022 / 05:38:48
Suche  
Login / Userdaten
Impressum/Datenschutz