Weblog von Jürgen

Abenteuer VDSL - Kapitel 2: Telekom ante portas

So, nachdem mir Vodafone erstmal einigen Kummer damit bereitet hatte, dass die alten Rufnummern erst 2 bis 10 Arbeitstage nach der Umstellung auf VDSL wieder verfügbar sein werden, war es dann am Donnerstag soweit. Gegen Mittag stand ein Techniker von der Telekom vor der Tür, um meinen DSL-Anschluss auf VDSL umzustellen. Überraschenderweise war ich bis zu diesem Punkt noch online. Obwohl Vodafone in der Auftragsbestätigung schrieb:

"Der bisherige DSL-Zugang wird bereits am Vortag des Anschalttermins deaktiviert."

Offenbar gilt das aber nur, wenn man von der Telekom zu Vodafone wechselt und nicht wenn man, wie ich, schon bei Vodafone (bzw. Arcor) ist. Überhaupt machen die ganzen Schreiben, die ich von Vodafone erhalten habe den Eindruck, als würden sie nicht zu meinem Fall passen. Es war zwar angenehm, dass ich bis zur Umschaltung noch DSL hatte, geärgert habe ich mich aber trotzdem. Den Umstand, einen UMTS-Zugang für meinen PC zu schalten, für die Zeit von der vermeintlichen Abschaltung am Vortag, bis zur Anschaltung von VDSL, hätte ich mir sparen können. Aber das sollte nicht das einzige Ärgernis des Tages bleiben.  weiterlesen »

Abenteuer VDSL - Kapitel 1: Am Anfang war das Chaos

Seit 2003 bin ich Arcor-Kunde und war stets zufrieden. Der DSL-Zugang lief all die Jahre einwandfrei. Nur zweimal gab es in dieser Zeit eine nenneswerte Störung: Einmal als mein DSL-Modem ausfiel. Das wurde noch am gleichen Tag ersetzt! Und dann als ein Vermittlungsrechner abrauchte. Auch dieses Problem wurde noch am gleichen Tag behoben. Eigentlich gab es also keinen Grund den Anbieter zu wechseln - wäre Arcor nicht von Vodafone übernommen worden. Denn nun wird mein Wunsch nach einem Upgrade des DSL16000-Anschlusses auf VDSL25 doch zu einem Wechsel führen - nämlich von Arcor zu Vodafone. Kein Witz! Als ich kürzlich bei Arcor über das Kundenmenü eine Anfrage schickte, ob sie denn endlich VDSL im Angebot hätten (von alleine kommt man dort nicht auf die Idee, seine Kunden über solche neuen Produkte zu informieren), bekam ich zunächst einen Rückruf von Vodafone - was soweit okay ist, denn es soll ja wohl nur noch eine Firma sein - und ein Angebot für ein Upgrade auf VDSL25.  weiterlesen »

Pathauto: Vorsicht bei der Generierung automatischer Aliase!

Flattr this

Suchmaschinenfreundliche URLs sind für Drupal kein Problem. Allerdings ist das Core-Modul Path doch eher unkomfortabel und daher wird man wohl immer Pathauto und Token dazunehmen. Im Zusammenspiel können so sehr schöne lesbare URLs erzeugt werden und das vollautomatisch beim Anlegen einer Node. Pathauto gestattet dabei z.B. die Verwendung von Taxonomiebegriffen und unterschiedliche Pfade für verschiedene Inhaltstypen. Und genau hier lauert eine Falle.  weiterlesen »

Probleme mit Adobe DLM unter Windows 7

Das Software-Updates gerne auch mal weitere, mehr oder weniger nützliche Zusatzprogramme mitbringen, finde ich ziemlich nervig. So versuchen die Updates für Sun's Java seit längerem auch die Yahoo-Toolbar zu installieren. Klickt man zu schnell durch die Installationsprozedur, so übersieht man leicht das gesetzte Häkchen für die Toolbar-Installation. Das muss man nämlich wegmachen, sonst hat man die Toolbar plötzlich in seinem Browser. Richtig ärgerlich wird es aber, wenn diese "Geschenke" dazu führen, dass der Rechner nicht mehr so arbeitet wie er sollte (und es vorher tat). Am Wochenende ist mir dies bei einem Update von Adobe-Produkten passiert. Aktualisiert hatte ich den Acrobat-Reader und den Flash-Player. Anstatt einfach nur einen Download-Link bereitzustellen und das Update für den Reader zu installieren, bot die Website zunächst einen "Kostenloser McAfee® Security Scan Plus (optional)" an - der voreingestellt war, so dass man erstmal den Haken entfernen musste. Anschließend wollte die Website zunächst das Firefox-Add-On  Adobe Download-Manager (Adobe DLM) installieren, bevor das eigentliche Update durchgeführt werden kollte.

"Adobe DLM"-Plugin im Firefox

   weiterlesen »

Kleiner Punkt, große Wirkung - Bug in PHPlist verhindert HTML-Mails

Um regelmäßig Newsletter zu versenden, braucht man kein CMS wie Drupal oder Joomla. Als Stand-Alone-Lösung ist PHPlist eine interessante (und kostenlose) Lösung. Will man den mitgelieferten FCKeditor benutzen ist die Installation leider nicht so ganz unkompliziert (hier gibt es Hilfestellung zur  Installation von PHPlist). Einmal eingerichtet ist es dann aber recht einfach zu bedienen. Es bietet eigentlich alles was man braucht und ist auch in der Lage große E-Mail-Mengen zu bewältigen.

Kürzlich gab es dann aber ein Problem mit den HTML-Versionen der Mails. Der komplette HTML-Teil fehlte! Nach einigem Suchen entpuppte sich ein Punkt am Ende der Mail als Wurzel des Übels.

Am Ende des Newsletters stand folgender Schlusssatz: 

Möchten Sie den Newsletter in Zukunft nicht mehr erhalten, dann schreiben Sie uns eine kurze E-Mail newsletter_abbestellen@die-kundendomain.de.  weiterlesen »

Probleme beim Hosten von Drupal-Websites bei 1&1

Eine neue Website, die mit Drupal6 arbeitet, sollte bei 1&1 gehostet werden. Okay, das klang jetzt erstmal nicht nach einer größeren Herausforderung. Ein Blick in das Kunden-Backend zeigte, dass es sich um ein Hosting-Paket "1&1 Business 5.0" für knapp 15 € pro Monat handelte. Die vorhandene Website und diverse Dokumente für den Download belegten nicht einmal 20% des vorhandenen Speicherplatzes. Also noch reichlich Reserve. Drei MySQL-Datenbanken waren ebenfalls noch verfügbar. Leider werden PHP-Skripte standardmäßig mit PHP4 ausgeführt - was ja jetzt nicht mehr so ganz zeitgemäß ist. Eine Möglichkeit, dass im Backend umzuschalten gibt es wohl nicht, zumindest fand ich auch nach längerem Suchen keine. Die "Hilfe"-Seite gab die lapidare Empfehlung, die PHP-Skripte mit der Endung .php5 zu versehen, da sie dann vom Server mit PHP5 aufgerufen würden. Tolle Empfehlung, benennen wir doch einfach die zahllosen PHP-Dateien von Drupal um! An dieser Stelle kamen mir dann erste Zweifel, ob dieses Hosting-Paket wirklich für professionelle Anwendungen geeignet ist. Oder ob das ganze nicht eher für Kunden gedacht ist, die sich ihre Website mit dem 1&1-Baukasten zusammenbasteln. Dabei gibt es eine naheliegendere Möglichkeit, das PHP-Problem zu lösen. Der folgende Eintrag am Anfang der htaccess erzwingt die Ausführung von Skripten mit der Endung .php durch PHP5

AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

Drupal würde zwar auch mit PHP4 laufen, aber empfehlenswert ist das nicht, denn nicht alle Module machen da mit.  weiterlesen »

Drupal-Mails an andere E-Mail-Adressen umleiten

Wenn man eine Website mit Drupal entwickelt, kann es sein, dass man dafür reale Datensätze vom Kunden bekommt. Zunächst einmal ist das je kein Problem. Die Website, die entwickelt wird, befindet sich in einer Testumgebung und was auch immer mit den Daten passiert, es hat keine Auswirkung auf die reale Welt - mit einer Ausnahme: werden reale E-Mailadressen verwendet, so kann es passieren, dass Drupal diesen während der Tests eine E-Mail sendet. Module oder Funktionen, die dies tun, gibt es jede Menge. Schon das Löschen oder Anlegen eines neuen User-Accounts kann eine solche Mail erzeugen. Das kann man zuar unterbinden, aber zum einen ist es ja unter Umständen erwünscht, dass eine Mail erzeugt wird und zum anderen vergisst man schnell mal, die betreffende Funktion abzuschalten.Schöner wäre es daher, wenn man das Versenden der Mails global unterdrücken oder diese wenigstens an eine andere Mail-Adresse umleiten könnte.  weiterlesen »

Spannende Tage in München - Drupal Dev Days 2010

Am 8. und 9. Mai fanden in München die Drupal Dev Days statt. Es wurde ein sehr interessantes aber auch anstrengendes Wochenende. Samstag früh hin, Sonntag Abend zurück und dazwischen ein randvolles Vortragsprogamm. Aber es hat sich gelohnt.

Das Ganze war gut organisiert, nur das Einchecken verlief etwas zäh - zumindest wenn man nicht die Vorregistrierung am Freitag Abend nutzen konnte. Damit es nicht allzu hektisch wurde, hatte man kurzerhand die Eröffnung auf später verschoben und die gewonnen Zeit reichte dann für die Registrierung. Gleich danach ging es auch schon mit dem Programm los. In der Regel liefen jeweils vier Vorträge zeitgleich, so dass die Auswahl manchmal schwer fiel.

Für den ersten Tages hatte ich mir folgende Themen ausgesucht:

  • Drupal-Themes dynamisch mit ThemeKey steuern
  • Jquery und Drupal: Kleine Library, grosse Wirkung
  • Drupal-Entwicklung für Nicht-Entwickler
  • Keynote "Warum PHP sich rechnet"
  • Power Panels - Der richtige Einsatz von Panels
  • Khairn - Projekte managen mit Drupal (2+))
  • Nicht-englischsprachige und mehrsprachige Suche mit Apache Solr Multilingual

Zwischendrin gab es natürlich eine Mittagspause. Die war hervorragend organisiert. Zur Auswahl gab es vier Suppen oder Eintöpfe - alle in ordentlicher Qualität und ausreichender Menge, dazu Brot oder Brötchen und zum Nachtisch Obst oder Plundergebäck. Für Getränke war auch gesorgt: Fruchtsäfte, Mineralwasser und Kaffee bis zum Abwinken. Das ganze war in der enthalten. Danke an die Sponsoren, wie z. B. die Kelterei Walther GmbH & Co. KG.  weiterlesen »

Von Drupal 5 nach Drupal 6 - eine Schritt-für-Schritt-Anleitung

Eine Website von Drupal 5 auf die Version 6 umzustellen, ist eigentlich gar nicht so schwer - sofern man ein paar wichtige Dinge beachtet. Im folgenden beschreibe ich die Umstellung einer etwas größeren Community-Seite, auf der neben dem Core-Drupal noch diverse Contributed Modules liefen.Wichtig für den Erfolg ist eine gründliche Vorbereitung. Die eigentliche Umstellung ist dann an einem Tag zu schaffen. Wenn, wie hier, noch ein aufwändiges Layout dazukommt, geänderte URLs umgeleitet werden sollen und neue Funktionen hinzukommen, sollte man aber doch lieber mal ein komplettes Wochenende dafür einplanen. 

Und so haben wir es gemacht:  weiterlesen »

Calendar-View zeigt falsche Woche an

Ich dachte mich tritt ein Pferd! Ende Dezember hatte ich eine Kundenwebsite mit Drupal 6 entwickelt, die unter anderem verschiedene Kalenderansichten enthält: Monats- und Wochenkalender - bereitgestellt vom Views-Modul -, die verschiedene Inhaltstypen anzeigen. Alles funktionierte einwandfrei. Nun war also der Kunde am Zuge, sich alles anzuschauen, ggf. letzte Änderungswünsche zu äußern und dann die Seite freizugeben. Dies ist mittlerweile passiert und heute wollte ich die letzten Änderungen einarbeiten. Aber was war das? Die Wochenkalender zeigten plötzlich nicht mehr die aktuelle, sondern die vergangene Woche an! Und das, ohne dass irgendetwas an der Seite geändert worden wäre, kein Update, keine neun Module, nur ein paar neue Inhalte.

Nach einer kurzen Recherche war das Problem dann gefunden. Die Ursache liegt darin, dass es in Europa und USA unterschiedlichen Verfahren zur Bestimmung der 1. Kalenderwoche (KW) eines Jahres gibt.

  • USA: jene Woche, in die der 1. Januar fällt
  • Deutschland/EU: die erste Woche, in die mindestens vier Tage des neuen Jahres fallen (DIN 1355-1 / ISO 8601)

Außerdem beginnt hierzulande eine Woche am Montag in den USA dagegen am Sonntag. Schaut man auf den Kalender, so sieht man, dass nach US-Zählung die erste KW schon am 27. Dezember 2009 begonnen hatte, hierzulande aber erst am Montag, den 4. Januar 2010. Damit sind wir heute in der KW 6, nach US-Zählung aber schon in der KW 7. Nun wäre das an sich noch kein Problem, denn der verwendete Kalenderview soll nicht die Nummer der KW ausgeben, sondern nur die 7 Tage dieser Woche auflisten. Dummerweise verwenden die beiden Module, die hier zusammenarbeiten sollen (Date und Calendar) unterschiedliche Zählweisen und so gibt der Kalender-View nicht die laufende Woch sondern die Vorwoche aus.

Der folgende Patch behebt den Fehler und es wird wieder die laufende Woche angezeigt. Die Funktion get_default_argument befindet sich in der Datei (../sites/all/modules/date/includes/date_api_argument_handler.inc ab Zeile 144 (Version 2.4 des Date-Moduls)

/
   function get_default_argument($raw = FALSE) {
     if (!$raw && $this->options['default_argument_type'] == 'date') {
-      return date($this->format(), time());
+      $arg = date($this->format(), time());
+
+      $parts = $this->date_handler->arg_parts($arg);
+
+      if($parts[0]['date']['week']){
+        $year = date("Y");
+        $last_week_of_year = date("W",strtotime(($year-1)."-"."12-31"));
+        $last_day_of_year  = date("w",strtotime(($year-1)."-"."12-31"));
+        if ($last_day_of_year > 3 and $week != $last_week_of_year) {
+          $arg = date($this->format(),time()+7*24*60*60);
+        }
+      }
+      return $arg;
     }
     else {
       return parent::get_default_argument($raw);

Quelle: http://drupal.org/node/686394