24.
September
Sidestep: ist mein Brötchen wirklich teurer geworden?
von Christian Metzeler Ein Kommentar
Als ich heute morgen beim Bäcker vorbeischaute und mir zwei Brötchen zum Frühstücken holte, wälzte ich so den Gedanken, ob Brötchen eigentlich wirklich teurer geworden sind? 23 Cent kostet ein normales, in Bayern landläufig “Semmel”, in Berlin “Schrippe”, in Hamburg gerne auch “Rundstück”, in Schwaben “Weggla” und hier meist einfach “Brötchen” genanntes, luftiges Weizenmehl-Erzeugnis.
Im Lauf meines Erwachsenwerdens hat sich an den Dingern eigentlich nie groß was verändert. Früher kamen sie mir größer vor, aber das liegt wohl hauptsächlich daran, dass ich damals kleiner war (jaja). Insofern ist so ein Brötchen eigentlich ein sehr gut geeignetes Produkt, um einen passenden Preisvergleich vorzunehmen. Ich weiß noch recht gut, dass eine Semmel in meiner Grundschulzeit, also vor rund 25 Jahren, 20 Pfennig gekostet hat. Heute kostet es hier 23 Cent. Die Deutsche Mark wurde 1999 im Verhältnis von 1,95583:1 Euro umgerechnet. Das heißt, 20 Pfennig entsprechen 10,23 Cent. Somit kostet ein Brötchen heute 12,77 Cent mehr als 1984.
Aber halt: es gibt ja noch die Inflation. Die betrugt im Durchschnitt der Jahre 1984 bis 2008 1,95%. Das heißt, dass der Preis aller Dinge, die ich kaufen kann oder will, pro Jahr im Durchschnitt um 1,95% gestiegen ist. Wenn ich also den eigentlichen heutigen Preis eines Brötchens wissen will, das 1984 10,23 Cent gekostet hat, muss ich noch für 25 Jahre pro Jahr jeweils 1,95% draufschlagen. Na, wer kennt sich mit Zinseszinsrechnung aus?
Nach 25 Jahren mit 1,95% Inflation sollte mein Brötchen eigentlich also 16,78 Cent kosten. Somit entfällt rund die Hälfte der Preissteigerung auf die Inflation, d.h. nur die andere Hälfte ist echte Preissteigerung (bspw. zur Gewinnsteigerung, wegen Lohnerhöhung oder Verteuerung von Grundstoffen o.ä.).
In 25 Jahren sind meine Brötchen real also etwas mehr als 6 Cent, rund 12 Pfennig teurer geworden. Nun gut, teurer also, aber nicht wirklich viel, wenn man 25 Jahre Zeit dagegen setzt.
P.S. Im Schnitt waren es 1,5% Inflation von 1999 bis 2007, 2,75% von 1989 bis 1998, 1,16% von 1984 bis 1988. Seit der Euro-Einführung 1999 ist die Inflation also häufig niedriger gewesen als in der DM-Zeit davor. Dies nur so als Hinweis.
16.
September
Skurrile Bezahlmethoden
von Christian Metzeler Ein Kommentar
Eine Geschichte am Rande: wir wurden nun zum ersten Mal in unserer Unternehmensgeschichte per so genanntem “Orderscheck” bezahlt. Ein – wie ich finde – höchst altertümliches und irgendwie witziges Verfahren der Bezahlung, das einen gewissen Arbeitsaufwand mit sich bringt. Immerhin muss ja irgendwer diesen Scheck ausgestellt und in die Post getan haben. Ich habe ihn dann ausgepackt und musste damit zur Bank laufen (sic!) um ihn dort eigenhändig einzulösen. Obendrein wird einem die Schecksumme zwar sofort gutgeschrieben, verfügbar ist das Geld aber erst nach rund sechs Werktagen – was im Prinzip ne nette Methode ist, sich um eine fristgemäße Bezahlung zu drücken. Denn erst wenn die einlösende Bank sich bei der Bank den Scheckausstellers sozusagen vergewissert hat, dass der Scheck auch ok, das Konto des Ausstellers gedeckt und der Himmel blau ist, wird einem der Betrag freigegeben.
Ich muss sagen: im Jahr 2009 sollte eigentlich jedes Unternehmen in Mitteleuropa Onlinebanking beherrschen, verstehen und durchführen können.
15.
September
Währungen in varisale & deren automatisches Update
von Christoph Kommentieren
Vor ertwas mehr als einer Woche haben wir unsere Shoplösung für REDAXO, varisale, vorgestellt. Unser aktueller Kunde nutzt varisale dazu, nicht nur in Euro, sondern auch in Pfund zu verkaufen (je nach dem, zu welcher Benutzergruppe sein jeweiliger Kunde gehört). Aus diesem Grund haben wir varisale direkt die Möglichkeit spendiert, Preise in beliebigen Währungen zu verwalten. Das heißt, dass Geldbeträge im Backend schon in Pfund eingegeben werden können und je nach Wunsch oder Locale (Lokalisierungseinstellung des Besuchers; legt Formatierung von Zahlen und eben die Währung des Landes fest) konvertiert werden. Dazu kann der Betreiber im Backend die Kurse der Währungen pflegen, die Umechnung und entsprechend korrekte Anzeige übernimmt dann varisale für ihn.
Um den Kunden später bei der Pflege zu entlasten, bieten wir netterweise eine automatische Aktualisierung der Wechselkurse an. Die Europäische Zentralbank stellt dazu ebenso netterweise eine tägliche aktualisierte XML-Datei mit den aktuellen Wechselkursen der am häufigsten genutzten Währungen ins Netz. Leider ist der Beispielcode, der die XML-Datei verarbeiten soll, hoffnungslos veraltet (eregi()?). Wir verwenden stattdessen das folgende Stück Code in unserem Shop:
$level = error_reporting(E_ERROR);
$ctx = stream_context_create(array('http' => array('timeout' => 10)));
$xml = file_get_contents('http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml', false, $ctx);
if (!$xml) {
print rex_message('Es trat ein Fehler beim Abrufen der aktuellen Wechselkurse auf. Bitte versuchen Sie es später erneut.', 'rex-warning', 'p');
}
else {
try {
$xml = new SimpleXMLElement($xml);
foreach ($xml->Cube->Cube->Cube as $currency) {
$ratio = strval($currency->attributes()->rate); // Kurs
$symbol = strval($currency->attributes()->currency); // EUR, GPD, USD, ...
// Hier folgt die projektspezifische Aktion, in der die Kurse verarbeitet werden.
$currency = VarisaleCurrency::getInstance($symbol);
$currency->setRatio((double) $ratio);
$currency->update();
// Ende des projektspezifischen Codes
}
$date = strftime('%d.%m.%Y', strtotime($xml->Cube->Cube->attributes()->time));
print rex_message('Ihre Wechselkurse wurden auf den Stand vom <strong>'.$date.'</strong> aktualisiert. Bitte kontrollieren Sie die Werte noch einmal, um technische Fehler auszuschließen.', 'rex-info', 'p');
}
catch (Exception $e) {
print rex_message('Es trat ein Fehler beim Verarbeiten der aktuellen Wechselkurse auf. Bitte versuchen Sie es später erneut.', 'rex-warning', 'p');
}
}
error_reporting($level);
Bis auf die drei Zeilen innerhalb der foreach-Schleife, in denen wir unsere VarisaleCurrency-Objekte verwalten, sollte der Code relativ portabel sein. Es sollte also ein Leichtes sein, den Code in andere Shopsysteme einzubinden. Nur die rex_*-Funktionen müssen außerhalb von REDAXO natürlich angepasst werden.
Nötig ist noch PHP 5.0 mit aktiviertem simplexml sowie aktiviertes allow_url_fopen.
9.
September
Und wieder einer mehr…
von Christian Metzeler Kommentieren
…heißt es seit Anfang der letzten Woche im Team von webvariants. Das stetige Wachstum unserer Firma ist ja seit jeher unser Hauptanliegen. Da ich immer noch das Ziel verfolge, Dave irgendwann zu Weihnachten Google zu schenken, tut Wachstum natürlich not. Also haben wir uns mit Robert erneut Verstärkung geholt. Fürs erste unterstützt uns Robert neben seinem Studium bei der Projektumsetzung in Redaxo-Projekten, denn dort gibts bei uns immer viel zu tun. 
Robert studiert Computervisualistik mit Schwerpunkt auf medizinischer Informationstechnik und befindet sich schon am Ende seines Studiums. Neben seinem Studium ist Robert gern mit der Kamera unterwegs und knippst Bilder. Den Rest seiner freien Zeit widmet er dem Uni-Filmteam, was ja thematisch nahe dran ist. Zunächst aber willkommen bei webvariants und viel Spaß im Team.
4.
September
Neues Shop-AddOn für REDAXO: varisale 2 veröffentlicht
von Christoph Ein Kommentar
In dem letzten halben Jahr haben wir für verschiedene kleinere und größere Kunden ein neues Shop-AddOn für Redaxo (vorerst nur 4.1) entwickelt, das wir nun veröffentlichen möchten.
varisale 2

(Die Startseite im Backend mit den Kategorien links und den Produkten rechts.)
Mit varisale können Websites auf der Basis von REDAXO einfach und komfortabel um ein Shopsystem erweitert werden. varisale legt dabei bewusst nicht fest, wie das Frontend (die Module und Templates) entwickelt werden müssen, sondern verwaltet nur die Shopdaten und stellt eine umfangreiche API zur Verfügung, um mit diesen Daten zu interagieren.
Der Fokus bei der Entwicklung lag auf Variabilität, Performance und Sicherheit. varisale bietet die folgenden Features:
- beliebig verschachtelter Kategorienbaum
- beliebig viele Produkte
- Von jedem Produkt können Varianten angelegt werden, die sich in ihren Attributen vom “Mutterprodukt” unterscheiden.
- Produkte können aus Attributen flexibel zusammengesetzt werden, ähnlich dem Metainfo-Konzept REDAXOs.
- Alle Daten werden können mehrsprachig verwaltet werden (das Backend ist hingegen nur in Deutsch verfügbar).
- beliebige Versand- und Liefermethoden und -kosten
- effizientes Ajax-Interface
- performante und sparsame Nutzung der Ressourcen: Auch mit tausenden Produkten in mehreren Sprachen bleiben Dank Caching und robuster Architektur die Zeiten für SQL-Abfragen minimal.
- Verwaltung von Währungen inkl. automatischem Update von der EZB
- u.v.m.
varisale folgt dem Motto von REDAXO, dass der Entwickler selbst für die Funktionalität der Website verantwortlich ist und sich nicht in vorgegebene, starre Strukturen einpassen muss. Daher werden keine Annahmen über das Design der Website oder deren Funktionalität getroffen.
Screenshots

(Der Kategorienbaum, bei dem eine Kategorie gerade umbenannt wird.)

(Das Overlay-Popup, in dem ein Produkt bearbeitet werden kann.)

(Die Verwaltung der Attribute. Ein Attribut wird gerade bearbeitet.)
Demo & Download
Um ein einfaches Testen zu ermöglichen haben wir eine REDAXO 4.1-Installation aufgesetzt, in der wir ausschließlich varisale installiert haben. Die Demo ist unter
http://demo.varisale.de/
(User & Passwort: demo)
erreichbar. Der Download der aktuellen Version kann von der Projektseite aus erfolgen:
http://varisale.de/
Im Download (ca. 2 MB) sind die benötigten AddOns sowie eine HTML-Dokumentation enthalten. Auf der Projektseite selber ist eine etwas längere Einführung mit Begriffsklärung verfügbar, die sich jeder, der varisale nutzen möchte, am besten durchlesen sollte.
varisale wird unter MIT-Lizenz veröffentlicht und ist damit frei und kostenlos verfügbar.
Probleme?
Wenn bei der Nutzung Probleme auftreten, meldet sie bitte im öffentlichen Ticket-System. Dazu ist eine vorherige Registrierung notwendig. Das Ticket-System ist auch der richtige Platz für Support-Anfragen und Verbesserungsvorschläge.
Kurze Hinweise und Gedanken können auch gern hier als Kommentar, via Twitter @webvariants oder per E-Mail an info@varisale.de eingeschickt werden.
Wir freuen uns auf Feedback jeglicher Art!