<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>ShopNix</title>
	<atom:link href="http://shopnix.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://shopnix.wordpress.com</link>
	<description>Tagebuch eines Shops auf Basis von osCommerce</description>
	<lastBuildDate>Wed, 11 Nov 2009 16:52:22 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='shopnix.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/ec6d4c663d0aeda7cb00385aa52cfcb4?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>ShopNix</title>
		<link>http://shopnix.wordpress.com</link>
	</image>
			<item>
		<title>Zeichensätze im Shop</title>
		<link>http://shopnix.wordpress.com/2009/11/11/zeichensatze-im-shop/</link>
		<comments>http://shopnix.wordpress.com/2009/11/11/zeichensatze-im-shop/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 07:31:40 +0000</pubDate>
		<dc:creator>spessart</dc:creator>
				<category><![CDATA[Sprachen]]></category>
		<category><![CDATA[osCommerce]]></category>
		<category><![CDATA[xtCommerce]]></category>
		<category><![CDATA[ISO-8859-15]]></category>
		<category><![CDATA[latin1]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[utf8]]></category>
		<category><![CDATA[xt-commerce]]></category>
		<category><![CDATA[Zeichensatz]]></category>

		<guid isPermaLink="false">http://shopnix.wordpress.com/?p=240</guid>
		<description><![CDATA[Inzwischen ist der internationale Zeichensatz utf8 schon fast Standard. Wer Shops in verschiedenen Sprachen betreut, wird daher über kurz oder lang darauf umstellen um Konvertierungen zwischen den verschiedenen Zeichensätzen künftig zu vermeiden. 
MySQL bietet dazu eine Vielzahl von Parametern, deren Auswirkungen bedacht sein wollen. Die Parametern sind in Systemvariablen abgelegt und können vom Client abgefragt [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shopnix.wordpress.com&blog=4223252&post=240&subd=shopnix&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Inzwischen ist der internationale Zeichensatz utf8 schon fast Standard. Wer Shops in verschiedenen Sprachen betreut, wird daher über kurz oder lang darauf umstellen um Konvertierungen zwischen den verschiedenen Zeichensätzen künftig zu vermeiden. </p>
<p>MySQL bietet dazu eine Vielzahl von Parametern, deren Auswirkungen bedacht sein wollen. Die Parametern sind in Systemvariablen abgelegt und können vom Client abgefragt werden. </p>
<pre>SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';</pre>
<p>Diese Parameter können teilweise auch vom Client per SQL geändert werden und ihr Zusammenspiel ist nicht nur für die Ausgabe wesentlich, sondern auch für die Sortierfolge oder die Suche nach Strings mit dem Schlüsselwort <code>LIKE</code>. In Abhängigkeit von den Einstellungen konvertiert MySQL ggfls. die Ausgabe. Hat man alles richtig gemacht, sieht nicht nur die Ausgabe sauber aus, sondern eine Suche nach einem Suchbegriff mit Umlaut bringt, unabhängig von der Groß- / Kleinschreibung, alle Ergebnisse.  </p>
<p>Für meinen <a href="http://de.vario-helicopter.biz/shop">VARIO-Helicopter</a> Shop zog ich zunächst einen Dump und kodierte ihn mit dem Linux-Tool recode von iso-8859-15 nach utf8 um. Anschließend fügte ich folgende Zeilen ein: </p>
<pre>ALTER DATABASE `3_vario-es` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
set names 'utf8';
set character set 'utf8';</pre>
<p>und las den Dump in die Datenbank ein. Um auch die Clientverbindung zum Shop richtig einzustellen, fügte ich anschließend in <code>shop/includes/functions/database.php</code> ab Zeile 22 zwei zusätzliche Zeilen ein: </p>
<pre>
    if ($$link) {
    	mysql_select_db($database);
// ShopNix.b
    	mysql_query("set names 'utf8'");
    	mysql_query("set character set 'utf8'");
// ShopNix.e
    }
</pre>
<p><strong>Aufpassen:</strong> Die Funktion muß natürlich auch im Admin-Bereich angepasst werden!</p>
<p>Die sprachabhängigen Dateien habe ich ebenfalls mit <code>recode</code> umkodiert und in der jeweiligen Führungsdatei (z.B. <code>german.php</code>) die Konstanten für die Kodierung angepasst. <strong>Aufpassen:</strong> Der W3C-Standard will die Schreibweise &#8222;utf-8&#8243; für die HTML-Header, MySQL braucht &#8222;utf8&#8243;!</p>
<p>Zum Umkodieren mit PHP5 muss (unter Debian) das Paket <code>php5-recode</code> installiert sein. Hier ein Beispiel des Funktionsaufrufs: <code>mysql_real_escape_string(recode_string('ISO-8859-1..UTF-8', $row['categories_name']))</code> im Zusammenhang mit einem Transfer von der alten Datenbank mit ISO-8859-1 Kodierung zur aktuellen Datenbank mit UTF-8.</p>
Posted in osCommerce, Sprachen, xtCommerce  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/shopnix.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shopnix.wordpress.com/240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/shopnix.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shopnix.wordpress.com/240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/shopnix.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shopnix.wordpress.com/240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/shopnix.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shopnix.wordpress.com/240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/shopnix.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shopnix.wordpress.com/240/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shopnix.wordpress.com&blog=4223252&post=240&subd=shopnix&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://shopnix.wordpress.com/2009/11/11/zeichensatze-im-shop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">spessart</media:title>
		</media:content>
	</item>
		<item>
		<title>xt-Commerce, Anmeldung funktioniert nicht</title>
		<link>http://shopnix.wordpress.com/2009/10/30/xt-commerce-anmeldung-funktioniert-nicht/</link>
		<comments>http://shopnix.wordpress.com/2009/10/30/xt-commerce-anmeldung-funktioniert-nicht/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 12:30:10 +0000</pubDate>
		<dc:creator>spessart</dc:creator>
				<category><![CDATA[Bugs]]></category>
		<category><![CDATA[xtCommerce]]></category>
		<category><![CDATA[anmeldung]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[session]]></category>
		<category><![CDATA[xt-commerce]]></category>

		<guid isPermaLink="false">http://shopnix.wordpress.com/?p=238</guid>
		<description><![CDATA[Problem
Nach Neuinstallation funktioniert die Anmeldung nicht, in application_top.php wird bei jedem Versuch eine neue Session angelegt.
Lösung
Die Funktion xtc_get_top_level_domain(SERVER) funktioniert nicht richtig, sie schneidet den Hostnamen ab.  Als schneller Hack kann die Variable $current_domain in Zeile 234 mit dem Domainnamen vorbelegt werden.
Bug in Version
xt:Commerce Version v3.0.4
Posted in Bugs, xtCommerce       [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shopnix.wordpress.com&blog=4223252&post=238&subd=shopnix&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h2>Problem</h2>
<p>Nach Neuinstallation funktioniert die Anmeldung nicht, in application_top.php wird bei jedem Versuch eine neue Session angelegt.</p>
<h2>Lösung</h2>
<p>Die Funktion <code>xtc_get_top_level_domain(SERVER) </code>funktioniert nicht richtig, sie schneidet den Hostnamen ab.  Als schneller Hack kann die Variable <code>$current_domain</code> in Zeile 234 mit dem Domainnamen vorbelegt werden.</p>
<h2>Bug in Version</h2>
<p>xt:Commerce Version v3.0.4</p>
Posted in Bugs, xtCommerce  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/shopnix.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shopnix.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/shopnix.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shopnix.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/shopnix.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shopnix.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/shopnix.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shopnix.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/shopnix.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shopnix.wordpress.com/238/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shopnix.wordpress.com&blog=4223252&post=238&subd=shopnix&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://shopnix.wordpress.com/2009/10/30/xt-commerce-anmeldung-funktioniert-nicht/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">spessart</media:title>
		</media:content>
	</item>
		<item>
		<title>Linkverfolgung</title>
		<link>http://shopnix.wordpress.com/2009/04/27/linkverfolgung/</link>
		<comments>http://shopnix.wordpress.com/2009/04/27/linkverfolgung/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 14:26:57 +0000</pubDate>
		<dc:creator>spessart</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Erweiterungen]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[osCommerce]]></category>
		<category><![CDATA[Linkverfolgung]]></category>
		<category><![CDATA[Search Engine Optimization]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Suchmaschinenoptimierung]]></category>

		<guid isPermaLink="false">http://shopnix.wordpress.com/?p=213</guid>
		<description><![CDATA[Ich möchte gerne wissen, wie gut externe Links auf meinen Shop bzw. auf einzelne Produkte angenommen werden. Die einfachste Möglichkeit, solche Links differenziert aufzunehmen ist die Vergabe einer ID, die an den Link angehängt wird. An zentraler Stelle (am Ende des Scripts includes/application_top.php) hänge ich eine Funktion an, die auf die GET-Variable &#8222;idseo&#8220; prüft und [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shopnix.wordpress.com&blog=4223252&post=213&subd=shopnix&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Ich möchte gerne wissen, wie gut externe Links auf meinen Shop bzw. auf einzelne Produkte angenommen werden. Die einfachste Möglichkeit, solche Links differenziert aufzunehmen ist die Vergabe einer ID, die an den Link angehängt wird. An zentraler Stelle (am Ende des Scripts <code>includes/application_top.php</code>) hänge ich eine Funktion an, die auf die GET-Variable &#8222;idseo&#8220; prüft und ggfls. einen Zähler hochsetzt. Dazu ist natürlich auch die neue Tabelle <code>sx_idseo</code> in der Datenbank nötig.</p>
<p>Der Link sieht dann beispielsweise so aus:</p>
<pre>http://vapr.shopnix.de/shop/product_info.php?products_id=26&amp;idseo=3</pre>
<p>So kann ich z.B. auch sehen, ob eine geschaltete Anzeige gut angenommen wird, ob mir ein Bannertausch den erwünschten Erfolg bringt und vieles mehr. Natürlich soll das im Backend abzufragen und zu verwalten sein.</p>
<p>Dazu kopiere ich zunächst die Dateien <code>languages.php</code> (Programm und Sprachkonstanten) auf <code>sx_idseo.php</code> und passe entsprechend an.</p>
<p>Dann kommt natürlich der <a title="Menueintrag erstellen" href="http://shopnix.wordpress.com/2009/03/27/admin-programm-ins-menu-einbinden/">Menüeintrag</a> hinzu, und das alles funktioniert nur, wenn ich auch die Tabellen und Dateinamen als Konstanten in <code>database_tables.php</code> und <code>filenames.php</code> hinterlegt habe.</p>
<p>Solche Techniken können unter der Rubrik SEO (Search Engine Optimization) oder Suchmaschinenoptimierung verbucht werden.</p>
Posted in Allgemein, Erweiterungen, osCommerce, Tools  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/shopnix.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shopnix.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/shopnix.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shopnix.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/shopnix.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shopnix.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/shopnix.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shopnix.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/shopnix.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shopnix.wordpress.com/213/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shopnix.wordpress.com&blog=4223252&post=213&subd=shopnix&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://shopnix.wordpress.com/2009/04/27/linkverfolgung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">spessart</media:title>
		</media:content>
	</item>
		<item>
		<title>Performance Optimierung</title>
		<link>http://shopnix.wordpress.com/2009/04/22/performance-optimierung/</link>
		<comments>http://shopnix.wordpress.com/2009/04/22/performance-optimierung/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 13:00:52 +0000</pubDate>
		<dc:creator>spessart</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[xtCommerce]]></category>
		<category><![CDATA[langsam]]></category>
		<category><![CDATA[Leistung]]></category>
		<category><![CDATA[Optimierung]]></category>

		<guid isPermaLink="false">http://shopnix.wordpress.com/?p=188</guid>
		<description><![CDATA[Alle Queries aus den Programmen zu ziehen, einzeln zu überprüfen und zu optimieren scheint eine Aufgabe für Sisyphos zu sein. Ganz so schlimm wird es allerdings nicht, wenn wir betrachten, daß der Bereich, der wirklich ins Gewicht fällt, doch relativ beschränkt ist. Gerade von den Suchmaschinen werden nur wenige Programme gezogen, wenn robots.txt richtig gepflegt [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shopnix.wordpress.com&blog=4223252&post=188&subd=shopnix&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Alle Queries aus den Programmen zu ziehen, einzeln zu überprüfen und zu optimieren scheint eine Aufgabe für Sisyphos zu sein. Ganz so schlimm wird es allerdings nicht, wenn wir betrachten, daß der Bereich, der wirklich ins Gewicht fällt, doch relativ beschränkt ist. Gerade von den Suchmaschinen werden nur wenige Programme gezogen, wenn robots.txt richtig gepflegt ist. Schwerpunkt der Forschung müssen also<br />
die Programme sein, die robots.txt erlaubt, der Schwerpunkt ist index.php und die includierten Module.</p>
<p>index.php enthält keine relevanten Queries.</p>
<p>Fündig werde ich in den Boxen, wobei mir eine Schwäche des Template-Systems auffällt. Eine Trennung von Layout und Inhalt, die Funktionalität im Layout versteckt? Nicht so ganz gelungen.</p>
<ul>
<li>templates/XXX/source/boxes/best_sellers.php</li>
<li>templates/XXX/source/boxes/whats_new.php</li>
<li>includes/modules/upcoming_products.php</li>
</ul>
<p>Die drei Scripts sind wesentliche Übeltäter. Die Bestsellers sind leicht zu fassen, den Term<br />
<code>current_category_id in (c.categories_id , c.parent_id)</code><br />
ersetze ich durch<br />
<code>(c.categories_id = '" . (int)$current_category_id . "' or c.parent_id = '" . (int)$current_category_id . "')</code><br />
In Zusammenhang mit den richtigen Indizes zur Tabelle categories ist dieses Problem erledigt.</p>
<p>Die beiden anderen Fälle sind nicht so leicht zu lösen. Hier wird wohl eine andere Lösung notwendig.</p>
<p>Fortsetzung folgt. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
Posted in Performance, xtCommerce  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/shopnix.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shopnix.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/shopnix.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shopnix.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/shopnix.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shopnix.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/shopnix.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shopnix.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/shopnix.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shopnix.wordpress.com/188/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shopnix.wordpress.com&blog=4223252&post=188&subd=shopnix&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://shopnix.wordpress.com/2009/04/22/performance-optimierung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">spessart</media:title>
		</media:content>
	</item>
		<item>
		<title>xt:Commerce &#8211; Performance</title>
		<link>http://shopnix.wordpress.com/2009/04/18/xtcommerce-performance/</link>
		<comments>http://shopnix.wordpress.com/2009/04/18/xtcommerce-performance/#comments</comments>
		<pubDate>Sat, 18 Apr 2009 19:14:53 +0000</pubDate>
		<dc:creator>spessart</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[xtCommerce]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Optimierung]]></category>

		<guid isPermaLink="false">http://shopnix.wordpress.com/?p=174</guid>
		<description><![CDATA[Nach Einbau eines Moduls für suchmaschinenfreundliche URL brach die Performance des Systems erneut zusammen. Es wird nichts über bleiben, als mit Hilfe der Logfiles die SQL-Queries zu analysieren und nach und nach zu optimieren.  MySQL hat, wie jede brauchbare Datenbank, einige Instrumente um ungünstig formulierte Queries aufzustöbern.  Im ersten Schritt schalte ich in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shopnix.wordpress.com&blog=4223252&post=174&subd=shopnix&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Nach Einbau eines Moduls für suchmaschinenfreundliche URL brach die Performance des Systems erneut zusammen. Es wird nichts über bleiben, als mit Hilfe der Logfiles die SQL-Queries zu analysieren und nach und nach zu optimieren.  MySQL hat, wie jede brauchbare Datenbank, einige Instrumente um ungünstig formulierte Queries aufzustöbern.  Im ersten Schritt schalte ich in der Konfiguration (Debian: /etc/mysql/my.cnf) das Protokoll für langsame Queries ein. Für mich sind die folgenden Parameter geeignet:</p>
<pre>log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 2
log-queries-not-using-indexes
</pre>
<p>Ich protokolliere also alle Queries, deren Ausführung länger als 2 Sekunden dauert, und solche die keine Indizes verwenden, in einem eigenen Log-File. Ein Beispiel eines solchen Queries:</p>
<pre>select distinct p.products_id, p.products_price, p.products_tax_class_id,
  p.products_image, pd.products_name
from  products p, products_description pd, products_to_categories p2c, categories c
where p.products_status = '1' and c.categories_status = '1'
  and p.products_ordered &gt; 0
  and p.products_id = pd.products_id
  and pd.language_id = '2'
  and p.products_id = p2c.products_id
  and p2c.categories_id = c.categories_id
  and '424' in (c.categories_id, c.parent_id)
order by p.products_ordered desc limit 10;
</pre>
<p>Im MySQL-Client führe ich dieses Query mit dem vorgestellten Schlüsselwort <strong>EXPLAIN</strong> aus und erhalte als Ergebnis unter anderem die Zahl der sequentiell abgearbeiteten Datensätze. In meinem Beispiel sind das 1786 Datensätze. Davon werden 1780 Sätze verworfen, denn mein Query liefert unterm Strich nur 6 Datensätze zurück. Ändere ich die vorletzte Zeile meines Queries in:</p>
<pre>  and (c.categories_id = '424' or c.parent_id = '424')
</pre>
<p>kann der Optimizer auf Primärschlüssel zurückgreifen und das Query wird performant abgearbeitet. Damit ist zwar die technische Lösung gefunden, aber leider noch lange nicht implementiert. Diese Methode zeigt mir nämlich nicht, wo das Query in der Software vorkommt. Da die Queries in der Shop-Software dynamisch zusammengebaut werden, kann ich auch nicht ohne weiteres nach einer Zeichenkette suchen. Es ist eben wie so oft: Vor den Preis haben die Götter den Schweiß gesetzt. </p>
<p>Dieses spezielle Query fand ich in <code>templates/XXX/source/boxes/best_sellers.php</code>, und stoße damit auf eine erhebliche Schwäche des vielgerühmten Templatesystems. Offensichtlich gelang es nicht, Code und Design zu trennen, denn das Query ist im &#8222;Design&#8220; enthalten.</p>
Posted in Performance, xtCommerce  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/shopnix.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shopnix.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/shopnix.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shopnix.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/shopnix.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shopnix.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/shopnix.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shopnix.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/shopnix.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shopnix.wordpress.com/174/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shopnix.wordpress.com&blog=4223252&post=174&subd=shopnix&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://shopnix.wordpress.com/2009/04/18/xtcommerce-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">spessart</media:title>
		</media:content>
	</item>
		<item>
		<title>xt:Commerce &#8211; MySQL 5.0  &#8211; Performance</title>
		<link>http://shopnix.wordpress.com/2009/03/30/xtcommerce-mysql-50-performance/</link>
		<comments>http://shopnix.wordpress.com/2009/03/30/xtcommerce-mysql-50-performance/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 14:15:38 +0000</pubDate>
		<dc:creator>spessart</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[osCommerce]]></category>
		<category><![CDATA[xtCommerce]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://shopnix.wordpress.com/?p=162</guid>
		<description><![CDATA[Die Performance von xt:Commerce ist generell schlechter als die von osCommerce. Das ist zum einen zwangsläufig so, weil mehr Features eben auch mehr Aufwand bedeuten. Ein Teil der Probleme liegt allerdings auch in der kleinen Installationsbasis, die natürlich zwangläufig zu geringerem Feedback führt.
Einen Teil der Probleme kann man durch Tuning der Datenbank reduzieren.  Sehr [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shopnix.wordpress.com&blog=4223252&post=162&subd=shopnix&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Die Performance von xt:Commerce ist generell schlechter als die von osCommerce. Das ist zum einen zwangsläufig so, weil mehr Features eben auch mehr Aufwand bedeuten. Ein Teil der Probleme liegt allerdings auch in der kleinen Installationsbasis, die natürlich zwangläufig zu geringerem Feedback führt.</p>
<p>Einen Teil der Probleme kann man durch Tuning der Datenbank reduzieren.  Sehr hilfreich ist dazu das Script <code>tuning-primer.sh</code> das z.B. mit <code>wget http://www.day32.com/MySQL/tuning-primer.sh</code> erhältlich ist. Unter Debian ist das Paket bc Voraussetzung für das Script.</p>
<p>Entsprechend der Empfehlungen des Scripts habe ich die Parameter <code>table_cache</code>, <code>read_buffer</code> und <code>join_buffer_size</code> angehoben.</p>
<p>Anschließend habe ich eine Meldung im Supportforum abgesetzt und erhielt postwendend Antwort:</p>
<pre>ALTER TABLE `shipping_status` ADD INDEX ( `language_id` );
ALTER TABLE `products` ADD INDEX ( `products_startpage` );
ALTER TABLE `products_to_categories` ADD INDEX ( `categories_id` );
ALTER TABLE `orders_products` ADD INDEX ( `orders_id` , `products_id` );
ALTER TABLE `zones_to_geo_zones` ADD INDEX ( `geo_zone_id` );
ALTER TABLE `tax_rates` ADD INDEX ( `tax_zone_id` );
ALTER TABLE `products` ADD INDEX ( `manufacturers_id` );</pre>
<p>Damit reduziert sich das Problem (zumindest auf den ersten Blick) ganz erheblich.</p>
<p>Auf Grund meiner Auswertungen werde ich wohl noch einige Schlüssel hinzufügen. Dabei ist zu beachten, daß diese Indizes natürlich auch von der installierten Version und eventuellen Zusatzmodulen abhängen.</p>
<pre>alter table whos_online add index (session_id);
alter table whos_online add index (time_last_click);
alter specials add index (expires_date);
alter table products add index (session_id);
alter table personal_offers_by_customers_status_1 add index (products_id);
alter table products_description add index (language_id);
alter table customers add index (customers_status);
alter table products add index (products_ordered);
alter table specials add index (products_id);
alter table orders add index (orders_status);
alter table customers add index (customers_email_address);
alter table search_keywords add index (search_text);
alter table products_xsell add index (products_id);
alter table products_xsell add index (products_xsell_grp_name_id, products_id);
alter table content_manager add index (language_id, content_group);
</pre>
<p>Um Notwendigkeit und Wirkung eines Schlüssels zu testen, betrachte ich zunächst die Queries, die in mysql-slow.log protokolliert werden und kopiere sie mit dem vorangestellten Schlüsselwort &#8222;explain&#8220; in den MySQL-Client zur Ausführung. Dann lege ich den oder die Schlüssel an, von denen ich mir eine Performancesteigerung erwarte. Anschließend lasse ich mir wieder mit explain die Auswirkungen anzeigen. Wenn ein Schlüssel keinen Vorteil bringt, lösche ich ihn sofort wieder, denn auch ein Index zuviel ist nicht gut für die Gesamtleistung des Systems.</p>
Posted in osCommerce, Performance, xtCommerce  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/shopnix.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shopnix.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/shopnix.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shopnix.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/shopnix.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shopnix.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/shopnix.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shopnix.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/shopnix.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shopnix.wordpress.com/162/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shopnix.wordpress.com&blog=4223252&post=162&subd=shopnix&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://shopnix.wordpress.com/2009/03/30/xtcommerce-mysql-50-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">spessart</media:title>
		</media:content>
	</item>
		<item>
		<title>Admin: Programm ins Menu einbinden</title>
		<link>http://shopnix.wordpress.com/2009/03/27/admin-programm-ins-menu-einbinden/</link>
		<comments>http://shopnix.wordpress.com/2009/03/27/admin-programm-ins-menu-einbinden/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 15:52:29 +0000</pubDate>
		<dc:creator>spessart</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://shopnix.wordpress.com/?p=155</guid>
		<description><![CDATA[Die Menus liegen, nach Gruppen getrennt, im Verzeichnis admin/includes/boxes. Die sprachabhängigen Konstanten dazu sind z.B. in languages/german.php definiert. Eingehängt werden die Menüs in includes/column_left.php
Das Programm selbst liegt in admin/DATEI.php, die Sprachkonstanten in  languages/german/DATEI.php. 
Posted in Allgemein       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shopnix.wordpress.com&blog=4223252&post=155&subd=shopnix&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Die Menus liegen, nach Gruppen getrennt, im Verzeichnis <code>admin/includes/boxes</code>. Die sprachabhängigen Konstanten dazu sind z.B. in <code>languages/german.php</code> definiert. Eingehängt werden die Menüs in <code>includes/column_left.php</code></p>
<p>Das Programm selbst liegt in <code>admin/DATEI.php</code>, die Sprachkonstanten in  <code>languages/german/DATEI.php</code>. </p>
Posted in Allgemein  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/shopnix.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shopnix.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/shopnix.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shopnix.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/shopnix.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shopnix.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/shopnix.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shopnix.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/shopnix.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shopnix.wordpress.com/155/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shopnix.wordpress.com&blog=4223252&post=155&subd=shopnix&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://shopnix.wordpress.com/2009/03/27/admin-programm-ins-menu-einbinden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">spessart</media:title>
		</media:content>
	</item>
		<item>
		<title>Zeichensatz, von ISO-8859-x zu UTF-8</title>
		<link>http://shopnix.wordpress.com/2009/03/26/zeichensatz-von-iso-8859-x-zu-utf-8/</link>
		<comments>http://shopnix.wordpress.com/2009/03/26/zeichensatz-von-iso-8859-x-zu-utf-8/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 21:49:44 +0000</pubDate>
		<dc:creator>spessart</dc:creator>
				<category><![CDATA[Sprachen]]></category>
		<category><![CDATA[osCommerce]]></category>
		<category><![CDATA[ISO-8859-1]]></category>
		<category><![CDATA[recode]]></category>
		<category><![CDATA[umkodieren]]></category>
		<category><![CDATA[UTF-8]]></category>
		<category><![CDATA[Zeichensatz]]></category>

		<guid isPermaLink="false">http://shopnix.wordpress.com/?p=147</guid>
		<description><![CDATA[Es gibt eine Reihe guter Gründe, auf den Internationalen Zeichensatz UTF-8 umzustellen.

Alle Sprachen können im gleichen Zeichensatz behandelt werden
Betriebssysteme stellen um
XHTML nennt UTF-8 als Standard
Browser schalten automatisch auf UTF-8 wenn nicht explizit anderes gefordert wird

Im osCommerce Shop stellt man den Zeichensatz in der ersten sprachabhängigen Datei pro Sprache ein, z.B. in includes/languages/german.php, jeweils ein Mal [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shopnix.wordpress.com&blog=4223252&post=147&subd=shopnix&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Es gibt eine Reihe guter Gründe, auf den Internationalen Zeichensatz UTF-8 umzustellen.</p>
<ul>
<li>Alle Sprachen können im gleichen Zeichensatz behandelt werden</li>
<li>Betriebssysteme stellen um</li>
<li>XHTML nennt UTF-8 als Standard</li>
<li>Browser schalten automatisch auf UTF-8 wenn nicht explizit anderes gefordert wird</li>
</ul>
<p>Im osCommerce Shop stellt man den Zeichensatz in der ersten sprachabhängigen Datei pro Sprache ein, z.B. in includes/languages/german.php, jeweils ein Mal pro Sprache, für Shop und Admin getrennt.</p>
<p>Standardmäßig wird Deutsch in ISO-8859-1 ausgeliefert, dem Zeichensatz für Westeuropa. Der Wert ist als Konstante definiert [define('CHARSET', 'iso-8859-1');] und taucht im Quelltext der ausgelieferten HTML-Seite als Meta-Tag wieder auf.</p>
<pre>&lt;<span class="start-tag">meta</span><span class="attribute-name"> http-equiv</span>=<span class="attribute-value">"Content-Type" </span><span class="attribute-name">content</span>=<span class="attribute-value">"text/html; charset=iso-8859-1"</span>&gt;</pre>
<p>Will ich nun umstellen, genügt es natürlich nicht, nur diese Einstellung zu ändern, denn die soll nur den Browser darüber informieren, wie die Seite zu interpretieren ist. Ich muss außerdem die sprachabhängigen Dateien umkodieren. Unter Linux geht das sehr schön mit dem Tool &#8222;recode&#8220;.</p>
<pre>recode ISO-8859-1..UTF-8 german.php</pre>
<p>Der gegebene Anlaß für diese Aktion ist die Anforderung, einen polnischen Shop aufzubauen. Die passende Sprach-Contribution steht im Zeichensatz für Mitteleuropa, ISO-8859-2 zur Verfügung, und ich codiere sie schon vor der Inbetriebnahme um.</p>
<p>Für die Datenübernahme bekomme ich eine Exceltabelle, die ich mit OpenOffice öffne und als ASCII-Datei gleich in UTF-8 abspeichere.</p>
Posted in osCommerce, Sprachen  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/shopnix.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shopnix.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/shopnix.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shopnix.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/shopnix.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shopnix.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/shopnix.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shopnix.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/shopnix.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shopnix.wordpress.com/147/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shopnix.wordpress.com&blog=4223252&post=147&subd=shopnix&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://shopnix.wordpress.com/2009/03/26/zeichensatz-von-iso-8859-x-zu-utf-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">spessart</media:title>
		</media:content>
	</item>
		<item>
		<title>Zahlungsbedingungen und ähnliche Texte</title>
		<link>http://shopnix.wordpress.com/2008/09/16/zahlungsbedingungen-und-ahnliche-texte/</link>
		<comments>http://shopnix.wordpress.com/2008/09/16/zahlungsbedingungen-und-ahnliche-texte/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 10:01:02 +0000</pubDate>
		<dc:creator>spessart</dc:creator>
				<category><![CDATA[Erweiterungen]]></category>
		<category><![CDATA[osCommerce]]></category>
		<category><![CDATA[rich text editor]]></category>
		<category><![CDATA[rtf editor]]></category>
		<category><![CDATA[Texte]]></category>
		<category><![CDATA[tinyMCE]]></category>
		<category><![CDATA[Zahlungsbedingungen]]></category>

		<guid isPermaLink="false">http://shopnix.wordpress.com/?p=72</guid>
		<description><![CDATA[Ein permanentes Ärgernis ist die Bearbeitung der Zahlungsbedingungen und ähnlicher Texte. Deshalb würde ich gern einen kleinen Texteditor für diese Zwecke zur Verfügung stellen. Prinzipiell soll das so funktionieren wie z.B. dieser Blog.
In einer eigenen Infobox sollen alle vorhandenen (und veröffentlichten) Texte gelistet werden. Erfasst und bearbeitet werden die Text im Admin mit dem neuen [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shopnix.wordpress.com&blog=4223252&post=72&subd=shopnix&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Ein permanentes Ärgernis ist die Bearbeitung der Zahlungsbedingungen und ähnlicher Texte. Deshalb würde ich gern einen kleinen Texteditor für diese Zwecke zur Verfügung stellen. Prinzipiell soll das so funktionieren wie z.B. dieser Blog.</p>
<p>In einer eigenen Infobox sollen alle vorhandenen (und veröffentlichten) Texte gelistet werden. Erfasst und bearbeitet werden die Text im Admin mit dem neuen Programm admin/text.php, dessen Rohgerüst ich als Kopie aus admin/orders_status.php übernehme.</p>
<p>Zur Aufnahme eines neuen Programms sind folgende Schritte notwenig:</p>
<ul>
<li>Erstellen des Programms als admin/text.php</li>
<li>Übersetzung(en) erstellen als admin/includes/languages/SPRACHE/text.php</li>
<li>Eintrag in admin/includes/filenames.php</li>
<li>Menü in admin/includes/boxes/localization.php</li>
<li>Die Übersetzung für den Menüeintrag in admin/languages/SPRACHE.php</li>
<li>Erstellen der neuen Tabelle sx_text in der Datenbank</li>
<li>Eintrag in admin/includes/database_tables.php</li>
</ul>
<p>Jetzt gehts los. Die Tabelle sieht so aus:</p>
<pre>CREATE TABLE sx_text (
  text_id smallint,
  language_id smallint,
  text_sort smallint,
  text_title char(35),
  text_content text,
  primary key (text_id, language_id)
)</pre>
<p>Der Text bekommt also eine laufende Nummer verknüpft mit der Sprache zur eindeutigen Zuordnung, eine Sortierfolge und einen Titel für den Link der zugehörigen Infobox.</p>
<p>Im Shop gibt es nun noch eine neue Infobox, die als Linktext den Titel des Texts verwendet, der Link verweist auf eine neue Routine, die Inhalt des jeweiligen Texts anzeigt. Die Mehrsprachigkeit ist nach dem typischen Schema in osCommerce gewährleistet, d.h. gemäß der Variable $languages_id wird der Text in der passenden Sprache angezeigt.</p>
<p>Außerdem ist es sinnvoll, einige Zeilen in admin/language.php zu ergänzen. Damit werden neue Texte pro Sprache in der Datenbank angelegt, wenn eine neue Sprache angelegt wird. </p>
<p>Als Rich Text Editor (rtf editor) habe ich tinyMCE gewählt. Der Editor ist klein, schnell und kann alles, was ich brauche.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/shopnix.wordpress.com/72/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/shopnix.wordpress.com/72/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/shopnix.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shopnix.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/shopnix.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shopnix.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/shopnix.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shopnix.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/shopnix.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shopnix.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/shopnix.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shopnix.wordpress.com/72/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shopnix.wordpress.com&blog=4223252&post=72&subd=shopnix&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://shopnix.wordpress.com/2008/09/16/zahlungsbedingungen-und-ahnliche-texte/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">spessart</media:title>
		</media:content>
	</item>
		<item>
		<title>xt:Commerce vs osCommerce</title>
		<link>http://shopnix.wordpress.com/2008/09/16/xtcommerce/</link>
		<comments>http://shopnix.wordpress.com/2008/09/16/xtcommerce/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 09:58:21 +0000</pubDate>
		<dc:creator>spessart</dc:creator>
				<category><![CDATA[osCommerce]]></category>
		<category><![CDATA[xtCommerce]]></category>
		<category><![CDATA[Branch]]></category>

		<guid isPermaLink="false">http://shopnix.wordpress.com/?p=103</guid>
		<description><![CDATA[Das Shopsystem xt:Commerce ist ein Abkömmling oder Branch von osCommerce. Zwar widerspricht das System meiner Philosophie eines möglichst schlanken Systems, dafür sind einige nette Gimmicks enthalten, die sich meine Kunden wünschen.
Erste Erfahrungen zeigen, daß der Umstieg (für den Programmierer) nicht ganz einfach ist, und mit einiger Wahrscheinlichkeit für keinen Beteiligten allzu großen Vorteile bringt.
Das beginnt [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shopnix.wordpress.com&blog=4223252&post=103&subd=shopnix&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Das Shopsystem xt:Commerce ist ein Abkömmling oder Branch von osCommerce. Zwar widerspricht das System meiner Philosophie eines möglichst schlanken Systems, dafür sind einige nette Gimmicks enthalten, die sich meine Kunden wünschen.</p>
<p>Erste Erfahrungen zeigen, daß der Umstieg (für den Programmierer) nicht ganz einfach ist, und mit einiger Wahrscheinlichkeit für keinen Beteiligten allzu großen Vorteile bringt.</p>
<p>Das beginnt mit der in xt integrierten Template-Engine, die Applikation und Layout (oder Design) voneinander trennen soll. Das ist mit einigem Aufwand verbunden, aber nicht vollständig gelungen.</p>
<p>Weiteres in Kürze.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/shopnix.wordpress.com/103/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/shopnix.wordpress.com/103/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/shopnix.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shopnix.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/shopnix.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shopnix.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/shopnix.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shopnix.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/shopnix.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shopnix.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/shopnix.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shopnix.wordpress.com/103/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shopnix.wordpress.com&blog=4223252&post=103&subd=shopnix&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://shopnix.wordpress.com/2008/09/16/xtcommerce/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">spessart</media:title>
		</media:content>
	</item>
	</channel>
</rss>