rfc1437.de: new entries tagged with CMS http://rfc1437.de/tag/cms/ New entries at rfc1437.de that are tagged with: CMS What’s New in WordPress 2.0? · Asymptomatic http://asymptomatic.net/2005/11/29/2135/whats-new-in-wordpress-20/ Wed, 30 Nov 2005 13:18:10 +0100 CMS PHP Sysadmin Wordpress http://rfc1437.de/link/whats-new-in-wordpress-20-asymptomatic/ <a class="externlink" href="http://asymptomatic.net/2005/11/29/2135/whats-new-in-wordpress-20/">What’s New in WordPress 2.0? · Asymptomatic</a> - auch wenn ich bald von Wordpress weg bin, interessant ist es allemal zu gucken was sich da tut. Ausserdem wird sicherlich mindestens die <a href="http://metaowl.de/" class="externlink">Metaeule</a> ja auch weiterhin mit Wordpress laufen. Ein paar mehr Bilder ... http://rfc1437.de/page/ein-paar-mehr-bilder/ Sun, 13 Nov 2005 21:20:47 +0100 CMS Wordpress http://rfc1437.de/page/ein-paar-mehr-bilder/ ... gibts in meinem CMS Testbed (ja, ich stricke mal wieder an meiner eigenen Content-Management-Software). Und wenn ich mir angucke wie wenig Zicken meine eigene Software macht und wie viele Zicken Wordpress immer mal wieder macht (z.B. konnte ich heute keine Bilder hochladen, ohne das ich ... <p>... gibts in meinem <a href="http://rfc1437.de/2005/11/13/">CMS Testbed</a> (ja, ich stricke mal wieder an meiner eigenen Content-Management-Software). Und wenn ich mir angucke wie wenig Zicken meine eigene Software macht und wie viele Zicken Wordpress immer mal wieder macht (z.B. konnte ich heute keine Bilder hochladen, ohne das ich irgendeinen Grund erkennen konnte - nix in den Logfiles, keine Fehlermeldung, einfach nur die Weigerung hochzuladen), dann könnte der Umstieg immer näher rücken ... </p> virtuelle Hosts mit WordPress http://rfc1437.de/page/virtuelle-hosts-mit-wordpress/ Sat, 23 Apr 2005 13:43:29 +0200 CMS PHP Wordpress http://rfc1437.de/page/virtuelle-hosts-mit-wordpress/ Das Vhost Plugin ist mein momentaner Favorit der Beiträge zum Plugin-Wettbewerb für WordPress. Mit diesem Plugin kann man Kategorien an virtuelle Hosts binden - wenn dieser Host angesprochen wird, wird automatisch die passende Kategorie angezeigt und zusätzlich dieser Kombination noch (optional) ... <p>Das <a href="http://www.skippy.net/blog/2005/04/20/plugin-vhost/" class="externlink">Vhost Plugin</a> ist mein momentaner Favorit der Beiträge zum <a href="http://weblogtoolscollection.com/" class="externlink">Plugin-Wettbewerb für WordPress</a>. Mit diesem Plugin kann man Kategorien an virtuelle Hosts binden - wenn dieser Host angesprochen wird, wird automatisch die passende Kategorie angezeigt und zusätzlich dieser Kombination noch (optional) ein anderes Template verpasst. </p> <p>Mir fallen spontan eine ganze Reihe von Ideen an - z.B. könnte ich meine Bananenrepublik da drunterpacken und damit mein Geschimpfe als eigenständigeren Inhalt präsentieren. Oder meine fotografischen Einträge endlich wieder unter einer meiner Foto-Domains laufen lassen. Ich glaub mit dem Plugin spiele ich demnächst mal ein wenig herum. </p> <p>Eine weitere witzige Funktion - für mich aber eher uninteressant - ist die Möglichkeit einen Benutzer auf einen VHost einzuschränken (und damit auf eine Kategorie) und damit eine Multi-Blog-Plattform auf einer WordPress-Installation aufzusetzen. Könnte z.B. für Familienblogs ganz witzig sein. </p> <p>Installation ist leider etwas hakelig - man muss ein paar Funktionen patchen, da dort in der Standardinstallation Bugs drin sind. Mit WP 1.5.1 sollte das dann aber hoffentlich besser sein. </p> PIXELPOST - Small Photoblog Software http://www.pixelpost.org/index.php Wed, 2 Mar 2005 17:54:30 +0100 CMS Fotografie PHP http://rfc1437.de/link/pixelpost-small-photoblog-software/ <a class="externlink" href="http://www.pixelpost.org/index.php">PIXELPOST - Small Photoblog Software</a> - sieht ganz nett aus, auch die Demos. Witzig ist der kleine Streifenkalender in der Demo - ich glaub sowas mach ich mir mal für WordPress, das belegt wesentlich weniger Platz in der Sidebar als der klassische Kalender. Für jemanden der einfach nur Photobloggen will sieht PixelPost ganz nett aus. Neues Spiel, neues Glück: b2evolution http://rfc1437.de/page/neues-spiel-neues-gluck-b2evolution/ Wed, 16 Feb 2005 00:02:07 +0100 Blogging CMS Texte http://rfc1437.de/page/neues-spiel-neues-gluck-b2evolution/ Heute hab ich mir mal b2evolution angeguckt (wie üblich nur ein kurzer oberflächlicher Testflug). Das ist ja mit WordPress verwandt und alleine deshalb schon interessant - mal gucken was andere aus dem gleichen Basiscode gemacht haben. Also das Zeug geholt, das Kubrick Skin geholt (hey, ich mag ... <p>Heute hab ich mir mal b2evolution angeguckt (wie üblich nur ein kurzer oberflächlicher Testflug). Das ist ja mit WordPress verwandt und alleine deshalb schon interessant - mal gucken was andere aus dem gleichen Basiscode gemacht haben. Also das Zeug geholt, das Kubrick Skin geholt (hey, ich mag Kubrick mitlerweile <img src="http://media.rfc1437.de/cms-media/images/wink.gif" alt="zwinkerndes Gesicht" />) und losgelegt. </p> <p class="morehint">(to read more about this, click on the article title)</p> phpOpenTracker http://www.phpopentracker.de/en/index.php Tue, 15 Feb 2005 22:12:10 +0100 CMS PHP Programmierung Sysadmin Wordpress http://rfc1437.de/link/phpopentracker/ <a class="externlink" href="http://www.phpopentracker.de/en/index.php">phpOpenTracker</a> ist ein Live-Access-Auswerter für Webseiten. Er kann direkt in PHP-Anwendungen integriert werden oder über Webbugs (kleine unsichtbare Grafiken) aus statischen Webseiten gesammelt werden. Man kann damit ziemlich viel über das Benutzerverhalten in den Webseiten erkennen. Und bei <a href="http://www.asymptomatic.net/archives/2005/02/14/1307/ba-stats/">Asymptomatic wird gerade an einem WP-Plugin dafür gestrickt</a>, mit dem man die entsprechenden Auswertungen im WP-Backend zu sehen bekommt ... Etomite Content Management System http://rfc1437.de/page/etomite-content-management-system/ Mon, 14 Feb 2005 12:55:15 +0100 CMS Sysadmin http://rfc1437.de/page/etomite-content-management-system/ Das Etomite Content Management System (gefunden via Netbib) ist eine recht interessante Angelegenheit. Was mir an dem CMS nicht so gut gefällt: das Standardtheme. Sorry, aber das ist bunt und sieht für mich aus wie Windows ;-). Ausserdem benutzt es ein Tabellenlayout, was mir auch nicht so gut ... <p>Das <a href="http://www.etomite.org/" class="externlink">Etomite Content Management System</a> (gefunden <a href="http://log.netbib.de/archives/2005/02/14/mal-wieder-ein-cms" class="externlink">via Netbib</a>) ist eine recht interessante Angelegenheit. Was mir an dem CMS nicht so gut gefällt: das Standardtheme. Sorry, aber das ist bunt und sieht für mich aus wie Windows <img src="http://media.rfc1437.de/cms-media/images/wink.gif" alt="zwinkerndes Gesicht" />. Ausserdem benutzt es ein Tabellenlayout, was mir auch nicht so gut gefällt. Aber ansonsten muss ich schon sagen, das Teil hat was. Das Backend vor allem ist sehr interessant - es benutzt massiv JavaScript und DHTML, was natürlich erstmal nicht so gut ist wenn man JavaScript nicht mag. Aber es bietet darüber eine ganze Menge interaktiver Features die sehr nett sind - zum Beispiel Feedback über die laufende Aktion, automatische Aktualisierung der diversen Oberflächenelemente und insgesamt eine recht runde Bedienung. </p> <p>Auch gut gefällt die Idee der Snippets - sowas wie in PyDS die Nuggets. Kleine Schnipsel von Code die man einfach in der Datenbank speichert und die dann über Tags in den Templates abgerufen werden. Sehr praktisch, da man so oft einfache kleinere Erweiterungen bauen kann, ohne extra ein grosses Rad zu drehen. </p> <p>Ebenfalls recht interessant ist das automatische Caching - nichts wirklich neues, aber in diesem Fall eine nette Idee: man kann an den Elementen selber festlegen ob sie gecached werden sollen oder nicht. Und zwar für jedes Element einzeln. Deutlich besser als die üblichen Sekt-oder-Selters-Ansätze anderer CMS. </p> <p>Insgesamt ist Etomite wesentlich stärker Full-CMS-orientiert als Blog-orientiert. Das stellt es funktional eher in eine Gruppe mit Drupal als z.B. WordPress. Es gibt auch schon eine Reihe von Snippets zur einfachen Erweiterung, genauso wie Themes. Auch verschiedene Sprachfiles existieren schon. Die Dokumentation existiert auch schon, ist sogar nach erstem überfliegen schon recht brauchbar für den Start. </p> <p>Die Lizenz ist GPL, was schon mal gut ist. Allerdings kommt beim ersten Login ein spezieller Hinweis, der nicht entfernt werden darf - eigentlich beisst sich sowas mit der GPL, denn die GPL sagt ja gerade das ich mit dem Paket alles mögliche machen darf, sofern ich den geänderten Source zur Verfügung stelle. Ok, ich darf nicht behaupten das es von mir ist und muss ursprüngliche interne Copyright-Hinweise erhalten, aber ansonsten kann ich alles ändern. Und das umfasst normalerweise auch Hinweistexte. Zwangslinks und Zwangshinweise beissen sich nunmal mit der GPL. Entweder muss man dann die GPL explizit um diesen Hinweis erweitern - womit es eine GPL+Zusatz wird, die dann allerdings zur normalen GPL inkompatibel wird - oder man verkneift sich Zwangshinweise. Das ganze ist ein nicht unbekanntes Problem der Leute mit der GPL, aber stören kann sowas bei kommerziellem Einsatz definitiv. </p> <p>Hat jemand Kubrick auf Etomite portiert? Ich bräuchte für meine Spielereien noch ein etwas hübscheres Theme als das mitgelieferte <img src="http://media.rfc1437.de/cms-media/images/wink.gif" alt="zwinkerndes Gesicht" /> </p> Weiteres zu Drupal http://rfc1437.de/page/weiteres-zu-drupal/ Thu, 10 Feb 2005 12:50:45 +0100 CMS Drupal http://rfc1437.de/page/weiteres-zu-drupal/ Was mir bei meinen Spielereien mit Drupal noch aufgefallen ist: im Unterschied zu WordPress ist das Datenbankmodell recht komplex. WordPress ist ziemlich stumpf - einfach ein paar Tabellen mit Daten drin, das meiste recht straight forward. Wenn man was ändern will kann man jederzeit auf SQL Ebene ... <p>Was mir bei meinen Spielereien mit Drupal noch aufgefallen ist: im Unterschied zu WordPress ist das Datenbankmodell recht komplex. WordPress ist ziemlich stumpf - einfach ein paar Tabellen mit Daten drin, das meiste recht straight forward. Wenn man was ändern will kann man jederzeit auf SQL Ebene damit rumwurschteln und z.B. Importscripte, Reparaturscripte etc. schreiben. Alles wird immer on the fly ermittelt - Zähler, Listen etc. </p> <p>Drupal hingegen benutzt recht aufwändige Caching-Mechanismen in der Datenbank. Auch Sachen aus dem Filesystem werden gecached. Dadurch hat man mit kleinen Scripten höheren Aufwand, da man wesentlich mehr Stellen berücksichtigen muss - mindestens den Cache beseitigen, damit er rekonstruiert wird. Auch ist das Datenmodell wesentlich stärker ausnormalisiert. Das ist natürlich gut vom Design her - aber für kleine Scripte natürlich aufwändiger, da man an mehr Stellen anpacken muss. </p> <p>Das ist jetzt keine Wertung, nur eine Beobachtung - beides hat Vor- und Nachteile. Die Vorteile des Drupal-Ansatzes scheinen sich in der Performance zu zeigen, die nicht nur wegen der etwas aufgeräumteren PHP-Struktur etwas besser als die von WordPress scheint (wobei ich da keine harten Zahlen habe - erst brauche ich ein brauchbares Import-Script für meine Postings um mit gleichen Ansätzen zu arbeiten). </p> <p>Was mir noch aufgefallen ist: die PostgreSQL-Unterstützung (ja, ich habs jetzt endlich laufen!) in Drupal ist definitiv hinter der von MySQL zurück. Zum Teil gibts mit PostgreSQL Fehlermeldungen die mit MySQL nicht auftreten. Zum Beispiel beim Passwort-Wechsel gabs Probleme weil ein nicht existentes Feld angesprochen wurde. Oder bei der Übersicht der im Newsreader abonnierten Quellen gabs ne Meldung weil ein nicht-aggregiertes Feld eines komplexen SELECTs nicht als Gruppierungsfeld aufgeführt wurde. Oder beim ersten Zugriff, wo für das Feld uid in der Tabelle sessions kein Wert angegeben wurde, obwohl es als NOT NULL deklariert ist. PostgreSQL ist halt deutlich pingeliger als der Karteikasten. Mit PostgreSQL wird man definitiv Hand an den PHP-Code legen müssen. Mal schauen, wenn ich fertig bin mache ich vielleicht mal einen Patch fertig, der diese Probleme behebt. Bis jetzt sinds nur Kleinigkeiten, die aber für Nicht-Programmierer durchaus eine Hürde darstellen können. Zum Teil basieren die aber sicherlich auch auf den etwas älteren Versionen aus der Debian Stable (z.B. ist das PgSQL API in PHP in neueren Versionen deutlich anders benannt als in der 4.1.2). </p> Wordpress to Drupal Migration Script http://rfc1437.de/page/wordpress-to-drupal-migration-script/ Thu, 10 Feb 2005 00:26:09 +0100 CMS Drupal Wordpress http://rfc1437.de/page/wordpress-to-drupal-migration-script/ Wordpress to Drupal Migration Script - kann aber im Moment wohl nur von Karteikasten nach Karteikasten migrieren - eine richtige Datenbank als Ziel muss man ihm unter Umständen erst beipulen. Update: naja, das Script macht wirklich nur die Übertragung der Postings. Keine Post-Slugs (also kein ... <p> <a href="http://ninjafish.org/project/wp2drupal" class="externlink">Wordpress to Drupal Migration Script</a> - kann aber im Moment wohl nur von Karteikasten nach Karteikasten migrieren - eine richtige Datenbank als Ziel muss man ihm unter Umständen erst beipulen. </p> <p> <strong>Update:</strong> naja, das Script macht wirklich nur die Übertragung der Postings. Keine Post-Slugs (also kein Erhalt der URLs), keine Kategorien, nix. Kann man vielleicht benutzen wenn man nur ein sehr einfaches WP-Blog hatte, aber ansonsten ist es doch arg mager. Und bei grossen Blogs fliegt es einem nach einer Weile mit einem Fehler um die Ohren - der erlaubte Speicher ist erschöpft. Denn PHP benutzt von der Kommandozeile die Einstellungen für das CGI - und auch da ist der Speicherbedarf begrenzt. Dazu kommt dann noch, das es keinerlei Duplikateerkennung hat und deshalb lustig beim zweiten Lauf alles nochmal importiert. </p> <p>Klingt so als ob ich mir da wohl doch was eigenes schreiben müsste, wenn ich das ganze mal ernsthaft ausprobieren wollte. </p> Jupp, Drupal will mich in den Wahnsinn treiben http://rfc1437.de/page/jupp-drupal-will-mich-in-den-wahnsinn-treiben/ Tue, 8 Feb 2005 23:28:48 +0100 CMS Drupal Sysadmin http://rfc1437.de/page/jupp-drupal-will-mich-in-den-wahnsinn-treiben/ Ganz eindeutig. Ich weiss nicht was es gegen mich hat, aber es hasst mich heute. Ganz massiv. :-) Ich hab mir das kubrick-Theme einfach unter einen eigenen Namen kopiert, damit ich es anpassen kann ohne das Kubrick-Theme selber zu ändern. Witzigerweise benutzt es jetzt aber nicht mehr die ... <p>Ganz eindeutig. Ich weiss nicht was es gegen mich hat, aber es hasst mich heute. Ganz massiv. <img src="http://media.rfc1437.de/cms-media/images/smile.gif" alt="lachendes Gesicht" /> </p> <p>Ich hab mir das kubrick-Theme einfach unter einen eigenen Namen kopiert, damit ich es anpassen kann ohne das Kubrick-Theme selber zu ändern. Witzigerweise benutzt es jetzt aber nicht mehr die phptemplate-Engine. Oder genauer: der Eintrag in der Tabelle system (type='theme' und dann für das page.tpl.php) zeigt nicht auf phptemplate.engine, sondern auf phptemplate - das .engine fehlt. Wenn ich es per Update anhänge, funktioniert das genau ein mal. Danach wird dieser Eintrag in der Tabelle system überschrieben und .engine ist futsch und das Template kaputt. Mit Kubrick tuts das natürlich alles. Und natürlich findet man nirgendwo eine Info wo verflixt nochmal das Theme sagt welche Template-Engine benutzt werden soll - und wie dieser Eintrag in der Tabelle system entsteht. Nein, so einfach nach phptemplate.engine grepen bringt nix. </p> <p>Ok, mir ist jetzt klar das die Engine die Einträge erzeugt - jedenfalls nachdem ich mir den Source zur Engine mal näher angeguckt habe. Da wird nach page.tpl.php gesucht und wenn das gefunden wird, wird mit der phptemplate.engine verbunden. Aber warum sollte die Engine ihren eigenen Namen falsch eintragen? Zumal sie es bei Kubrick ja richtig macht. Das hab ich ja auch einfach nur ausgepackt in das themes-Verzeichnis. </p> <p>Jut, also weiter forschen. Ein grep -r auf INSERT in Kombination mit system findet dann im system.module die Funktion system_obtain<em>theme</em>info, in der diese Sätze geschrieben werden. Aber wie und wo genau da jetzt was damit gemacht wird - sorry, aber das findet man nicht raus ohne längeres Studium. Irgendwie wird das description Attribut mit einem Wert gefüllt der beim Kubrick-Theme mit .engine endet und bei allen anderen nicht. Kubrick referenziert die Theme-Engine exakt und korrekt, aber eine beliebig benamste Kopie von Kubrick mit identischem Inhalt referenziert eine Theme-Engine ohne .engine im Namen und tuts nicht. Toll. Aber Kubrick umbenennen funktioniert. Hä? </p> <p>Ok, nächster Ansatz. Mein Template umbenennen in was anderes und Kubrick umbenennen in meinen eigentlich gewünschten Namen. Verwirrung komplett: mein Template tut nicht, aber das jetzt kubrick heissende und vorher nicht funktionierende tut jetzt auch nicht. Äh .. Also das Kubrick in was anderes umbenannt. Und mal mein zwischengelagertes ausprobiert. Das tuts jetzt. Unter einem Namen der nicht Kubrick ist. Hä? Hütchenspiel? Benenne jetzt die Themes so lange um bis ich irgendwann unter dem von mir gewünschten Namen ein funktionierendes habe und dann ist gut? <img src="http://media.rfc1437.de/cms-media/images/smile.gif" alt="lachendes Gesicht" /> </p> <p>Also mal versucht das Hütchenspiel aufzulösen. Computer sind doch deterministische Kisten, das muss doch gehen. Ok, beide Templates (originales Kubrick und mein Hugo) umbenannt. In aa und bb. Und welches funktioniert? Das was bb heisst. Nochmal das ganze, nur jetzt die Rollen vertauscht. aa wird bbb und bb wird aaa. Welches funktionert jetzt? Das was "bbb" heisst. Wenn zwei phptemplate.engine basierte Themes im System installiert sind, funktioniert nur das zuletzt im System gefundene zum Zeitpunkt wo nach den Themes gesucht wird. Die anderen gehen kaputt. </p> <p>Also muss ich jetzt erstmal rauskriegen was eigentlich mit den alten Themes los ist, warum die nicht zum Funktionieren zu kriegen sind. Erster Ansatz: einen Dump der Datenbank machen und mit grep gucken wo überall meine Freunde auftauchen. Dabei hab ich dann gleich gefunden was mit dem ominösen phptemplate ohne .engine ist: die entsprechenden Einträge enthalten statt des Punktes einen chr(0). Ascii-Null. Wird von MySQL zwar gespeichert, aber von PHP wohl abgeschnitten beim Zugriff. Und für die ganzen alten Templates sind diese ganzen kaputten Einträge da. Ausserdem hat sich noch die engine im Eintrag phptemplate<em>extra</em>templates in der Tabelle variable gemerkt welche Themes sie schon gesehen hat. </p> <p>Noch mal ein clean room Test: die Einträge in der Tabelle system mit type='theme' und description like 'themes/engine/phptemplate%' rauswerfen. Dann weiss er nix mehr von den Themes und ihren Namen. Dann nur mein gewünschtes Template haben und dieses dann aktivieren. Und siehe da, es funktioniert auf Anhieb. Dann mal kubrick ausgepackt. Und es funktioniert. Danach tuts aber mein eigenes Theme nicht mehr. Wie erwartet - kubrick kommt im Alphabet nach hugo. Kubrick wieder löschen und schon tuts mein eigenes Theme wieder - nach entsprechendem Refresh. </p> <p>Also nachforschen wo zum Kuckuck diese Geschichte passiert und wieso. Es passiert ja nur mit den phptemplate.engine Themes. Die xtemplate.engine Themes tuns ja problemlos. Wobei sich herausstellt das die es trotz des Bugs tun - er betrifft sie auch. Denn im system.module in system_theme<em>data (wie ich das rausgefunden habe erspare ich den Lesern mal - es war einfach sukzessives Einsetzen von echo Befehlen um zu gucken wann wo was kaputt geht) wird im letzten Schritt - im Aufruf von system</em>obtain<em>theme</em>info - an den Files das description-Element zerstört. Und das ist es, das in die Systemtabelle gespeichert wird um auf die Theme-Engine zu referenzieren. Nur das letzte Theme einer Engine behält den korrekten Eintrag, alle anderen sind kaputt. </p> <p>Hmm. Der basename-Aufruf in Zeile 336 ist der einzige Kandidat - er liefert eigentlich nur die Theme-Engine ohne das .engine hinten dran raus. Aber er sollte das eigentliche Feld nicht verändern, deshalb hatte ich ihn vorher nicht sonderlich beachtet - die PHP-Doku sagt nix über Seiteneffekte dieser Funktion. Aber wenn ich den Eintrag auskommentiere, funktinioniert mein Theme und Kubrick auch - gleichzeitig. Im PHP Handbuch steht aber nix davon, das basename den ursprünglichen String verändert. </p> <p>Also ein kleines Testscript geschrieben, das nur einen basename-Aufruf macht. Örks. Ja, das ist es - basename verändert den Ursprungsstring, und zwar haut es einen chr(0) anstelle des Punktes rein. Und siehe da, es gibt einen <a href="http://www.zend.com/lists/php-dev/200201/msg02719.html" class="externlink">Bugreport aus 2002</a> dazu - ja, ich hab ne alte PHP 4.1.2 Version laufen, da Debian Stable. Beim Bugreport steht eine brauchbare Lösung für mein Problem - einfach die Variable in "" setzen und so mit String-Interpolation arbeiten. Und siehe da, Problem gelöst. Und Knoten ins Ohr machen: bei 4.1.2 macht basename die Quellvariable kaputt. </p> <p>Und mit so einem Scheiss (damit mein ich den Bug, nicht Drupal) beschäftigt sich ein Programmierer beim Debugging <img src="http://media.rfc1437.de/cms-media/images/smile.gif" alt="lachendes Gesicht" /> </p> <p>Ich hätte auch einen anständigen Job erlernen können. Whisky-Fass-Bewacher bei Jack-Daniels zum Beispiel ... </p> Don't reset existing password on request, prevent DoS password reset abuse | drupal.org http://rfc1437.de/page/dnt-rst-xstng-psswrd-n-rqst-prvnt-ds-psswrd-rst-bs/ Tue, 8 Feb 2005 13:21:16 +0100 CMS Drupal Sysadmin http://rfc1437.de/page/dnt-rst-xstng-psswrd-n-rqst-prvnt-ds-psswrd-rst-bs/ Don't reset existing password on request, prevent DoS password reset abuse - tja, genau das Problem hab ich auch bemerkt und konnte nicht fassen das tatsächlich jemand sowas in ein CMS eingebaut hat. Man kann in Drupal für einen Benutzer das Passwort wechseln - und zwar für jeden. Das neue ... <p> <a href="http://drupal.org/node/16909" class="externlink">Don't reset existing password on request, prevent DoS password reset abuse</a> - tja, genau das Problem hab ich auch bemerkt und konnte nicht fassen das tatsächlich jemand sowas in ein CMS eingebaut hat. Man kann in Drupal für einen Benutzer das Passwort wechseln - und zwar für jeden. Das neue Passwort wird dann diesem Benutzer per Mail zugeschickt. Man kann also darüber keinen illegalen Zugriff erlangen, ausser man kann die Mails des Benutzers abfangen (was in der Regel wohl hoffentlich nicht der Fall sein wird). Aber man kann einen Admin aussperren: einfach einen Job aufsetzen der minütlich das Passwort des Admins zurücksetzt. Und dann diese zwangsweise Abwesenheit des Admins dazu nutzen um das Drupal vollzuspammen zum Beispiel. </p> <p>Sowas ist wirklich ein peinlicher Patzer. Wird leider viel zu gerne und viel zu häufig gemacht. Wer also Drupal betreibt, dem sei der Patch empfohlen (aufpassen, der Autor hat zwei Patches reingereicht, der erste war noch buggy). Liess sich problemlos installieren und behebt zumindestens die Aussperrung des Admins. Nervige Mails kriegt man natürlich trotzdem dabei. </p> Manche Projekte wollen mich in den Wahnsinn treiben http://rfc1437.de/page/manche-projekte-wollen-mich-in-den-wahnsinn-treibn/ Tue, 8 Feb 2005 00:25:54 +0100 CMS Drupal http://rfc1437.de/page/manche-projekte-wollen-mich-in-den-wahnsinn-treibn/ oder so könnte man zumindestens meinen. Heute im Programm: Drupal 4.5.2. Nettes Paket, gefällt mir vor allem weil es jetzt auch Kubrick als Theme für Drupal gibt und weil es recht mächtig ist und trotzdem noch einigermaßen überschaubar. Nur falle ich jedesmal wenn ich mich nach längerer Zeit ... <p>oder so könnte man zumindestens meinen. Heute im Programm: Drupal 4.5.2. Nettes Paket, gefällt mir vor allem weil es jetzt auch Kubrick als Theme für Drupal gibt und weil es recht mächtig ist und trotzdem noch einigermaßen überschaubar. Nur falle ich jedesmal wenn ich mich nach längerer Zeit wieder damit beschäftige auf die gleichen Sachen rein: zum Beispiel die Aktivierung von Übersetzungen. Ist ja toll das es Übersetzungen gibt. Aber wenn es nirgendwo auf der Website auch nur Andeutungen darauf gibt was man machen muss, dann sitzt man schon ziemlich doof da. Ok, ja, man muss nur das locale.module aktivieren. Und wo bitte steht das? In der x-ten Hierarchie im Administrationsmenü. Genauso toll: es wird eine Datenbankanbindung für PostgreSQL mitgeliefert. Dummerweise ist die aber erst ab PHP 4.3 brauchbar - ältere Versionen werden nicht unterstützt, obwohl Drupal ab 4.1 läuft. Nachdem ich alles umeditiert habe auf die alten Funktionsnamen liefs immer noch nicht: da fehlte scheinbar ein default für die Spalte uid in der Tabelle sessions. Nachdem ich das gesetzt hab, hängte sich das PHP auf beim Zugriff auf die Site. Ok, ja, ich weiss, MySQL nehmen (ich mag MySQL aber nicht ...). Fein, jetzt bin ich drin, ich hab auch Kubrick als Layout und deutsche Übersetzungen. Ok, einen Teil des Systems in Deutsch - da fehlen Berge von Strings. Also weiss ich was ich demnächst mal wieder machen werden. Toll. Genauso toll wie der Default-Wert für das Fileverzeichnis, der einfach nur "files" ist. Was nicht funktioniert wenn man Bilder upload für Benutzer erlauben will, weil dann "files" und "pictures" ohne / aneinandergehängt werden. Und nein, der / darf nicht vor "pictures" stehen, sondern muss hinter "files" stehen. Das bei Kubrick das Menü in der rechten Spalte bei der Aktivierung von Blöcken natürlich als "links" ausgewählt werden muss, brauche ich sicherlich nicht extra zu erwähnen. Und das das Handbuch alles andere als aktuell ist - sorry, aber das ist einfach lachhaft. Da wird noch von Verzeichnisstrukturen zum Teil gesprochen, die gibts garnicht mehr. Nein, die Einstellungen sind nicht in sites/default/settings.php - die sind in includes/conf.php. </p> <p>Menno. Das ist so ein schönes Projekt. Und das ganze System ist wirklich leistungsfähig und stabil. Aber die Dokumentation ist wirklich ein Witz. Manchmal hab ich das Gefühl die Leute dokumentieren garnicht Drupal sondern irgendwas anderes <img src="http://media.rfc1437.de/cms-media/images/wink.gif" alt="zwinkerndes Gesicht" /> </p> <p>Schön ist es trotzdem, also will ich mal nicht zu laut meckern. Andere machens ja auch nicht wirklich besser. Trotzdem - könnte so schön sein, wenn der Hinweis auf das Online-Handbuch wirklich helfen statt verwirren würde ... </p> Weg mit Trackback http://rfc1437.de/page/weg-mit-trackback/ Tue, 1 Feb 2005 20:34:48 +0100 Blogging CMS Programmierung Texte http://rfc1437.de/page/weg-mit-trackback/ Isotopp grübelt anlässlich des Spamtags über Trackback Spam und stellt mehrere Ansätze vor. Einer davon arbeitet mit einer Gegenprüfung der Trackback-URL gegen die IP des einsendenden Rechners - wenn der Rechner eine andere IP hat als der im Trackback beworbene Server, dann wäre das ... <p> <a href="http://blog.koehntopp.de/archives/669-guid.html#extended" class="externlink">Isotopp grübelt anlässlich des Spamtags über Trackback Spam</a> und stellt mehrere Ansätze vor. Einer davon arbeitet mit einer Gegenprüfung der Trackback-URL gegen die IP des einsendenden Rechners - wenn der Rechner eine andere IP hat als der im Trackback beworbene Server, dann wäre das warscheinlich Spam. Ich hab mal meine eigenen Kommentare dazu zusammengeschrieben - und begründet, warum ich Trackback lieber heute als morgen los wäre. Komplett. Und ja, das ist eine komlette 180-Grad Wendung meinerseits zum Thema Trackback. </p> <p class="morehint">(to read more about this, click on the article title)</p> WordPress Related Entries plugin http://rfc1437.de/page/wordpress-related-entries-plugin/ Mon, 31 Jan 2005 15:21:20 +0100 CMS Wordpress http://rfc1437.de/page/wordpress-related-entries-plugin/ わさび » Archives » WordPress Related Entries plugin - ein sehr nettes kleines Plugin das mittels des Volltextindex von MySQL verwandte Artikel sucht. Klar, das ist nur ein ziemlich einfacher Algorithmus und die Trefferqualität ist noch lange nicht so wie bei Google, aber ich habs trotzdem mal ... <p> <a href="http://www.w-a-s-a-b-i.com/archives/2004/05/26/wordpress-related-entries-plugin/" class="externlink">わさび » Archives » WordPress Related Entries plugin</a> - ein sehr nettes kleines Plugin das mittels des Volltextindex von MySQL verwandte Artikel sucht. Klar, das ist nur ein ziemlich einfacher Algorithmus und die Trefferqualität ist noch lange nicht so wie bei Google, aber ich habs trotzdem mal eingebaut. Wenn man auf die Detailseite eines Beitrags geht (z.B. durch Klick auf den Titel) wird eine Liste von bis zu 5 passenden anderen Artikeln angezeigt. </p> <p>Ausserdem verspreche ich mir davon auch eine etwas bessere Positionierung von diversen älteren Beiträgen - ohne das ich immer dran denken muss da einen Link hin zu setzen (hey, meistens hab ich selber die schon wieder vergessen!). Und vielleicht hilft es auch den Leuten die über Suchmaschinen kommen etwas weiter. </p> <p>Ausserdem ist es cool, und cool ist gut <img src="http://media.rfc1437.de/cms-media/images/cool.gif" alt="It\'s cool, man!" /> </p> Caching für PHP Systeme http://rfc1437.de/page/caching-fur-php-systeme/ Thu, 13 Jan 2005 12:15:46 +0100 CMS Sysadmin Texte Wordpress http://rfc1437.de/page/caching-fur-php-systeme/ Es gibt ja grundsätzlich zwei Wege wie man in einem PHP-basierten System caching betreiben kann. Ok, es gibt viel mehr, aber zwei Hauptwege sind deutlich erkennbar. Ich hab mal zusammengeschrieben was in dem Zusammenhang interessant ist - gerade weil im Moment ein paar Kollegen unter hoher ... <p>Es gibt ja grundsätzlich zwei Wege wie man in einem PHP-basierten System caching betreiben kann. Ok, es gibt viel mehr, aber zwei Hauptwege sind deutlich erkennbar. Ich hab mal zusammengeschrieben was in dem Zusammenhang interessant ist - gerade weil im Moment ein paar Kollegen unter hoher Serverlast zu leiden haben. Das ganze ist allgemein gehalten, betrachtet aber aus begreiflichen Gründen auch die speziellen Folgen für WordPress. </p> <p class="morehint">(to read more about this, click on the article title)</p> hobix&you!! feel yeah!! http://rfc1437.de/page/hobixyou-feel-yeah/ Sun, 9 Jan 2005 17:22:27 +0100 Blogging CMS Ruby http://rfc1437.de/page/hobixyou-feel-yeah/ hobix&amp;you!! feel yeah!! ist eine Weblogsoftware in Ruby geschrieben. Sie stammt vom Autor des Why's (Poignant) Guide to Ruby und die Homepage des Projektes ist dementsprechend durchgeknallt. Eines muss man ihm lassen: entweder er ist völlig neben der Spur oder er ist ein Genie. Irgendwas ... <p> <a href="http://hobix.com/" class="externlink">hobix&amp;you!! feel yeah!!</a> ist eine Weblogsoftware in Ruby geschrieben. Sie stammt vom Autor des <a href="http://hugo.muensterland.org/2004/12/23/whys-poignant-guide-to-ruby/" class="externlink">Why's (Poignant) Guide to Ruby</a> und die Homepage des Projektes ist dementsprechend durchgeknallt. Eines muss man ihm lassen: entweder er ist völlig neben der Spur oder er ist ein Genie. Irgendwas dazwischen passt definitiv nicht <img src="http://media.rfc1437.de/cms-media/images/wink.gif" alt="zwinkerndes Gesicht" /> (gefunden bei <a href="http://www.rousette.org.uk/blog/archives/2005/01/09/hobix/" class="externlink">but she's a girl</a>) </p> Ian Bickings Wiki http://wiki.webwareforpython.org/thiswiki.html Sun, 19 Sep 2004 14:56:32 +0200 CMS Programmierung Python Sysadmin http://rfc1437.de/link/bm-ian-bickings-wiki/ <a class="externlink" href="http://wiki.webwareforpython.org/thiswiki.html">Ian Bickings Wiki</a> - Interessantes Wiki in Python und Webware auf Basis von reStructuredText Rhizome http://rhizome.liminalzone.org/ Fri, 27 Aug 2004 15:15:44 +0200 CMS Software http://rfc1437.de/link/bm-rhizome/ <a class="externlink" href="http://rhizome.liminalzone.org/">Rhizome</a> - Interessantes Wiki mit Fokus auf semantische Inhalte - Seitenbezüge werden semantisch definiert New image gallery plugin - needs testers http://wordpress.org/support/10/6775 Fri, 11 Jun 2004 13:44:00 +0200 CMS Programmierung Sysadmin Wordpress http://rfc1437.de/link/bm-new-image-gallery-plugin-needs-testers/ <a class="externlink" href="http://wordpress.org/support/10/6775">New image gallery plugin - needs testers</a> - Wordpress Plugin für Bilder an Postings WordPress Support %u203A Static "like" pages http://wordpress.org/support/3/1415 Thu, 20 May 2004 22:22:24 +0200 CMS Wordpress http://rfc1437.de/link/bm-wordpress-support-u203a-static-like-pages/ <a class="externlink" href="http://wordpress.org/support/3/1415">WordPress Support %u203A Static &quot;like&quot; pages</a> - Diskussion über die Erstellung pseudostatischer Seiten (z.B. Impressum) in WordPress