Blog



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.

Kommentare im Blog

Nur ein kurzer Hinweis: Ab sofort sind wieder Kommentare im Blog möglich. Allerdings nur bis zu 30 Tage nach dem Einstellen des Artikels. Ich hoffe damit den Großteil des Spams vermeiden zu können.

Dieser Artikel wurde veröffentlicht am 02.10.2008 um 13:24 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.

Lebenszeichen

Im Moment ist es sehr ruhig hier, was? Aber hinter den Kulissen passiert eine Menge. Der Newsletter ist komplett überarbeitet, overview um ein vielfaches beschleunigt, die Verarbeitung der Prioritäten bei den eforia Tags ist neu organisiert und eine Reihe neuer Tags gibt es auch. Dazu noch zahlreiches anderes und einige Punkte an denen ich noch arbeite.

Im Grunde alles Sachen, die ich selber privat gerade so brauche. Beispielsweise einen Zeichenzähler im Editor. Damit man weiß, ob der Text bei der VG Wort gemeldet werden kann. Oder eine schöne Tag-Cloud, um die Navigation bei einem Blog mit vielen Einträgen zu verbessern.

Im Moment "bastle" ich noch an einem Cache. Wenn ein Blog mit Trackback-Spam zugemüllt wird, ist jede Entlastung notwendig. Also stay tuned...

Dieser Artikel wurde veröffentlicht am 18.08.2008 um 14:51 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, 15 Oct 2008 13:47: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.

Benutzerverwaltung - wer nutzt sie?

Eine Frage an die Nutzer von ewm:
ewm verwendet als Basis das eforia Framework und zur Benutzer- und Sessionverwaltung das Tool Userman. Dieser verwaltet die Benutzer eben nicht flach, sondern in einer Hierarchie Firma - Abteilung - Gruppe - Benutzer. Das ist allerdings wohl für die meisten Anwendungsfälle völlig übertrieben. Derzeit sind wir intern am diskutieren, ob die Hierarchie nicht entfallen sollte, was die Benutzerverwaltung deutlich beschleunigen würde. Historisch bedingt kann man nämlich zusätzlich über INI-Dateien global und für einzelne Tabellen Rechte vergeben. Der Userman bricht diese dann immer auf den einzelnen Benutzer runter. Das wird zwar nur bei Änderungen der entsprechenden INI-Dateien und Tabellen gemacht und gecacht, aber wir benutzen diese Fähigkeiten in aktuellen Projekten nicht mehr. Auch in unseren ewms arbeite ich maximal mit der Ebene Gruppe.

Daher die Frage:
Nutzt jemand aktiv die komplette Hierarchie und kommt nicht ohne diese aus?

Dieser Artikel wurde veröffentlicht am 13.02.2008 um 09:56 Uhr. 2 Kommentare.
Zeige 51 - 60 von 102
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.05.2024 / 02:29:27
Suche  
Login / Userdaten
Impressum/Datenschutz