<?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/"
	>

<channel>
	<title>symmetrics blog</title>
	<atom:link href="http://blog.symmetrics.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.symmetrics.de</link>
	<description>Ein weiteres tolles WordPress-Blog</description>
	<lastBuildDate>Fri, 12 Apr 2013 13:28:31 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4</generator>
		<item>
		<title>Working with X.commerce</title>
		<link>http://blog.symmetrics.de/2013/04/working-with-x-commerce/</link>
		<comments>http://blog.symmetrics.de/2013/04/working-with-x-commerce/#comments</comments>
		<pubDate>Fri, 12 Apr 2013 13:22:50 +0000</pubDate>
		<dc:creator>symmetrics_eg</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[symmetrics IT]]></category>
		<category><![CDATA[symmetrics Magento]]></category>
		<category><![CDATA[X.commerce]]></category>

		<guid isPermaLink="false">http://blog.symmetrics.de/?p=254</guid>
		<description><![CDATA[<p>In this series of blog posts, we will build a sample Magento module and configure it to communicate with another Magento instance through X.Commerce Fabric. As you may already know, there is an X.Commerce Integration Pack available on both Github and Magento Connect, and we will use it in our implementation. This post is dedicated to setting up the communication between local Magento instance and the X.Commerce Fabric.</p>
<p>First of all, let’s check prerequisites: besides general Magento requirements, there is one more thing you should be aware of. X.Commerce Fabric transfers data in AVRO format, so client extension uses php library provided by Apache to encode and decode messages. However, it performs 64-bit operations, so if you get errors from avro library during this tutorial, you may need to install GNU Multiple Precision (GMP) Arithmetic Library for PHP to get it working. You may obtain the latest version of library from <a href="http://blog.symmetrics.de/2013/04/working-with-x-commerce/">... mehr zu Working with X.commerce</a>]]></description>
			<content:encoded><![CDATA[<p>In this series of blog posts, we will build a sample Magento module and configure it to communicate with another Magento instance through <strong>X.Commerce</strong> Fabric. As you may already know, there is an X.Commerce Integration Pack available on both Github and Magento Connect, and we will use it in our implementation. This post is dedicated to setting up the communication between local Magento instance and the X.Commerce Fabric.</p>
<p>First of all, let’s check prerequisites: besides general Magento requirements, there is one more thing you should be aware of. X.Commerce Fabric transfers data in AVRO format, so client extension uses php library provided by Apache to encode and decode messages. However, it performs 64-bit operations, so if you get errors from avro library during this tutorial, you may need to install GNU Multiple Precision (GMP) Arithmetic Library for PHP to get it working. You may obtain the latest version of library from <a href="http://gmplib.org" title="http://gmplib.org">http://gmplib.org</a>. Please note that you have to compile PHP with GMP support by using the <strong>&#8211;with-gmp option</strong>. For Windows, you have to use the VC9 build of PHP 5.3. Make sure that <strong>php_gmp</strong> extension is enabled in <strong>php.ini</strong>.</p>
<p>And check if your webserver supports SSL. If not, take care of generating the self-signed certificate and providing necessary configuration. You should be able to access secure urls in your magento installation.</p>
<p>Let’s start with clean Magento installation. Obtain the latest available version of X.Commerce Integration Pack from Github <a href="https://github.com/xcommerce/Integration-Pack-for-Magento" title="https://github.com/xcommerce/Integration-Pack-for-Magento">https://github.com/xcommerce/Integration-Pack-for-Magento</a> (either clone the repo or download as zip package) and put the files into the root of your Magento directory. Log into backend and clear the cache if needed &#8212; as a result, there would be a ‘X.commerce authorization file isn&#8217;t loaded’ message in a notice bar.</p>
<p>To get use of X.Commerce advantages, you have to register at X.Commerce Developer’s Portal <a href="https://devportal.x.com/" title="https://devportal.x.com/">https://devportal.x.com/</a>. For some weird reason, you have to use PayPal account to log in (surely you have already got one, though I doubt that you would be keen to share the password with another developer just to use the same test environment. Possibly it may be more convenient to register a new account that will be used solely for the development needs).</p>
<p>After logging in, proceed to <strong>Manage Sandbox</strong> section and navigate to <strong>Register Capability</strong> dialog <a href="https://devportal.x.com/xfabric/register_capabilities" title="https://devportal.x.com/xfabric/register_capabilities">https://devportal.x.com/xfabric/register_capabilities</a></p>
<p>Fill in company and capability names (you don’t have to fill Endpoint URL if you would like to run the magento instance from local environment), then click on <strong>Register Capability</strong> button.</p>
<p>Navigate to <strong>Manage Test Merchant</strong>  section, then click on <strong>Create Test Merchants</strong> link.</p>
<p>Fill in required fields, and click the <strong>Add Merchant</strong> button.</p>
<p>Open <strong>My Capabilities</strong> section, select your capability and click the <strong>Onboard Merchant</strong> button. Select your test merchant from drop-down list and click the <strong>Test On-boarding</strong> button, then <strong>Authorize Capability</strong> and, finally, <strong>Finish</strong> button.</p>
<p>For some reason, Fabric Sandbox environment does not provide you with extension authorization file generator (this option is available for live environment only). So, in order to use the integration pack functionality, we have to obtain the auth file and then modify it with sandbox environment values. In your magento backend, navigate to <strong>System/Configuration/Fabric</strong> section and expand <strong>Fabric Registration</strong> tab. By clicking the <strong>Register</strong> button, you will be redirected to devportal. Type in anything for <strong>online store name</strong> field and click <strong>Generate Authorization File</strong> button. After that, the auth file will be downloaded. Open it and modify data according to the instructions (you will need to open the capability details page in Fabric Sandbox to get correct values):</p>
<p><strong>capabilityId</strong>:  Use numbers at the end of URL for <strong>capabilityId</strong> (for example, &#8217;120702132643&#8242; if url is https://devportal.x.com/xfabric/view_capability/PPX2VSLE7NXR4_120702132643)</p>
<p><strong>capabilityName</strong>:  Use string displayed next to <strong>Capability Name</strong>.</p>
<p><strong>destinationId</strong>:  Use string displayed next to <strong>Capability ID</strong>.</p>
<p>Authorisation params for <strong>&#8220;type&#8221;:&#8221;XFABRIC&#8221; </strong></p>
<p><strong>&#8220;bearerToken&#8221;</strong> &#8211; Use string displayed next to <strong>Fabric Credentials</strong> prepended with <strong>Bearer </strong> (You may need to substitute this value for local testing with token received from XBridge).</p>
<p>Authorisation params for <strong>&#8220;type&#8221;:&#8221;SELF&#8221;</strong></p>
<p><strong> &#8221;bearerToken&#8221;</strong> &#8211; Use string displayed next to <strong>Capability Credentials</strong>.<br />
<strong> &#8221;tenantName&#8221;</strong> &#8211; Use string displayed next to <strong>Capability Name</strong> prepended with <strong>SELF-</strong>. <br />
<strong>&#8220;tenantId&#8221;</strong> &#8211; Use string displayed next to <strong>Capability ID</strong>.<br />
<strong> &#8221;tenantPseudonym&#8221;</strong> &#8211; seems like not affecting anything for now, use <strong>Capability Name</strong> for example.</p>
<p>Authorisation params for <strong>&#8220;type&#8221;:&#8221;TENANT&#8221;</strong></p>
<p><strong>bearerToken</strong> &#8211; Use string displayed next to <strong>Token:</strong> in Tenants List prepended with <strong>Bearer</strong>.<br />
<strong> tenantName</strong> &#8211; Use string displayed next to <strong>Tenant Name</strong> in Tenants List. <br />
<strong>tenantId</strong> &#8211; Use string displayed next to <strong>Tenant ID</strong> in Tenants List. <br />
<strong>tenantPseudonym</strong> &#8211; seems like not affecting anything for now, use <strong>Tenant Name</strong> for example.<br />
<strong>fabricUrl</strong>:  Production and sanbox urls are listed on <strong>Fabric Endpoints</strong> section of Fabric Sandbox. Use &#8220;https://api.sandbox.x.com/fabric&#8221; for sandbox (please note that you should use escaping character before slashes).</p>
<p>After applying changes, save the auth file. Navigate to <strong>System/Configuration/Fabric</strong> section in magento backend and expand the <strong>Fabric Authorization</strong> tab. Upload the modified auth file by selecting it from <strong>choose file</strong> dialog and then clicking on <strong>Save Config</strong> button. You will be able to see your capability name and fabric URL on the same page after reload. There is also the <strong>Test connection</strong> button, but it won’t connect to Fabric yet if you’re running magento on the local environment.</p>
<p>To effectively communicate with X.Commerce Fabric, the server running our Magento installation should be able to accept incoming messages. To solve this issue for local environment, we will use XBridge tool, which performs periodical checks for outgoing messages on the Fabric server, and re-routes them to the local endpoint.</p>
<p>To get XBridge, download X.Commerce developer package from <a href="https://www.x.com/sites/default/files/x_commerce_devpack.zip" title="https://www.x.com/sites/default/files/x_commerce_devpack.zip">https://www.x.com/sites/default/files/x_commerce_devpack.zip</a></p>
<p>Unpack the archive, then navigate to XBridge directory and edit xbridgeclient.settings file. Remove demo tokens and capability urls and add your own: for token use string displayed next to <strong>Capability Credentials</strong> without <strong>Bearer</strong> word, for capability url provide path to xfabric endpoint controller on your local magento instance, for example: </p>
<pre>
Token2=MLDhwZOpkKLvvwaxK+Iiod6hgsjXdG4+xJzBIAjs0vJur/wQ5+45ghjksa
TokenType=Bearer
TokenCapabilityUrl2=https\://magento.local/xfabric/endpoint/
</pre>
<p>Save the file and run XBridge client from command line:</p>
<pre>java -jar xbridge-client-0.0.12-SNAPSHOT.jar</pre>
<p>After that, you can try to test the connection from magento backend. In XBridge console you should be able to see next log message:</p>
<pre>
INFO: Local capability at https://magento.local/xfabric/endpoint/message/ping returned response code: 500
</pre>
<p>That means that XBridge client is not authorized to send the redirected message from XFabric to magento. Let’s fix this: reopen the xbridgeclient.settings file and check the <strong>ClientAuthorizationBearerToken</strong> parameter &#8211; this is the token that is being used by XBridge client app. Copy it, reopen capability auth file and substitute the bearerToken value in XFABRIC section with this one. Save auth file, and re-load it from magento backend.</p>
<p>Now we’re ready to test the communication between our local Magento installation and X.Commerce Fabric. Just navigate to <strong>System/Configuration/X.Commerce/Fabric</strong> section in admin backend, and hit the <strong>Test Connection</strong> button. Let’s check what happens next:</p>
<p>The XBridge console should now display successful responses:</p>
<pre>
INFO: Local capability at https://magento.local/xfabric/endpoint/message/ping returned response code: 200
INFO: Local capability at https://magento.local/xfabric/endpoint/message/pong returned response code: 200
</pre>
<p>Back to Magento backend, you’ll see the connection success message. You may also navigate to <strong>System/X.Commerce Fabric/Debug</strong> section to check the logged requests and responses in detailed form.</p>
<p>In our next publications we will review the functionality of Xcom_Chronicle module bundled within X.Commerce Integration Pack and will create our own module which would allow us to synchronize the products data between two magento instances.</p>
<p><em>Author: Eugene Varava</em></p>
<h3>Share and Enjoy</h3>

<!-- Start WP Socializer - Social Buttons - Output -->
 &bull; <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.symmetrics.de%2F2013%2F04%2Fworking-with-x-commerce%2F&amp;t=Working+with+X.commerce" title="Share this on Facebook" target="_blank" rel="nofollow">Facebook</a> &bull; <a href="http://twitter.com/home?status=Working+with+X.commerce%20-%20http%3A%2F%2Fblog.symmetrics.de%3Fp%3D254%20" title="Tweet this !" target="_blank" rel="nofollow">Twitter</a> &bull; <a href="http://delicious.com/post?url=http%3A%2F%2Fblog.symmetrics.de%2F2013%2F04%2Fworking-with-x-commerce%2F&amp;title=Working+with+X.commerce&amp;notes=In+this+series+of+blog+posts%2C+we+will+build+a+sample+Magento+module+and+configure+it+to+communicate+with+another+Magento+instance+through+X.Commerce+Fabric.+As+you+may+already+know%2C+there+is+an+X.Commerce+Integration+Pack+available+on+both+Github+and" title="Post this on Delicious" target="_blank" rel="nofollow">Delicious</a> &bull; <a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.symmetrics.de%2F2013%2F04%2Fworking-with-x-commerce%2F&amp;title=Working+with+X.commerce&amp;source=symmetrics+blog+-+Ein+weiteres+tolles+WordPress-Blog&amp;summary=In+this+series+of+blog+posts%2C+we+will+build+a+sample+Magento+module+and+configure+it+to+communicate+with+another+Magento+instance+through+X.Commerce+Fabric.+As+you+may+already+know%2C+there+is+an+X.Commerce+Integration+Pack+available+on+both+Github+and" title="Share this on LinkedIn" target="_blank" rel="nofollow">LinkedIn</a> &bull; <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.symmetrics.de%2F2013%2F04%2Fworking-with-x-commerce%2F&amp;title=Working+with+X.commerce" title="Submit this to StumbleUpon" target="_blank" rel="nofollow">StumbleUpon</a> &bull; <a href="http://blog.symmetrics.de/2013/04/working-with-x-commerce/" onclick="addBookmark(event);" title="Working with X.commerce" target="_blank" rel="nofollow">Add to favorites</a> &bull; <a href="mailto:?subject=Working with X.commerce&amp;body=In this series of blog posts, we will build a sample Magento module and configure it to communicate with another Magento instance through X.Commerce Fabric. As you may already know, there is an X.Commerce Integration Pack available on both Github and - http://blog.symmetrics.de/2013/04/working-with-x-commerce/" title="Email this" target="_blank" rel="nofollow">Email</a> &bull; <a href="http://blog.symmetrics.de/feed/rss/" title="Subscribe to RSS" target="_blank" rel="nofollow">RSS</a>
<!-- End WP Socializer - Social Buttons - Output -->
]]></content:encoded>
			<wfw:commentRss>http://blog.symmetrics.de/2013/04/working-with-x-commerce/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Application Monitoring für Magento</title>
		<link>http://blog.symmetrics.de/2012/11/application-monitoring-fur-magento/</link>
		<comments>http://blog.symmetrics.de/2012/11/application-monitoring-fur-magento/#comments</comments>
		<pubDate>Wed, 07 Nov 2012 16:02:02 +0000</pubDate>
		<dc:creator>symmetrics_eg</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[symmetrics IT]]></category>
		<category><![CDATA[symmetrics Magento]]></category>

		<guid isPermaLink="false">http://blog.symmetrics.de/?p=216</guid>
		<description><![CDATA[<p>Ist es sinnvoll seine Systeme zu überwachen? Ja, durch die Überwachung werden Fehler verschiedenster Art schneller erkannt und durch das Sammeln von Performance Daten können Informationen gewonnen werden, ob die Kapazitäten der bestehenden Systeme für aktuelle Anforderungen ausreichen oder skaliert werden müssen. Gerade z. B. bei neuen Werbeaktionen ist es wichtig, die Systeme und die Anforderungen vor der Aktion genau überprüfen zu können, um sicher zu stellen das es während der Werbeaktion zu keinen Performance Engpässen kommt.</p>
<p>Zusätzlich zu den üblichen Überwachungen (wie z.B. Load, RAM Verbrauch oder der Festplatten Auslastung), sollten auch alle laufenden Applikationen überwacht werden. Im Fall Magento oder generell eCommerce ist es essentiell wichtig, dass Dienste, wie z.B. Mail Versand aus dem Shop, funktionieren. Außerdem müssen auch in Magento alle Indexe aktuell sein und Caches sowie viele andere Funktionen (wie z.B. auch evtl. erstellten Reports) überwacht werden.</p>
<p>Dies sind wichtige Fragen welche, bei möglichen Problemen, vorab helfen können <a href="http://blog.symmetrics.de/2012/11/application-monitoring-fur-magento/">... mehr zu Application Monitoring für Magento</a>]]></description>
			<content:encoded><![CDATA[<p>Ist es sinnvoll seine Systeme zu überwachen? Ja, durch die Überwachung werden Fehler verschiedenster Art schneller erkannt und durch das Sammeln von Performance Daten können Informationen gewonnen werden, ob die Kapazitäten der bestehenden Systeme für aktuelle Anforderungen ausreichen oder skaliert werden müssen. Gerade z. B. bei neuen Werbeaktionen ist es wichtig, die Systeme und die Anforderungen vor der Aktion genau überprüfen zu können, um sicher zu stellen das es während der Werbeaktion zu keinen Performance Engpässen kommt.</p>
<p>Zusätzlich zu den üblichen Überwachungen (wie z.B. Load, RAM Verbrauch oder der Festplatten Auslastung), sollten auch alle laufenden Applikationen überwacht werden. Im Fall Magento oder generell eCommerce ist es essentiell wichtig, dass Dienste, wie z.B. Mail Versand aus dem Shop, funktionieren. Außerdem müssen auch in Magento alle Indexe aktuell sein und Caches sowie viele andere Funktionen (wie z.B. auch evtl. erstellten Reports) überwacht werden.</p>
<p>Dies sind wichtige Fragen welche, bei möglichen Problemen, vorab helfen können einen Fehler gezielt und zeitnah zu finden und zu beheben. Außerdem können so die Zeiten der evtl. nicht Erreichbarkeit oder Teilerreichbarkeit so gering wie möglich gehalten werden.</p>
<p>Mögliche Auswirkungen, wenn Applikationen Fehler melden:</p>
<ul>
<li>Magento Caches sind nicht aktiv: Performance Verlust, im Cache werden häufig gestellte Anfragen gespeichert. Anfragen, die aus dem Cache geantwortet werden können, werden von Magento selbst nicht bearbeitet. Anfragen ohne Cache dagegen, müssen ggf. von PHP und MySQL in Magento bearbeitet werden, was unter Umständen zu starken Performance Einbüßen führen kann.</li>
<li>Magento Indexe sind nicht aktuell: Anzeige von ggf. falschen Preisen oder Lagerbeständen. Performance Verlust, da die Daten nicht aus den optimierten Index Tabellen bezogen werden können.</li>
<li>Magento Reports werden generiert: Im Frontend werden Fehler angezeigt, Zahlungen können nicht durchgeführt werden oder der Shop ist nicht erreichbar.</li>
<li>Magento Compiler ist nicht aktiv: Performance Verlust oder der Shop ist nicht erreichbar.</li>
<li>E-Mails können nicht verschickt werden: Kunden und / oder Shop Betreiber erhalten keine Nachrichten über Zahlungs- oder Lieferstatus.</li>
</ul>
<p>Magento bietet verschiedene Skripte im &#8220;shell&#8221;-Verzeichnis im Magento Root zur Überprüfung der Standardfunktionen von Magento, wie die Indexe und den Compiler. Mithilfe von diesen Skripten kann der aktuelle Status über alle wichtige Funktionalitäten in Magento manuell bzw. über Shell abgefragt werden. Um die Statusabfragen auch innerhalb eines Monitorung Tools, wie z.B. Nagios, Icinga oder Zabbix, nutzen zu können, kann noch ein zusätzliches Skript (Wrapper-Skript) als Wrapper um Magento eigene Skripte erstellt werden. Dieses Wrapper-Skript analysiert die Ausgabe des Magento-Skripts und gibt diese Information nach eigenen Wünschen gefiltert und formatiert weiter. Alternativ kann auch ein eigenes Skript erstellt werden, welches sich mit Magento direkt ohne Umweg, über Magento eigene Status Skripte, verbindet, und so gewünschte Informationen liefert. So kann man die Magento eigene Funktionalität erweitern, denn die Standard Skripte liefern nicht immer alle notwendige Informationen, z.B. wird bei dem Indexer-Skript nicht ausgegeben wie lange ein Status bereits aktiv ist, wodurch man nicht erkennen kann, ob ein index rebuild möglicherweise Fehlgeschlagen ist oder Aufgrund seiner Dauer ein anderer Fehler besteht.</p>
<h3>Share and Enjoy</h3>

<!-- Start WP Socializer - Social Buttons - Output -->
 &bull; <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F11%2Fapplication-monitoring-fur-magento%2F&amp;t=Application+Monitoring+f%C3%BCr+Magento" title="Share this on Facebook" target="_blank" rel="nofollow">Facebook</a> &bull; <a href="http://twitter.com/home?status=Application+Monitoring+f%C3%BCr+Magento%20-%20http%3A%2F%2Fblog.symmetrics.de%3Fp%3D216%20" title="Tweet this !" target="_blank" rel="nofollow">Twitter</a> &bull; <a href="http://delicious.com/post?url=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F11%2Fapplication-monitoring-fur-magento%2F&amp;title=Application+Monitoring+f%C3%BCr+Magento&amp;notes=Ist+es+sinnvoll+seine+Systeme+zu+%C3%BCberwachen%3F+Ja%2C+durch+die+%C3%9Cberwachung+werden+Fehler+verschiedenster+Art+schneller+erkannt+und+durch+das+Sammeln+von+Performance+Daten+k%C3%B6nnen+Informationen+gewonnen+werden%2C+ob+die+Kapazit%C3%A4ten+der+bestehenden+System" title="Post this on Delicious" target="_blank" rel="nofollow">Delicious</a> &bull; <a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F11%2Fapplication-monitoring-fur-magento%2F&amp;title=Application+Monitoring+f%C3%BCr+Magento&amp;source=symmetrics+blog+-+Ein+weiteres+tolles+WordPress-Blog&amp;summary=Ist+es+sinnvoll+seine+Systeme+zu+%C3%BCberwachen%3F+Ja%2C+durch+die+%C3%9Cberwachung+werden+Fehler+verschiedenster+Art+schneller+erkannt+und+durch+das+Sammeln+von+Performance+Daten+k%C3%B6nnen+Informationen+gewonnen+werden%2C+ob+die+Kapazit%C3%A4ten+der+bestehenden+System" title="Share this on LinkedIn" target="_blank" rel="nofollow">LinkedIn</a> &bull; <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F11%2Fapplication-monitoring-fur-magento%2F&amp;title=Application+Monitoring+f%C3%BCr+Magento" title="Submit this to StumbleUpon" target="_blank" rel="nofollow">StumbleUpon</a> &bull; <a href="http://blog.symmetrics.de/2012/11/application-monitoring-fur-magento/" onclick="addBookmark(event);" title="Application Monitoring für Magento" target="_blank" rel="nofollow">Add to favorites</a> &bull; <a href="mailto:?subject=Application Monitoring für Magento&amp;body=Ist es sinnvoll seine Systeme zu überwachen? Ja, durch die Überwachung werden Fehler verschiedenster Art schneller erkannt und durch das Sammeln von Performance Daten können Informationen gewonnen werden, ob die Kapazitäten der bestehenden System - http://blog.symmetrics.de/2012/11/application-monitoring-fur-magento/" title="Email this" target="_blank" rel="nofollow">Email</a> &bull; <a href="http://blog.symmetrics.de/feed/rss/" title="Subscribe to RSS" target="_blank" rel="nofollow">RSS</a>
<!-- End WP Socializer - Social Buttons - Output -->
]]></content:encoded>
			<wfw:commentRss>http://blog.symmetrics.de/2012/11/application-monitoring-fur-magento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stresstests in der Praxis</title>
		<link>http://blog.symmetrics.de/2012/10/stresstests-in-der-praxis/</link>
		<comments>http://blog.symmetrics.de/2012/10/stresstests-in-der-praxis/#comments</comments>
		<pubDate>Tue, 23 Oct 2012 11:14:31 +0000</pubDate>
		<dc:creator>symmetrics_eg</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[symmetrics IT]]></category>
		<category><![CDATA[symmetrics Magento]]></category>
		<category><![CDATA[last test]]></category>
		<category><![CDATA[optimierung]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[siege]]></category>
		<category><![CDATA[stress test]]></category>

		<guid isPermaLink="false">http://blog.symmetrics.de/?p=207</guid>
		<description><![CDATA[<p>Heute finden Stresstests in vielen Bereichen wie z.B. bei Banken oder Atomkraftwerke Einsatz. Situationen werden simuliert um Grenzen zu ermitteln und darauf hin Schlussfolgerungen erzielen zu können.</p>
<p>In der IT wird anstelle eines Stresstests auch oft von einem Lasttest gesprochen. Ein solcher Test ist jedoch nicht gleichzusetzen mit einem Performancetest, da die gewonnenen Informationen über andere Dinge Auskunft geben sollen:</p>

Lässt sich der Shop bzw. die Webanwendung noch betreiben?
Wie viele Web-, Datenbank- oder Cacheserver werden benötigt?
Kommt es zu abstürzen von Diensten oder ganze Systeme?
Können Dienste während hoher Last noch administriert werden?
Treten Fehlermeldungen, Dateninkonsistenzen oder Deadlocks auf?
Wie viel Zeit wird benötigt bis die Umgebung wieder in den Normalbetrieb übergeht?
Greifen Schutzmaßnahmen?
Kommt es zu einer automatischen Skalierung der Umgebung?
Wurden alle Dienste optimal konfiguriert?
Werden Failover-Maßnahmen erfolgreich durchgeführt?

<p>Mit den Ergebnissen können dann weitere Entscheidungen gefällt werden ob weitere Optimierungen notwendig sind. Da kleine Probleme bekanntermaßen unter hoher Last zu schwerere werden, können diese besser bei einem Lasttest <a href="http://blog.symmetrics.de/2012/10/stresstests-in-der-praxis/">... mehr zu Stresstests in der Praxis</a>]]></description>
			<content:encoded><![CDATA[<p>Heute finden Stresstests in vielen Bereichen wie z.B. bei Banken oder Atomkraftwerke Einsatz. Situationen werden simuliert um Grenzen zu ermitteln und darauf hin Schlussfolgerungen erzielen zu können.</p>
<p>In der IT wird anstelle eines Stresstests auch oft von einem Lasttest gesprochen. Ein solcher Test ist jedoch nicht gleichzusetzen mit einem Performancetest, da die gewonnenen Informationen über andere Dinge Auskunft geben sollen:</p>
<ul>
<li>Lässt sich der Shop bzw. die Webanwendung noch betreiben?</li>
<li>Wie viele Web-, Datenbank- oder Cacheserver werden benötigt?</li>
<li>Kommt es zu abstürzen von Diensten oder ganze Systeme?</li>
<li>Können Dienste während hoher Last noch administriert werden?</li>
<li>Treten Fehlermeldungen, Dateninkonsistenzen oder Deadlocks auf?</li>
<li>Wie viel Zeit wird benötigt bis die Umgebung wieder in den Normalbetrieb übergeht?</li>
<li>Greifen Schutzmaßnahmen?</li>
<li>Kommt es zu einer automatischen Skalierung der Umgebung?</li>
<li>Wurden alle Dienste optimal konfiguriert?</li>
<li>Werden Failover-Maßnahmen erfolgreich durchgeführt?</li>
</ul>
<p>Mit den Ergebnissen können dann weitere Entscheidungen gefällt werden ob weitere Optimierungen notwendig sind. Da kleine Probleme bekanntermaßen unter hoher Last zu schwerere werden, können diese besser bei einem Lasttest aufgespürt und dann auch behoben werden.</p>
<p>Wir führen bei unseren Projekten mindestens nach jeder Iteration automatische Lasttests durch. So vergleichen wir jeweils die Ergebnisse zu den vorherigen und können bei einer Verschlechterung sofort eingreifen.</p>
<p>Für verschiedene Protokolle gibt es zahlreiche freie und kommerzielle Tools für die Realisierung von Lasttests. Für eine Webanwendung eignet sich hier besonders &#8220;Siege&#8221; und unterstützt Authentifizierung, Cookies, URL-Files sowie das HTTP- und HTTPS-Protokoll.</p>
<p>Da einzelne Anfragen von unterschiedlichen Caches zwischengespeichert werden können, sollte ein Lasttest immer verschiedene URLs aufrufen und niemals ein und dieselbe. Um eine solche Liste zu generieren, eignen sich besonders Webserver-Logdateien. Aus diesen kann eine URL-Liste erstellt werden. Dies kann u.a. wie folgt gemacht werden:</p>
<pre>awk '{print "http://my-domain.tld"$7}' /var/log/apache2/access.log |tee url.txt</pre>
<p>Nun befinden sich in der soeben erstellten Datei „url.txt“ eine Liste mit Domains und übergeben diese Siege beim starten. Neben der URL-Liste übergeben wir auch noch weitere Optionen um z.B. die Anzahl der gleichzeitigen simulierten Benutzer zu setzen oder auch die Dauer des Lasttests festzulegen. Der folgende Befehl startet einen 10-sekündigen Test, der versucht 50 gleichzeitige Benutzer zu simulieren.</p>
<pre>siege -b -c 50 -t 10S -f url.txt</pre>
<p>Siege gibt nach dem Beenden Informationen aus die Auswertung mit berücksichtigt werden sollten.</p>
<pre>** SIEGE 2.67
** Preparing 50 concurrent users for battle.
The server is now under siege...
Lifting the server siege..      done.
Transactions:		      156087 hits
Availability:		      100.00 %
Elapsed time:		        9.71 secs
Data transferred:	       24.71 MB
Response time:		        0.00 secs
Transaction rate:	    16074.87 trans/sec
Throughput:		        2.54 MB/sec
Concurrency:		       49.64
Successful transactions:           0
Failed transactions:	           0
Longest transaction:	        0.08
Shortest transaction:	        0.00</pre>
<p>In unserem Fall haben konnten wir beim Lasttest feststellen, das die Infrastruktur automatisch horizontal skaliert wurde um die Last abzufangen.<br />
<a href="http://blog.symmetrics.de/wp-content/uploads/2012/10/gfx1.jpeg"><img class="alignnone size-full wp-image-226" title="Lasttest" src="http://blog.symmetrics.de/wp-content/uploads/2012/10/gfx1.jpeg" alt="" width="756" height="465" /></a></p>
<h3>Share and Enjoy</h3>

<!-- Start WP Socializer - Social Buttons - Output -->
 &bull; <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F10%2Fstresstests-in-der-praxis%2F&amp;t=Stresstests+in+der+Praxis" title="Share this on Facebook" target="_blank" rel="nofollow">Facebook</a> &bull; <a href="http://twitter.com/home?status=Stresstests+in+der+Praxis%20-%20http%3A%2F%2Fblog.symmetrics.de%3Fp%3D207%20" title="Tweet this !" target="_blank" rel="nofollow">Twitter</a> &bull; <a href="http://delicious.com/post?url=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F10%2Fstresstests-in-der-praxis%2F&amp;title=Stresstests+in+der+Praxis&amp;notes=Heute+finden+Stresstests+in+vielen+Bereichen+wie+z.B.+bei+Banken+oder+Atomkraftwerke+Einsatz.+Situationen+werden+simuliert+um+Grenzen+zu+ermitteln+und+darauf+hin+Schlussfolgerungen+erzielen+zu+k%C3%B6nnen.%0D%0A%0D%0AIn+der+IT+wird+anstelle+eines+Stresstests+auc" title="Post this on Delicious" target="_blank" rel="nofollow">Delicious</a> &bull; <a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F10%2Fstresstests-in-der-praxis%2F&amp;title=Stresstests+in+der+Praxis&amp;source=symmetrics+blog+-+Ein+weiteres+tolles+WordPress-Blog&amp;summary=Heute+finden+Stresstests+in+vielen+Bereichen+wie+z.B.+bei+Banken+oder+Atomkraftwerke+Einsatz.+Situationen+werden+simuliert+um+Grenzen+zu+ermitteln+und+darauf+hin+Schlussfolgerungen+erzielen+zu+k%C3%B6nnen.%0D%0A%0D%0AIn+der+IT+wird+anstelle+eines+Stresstests+auc" title="Share this on LinkedIn" target="_blank" rel="nofollow">LinkedIn</a> &bull; <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F10%2Fstresstests-in-der-praxis%2F&amp;title=Stresstests+in+der+Praxis" title="Submit this to StumbleUpon" target="_blank" rel="nofollow">StumbleUpon</a> &bull; <a href="http://blog.symmetrics.de/2012/10/stresstests-in-der-praxis/" onclick="addBookmark(event);" title="Stresstests in der Praxis" target="_blank" rel="nofollow">Add to favorites</a> &bull; <a href="mailto:?subject=Stresstests in der Praxis&amp;body=Heute finden Stresstests in vielen Bereichen wie z.B. bei Banken oder Atomkraftwerke Einsatz. Situationen werden simuliert um Grenzen zu ermitteln und darauf hin Schlussfolgerungen erzielen zu können.

In der IT wird anstelle eines Stresstests auc - http://blog.symmetrics.de/2012/10/stresstests-in-der-praxis/" title="Email this" target="_blank" rel="nofollow">Email</a> &bull; <a href="http://blog.symmetrics.de/feed/rss/" title="Subscribe to RSS" target="_blank" rel="nofollow">RSS</a>
<!-- End WP Socializer - Social Buttons - Output -->
]]></content:encoded>
			<wfw:commentRss>http://blog.symmetrics.de/2012/10/stresstests-in-der-praxis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magento performance testing via jmeter</title>
		<link>http://blog.symmetrics.de/2012/08/magento-performance-testing-via-jmeter/</link>
		<comments>http://blog.symmetrics.de/2012/08/magento-performance-testing-via-jmeter/#comments</comments>
		<pubDate>Thu, 30 Aug 2012 21:08:47 +0000</pubDate>
		<dc:creator>symmetrics_eg</dc:creator>
				<category><![CDATA[symmetrics IT]]></category>
		<category><![CDATA[symmetrics Magento]]></category>
		<category><![CDATA[jmeter]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://blog.symmetrics.de/?p=188</guid>
		<description><![CDATA[<p>What is the purpose of testing the shop performance during its development? Is it necessary? Why spending additional effort and costs on this? To what extent does it make sense? We will try to answer these and many other questions in this article.</p>
<p>There are three factors in product development that remain in constant tension: cost, quality, and time.  For the sake of this discussion, quality shall mean the number of features a product is to have, and their depth, usability, and polish. The cost of a given project is usually computed by enumerating its features, and  the time it will take to implement them.  Likewise, the number of features and  their depth of quality and usability are limited by finances and time.  The amount of time a project will take is a direct result of the feature set, and the amount of  money the company is willing to spend.  Since <a href="http://blog.symmetrics.de/2012/08/magento-performance-testing-via-jmeter/">... mehr zu Magento performance testing via jmeter</a>]]></description>
			<content:encoded><![CDATA[<p>What is the purpose of testing the shop performance during its development? Is it necessary? Why spending additional effort and costs on this? To what extent does it make sense? We will try to answer these and many other questions in this article.</p>
<p>There are three factors in product development that remain in constant tension: cost, quality, and time.  For the sake of this discussion, quality shall mean the number of features a product is to have, and their depth, usability, and polish. The cost of a given project is usually computed by enumerating its features, and  the time it will take to implement them.  Likewise, the number of features and  their depth of quality and usability are limited by finances and time.  The amount of time a project will take is a direct result of the feature set, and the amount of  money the company is willing to spend.  Since these factors have a direct relationship, when you attempt to adjust any one of them, the other two feel the effect. You can’t reduce the cost without sacrificing features or deadlines.  You can’t increase features without incurring extra costs and time spent.  You can’t reduce time to meet a market window without reducing features or increasing costs.</p>
<p>Everyone likes to control the cost factor because it is the easiest one to see the effect on bottom-line profitability.  Product features and time windows are less tangible and require work to make the connection.  Product features are most important to people closest to customers because solving their needs makes  them happy and results in good bonuses.</p>
<p>During development of Magento-based project, the project accumulates a lot of custom functionality, which has been developed according to customer wishes. Those functionalities can be developed or can be taken from Magento Connect. Very often it happens so, that during development more attention is payed to the final result and developers ask themselves very rarely how this new future will work under high load, with big amount of products in catalog or an increasing number of transactions. And as the result, when the project goes live with the full product catalog, it very often happens that the shop can&#8217;t work under high load, becomes very slow and in the worst case it can even go down. So agencies get the final product with  bad performance. Customer asks developers to solve those problems and they in their turn start a research of shop performance. This analysis can take a lot of time and what is most important, it can cause total rebuilding of some parts of the newly implemented features which will again cost time and money.</p>
<p>What do we have in this case?  Customer incurs a loss and loses own customers. Developers spent a lot of time for problem solving at their own cost, get bad feedback and can lose this customer for further cooperation.</p>
<p>How can we improve this situation? Performance while keeping the quality! The main idea is to implement a process of continous performance testing and improvement in every single agile iteration. What is needed are the right tools with the right configuration incorporated in the workflow, so that the performance and load tests become essentioal parts of every iteration, which can not be released unless the performance is not checked and guaranteed. We call it continuous performance tweaking.</p>
<p>What can we do for this?   We can add a bit more time to our development process, this would allow us to check quality of our product at different development phases. This extra time will be spent for automated performance testing of Magento performance.  This extra time will be planned for creation of all necessary information required for automated testing as well in every single iteration as well as for the test execution and potential tweaking.</p>
<p>How can we use information, that we obtain after the performance testing? In case when we get a worse result in the ongoing iteration compared with the previous one:</p>
<ol>
<li>We will know about possible problems.</li>
<li>We can make a decision when and how we would fix the appeared issue.</li>
</ol>
<p>Now it&#8217;s time to answer the following questions: </p>
<ol>
<li>How we can do this.</li>
<li>What we can use for this.</li>
</ol>
<h2>How can we do this?</h2>
<p>In our development process we use iteration based development. At the end of each iteration we  provide a customer with a list of new futures, which have been implemented during the last iteration. At the end of each iteration we perform automated performance testing and get respective results. After analyzing the results we will know about the problem in advance. We will also have a list of developed features and as the result we will be able to easily find the problematic feature among them.</p>
<h2>What we use for this.</h2>
<p>For performance testing we use: </p>
<ol>
<li>Separate performance infrastructure, which includes 1 web server for code base, 1 db server and 1 jmeter server.</li>
<li>Jmeter as the main tool for performing the test.</li>
<li>Git based project repository. As the additional information repo contains all necessary data for performance testing such as: schedule time, respective test plan, all necessary changes related with deployment. Test plan and time schedule should be updated in each iteration, all other information is created only once when we start the development process.</li>
<li>&#8220;Fabric&#8221; as our own deployment tool with our modifications, which allows us to use it for deployment to the internal development servers and to the performance servers.</li>
</ol>
<p>So, at the end of iteration a team lead makes performance deployment and according to the time schedules jmeter server executes a respective testing plan and ultimately testing documents with respective results are created. Those documents  are downloaded for later analysis y the team and potential tasks are generated for the next iteration. A project can have a few different test plans that can be executed  one by one.</p>
<p><u>As always we give some sample. Our example will consist of the following points:</u></p>
<h3>1. Required equipment.</h3>
<p>JMeter requires a fully compliant JVM 1.5 or higher.</p>
<ul>
<li>Install JVM using a way your OS provides.</li>
<li>Download from <a href="http://jmeter.apache.org/download_jmeter.cgi">http://jmeter.apache.org/download_jmeter.cgi</a> and unpack Jmeter to any location.</li>
<li>Modify jmeter (jmeter.bat) script to set allowed amount of memory to be used by JVM.</li>
<ul>
<li> Search for HEAP variable.</li>
<li>Set memory limit to at least 512m, e.g: <i>-Xms512m -Xmx512m</i></li>
<li>Check that JMeter works by launching it: <i>jmeter -v</i></li>
</ul>
</ul>
<h3>2. Test plan creation</h3>
<p>Create a test plan using GUI version on your local computer. Check that your plan contains all listeners (result visualizers and interpreters) you want to use. How to for test plan creation here: <a href="http://jmeter.apache.org/usermanual/index.html">http://jmeter.apache.org/usermanual/index.html</a></p>
<h3>3. Testing phases.</h3>
<p>For performance testing we use different scenarios.</p>
<ul>
<li>Performance without any caches
<li>Performance with cache system
<li>Separate test for different part of content:
<ul>
<li>Content only</li>
<li>Full page with media, css and js</li>
</ul>
</ul>
<p>For all those scenarios a separate test plan should be created. All those plans should be executed one by one. Why should we make so many plans and what are all those actions for? This way we can find and analyze bottlenecks in different parts of the generated content.</p>
<h3>4. Result analyzes.</h3>
<p>We will use the demo shop for our  tests. The demo test has been developed during 1 week. During this time in default functionality the main following parts have been modified:</p>
<ul>
<li>Catalog view</li>
<li>Product view</li>
</ul>
<p>Other modifications do not matter for now. </p>
<p>In order to execute testing we will create and use two plans where we will test home page, category page, product details page, products compare functionality, customer account page, forgot password page, customer account login customer login post and a few cms pages. Our test plans should cover 2 following cases:</p>
<ul>
<li>Document only without any media and css data</li>
<li>Document with all content loaded to the customer&#8217;s browser.</li>
</ul>
<p>Testing scenario should be as follows:</p>
<ul>
<li>FPS turn off always</li>
<li>First test should be performed on the clear magento enterprise 1.12 installation</li>
<li>Second test should be performed at the end of development.</li>
</ul>
<p>After collecting all results we can compare the performance of our shop before our modifications and after.  The main idea is to include it in every iteration we deliver to immediately see whether a newly implemented feature affects the performance in a negative way or not and if so, to fix it. The constant performance is regarded as done-done creteria for user stories in our development and only an improved or constant performance  is a success criteria acepted by our QA. Our results will be following:</p>
<p>Document only on the clear installation:</p>
<p><img src="http://blog.symmetrics.de/wp-content/uploads/2012/08/jmeter1.png" alt="Document only on the clear installation" /></p>
<p>Document only after our modifications:</p>
<p><img src="http://blog.symmetrics.de/wp-content/uploads/2012/08/jmeter2.png" alt="Document only after our modifications" /></p>
<p>Document full on the clear installation:</p>
<p><img src="http://blog.symmetrics.de/wp-content/uploads/2012/08/jmeter3.png" alt="Document full on the clear installation" /></p>
<p>Below we provide average values for each page.</p>
<p><img src="http://blog.symmetrics.de/wp-content/uploads/2012/08/jmeter4.png" alt="Average values for each page" /></p>
<p>After analyzing the average value for each page we can say that we stay almost on the same position as before we started our implementation. And that nothing bad happened during our last iteration. So we can move toward.</p>
<h3>Share and Enjoy</h3>

<!-- Start WP Socializer - Social Buttons - Output -->
 &bull; <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F08%2Fmagento-performance-testing-via-jmeter%2F&amp;t=Magento+performance+testing+via+jmeter" title="Share this on Facebook" target="_blank" rel="nofollow">Facebook</a> &bull; <a href="http://twitter.com/home?status=Magento+performance+testing+via+jmeter%20-%20http%3A%2F%2Fblog.symmetrics.de%3Fp%3D188%20" title="Tweet this !" target="_blank" rel="nofollow">Twitter</a> &bull; <a href="http://delicious.com/post?url=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F08%2Fmagento-performance-testing-via-jmeter%2F&amp;title=Magento+performance+testing+via+jmeter&amp;notes=What+is+the+purpose+of+testing+the+shop+performance+during+its+development%3F+Is+it+necessary%3F+Why+spending+additional+effort+and+costs+on+this%3F+To+what+extent+does+it+make+sense%3F+We+will+try+to+answer+these+and+many+other+questions+in+this+article.%0D%0A%0D" title="Post this on Delicious" target="_blank" rel="nofollow">Delicious</a> &bull; <a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F08%2Fmagento-performance-testing-via-jmeter%2F&amp;title=Magento+performance+testing+via+jmeter&amp;source=symmetrics+blog+-+Ein+weiteres+tolles+WordPress-Blog&amp;summary=What+is+the+purpose+of+testing+the+shop+performance+during+its+development%3F+Is+it+necessary%3F+Why+spending+additional+effort+and+costs+on+this%3F+To+what+extent+does+it+make+sense%3F+We+will+try+to+answer+these+and+many+other+questions+in+this+article.%0D%0A%0D" title="Share this on LinkedIn" target="_blank" rel="nofollow">LinkedIn</a> &bull; <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F08%2Fmagento-performance-testing-via-jmeter%2F&amp;title=Magento+performance+testing+via+jmeter" title="Submit this to StumbleUpon" target="_blank" rel="nofollow">StumbleUpon</a> &bull; <a href="http://blog.symmetrics.de/2012/08/magento-performance-testing-via-jmeter/" onclick="addBookmark(event);" title="Magento performance testing via jmeter" target="_blank" rel="nofollow">Add to favorites</a> &bull; <a href="mailto:?subject=Magento performance testing via jmeter&amp;body=What is the purpose of testing the shop performance during its development? Is it necessary? Why spending additional effort and costs on this? To what extent does it make sense? We will try to answer these and many other questions in this article.
 - http://blog.symmetrics.de/2012/08/magento-performance-testing-via-jmeter/" title="Email this" target="_blank" rel="nofollow">Email</a> &bull; <a href="http://blog.symmetrics.de/feed/rss/" title="Subscribe to RSS" target="_blank" rel="nofollow">RSS</a>
<!-- End WP Socializer - Social Buttons - Output -->
]]></content:encoded>
			<wfw:commentRss>http://blog.symmetrics.de/2012/08/magento-performance-testing-via-jmeter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magento code generator tools</title>
		<link>http://blog.symmetrics.de/2012/07/magento-code-generator-tools/</link>
		<comments>http://blog.symmetrics.de/2012/07/magento-code-generator-tools/#comments</comments>
		<pubDate>Mon, 09 Jul 2012 11:00:54 +0000</pubDate>
		<dc:creator>symmetrics_eg</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://blog.symmetrics.de/?p=146</guid>
		<description><![CDATA[<p>Module CreatorsMagento Developer UtilsUsage of MageTool + MtoolProviders and their actionsSummary</p>
<p>The usual development process for the Magento platform requires a lot of common operations related with project development, module creation, creation of different models, helpers, blocks etc. from developers. Those actions take a lot of time useful in the every-day work and therefore increase the project costs and time-to-markets as key team members and developers do use it for this tasks instead of really value adding and contributing through new ideas, solving complex problems or consulting the customer. Sooner or later each developer, developing different functionalities for Magento starts thinking how he can improve his own work, how time for common operations can be reduced and how potential bugs can be avoided occuring when humans repeat the same, not so demanding tasks, multiple times with different levels of attention. (Magento) code-generators can be one potential answer and solution.</p>
<p>You can find <a href="http://blog.symmetrics.de/2012/07/magento-code-generator-tools/">... mehr zu Magento code generator tools</a>]]></description>
			<content:encoded><![CDATA[<p><ol class="toc-generator"><li><a href="#toc-module-creators" title="Jump to Module Creators">Module Creators</a></li><li><a href="#toc-magento-developer-utils" title="Jump to Magento Developer Utils">Magento Developer Utils</a></li><li><a href="#toc-usage-of-magetool-mtool" title="Jump to Usage of MageTool + Mtool">Usage of MageTool + Mtool</a></li><li><a href="#toc-providers-and-their-actions" title="Jump to Providers and their actions">Providers and their actions</a></li><li><a href="#toc-summary" title="Jump to Summary">Summary</a></li></ol></p>
<p>The usual development process for the Magento platform requires a lot of common operations related with project development, module creation, creation of different models, helpers, blocks etc. from developers. Those actions take a lot of time useful in the every-day work and therefore increase the project costs and time-to-markets as key team members and developers do use it for this tasks instead of really value adding and contributing through new ideas, solving complex problems or consulting the customer. Sooner or later each developer, developing different functionalities for Magento starts thinking how he can improve his own work, how time for common operations can be reduced and how potential bugs can be avoided occuring when humans repeat the same, not so demanding tasks, multiple times with different levels of attention. (Magento) <strong>code-generators</strong> can be one potential answer and solution.</p>
<p>You can find a lot of different tools related to code-generation, so the questions is always what metric and arguments to focus on while comparing these tools. We at Magento Gold Partner Symmetrics felt, the main problem is related with <strong>TIME</strong>, and how it can be saved in a useful and most efficient way. Thats why we decided to start our search and comparison with checking out, what is out there in the market and how it can be potentially utilised. We have our own Magento SDK, containing &gt;14 products and service for rapid and high quality development, quality control, reusability, deployment and many more. Before creating our own code-generation instrument we compared different tools in order to understand whether they can be used as a starting point and how.</p>
<p>This article provides a first overview of such tools we have looked at during our research, a brief comparison of them and finally our choice of tools for our internal Magento development work and a quick guide how it can be used in daily tasks as well as some examples related with creation of simple modules with all necessary files.</p>
<p>Those tools, which we will describe in this article, provide us with lots of usable features related to shop management and new code-generation. Those tools allow us to reduce human errors, save time for development as well as error search caused by copy-past. As the result we can deliver developed projects to our customers faster and with less bugs and testing effort resulting in significant business value through a shorter time-to-market and less costs as well as an optimized TCO (total cost of ownership) later in the Maintanence&amp;Support mode. It also allows customers to plan all actions related with a new project launch more precisely and keeps deadlines and goals even more reliable in Magento projects, attracts investments and contributes to successful business growth.</p>
<p>So let&#8217;s start. From the list of tools which we could find, we can define two categories, each of them contains a few tools.</p>
<h3 id="toc-module-creators">Module Creators</h3>
<table>
<colgroup>
<col width="1">
<col width="1">
<col width="1">
<col width="1">
<col width="1">
    </colgroup>
<thead>
<tr>
<th scope="col">Tool</th>
<th scope="col">Documentation</th>
<th scope="col">Requirements</th>
<th scope="col">Functionality</th>
<th scope="col">Usage</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><a href="https://github.com/dankocherga/MTool" title="MTool" target="_blank">MTool</a></td>
<td>
                <a href="https://github.com/dankocherga/MTool/wiki" title="MTool wiki" target="_blank">MTool wiki</a></p>
<ul>
<li>Installation on Linux/Win/OSX</li>
<li>Configuration tips</li>
<li>Usage instructions</li>
<li>Command-line help</li>
</ul>
</td>
<td>PHP ZendFramework</td>
<td>
                Create module from scratch<br />Add new entities</p>
<ul>
<li>model</li>
<li>block</li>
<li>helper</li>
</ul>
<p>                Rewrites</p>
<ul>
<li>model</li>
<li>resource_model</li>
<li>block</li>
<li>helper</li>
<li>Manage migrations</li>
<li>Auto file/class comments</li>
</ul>
</td>
<td>command-line tool, should be run from project root</td>
</tr>
<tr class="even">
<td><a href="https://github.com/jhckragh/magetool" title="MageTool" target="_blank">MageTool</a></td>
<td>
        	<a href="https://github.com/jhckragh/magetool/tree/master/docs" title="MageTool Docs" target="_blank">MageTool Docs</a></p>
<ul>
<li>Short developer&#8217;s guide</li>
<li>Usage instructions</li>
<li>Readme with installation<br />and usage tips</li>
</ul>
</td>
<td>Python 2.6 lxml</td>
<td>
        	Create module from scratch<br />Add new entities</p>
<ul>
<li>block</li>
<li>model</li>
<li>resource_model</li>
<li>helper</li>
<li>controller</li>
<li>layout</li>
</ul>
<p>        	Rewrites</p>
<ul>
<li>block</li>
<li>model</li>
<li>resource_model</li>
<li>helper</li>
<li>controller</li>
</ul>
</td>
<td>command-line tool, should be run from current module dir</td>
</tr>
<tr class="odd">
<td><a href="http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/custom_module_with_custom_database_table" title="Magento Module Creator" target="_blank">Magento Module Creator</a></td>
<td>
<ul>
<li>Installation instructions</li>
<li>Description of created files &#038; folders</li>
</ul>
</td>
<td>PHP</td>
<td>creates demo module which should be modified to suit needs</td>
<td>web-interface, should be called from browser</td>
</tr>
<tr class="even">
<td><a href="http://download.unirgy.com/Unirgy_Scaffold-latest.zip" title="uScaffold" target="_blank">uScaffold</a></td>
<td>
        	    <a href="http://unirgy.com/wiki/uscaffold" title="uSaffold Wiki" target="_blank">uSaffold Wiki</a></p>
<ul>
<li>Usage examples</li>
</ul>
</td>
<td>PHP</td>
<td>Generates config.xml file basing on directives from module config file.</td>
<td>installs and works as Magento extension</td>
</tr>
</tbody>
</table>
<p>In the provided table we can see that the first two tools (Mtool, MageTool) might be worthy of our attention. Those tools provide a lot of useful functionality and can be used from the command line. MageTool contains  more  functionality related with “Add new entities” and “Rewrites”, but dose not support migration management and auto file/class comments and required python for its work. What is very important for us is the code standard support (auto file/class comments), migration management and integration with ZF, which enables further scalability of the used tools more easily. Considering all this, our choice would be <strong>Mtool</strong>.</p>
<h3 id="toc-magento-developer-utils">Magento Developer Utils</h3>
<table>
<colgroup>
<col width="1">
<col width="1">
<col width="1">
<col width="1">
<col width="1">
    </colgroup>
<thead>
<tr>
<th>Tool</th>
<th>Documentation</th>
<th>Requirements</th>
<th>Functionality</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><a href="https://github.com/alistairstead/MageTool" title="MageTool" target="_blank">MageTool</a></td>
<td>
                <a href="https://github.com/alistairstead/MageTool/blob/master/README.markdown" title="MageTool Readme" target="_blank">MageTool Readme</a></p>
<ul>
<li>Installation instructions</li>
<li>List of possible commands</li>
</ul>
</td>
<td>PHP ZendFramework</td>
<td>
<ul>
<li>admin users</li>
<ul>
<li>view</li>
<li>create</li>
</ul>
<li>cache management</li>
<li>compiler management</li>
<li>index management</li>
<li>module operations</li>
<ul>
<li>view</li>
<li>delete</li>
<li>update</li>
</ul>
<li>global config management</li>
<li>dispatch event</li>
<li>inherited MTool functionality</li>
</ul>
</td>
</tr>
<tr class="even">
<td><a href="https://github.com/FlintLabs/MagentoCommands/" title="MagentoCommands" target="_blank">MagentoCommands</a></td>
<td><a href="https://github.com/FlintLabs/MagentoCommands/blob/master/README.md" title="MagentoCommands Readme" target="_blank">MagentoCommands Readme</a></p>
<ul>
<li>Installation instructions</li>
<li>Usage examples</li>
</ul>
</td>
<td>PHP ZendFramework</td>
<td>
<ul>
<li>show all installed modules</li>
<li>resolve Magento entity to exact class name</li>
</ul>
</td>
</tr>
<tr class="odd">
<td><a href="https://github.com/nvahalik/Wiz http://wizcli.com/" title="Wiz" target="_blank">Wiz</a></td>
<td>
                <a href="https://github.com/nvahalik/Wiz/blob/master/README.markdown" title="Wiz Readme" target="_blank">Wiz Readme</a></p>
<ul>
<li>Installation instructions</li>
<li><a href="http://classyllama.com/magento/wiz-0-9-5-admin-developers-tools-batch-added/ http://classyllama.com/magento/introducing-wiz-a-cli-tool-magento/" title="List of commands" target="_blank">List of commands</a></li>
</ul>
</td>
<td>PHP 5.2+</td>
<td>
<ul>
<li>admin users</li>
<ul>
<li>create</li>
</ul>
<li>compiler management</li>
<li>index management</li>
<li>module operations</li>
<ul>
<li>view</li>
<li>enable/disable module</li>
<li>enable/disable output</li>
</ul>
<li>global config management</li>
<li>enable/disable template hints, logging, profiler, js &#038; css merging</li>
<li>Magento bootstrap</li>
<li>run sql query on project database</li>
<li>dump sku/products/categories to CSV</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>In the provided table we can see that the first two tools (MageTool, Wiz) might be worthy of our attention.  As we can see Wiz offers even more functionality than MageTool.  It also has a well-documented code, but does not have ZF integration. As mentioned before, ZF integration is very important for us, because we want to find the best tool from each category and want to be able to use them together and if possible use common command line syntax.</p>
<p>MageTool is a very powerful tool which facilitates a number of repetitive tasks during development. Rather than switching between mysql tools and the Magento admin system, finding the way to add a new user,  you can just run a simple command and improve your work-flow greatly. Considering all this our choice would be <strong>MageTool</strong>.</p>
<p>As a result we chose <strong>Mtool and MageTool</strong>. Those tools are ZF based,  and what is the most important – MageTool inherited MTool functionality so common command line syntax can be used.</p>
<p>In order to work with our new tools, we need Zend Framework, Mtool and MageTool. Installation process can be performed very easily according to corresponding documentation, links to which have been provided before.</p>
<hr />
<h3 id="toc-usage-of-magetool-mtool">Usage of MageTool + Mtool</h3>
<p>You should navigate to project&#8217;s root directory before calling zf to let the tools generate correct folder structures and to access the existing config files.<br />
zf [--global-opts] action-name [--action-opts] provider-name [--provider-opts] [provider parameters ...]<br />
<strong>Note:</strong> You may use &#8220;?&#8221; in any place of the above usage string to ask for more specific help information.<br />
<strong>Example:</strong> &#8220;zf ? version&#8221; will list all available actions for the version provider.</p>
<hr />
<h3 id="toc-providers-and-their-actions">Providers and their actions</h3>
<p><strong>Version</strong></p>
<pre class="brush: bash">zf show version mode[=mini] name-included[=1] </pre>
<p><strong>Note:</strong> There are specialties, use zf show version.? to get specific help on them.</p>
<p><strong>Config</strong></p>
<pre class="brush: bash">
zf create config
zf show config
zf enable config </pre>
<p><strong>Note:</strong> There are specialties, use zf enable config.? to get specific help on them.</p>
<pre class="brush: bash">zf disable config </pre>
<p><strong>Note:</strong> There are specialties, use zf disable config.? to get specific help on them.</p>
<p><strong>Phpinfo</strong></p>
<pre class="brush: bash">zf show phpinfo </pre>
<p><strong>Manifest</strong></p>
<pre class="brush: bash">zf show manifest </pre>
<p><strong>Profile</strong></p>
<pre class="brush: bash">zf show profile </pre>
<p><strong>Project</strong></p>
<pre class="brush: bash">
zf create project path name-of-profile file-of-profile
zf show project
</pre>
<p><strong>Note:</strong> There are specialties, use zf show project.? to get specific help on them.</p>
<p><strong>Application</strong></p>
<pre class="brush: bash">zf change application.class-name-prefix class-name-prefix </pre>
<p><strong>Model</strong></p>
<pre class="brush: bash">zf create model name module </pre>
<p><strong>View</strong></p>
<pre class="brush: bash">zf create view controller-name action-name-or-simple-name module </pre>
<p><strong>Controller</strong></p>
<pre class="brush: bash">zf create controller name index-action-included[=1] module </pre>
<p><strong>Action</strong></p>
<pre class="brush: bash">zf create action name controller-name[=Index] view-included[=1] module </pre>
<p><strong>Module</strong></p>
<pre class="brush: bash">zf create module name </pre>
<p><strong>Form</strong></p>
<pre class="brush: bash">
zf enable form module
zf create form name module
</pre>
<p><strong>Layout</strong></p>
<pre class="brush: bash">
zf enable layout
zf disable layout
</pre>
<p><strong>DbAdapter</strong></p>
<pre class="brush: bash">zf configure db-adapter dsn section-name[=production]</pre>
<p><strong>DbTable</strong></p>
<pre class="brush: bash">zf create db-table name actual-table-name module force-overwrite</pre>
<p><strong>Note:</strong> There are specialties, use zf create db-table.? to get specific help on them.</p>
<p><strong>ProjectProvider</strong></p>
<pre class="brush: bash">zf create project-provider name actions</pre>
<p><strong>MageAdminUser</strong></p>
<pre class="brush: bash">zf show mage-admin-user</pre>
<p><strong>MageCoreCache</strong></p>
<pre class="brush: bash">
zf clear mage-core-cache tags[=all]
zf flush mage-core-cache
zf enable mage-core-cache tags[=all]
zf disable mage-core-cache tags[=all]
</pre>
<p><strong>MageCoreCompiler</strong></p>
<pre class="brush: bash">
zf run mage-core-compiler
zf clear mage-core-compiler
zf enable mage-core-compiler
zf disable mage-core-compiler
zf stat mage-core-compiler
</pre>
<p><strong>MageCoreIndexer</strong></p>
<pre class="brush: bash">zf info mage-core-indexer code[=all]
zf mode mage-core-indexer mode code[=all]
zf run mage-core-indexer code[=all]
</pre>
<p><strong>MageCoreResource </strong></p>
<pre class="brush: bash">
zf show mage-core-resource code
zf delete mage-core-resource code
zf update mage-core-resource module
</pre>
<p><strong>MageCoreConfig</strong></p>
<pre class="brush: bash">
zf show mage-core-config path scope
zf set mage-core-config path value scope
zf replace mage-core-config match value path scope
zf lint mage-core-config config-file-path[=app/code/local] lint-file-path
</pre>
<p><strong>MageApp</strong></p>
<pre class="brush: bash">
zf version mage-app
zf dispatch-event mage-app name data
</pre>
<p><strong>MageExtension</strong></p>
<pre class="brush: bash">zf create mage-extension vendor name pool[=local] file-of-profile</pre>
<p><strong>mage-module</strong></p>
<pre class="brush: bash">
zf create mage-module name
zf install mage-module name version
zf upgrade mage-module name mode version
</pre>
<p><strong>mage-model</strong></p>
<pre class="brush: bash">
zf create mage-model target-module model-path
zf add mage-model model-path
zf rewrite mage-model target-module origin-model your-model
</pre>
<p><strong>mage-rmodel</strong></p>
<pre class="brush: bash">zf rewrite mage-rmodel target-module origin-model your-model</pre>
<p><strong>mage-helper</strong></p>
<pre class="brush: bash">
zf create mage-helper target-module helper-path
zf add mage-helper helper-path
zf rewrite mage-helper target-module origin-helper your-helper
</pre>
<p><strong>mage-block</strong></p>
<pre class="brush: bash">
zf create mage-block target-module block-path
zf add mage-block block-path
zf rewrite mage-block target-module origin-block your-block
</pre>
<p>The last topic of this article  is an example, where we will create a simple Magento module  using these tools with models, helpers, migrations, and some rewrites and where we will compare the average time needed for every single operation doing it with or without the code-generation tool. So let&#8217;s start and have fun <img src='http://blog.symmetrics.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Our simple module will be called “Test”. This module will be created in the Symmetrics namespace and the local code pool.</p>
<p>Switch to your Magento shop document root.</p>
<p><strong>1. Create a new module:</strong></p>
<pre class="brush: bash">zf create mage-module Symmetrics/Test</pre>
<p>In case of success, you will be able to see the message &#8220;Done&#8221;<br />
Time for this action:</p>
<table>
<colgroup>
<col width="1">
<col width="1">
    </colgroup>
<thead>
<tr>
<th scope="col">Using code generation tools</th>
<th scope="col">Without code-generation</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>0m 0.143s</strong></td>
<td>11 min</td>
</tr>
</tbody>
</table>
<p><strong>2. Add installation script:</strong></p>
<pre class="brush: bash">zf install mage-module Symmetrics/Test 0.1.1</pre>
<p>In case of success, you will be able to see the message &#8220;Done&#8221;<br />
Time for this action:</p>
<table>
<colgroup>
<col width="1">
<col width="1">
    </colgroup>
<thead>
<tr>
<th scope="col">Using code generation tools</th>
<th scope="col">Without code-generation</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>0m 0.840s</strong></td>
<td>10 min</td>
</tr>
</tbody>
</table>
<p><strong>3. Add upgrade script:</strong></p>
<pre class="brush: bash">zf upgrade  mage-module Symmetrics/Test to 0.1.3</pre>
<p>In case of success, you will be able to see the message &#8220;Done&#8221;<br />
Time for this action:</p>
<table>
<colgroup>
<col width="1">
<col width="1">
    </colgroup>
<thead>
<tr>
<th scope="col">Using code generation tools</th>
<th scope="col">Without code-generation</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>0m 2.494s</strong></td>
<td>1 min</td>
</tr>
</tbody>
</table>
<p><strong>4. Create model Info:</strong></p>
<pre class="brush: bash">zf add mage-model Test/Info</pre>
<p>For the first case the tool will prompt name space and module name. So type the following:</p>
<pre class="brush: bash">Symmetrics/Test</pre>
<p>In case of success you will be able to see the the message &#8220;New model created under Symmetrics_Test module&#8221;<br />
Time for this action:</p>
<table>
<colgroup>
<col width="1">
<col width="1">
    </colgroup>
<thead>
<tr>
<th scope="col">Using code generation tools</th>
<th scope="col">Without code-generation</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>0m 8.249s</strong></td>
<td>4 min</td>
</tr>
</tbody>
</table>
<p>During the next model creation, the tool will define everything automatically. So try to create a new model Message:</p>
<pre class="brush: bash">zf add mage-model Test/Message</pre>
<p>In case of success you will be able to see the message &#8220;New model created under Symmetrics_Test module&#8221;<br />
Time for this action:</p>
<table>
<colgroup>
<col width="1">
<col width="1">
    </colgroup>
<thead>
<tr>
<th scope="col">Using code generation tools</th>
<th scope="col">Without code-generation</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>0m 0.137s</strong></td>
<td>4 min</td>
</tr>
</tbody>
</table>
<p><strong>5. Create helper Data:</strong></p>
<pre class="brush: bash">zf add mage-helper Test/Data</pre>
<p>For the first case the tool will prompt name space and module name. So type the following:</p>
<pre class="brush: bash">Symmetrics/Test</pre>
<p>In case of success you will be able to see the the message &#8220;New helper created under Symmetrics_Test module&#8221;<br />
Time for this action:</p>
<table>
<colgroup>
<col width="1">
<col width="1">
    </colgroup>
<thead>
<tr>
<th scope="col">Using code generation tools</th>
<th scope="col">Without code-generation</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>0m 7.236s</strong></td>
<td>5 min</td>
</tr>
</tbody>
</table>
<p>During the next helper creation the tool will define everything automatically. So try to create a new helper Message: </p>
<pre class="brush: bash">zf add mage-helper Test/Message</pre>
<p>In case of success you will be able to see the message &#8220;New helper created under Symmetrics_Test module&#8221;<br />
Time for this action:</p>
<table>
<colgroup>
<col width="1">
<col width="1">
    </colgroup>
<thead>
<tr>
<th scope="col">Using code generation tools</th>
<th scope="col">Without code-generation</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>0m 0.137s</strong></td>
<td>5 min</td>
</tr>
</tbody>
</table>
<p><strong>6. Create block Info:</strong></p>
<pre class="brush: bash">zf add mage-block Test/Info</pre>
<p>For the first case the tool will prompt name space and module name. So type the following:</p>
<pre class="brush: bash">Symmetrics/Test</pre>
<p>In case of success you will be able to see the message &#8220;New block created under Symmetrics_Test module&#8221;<br />
Time for this action:</p>
<table>
<colgroup>
<col width="1">
<col width="1">
    </colgroup>
<thead>
<tr>
<th scope="col">Using code generation tools</th>
<th scope="col">Without code-generation</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>0m 6.388s</strong></td>
<td>4 min</td>
</tr>
</tbody>
</table>
<p>During the next block creation tool will define everything automatically. So try to create a new block Message:
<pre class="brush: bash">zf add mage-block Test/Message</pre>
<p>In case of success you will be able to see the message &#8220;New block created under Symmetrics_Test module&#8221;<br />
Time for this action:</p>
<table>
<colgroup>
<col width="1">
<col width="1">
    </colgroup>
<thead>
<tr>
<th scope="col">Using code generation tools</th>
<th scope="col">Without code-generation</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>0m 0.138s</strong></td>
<td>4 min</td>
</tr>
</tbody>
</table>
<p><strong>7. Rewrite core catalog_product model:</strong></p>
<pre class="brush: bash">zf rewrite mage-model Symmetrics/Test catalog/product catalog_product</pre>
<p>Time for this action:</p>
<table>
<colgroup>
<col width="1">
<col width="1">
    </colgroup>
<thead>
<tr>
<th scope="col">Using code generation tools</th>
<th scope="col">Without code-generation</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>0m 0.138s</strong></td>
<td>3 min</td>
</tr>
</tbody>
</table>
<p><strong>8. Rewrite core customer_data helper:</strong></p>
<pre class="brush: bash">zf rewrite mage-helper Symmetrics/Test customer/data customer_data</pre>
<p>Time for this action:</p>
<table>
<colgroup>
<col width="1">
<col width="1">
    </colgroup>
<thead>
<tr>
<th scope="col">Using code generation tools</th>
<th scope="col">Without code-generation</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>0m 0.394s</strong></td>
<td>2 min</td>
</tr>
</tbody>
</table>
<p><strong>9. Rewrite core catalog_product_view block:</strong></p>
<pre class="brush: bash">zf rewrite mage-block Symmetrics/Test catalog/product_view catalog_product_view</pre>
<p>Time for this action:</p>
<table>
<colgroup>
<col width="1">
<col width="1">
    </colgroup>
<thead>
<tr>
<th scope="col">Using code generation tools</th>
<th scope="col">Without code-generation</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>0m 0.330s</strong></td>
<td>4 min</td>
</tr>
</tbody>
</table>
<h3 id="toc-summary">Summary</h3>
<p>In this example we created a simple module &#8220;Test&#8221; which contains:</p>
<ul>
<li>11 php files with correct file/class comments and ready for logic implementation</li>
<li>2 xml files with correct comments</li>
<li>11 directories</li>
</ul>
<p>For all those actions we spent about <strong>1 min</strong> using our Magento code-generation tool and this is much faster than performing all those actions manually. As you can see, the manual execution of all those action would have taken about 57 min. It should be noted however, that time for manual implementation can be different and depends on the qualification and skill level of the developer, however, the difference in the two ways of solving the same problem is obvious..</p>
<p>Our experience shows that the usage of such tools is justified in the followig cases:</p>
<ol>
<li>For a new module creation and supporting of modules which have been written using general code standards.</li>
<li>For usage by developers with big experience in Magento development.</li>
</ol>
<p>We strongly do not recommended to use such tools:</p>
<ol>
<li>For developers who are beginners in Magento development, because when taking this way such developers wont  learn or extend their knowledge in Magento development.</li>
<li>For support of modules that have been developed by third parties.</li>
</ol>
<p>It is up to you to start using those  or similar tools in your daily work or not. We made our choice and now use those tools very actively. We shared the first and basic steps of starting the usage of code-generation tools. Of course, a potential speed up is not only a question of tools but mostly of the processes and overall workflows as well as controlling, testing and qa procedures you have in place. In different setups and team constellations the speed up can be higher or lower. We usually avoid providing this tool to new team members or junior developers as well as Magento unexperienced developers. We first want to teach them the &#8220;real development&#8221; and understanding of Magento and the architecture and ways of solving problems before providing them tools to optimize or automatize their workflows (optimizations they often have not thought about before as they did not have many problems such tools help to solve). But again, what we described are the basic tools everyone can download, setup, configure and start using. Within our Magento SDK we  significantly modified and extended the basic functionality of those tools that we use in our daily work, in order to achieve an even higher boost and improvement and we keep evolving and developing them every day. Just to share an impression, the following new features  have been added by us into our code generation:</p>
<ul>
<li>create/rewrite controller</li>
<li>create/rewrite layout</li>
<li>templates for migrations (create admin user, change config values, website/store management)</li>
<li>add custom email templates</li>
<li>grid generation</li>
<li>add fields to quote/order</li>
<li>acl configuration</li>
<li>events listeners</li>
</ul>
<h3>Share and Enjoy</h3>

<!-- Start WP Socializer - Social Buttons - Output -->
 &bull; <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F07%2Fmagento-code-generator-tools%2F&amp;t=Magento+code+generator+tools" title="Share this on Facebook" target="_blank" rel="nofollow">Facebook</a> &bull; <a href="http://twitter.com/home?status=Magento+code+generator+tools%20-%20http%3A%2F%2Fblog.symmetrics.de%3Fp%3D146%20" title="Tweet this !" target="_blank" rel="nofollow">Twitter</a> &bull; <a href="http://delicious.com/post?url=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F07%2Fmagento-code-generator-tools%2F&amp;title=Magento+code+generator+tools&amp;notes=%5BTOC%5D%0D%0A%0D%0AThe+usual+development+process+for+the+Magento+platform+requires+a+lot+of+common+operations+related+with+project+development%2C+module+creation%2C+creation+of+different+models%2C+helpers%2C+blocks+etc.+from+developers.+Those+actions+take+a+lot+of+tim" title="Post this on Delicious" target="_blank" rel="nofollow">Delicious</a> &bull; <a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F07%2Fmagento-code-generator-tools%2F&amp;title=Magento+code+generator+tools&amp;source=symmetrics+blog+-+Ein+weiteres+tolles+WordPress-Blog&amp;summary=%5BTOC%5D%0D%0A%0D%0AThe+usual+development+process+for+the+Magento+platform+requires+a+lot+of+common+operations+related+with+project+development%2C+module+creation%2C+creation+of+different+models%2C+helpers%2C+blocks+etc.+from+developers.+Those+actions+take+a+lot+of+tim" title="Share this on LinkedIn" target="_blank" rel="nofollow">LinkedIn</a> &bull; <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F07%2Fmagento-code-generator-tools%2F&amp;title=Magento+code+generator+tools" title="Submit this to StumbleUpon" target="_blank" rel="nofollow">StumbleUpon</a> &bull; <a href="http://blog.symmetrics.de/2012/07/magento-code-generator-tools/" onclick="addBookmark(event);" title="Magento code generator tools" target="_blank" rel="nofollow">Add to favorites</a> &bull; <a href="mailto:?subject=Magento code generator tools&amp;body=[TOC]

The usual development process for the Magento platform requires a lot of common operations related with project development, module creation, creation of different models, helpers, blocks etc. from developers. Those actions take a lot of tim - http://blog.symmetrics.de/2012/07/magento-code-generator-tools/" title="Email this" target="_blank" rel="nofollow">Email</a> &bull; <a href="http://blog.symmetrics.de/feed/rss/" title="Subscribe to RSS" target="_blank" rel="nofollow">RSS</a>
<!-- End WP Socializer - Social Buttons - Output -->
]]></content:encoded>
			<wfw:commentRss>http://blog.symmetrics.de/2012/07/magento-code-generator-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magento Responsive Design</title>
		<link>http://blog.symmetrics.de/2012/06/responsive-design/</link>
		<comments>http://blog.symmetrics.de/2012/06/responsive-design/#comments</comments>
		<pubDate>Mon, 25 Jun 2012 09:30:11 +0000</pubDate>
		<dc:creator>symmetrics_eg</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Magento Theme]]></category>
		<category><![CDATA[Responsive Design]]></category>
		<category><![CDATA[symmetrics IT]]></category>
		<category><![CDATA[symmetrics Magento]]></category>
		<category><![CDATA[fluid grid]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[magento theme]]></category>
		<category><![CDATA[responsive design]]></category>
		<category><![CDATA[symmetrics]]></category>

		<guid isPermaLink="false">http://blog.symmetrics.de/?p=91</guid>
		<description><![CDATA[<p>Fluid GridStatisches GridBreakpointsMedia Querieslt IE9Brauche ich Responsive Design in meinem Magento Shop?ProsConssymmetrics &#8211; Ihr Partner für Magento-Responsive Design</p>

Fluid Grid
<p>Nach Ethan Marcotte&#8217;s Ideologie, ist Responsive Design die Gestaltung der Website über flexible Weiten, um sie je nach Bildschirmgröße des Besuchers individuell anzupassen.</p>
<p>In der Praxis sieht das so aus, dass wenn ein Besucher mit FullHD Bildschirm auf eine Responsive Website kommt, kriegt er mehr auf einmal zu sehen, als ein Besucher mit nur 1024&#215;768 Auflösung. Inhaltlich sind aber beide Seiten gleich. Schön zu sehen auf folgenden Seiten:</p>
<p>http://css-tricks.com/
http://www.smashingmagazine.com/</p>
<p>Seit längerem beschäftigen wie uns bei symmetrics mit Magento Responsive Design und arbeiten neben der theoretischen Grundlage aktiv an ersten Kundenprojekten und Magento Themes. In Magento sind Fluid Grids in einem bestehenden Shop unter hohem Zeitaufwand gegenüber statischem Grid umsetzbar. Beinah jegliche Weiten und Abstände müssen in Prozent angegeben werden. Intelligente Floatings sind u.U. neu zu erarbeiten. Gleiches gilt für Produktbilder und weitere andere Grafiken. All <a href="http://blog.symmetrics.de/2012/06/responsive-design/">... mehr zu Magento Responsive Design</a>]]></description>
			<content:encoded><![CDATA[<p><ol class="toc-generator"><li><a href="#toc-fluid-grid" title="Jump to Fluid Grid">Fluid Grid</a></li><li><a href="#toc-statisches-grid" title="Jump to Statisches Grid">Statisches Grid</a></li><li><a href="#toc-breakpoints" title="Jump to Breakpoints">Breakpoints</a></li><li><a href="#toc-media-queries" title="Jump to Media Queries">Media Queries</a></li><li><a href="#toc-lt-ie9" title="Jump to lt IE9">lt IE9</a></li><li><a href="#toc-brauche-ich-responsive-design-in-meinem-magento-shop" title="Jump to Brauche ich Responsive Design in meinem Magento Shop?">Brauche ich Responsive Design in meinem Magento Shop?</a></li><li><a href="#toc-pros" title="Jump to Pros">Pros</a></li><li><a href="#toc-cons" title="Jump to Cons">Cons</a></li><li><a href="#toc-symmetrics-ihr-partner-fr-magento-responsive-design" title="Jump to symmetrics &#8211; Ihr Partner für Magento-Responsive Design">symmetrics &#8211; Ihr Partner für Magento-Responsive Design</a></li></ol></p>
<hr />
<h3 id="toc-fluid-grid">Fluid Grid</h3>
<p>Nach <a href="http://ethanmarcotte.com">Ethan Marcotte&#8217;s Ideologie</a>, ist Responsive Design die Gestaltung der Website über flexible Weiten, um sie je nach Bildschirmgröße des Besuchers individuell anzupassen.</p>
<p>In der Praxis sieht das so aus, dass wenn ein Besucher mit FullHD Bildschirm auf eine Responsive Website kommt, kriegt er mehr auf einmal zu sehen, als ein Besucher mit nur 1024&#215;768 Auflösung. Inhaltlich sind aber beide Seiten gleich. Schön zu sehen auf folgenden Seiten:</p>
<p><a href="http://css-tricks.com/">http://css-tricks.com/</a><br />
<a href="http://www.smashingmagazine.com/">http://www.smashingmagazine.com/</a></p>
<p>Seit längerem beschäftigen wie uns bei symmetrics mit Magento Responsive Design und arbeiten neben der theoretischen Grundlage aktiv an ersten Kundenprojekten und Magento Themes. In Magento sind Fluid Grids in einem bestehenden Shop unter hohem Zeitaufwand gegenüber statischem Grid umsetzbar. Beinah jegliche Weiten und Abstände müssen in Prozent angegeben werden. Intelligente Floatings sind u.U. neu zu erarbeiten. Gleiches gilt für Produktbilder und weitere andere Grafiken. All das müsste von Anfang an in einem Magento Projekt geplant werden oder in einem bestehenden Magento Template angepasst werden. Designvorlagen vorausgesetzt, denn man läuft Gefahr, dass sich das Erscheinungsbild des Shops mit flexiblen Weiten stärker verändert als mit festen Weiten. Plant man all das vor einem Projekt, fällt schnell der Begriff „Mobile First“ &#8211; die Erstellung einer Website beginnend mit dem nötigsten für einen Mobilen Shop, um den Kern zu erarbeiten und dann auf Desktopgröße hoch zu ziehen und mit Inhalten wie Upsells, Crosssells, Callouts und mehr zu füllen.</p>
<hr />
<h3 id="toc-statisches-grid">Statisches Grid</h3>
<p>Wenn Sie gerade auf einem Desktoprechner unterwegs sind, ziehen Sie testweise einmal das Browserfenster zusammen und auseinander und sehen Sie, wie sich der Inhalt an die Weite des Fensters anpasst.  Eine weitere schöne Seite die das statische Grid veranschaulicht finden Sie unter <a href="http://framelessgrid.com/">http://framelessgrid.com/</a>.</p>
<p>Die Vorteile von festen Weiten an bestimmten Breakpoints, Breakpoints werden im nächsten Abschnitt erklärt, sind daher in einen bestehenden Shop schneller und damit kostengünstiger umzusetzen. Das Design kann zu jedem Breakpoint festgelegt werden und man kann somit das Layout für jeden Step bestimmen. Das Design wirkt effizienter und bestimmender, denn während bei Fluid Grid der Inhalt prozentual gestaucht wird, reicht es auch oft aus einfach nur die font-size und die Weite einiger Elemente zu verringern.</p>
<p>Probleme kann es geben, wenn man die Seite speziell auf Mobile Devices anpassen will. Die feste Größe kann hier aufgrund der verschiedensten Auflösungen mehr Anpassungen benötigen. Ein Fluid Grid kann hier seine Vorteile ausspielen, da es sich genau an die Weite anpasst. Man kann also ein Mix aus Fluid und statischem Grid als Idee anbringen. Jedoch können z.B. gezielt iPhone und iPad  Auflösungen angesprochen werden und die User-Experience angehoben werden.</p>
<hr />
<h3 id="toc-breakpoints">Breakpoints</h3>
<p>Geht man von einem bereits bestehenden Magento Shop aus &#8211; egal ob Fluid oder Frameless Grid -  benötigt man festgelegte Breakpoints. Breakpoints können ganz einfach bestimmt werden &#8211; Browserfenster auf die maximale Weite bringen. Dann von rechts nach links das Fenster kleiner ziehen. Sobald die Seite horizontal anfängt zu scrollen, ist man am ersten nötigen Breakpoint angekommen.</p>
<p>Für gewöhnlich werden die Breakpoints 320, 480, 760, 1024 (Größen für z.B. iPhone/iPad Landscape und Portrait-Orientation) und aufwärts genutzt &#8211; wobei der Gedanke hinter Responsive Design nicht als die Anpassung einer Website an Mobile Geräte gedacht war, es ist nur ein positiver Effekt den man nutzen kann. Am Ende muss aber jede Seite speziell auf Breakpoints überprüft werden.</p>
<p>Diese Analyse unternehmen wir von symmetrics mit unseren Magento Kunden vor einem Projekt oder bei den zahlreichen Magento Shops, die zu uns umziehen im Rahmen der Weiterentwicklung.</p>
<p>In der Praxis konnten die sinnvollsten Breakpoints in der Kategorieansicht ermittelt werden. Geht man von FullHD Auflösung aus, so kann beispielsweise eine 8er Grid gezeigt werden. Staucht man das Browserfenster zusammen sollte jeder Breakpoint so gewählt werden, dass bei z.B. 1800px nur noch eine 7er Grid ist, bei 1600px eine 6er Grid und immer so weiter. Mit Hilfe dieser ermittelten Breakpoints aus der Kategorieansicht kann man weiterarbeiten. Danach folgen Header- und Footeranpassungen.</p>
<hr />
<h3 id="toc-media-queries">Media Queries</h3>
<p>Um mit dem Magento Responsive Design zu beginnen wird zunächst ein Meta Template benötigt um das Viewport Scaling bei Mobile Devices zu unterbinden. Das automatische Zoomen auf den Websiten Container von iOS kann dazu führen, dass die Bildqualität sinkt und Größen, bzw. Proportionen verfälscht werden.</p>
<p>Der Block sowie die CSS werden wie folgt in die Module Layout XML eingebunden:</p>
<pre class="brush: xml">&lt;layout version="0.1.0"&gt;
    &lt;default&gt;
        &lt;reference name="head"&gt;
            &lt;action method="addCss"&gt;&lt;stylesheet&gt;css/responsivedesign.css&lt;/stylesheet&gt;&lt;/action&gt;
            &lt;block type="page/html_head" name="responsive.head" template="page/html/responsive-head.phtml" /&gt;
            &lt;/reference&gt;
    &lt;/default&gt;
&lt;/layout&gt;</pre>
<p>In das Magento Template wird folgender Inhalt eingefügt:</p>
<pre class="brush: xml">&lt;meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0" /&gt;</pre>
<p>Als Alternative hier die Einbindung des Viewport Metas ausschließlich über Layout XML mit:</p>
<pre class="brush: xml">&lt;layout version="0.1.0"&gt;
    &lt;default&gt;
        &lt;reference name="head"&gt;
            &lt;block type="core/text" name="responsive.viewport"&gt;
                &lt;action method="setText"&gt;
                    &lt;text&gt;
                    &lt;![CDATA[&lt;meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0" /&gt;]]&gt;
                    &lt;/text&gt;
                &lt;/action&gt;
            &lt;/block&gt;
        &lt;/reference&gt;
    &lt;/default&gt;
&lt;/layout&gt;</pre>
<p>In die CSS kommen dann die Standard und individuellen Breakpoint Media Queries.</p>
<pre class="brush: css">/* Smartphones (portrait and landscape) ----------- */
@media only screen
and (min-device-width : 320px)
and (max-device-width : 480px) {
/* Styles */
}

/* Smartphones (landscape) ----------- */
@media only screen
and (min-width : 321px) {
/* Styles */
}

/* Smartphones (portrait) ----------- */
@media only screen
and (max-width : 320px) {
/* Styles */
}

/* iPads (portrait and landscape) ----------- */
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px) {
/* Styles */
}

/* iPads (landscape) ----------- */
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px)
and (orientation : landscape) {
/* Styles */
}

/* iPads (portrait) ----------- */
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px)
and (orientation : portrait) {
/* Styles */
}

/* Desktops and laptops ----------- */
@media only screen
and (min-width : 1224px) {
/* Styles */
}

/* Large screens ----------- */
@media only screen
and (min-width : 1824px) {
/* Styles */
}
/* iPhone 4 ----------- */
@media
only screen and (-webkit-min-device-pixel-ratio : 1.5),
only screen and (min-device-pixel-ratio : 1.5) {
/* Styles */
}</pre>
<p>Die Übergabe der Media Queries per CSS ist nur ein Weg um die Styles zu bearbeiten. Ein anderer Weg wäre, die Breakpoint Media Queries auf eigene CSS Dateien aufzuteilen, um bei großen Projekten Dateigrößen einzusparen.</p>
<pre class="brush: xml">&lt;layout version="0.1.0"&gt;
    &lt;default&gt;
        &lt;reference name="head"&gt;
            &lt;action method="addCss"&gt;
                &lt;stylesheet&gt;css/filename.css&lt;/stylesheet&gt;
                &lt;params&gt;media="screen and (min-width: 701px) and (max-width: 900px)"&lt;/params&gt;
            &lt;/action&gt;
        &lt;/reference&gt;
    &lt;/default&gt;
&lt;/layout&gt;</pre>
<p>Im Gegensatz zur Magento Community Edition ist bei der Magento Enterprise Edition zu beachten, dass mit dem CSS Merge die generierte media.css die Funktionalität der Ermittlung der Media Queries über das link-Tag unterbunden wird. Dies kann man umgehen, indem man entweder per Layout XML die CSS so einbindet:</p>
<pre class="brush: xml">&lt;layout version="0.1.0"&gt;
    &lt;default&gt;
        &lt;reference name="head"&gt;
            &lt;block type="core/text" name="media.900"&gt;
                &lt;action method="setText"&gt;
                    &lt;text&gt;
                        &lt;![CDATA[&lt;link rel="stylesheet" media="screen and (min-width: 701px) and (max-width: 900px)" href="css/filename.css" /&gt;]]&gt;
                    &lt;/text&gt;
                &lt;/action&gt;
            &lt;/block&gt;
        &lt;/reference&gt;
    &lt;/default&gt;
&lt;/layout&gt;</pre>
<p>Oder in die erstellte responsive-head.phtml unter dem Viewport Meta diese Zeile einfügt.</p>
<pre class="brush: xml">&lt;link rel="stylesheet" media="screen and (min-width: 701px) and (max-width: 900px)" href="css/filename.css" /&gt;</pre>
<hr />
<h3 id="toc-lt-ie9">lt IE9</h3>
<p>Thema Internet Explorer. Für IE8 und darunter wird entweder respond.js oder media-queries.js verwendet. Falls Responsive Design im Shop ausschließlich für Mobile Devices genutzt werden soll, kann auf das Fallback-Script verzichtet werden, da IE8 und geringer dort keine Verwendung findet.</p>
<pre class="brush: xml">&lt;layout version="0.1.0"&gt;
    &lt;default&gt;
        &lt;reference name="before_body_end"&gt;
            &lt;block type="core/text" name="lt.ie9.responsive" after="-"&gt;
                &lt;action method="setText"&gt;
                    &lt;text&gt;
                        &lt;![CDATA[&lt;!--[if lt IE 9]&gt;&lt;script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"&gt;&lt;/script&gt;&lt;![endif]--&gt;]]&gt;
                    &lt;/text&gt;
                &lt;/action&gt;
            &lt;/block&gt;
        &lt;/reference&gt;
    &lt;/default&gt;
&lt;/layout&gt;</pre>
<hr />
<h3 id="toc-brauche-ich-responsive-design-in-meinem-magento-shop">Brauche ich Responsive Design in meinem Magento Shop?</h3>
<p>Für Shopbetreiber ist es nun schwer sich zu entscheiden, ob man Responsive Design braucht oder nicht. Daher eine erste Pro/Contra Liste, die bei der Entscheidungsfindung helfen soll.</p>
<h4 id="toc-pros">Pros</h4>
<ul>
<li>Auflösungen von Handy bis FullHD können optimal dargestellt werden.</li>
<li>Technik wird großflächig unterstützt</li>
<li>Mehr mögliche Werbung auf Landing Pages / Homepage / Kategorie-Callouts</li>
<li>Der Kunde sieht mehr auf einmal und kann Produkte in der Grid besser vergleichen</li>
<li>Mögliches Alleinstellungsmerkmal &#8211; neuartige Technik im E-Commerce Bereich</li>
<li>Bei kleinen Screens ist kein horizontales Scrolling nötig und man verpasst somit kein Inhalt</li>
<li>Technik mit geringstem Aufwand, Webshops an jedes beliebige Mobile Device anzupassen</li>
<li>Keine großen Frameworks/Libraries nötig</li>
<li>Hoch- und Querformate von Mobile Devices können unterschiedlich genutzt werden</li>
<li>Inhalte umstrukturieren, nicht löschen</li>
<li>Geringer Testaufwand</li>
<li>Bessere Bedienbarkeit auf Mobile Devices</li>
<li>Ein Template, welches sich an alle Bildschirmgrößen auf Desktoprechner sowie an Mobile Devices wie Tablets und Smartphones anpasst</li>
<li>Kostenersparnis durch einmaliges Invest in ein Magento Responsive Theme anstatt mehrere optimierte Templates für verschiedene Geräte zu bauen</li>
<li>Conversionoptimierung durch zufriedene Kunden und geringere Kaufabbrüche im Shop</li>
</ul>
<h3 id="toc-cons">Cons</h3>
<ul>
<li>Gewöhnungsbedürftiges Layout in großen Darstellungen</li>
</ul>
<hr />
<h3 id="toc-symmetrics-ihr-partner-fr-magento-responsive-design">symmetrics &#8211; Ihr Partner für Magento-Responsive Design</h3>
<p>Als Europas größter Magento Gold Partner haben wir uns als erstes Unternehmen für Magento Shops  in der Magento Community und Magento Enterprise auf die Erstellung von Magento Responsive Designs fokussiert und hier umfangreiche Expertise aufgebaut, wir bieten Online Händlern jeder Größe hier:</p>
<ul>
<li>Beratung bei theoretischen Grundlagen und Maßnahmen zur Conversionoptimierung und Umsatzsteigerung durch Magento Responsive Design</li>
<li>Analyse des Designs bestehender oder auch neuer Webshops</li>
<li>Konzepterstellung für Handy,Tablet bis hin zu FullHD Bildschirmen unter Einhaltung von Corporate Designs</li>
<li>Aussprache von Empfehlungen und Zusammenarbeit mit Designagenturen sowie agile Anpassungen von neuen Ideen während der Entwicklung</li>
<li>Umfangreiche Tests mit verschiedenster mobiler Hardware (Apple, HTC, Windows Mobile, Samsung)</li>
<li>Verringerung der Ladezeiten auf mobilen Geräten durch Anpassung medialer Inhalte</li>
<li>Sehr schnelle Umsetzungen möglich, da keine Frameworks oder starke Mobilanpassungen nötig sind. Allein die Auflösung bestimmt das Design der Seite</li>
<li>Verwendung neuester Möglichkeiten von HTML5 und CSS3</li>
<li>Anpassungen an verschiedenste Browser bis runter zu IE7 sind möglich und stellen kein Problem für symmetrics dar</li>
<li>Optimierung in Bereichen SEO und Usability</li>
</ul>
<p>Für die kommenden Wochen sind neben Präsentationen und weiteren Beiträgen aus unserer neuen Abteilung rund um das Thema ebenso Schulungen sowie ein Magento Responsive Produkt geplant, welches wir in zur Verfügung stellen werden. Aktuell läuft die Schlussphase der ersten Kundenprojekte in denen das Verfahren eingesetzt wird, wir werden darüber berichten, sobald diese abgeschlossen sein werden. Stay tuned!</p>
<p>In Verbindung mit der Symmetrics-Magento Varnish- / ESI Lösung aus unserem Portofilio ermöglichen wir schnelle dynamische Online-Shops mit denen Sie Ihre Conversionrate und Umsatz steigern können.</p>
<h3>Share and Enjoy</h3>

<!-- Start WP Socializer - Social Buttons - Output -->
 &bull; <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F06%2Fresponsive-design%2F&amp;t=Magento+Responsive+Design" title="Share this on Facebook" target="_blank" rel="nofollow">Facebook</a> &bull; <a href="http://twitter.com/home?status=Magento+Responsive+Design%20-%20http%3A%2F%2Fblog.symmetrics.de%3Fp%3D91%20" title="Tweet this !" target="_blank" rel="nofollow">Twitter</a> &bull; <a href="http://delicious.com/post?url=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F06%2Fresponsive-design%2F&amp;title=Magento+Responsive+Design&amp;notes=%5BTOC%5D%0D%0A%0D%0A%0D%0A%0D%0AFluid+Grid%0D%0ANach+Ethan+Marcotte%27s+Ideologie%2C+ist+Responsive+Design+die+Gestaltung+der+Website+%C3%BCber+flexible+Weiten%2C+um+sie+je+nach+Bildschirmgr%C3%B6%C3%9Fe+des+Besuchers+individuell+anzupassen.%0D%0A%0D%0AIn+der+Praxis+sieht+das+so+aus%2C+dass+wenn+ein+" title="Post this on Delicious" target="_blank" rel="nofollow">Delicious</a> &bull; <a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F06%2Fresponsive-design%2F&amp;title=Magento+Responsive+Design&amp;source=symmetrics+blog+-+Ein+weiteres+tolles+WordPress-Blog&amp;summary=%5BTOC%5D%0D%0A%0D%0A%0D%0A%0D%0AFluid+Grid%0D%0ANach+Ethan+Marcotte%27s+Ideologie%2C+ist+Responsive+Design+die+Gestaltung+der+Website+%C3%BCber+flexible+Weiten%2C+um+sie+je+nach+Bildschirmgr%C3%B6%C3%9Fe+des+Besuchers+individuell+anzupassen.%0D%0A%0D%0AIn+der+Praxis+sieht+das+so+aus%2C+dass+wenn+ein+" title="Share this on LinkedIn" target="_blank" rel="nofollow">LinkedIn</a> &bull; <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F06%2Fresponsive-design%2F&amp;title=Magento+Responsive+Design" title="Submit this to StumbleUpon" target="_blank" rel="nofollow">StumbleUpon</a> &bull; <a href="http://blog.symmetrics.de/2012/06/responsive-design/" onclick="addBookmark(event);" title="Magento Responsive Design" target="_blank" rel="nofollow">Add to favorites</a> &bull; <a href="mailto:?subject=Magento Responsive Design&amp;body=[TOC]



Fluid Grid
Nach Ethan Marcotte's Ideologie, ist Responsive Design die Gestaltung der Website über flexible Weiten, um sie je nach Bildschirmgröße des Besuchers individuell anzupassen.

In der Praxis sieht das so aus, dass wenn ein  - http://blog.symmetrics.de/2012/06/responsive-design/" title="Email this" target="_blank" rel="nofollow">Email</a> &bull; <a href="http://blog.symmetrics.de/feed/rss/" title="Subscribe to RSS" target="_blank" rel="nofollow">RSS</a>
<!-- End WP Socializer - Social Buttons - Output -->
]]></content:encoded>
			<wfw:commentRss>http://blog.symmetrics.de/2012/06/responsive-design/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Varnish-ESI Caching mit Magento</title>
		<link>http://blog.symmetrics.de/2012/06/varnish-esi-caching-mit-magento/</link>
		<comments>http://blog.symmetrics.de/2012/06/varnish-esi-caching-mit-magento/#comments</comments>
		<pubDate>Mon, 18 Jun 2012 09:48:29 +0000</pubDate>
		<dc:creator>symmetrics_eg</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[symmetrics IT]]></category>
		<category><![CDATA[symmetrics Magento]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[esi]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[varnish]]></category>

		<guid isPermaLink="false">http://blog.symmetrics.de/?p=79</guid>
		<description><![CDATA[<p>VoraussetzungenWas ist ESI und wie funktioniert es?Wie funktioniert ein ESI-Request in Zusammenhang mit Magento?Was passiert, wenn ein ESI-Tag an den Browser gerät?Wie kann Magento einen ESI-Request erzeugen?ManuellAutomatisiertKann man die erzeugten ESI-Requests auch cachen?Welche Probleme können mit ESI auftreten?Was mache ich, wenn zu viele ESI-Anfragen entstehen?Was mache ich, wenn das Backend (Magento) nicht verfügbar ist?Wie verhindere ich das unnötige Erzeugen von Sessions?</p>

Voraussetzungen
<p>Um Varnish mit ESI betreiben zu können, muss man ein gewisses Grundwissen haben, wie die Konfiguration (VCL) von Varnish funktioniert. Zusätzlich sollte man Varnish 3 verwenden, da diese Version die Möglichkeit bietet eigene Module zu entwickeln. Dies sind sogenannte V-Mods. Für die lokale Entwicklung ist es ratsam sich Varnish aus den Sourcen selber zu kompilieren. Dies hat zwei große Vorteile. Erstens man kann sich mehrere Versionen parallel installieren und hält somit sein System sauber. Zweitens ist es dann auch einfacherer V-Mods zu schreiben und zu kompilieren. Dafür muss man aber <a href="http://blog.symmetrics.de/2012/06/varnish-esi-caching-mit-magento/">... mehr zu Varnish-ESI Caching mit Magento</a>]]></description>
			<content:encoded><![CDATA[<p><ol class="toc-generator"><li><a href="#toc-voraussetzungen" title="Jump to Voraussetzungen">Voraussetzungen</a></li><li><a href="#toc-was-ist-esi-und-wie-funktioniert-es" title="Jump to Was ist ESI und wie funktioniert es?">Was ist ESI und wie funktioniert es?</a></li><li><a href="#toc-wie-funktioniert-ein-esi-request-in-zusammenhang-mit-magento" title="Jump to Wie funktioniert ein ESI-Request in Zusammenhang mit Magento?">Wie funktioniert ein ESI-Request in Zusammenhang mit Magento?</a></li><li><a href="#toc-was-passiert-wenn-ein-esi-tag-an-den-browser-gert" title="Jump to Was passiert, wenn ein ESI-Tag an den Browser gerät?">Was passiert, wenn ein ESI-Tag an den Browser gerät?</a></li><li><a href="#toc-wie-kann-magento-einen-esi-request-erzeugen" title="Jump to Wie kann Magento einen ESI-Request erzeugen?">Wie kann Magento einen ESI-Request erzeugen?</a></li><li><a href="#toc-manuell" title="Jump to Manuell">Manuell</a></li><li><a href="#toc-automatisiert" title="Jump to Automatisiert">Automatisiert</a></li><li><a href="#toc-kann-man-die-erzeugten-esi-requests-auch-cachen" title="Jump to Kann man die erzeugten ESI-Requests auch cachen?">Kann man die erzeugten ESI-Requests auch cachen?</a></li><li><a href="#toc-welche-probleme-knnen-mit-esi-auftreten" title="Jump to Welche Probleme können mit ESI auftreten?">Welche Probleme können mit ESI auftreten?</a></li><li><a href="#toc-was-mache-ich-wenn-zu-viele-esi-anfragen-entstehen" title="Jump to Was mache ich, wenn zu viele ESI-Anfragen entstehen?">Was mache ich, wenn zu viele ESI-Anfragen entstehen?</a></li><li><a href="#toc-was-mache-ich-wenn-das-backend-magento-nicht-verfgbar-ist" title="Jump to Was mache ich, wenn das Backend (Magento) nicht verfügbar ist?">Was mache ich, wenn das Backend (Magento) nicht verfügbar ist?</a></li><li><a href="#toc-wie-verhindere-ich-das-unntige-erzeugen-von-sessions" title="Jump to Wie verhindere ich das unnötige Erzeugen von Sessions?">Wie verhindere ich das unnötige Erzeugen von Sessions?</a></li></ol></p>
<hr/>
<h3 id="toc-voraussetzungen">Voraussetzungen</h3>
<p>Um Varnish mit ESI betreiben zu können, muss man ein gewisses Grundwissen haben, wie die Konfiguration (VCL) von Varnish funktioniert. Zusätzlich sollte man Varnish 3 verwenden, da diese Version die Möglichkeit bietet eigene Module zu entwickeln. Dies sind sogenannte V-Mods. Für die lokale Entwicklung ist es ratsam sich Varnish aus den Sourcen selber zu kompilieren. Dies hat zwei große Vorteile. Erstens man kann sich mehrere Versionen parallel installieren und hält somit sein System sauber. Zweitens ist es dann auch einfacherer V-Mods zu schreiben und zu kompilieren. Dafür muss man aber eine entsprechende Umgebung haben, wie z.B. einen Mac mit installiertem XCode und den Compiler Commandline Tools. Dazu ist noch der Einsatz von Macports zu empfehlen. Dies ist aber auch problemlos mit einem Linux System, wie z.B. Ubuntu möglich. Es ist aber nicht unbedingt zu empfehlen dies unter Windows zu versuchen, da Varnish auf die POSIX system API calls verweist, welche unter Windows nicht standardmäßig verfügbar sind. Hierzu müsste man cygwin installieren.</p>
<hr />
<h3 id="toc-was-ist-esi-und-wie-funktioniert-es">Was ist ESI und wie funktioniert es?</h3>
<p>ESI steht für Edge-Side-Includes, was auf Deutsch Quer-Seiten-Erfassung heißen würde. Technisch gesehen wird hier ein Bereich definiert, welcher bei dem Aufbau der Seite aus einer anderen Quelle bezogen wird. Dies ähnelt sehr den SSI (Server-Side-Includes). Die ESI-Tags sind reguläre XML Tags. Dies hat den Grund, dass diese einfacherer in ein XHTML-Dokument einzubetten sind und somit auch leichter zu verarbeiten. Zusätzlich erhöht es auch die Lesbarkeit des XHTML-Dokuments.</p>
<p>ESI selber wurde von Akamai <a href="http://www.akamai.com/dl/technical_publications/akamai_esi_extensions.pdf">spezifiziert</a> und ist in Varnish nicht mit allen <a href="https://www.varnish-cache.org/trac/wiki/ESIfeatures">Features</a> verfügbar. Derzeit wird von Varnish nur der include, remove und Kommentar Tag unterstützt.</p>
<h4 id="toc-wie-funktioniert-ein-esi-request-in-zusammenhang-mit-magento">Wie funktioniert ein ESI-Request in Zusammenhang mit Magento?</h4>
<p>Um dies zu realisieren wird als erstes eine neue Route definiert. Am Besten macht man dies in einem eigenen Modul. Für die erstellte Route wird dann ein beliebiger Controller angelegt.<br />
Beispiel:<br />
- Route = varnish<br />
- Controller = EsiController<br />
- Dies würde dann folgende Route ergeben:</p>
<pre class="brush: bash">{BASE_URL}(/STORE_CODE)/varnish/esi/</pre>
<p>Der Controller bietet dann eine beliebige Action, welche über einen zusätzlichen Parameter den gewünschten Block ausliefern kann. Als ESI-Tag würde das dann folgendermaßen aussehen:</p>
<pre class="brush: bash">&lt;esi:include src="{BASE_URL}/varnish/esi/block/id/cart_sidebar" /&gt;</pre>
<p>Dieser ersetzt dann den Block für die Darstellung des Carts in der rechten Sidebar. Zusätzlich ist noch zu empfehlen den esi:remove Tag zu verwenden, damit die Seite auch ohne Varnish oder deaktiviertem ESI noch lauffähig ist. Dies sähe in dem oben genannten Beispiel dann wie folgt aus:</p>
<pre class="brush: bash">&lt;esi:include src="{BASE_URL}/varnish/esi/block/id/cart_sidebar" /&gt;
&lt;esi:remove&gt;
&lt;div&gt;&lt;p&gt;This content will be removed by esi processing.&lt;/p&gt;&lt;/div&gt;
&lt;/esi:remove&gt;
</pre>
<p>Grundsätzlich kann man sagen, dass es zwei Möglichkeiten gibt ein ESI-Tag in Magento zu erzeugen. Dies wird im folgenden Absatz noch genauer beschreiben.</p>
<h4 id="toc-was-passiert-wenn-ein-esi-tag-an-den-browser-gert">Was passiert, wenn ein ESI-Tag an den Browser gerät?</h4>
<p>Der Browser wird die Tags ignorieren, da diese einen eigenen Namespace (esi) besitzen. Entwickler, die mit Java und Tapestry arbeiten, werden dies Verhalten bereits kennen. Dies hat zusätzlich auch als großen Vorteil, dass die Seite immer noch korrekt dargestellt werden kann, falls Varnish einmal ausfallen sollte. Hierzu muss aber dann richtig Gebrauch von dem esi:remove Tags gemacht werden.</p>
<hr />
<h3 id="toc-wie-kann-magento-einen-esi-request-erzeugen">Wie kann Magento einen ESI-Request erzeugen?</h3>
<p>Um ein ESI-Request aus Magento heraus zu erzeugen gibt es zwei Wege.</p>
<h4 id="toc-manuell">Manuell</h4>
<p>Dies ist für den Anfang und für erste Tests wohl der leichteste Weg. Will man aber mehrere Bereiche auf der Seite mit ESI abdecken, sollte man sich überlegen hier nicht einen Automatismus zu entwickeln. Dies senkt zu einem den Wartungsaufwand und minimiert auch die Fehleranfälligkeit.</p>
<h4 id="toc-automatisiert">Automatisiert</h4>
<p>Bei einer automatisierten Lösung fängt man das Rendern der einzelnen Blöcke ab (<em>core_block_abstract_to_html_after</em> Event) und prüft ob dieser Block durch einen ESI-Request ersetzt werden soll. Ist dies der Fall, wird dann die Blockausgabe mit den entsprechenden esi Tags dekoriert. Dazu wird der Inhalt aus dem Block Transport Container modifiziert.</p>
<hr />
<h3 id="toc-kann-man-die-erzeugten-esi-requests-auch-cachen">Kann man die erzeugten ESI-Requests auch cachen?</h3>
<p>Ja es ist möglich, diese Requests auch in Varnish zu cachen. Eine Möglichkeit wäre hierfür einen zweiten Varnish zu verwenden, welcher nur für das Cachen der ESI-Anfragen zuständig ist. Hierbei muss aber beachtetet werden, dass die ESI-Anfragen für jeden Kunden individuell sind. Hier kann das Risiko bestehen, dass ein Kunde die Daten eines anderen Kunden sieht.</p>
<hr />
<h3 id="toc-welche-probleme-knnen-mit-esi-auftreten">Welche Probleme können mit ESI auftreten?</h3>
<p>Grundsätzlich gibt es drei Problem-Merkmale, die in Verbindung mit ESI auftreten können und zu beachten sind.</p>
<ol>
<li>Zu viele ESI-Anfragen</li>
<li>Das Backend (Magento) ist nicht verfügbar</li>
<li>Erzeugen ungenutzter Sessions</li>
</ol>
<h4 id="toc-was-mache-ich-wenn-zu-viele-esi-anfragen-entstehen">Was mache ich, wenn zu viele ESI-Anfragen entstehen?</h4>
<p>Wenn zum Beispiel auf jeder Seite die rechte Sidebar inklusive aller Standardfunktionen verwendet wird, dann ist für jeden dynamischen Bereich ein ESI-Request auszulösen.<br />
Dies wären dann folgende:</p>
<ol>
<li>Welcome Message im Header</li>
<li>Minicart</li>
<li>Zuletzt angesehen Produkte</li>
<li>Vergleichsliste</li>
<li>Umfragen</li>
<li>Wunschliste</li>
<li>Messages Block</li>
<li>Global Messages Block</li>
</ol>
<p>Dadurch werden acht Anfragen an Magento für den spezifischen Bereich durchgeführt. Dies kann unter Umständen eine höhere Gesamtlast erzeugen, als wenn man Magento ohne Varnish Cache betreiben würde. Eine Lösung die zu umgehen ist, dass man jede ESI-Anfrage für die gültige Session cached und diese dann nach Bedarf leert. Zum Beispiel wenn sich der Kunde einloggt, leert man alle Placeholder. Hierbei ist auch zu beachten, dass man die Messages Blöcke spezifisch behandelt.</p>
<h4 id="toc-was-mache-ich-wenn-das-backend-magento-nicht-verfgbar-ist">Was mache ich, wenn das Backend (Magento) nicht verfügbar ist?</h4>
<p>Hierbei ist zu empfehlen, dass, wie schon beschrieben, die ESI-Requests gecached werden. Dadurch hat man die Möglichkeit die Fehlerausgabe von Varnish zu nutzten. Dadurch merkt der Kunde vorerst nicht gleich, dass der Shop nicht funktioniert und kann weiterhin im Katalog des Shops blättern. Zusätzlich kann man sich ein Varnish V-MOD schreiben, welcher dann entsprechend des Requests bei einem Fehler eine Standardausgabe darstellt.</p>
<h4 id="toc-wie-verhindere-ich-das-unntige-erzeugen-von-sessions">Wie verhindere ich das unnötige Erzeugen von Sessions?</h4>
<p>Ein Weg dies zu verhindern ist, dass man prüft ob der Kunde bereits ein entsprechendes Session-Cookie ausliefert. Ist das nicht der Fall, muss dem Kunden eine neue Session zugewiesen werden. Dies kann man z.B. durch einen direkten Request an das Backend (Magento) veranlassen, oder indem man eine entsprechende Logik in Varnish implementiert. Wird diese Logik nicht implementiert, besteht die Gefahr, dass für jeden ESI-Request eine neue Session erzeugt wird. Hierbei ist auch zu beachten, dass die Response Header der ESI-Anfrage nicht an den Client weiter gegeben werden. Somit ist eine Session-Zuweisung über ESI nicht möglich.</p>
<p>Ein weiterer wichtiger Punkt bei der Session Prüfung ist, das Suchmaschinen-Bots keine Sessions annehmen oder ausliefern. Um diese korrekt zu behandeln muss eine Weiche in die VCL implementiert werden.</p>
<h3>Share and Enjoy</h3>

<!-- Start WP Socializer - Social Buttons - Output -->
 &bull; <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F06%2Fvarnish-esi-caching-mit-magento%2F&amp;t=Varnish-ESI+Caching+mit+Magento" title="Share this on Facebook" target="_blank" rel="nofollow">Facebook</a> &bull; <a href="http://twitter.com/home?status=Varnish-ESI+Caching+mit+Magento%20-%20http%3A%2F%2Fblog.symmetrics.de%3Fp%3D79%20" title="Tweet this !" target="_blank" rel="nofollow">Twitter</a> &bull; <a href="http://delicious.com/post?url=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F06%2Fvarnish-esi-caching-mit-magento%2F&amp;title=Varnish-ESI+Caching+mit+Magento&amp;notes=%5BTOC%5D%0D%0A%0D%0A%0D%0A%0D%0AVoraussetzungen%0D%0AUm+Varnish+mit+ESI+betreiben+zu+k%C3%B6nnen%2C+muss+man+ein+gewisses+Grundwissen+haben%2C+wie+die+Konfiguration+%28VCL%29+von+Varnish+funktioniert.+Zus%C3%A4tzlich+sollte+man+Varnish+3+verwenden%2C+da+diese+Version+die+M%C3%B6glichkeit+bietet" title="Post this on Delicious" target="_blank" rel="nofollow">Delicious</a> &bull; <a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F06%2Fvarnish-esi-caching-mit-magento%2F&amp;title=Varnish-ESI+Caching+mit+Magento&amp;source=symmetrics+blog+-+Ein+weiteres+tolles+WordPress-Blog&amp;summary=%5BTOC%5D%0D%0A%0D%0A%0D%0A%0D%0AVoraussetzungen%0D%0AUm+Varnish+mit+ESI+betreiben+zu+k%C3%B6nnen%2C+muss+man+ein+gewisses+Grundwissen+haben%2C+wie+die+Konfiguration+%28VCL%29+von+Varnish+funktioniert.+Zus%C3%A4tzlich+sollte+man+Varnish+3+verwenden%2C+da+diese+Version+die+M%C3%B6glichkeit+bietet" title="Share this on LinkedIn" target="_blank" rel="nofollow">LinkedIn</a> &bull; <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.symmetrics.de%2F2012%2F06%2Fvarnish-esi-caching-mit-magento%2F&amp;title=Varnish-ESI+Caching+mit+Magento" title="Submit this to StumbleUpon" target="_blank" rel="nofollow">StumbleUpon</a> &bull; <a href="http://blog.symmetrics.de/2012/06/varnish-esi-caching-mit-magento/" onclick="addBookmark(event);" title="Varnish-ESI Caching mit Magento" target="_blank" rel="nofollow">Add to favorites</a> &bull; <a href="mailto:?subject=Varnish-ESI Caching mit Magento&amp;body=[TOC]



Voraussetzungen
Um Varnish mit ESI betreiben zu können, muss man ein gewisses Grundwissen haben, wie die Konfiguration (VCL) von Varnish funktioniert. Zusätzlich sollte man Varnish 3 verwenden, da diese Version die Möglichkeit bietet - http://blog.symmetrics.de/2012/06/varnish-esi-caching-mit-magento/" title="Email this" target="_blank" rel="nofollow">Email</a> &bull; <a href="http://blog.symmetrics.de/feed/rss/" title="Subscribe to RSS" target="_blank" rel="nofollow">RSS</a>
<!-- End WP Socializer - Social Buttons - Output -->
]]></content:encoded>
			<wfw:commentRss>http://blog.symmetrics.de/2012/06/varnish-esi-caching-mit-magento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Market Ready Germany 2.0. (MRG 2.0) von Magento Enterprise Partner symmetrics ab sofort verfuegbar</title>
		<link>http://blog.symmetrics.de/2010/06/market-ready-germany-2-0-mrg-2-0-von-magento-enterprise-partner-symmetrics-ab-sofort-verfugbar/</link>
		<comments>http://blog.symmetrics.de/2010/06/market-ready-germany-2-0-mrg-2-0-von-magento-enterprise-partner-symmetrics-ab-sofort-verfugbar/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 17:53:16 +0000</pubDate>
		<dc:creator>symmetrics_bl</dc:creator>
				<category><![CDATA[symmetrics Marketing]]></category>
		<category><![CDATA[chash ticket]]></category>
		<category><![CDATA[lokalisierungspaket]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[magento community]]></category>
		<category><![CDATA[magento enterprise]]></category>
		<category><![CDATA[market ready germany]]></category>
		<category><![CDATA[mrg]]></category>
		<category><![CDATA[mrg 2.0.]]></category>
		<category><![CDATA[payone]]></category>
		<category><![CDATA[trusted shops]]></category>

		<guid isPermaLink="false">http://blog.symmetrics.de/?p=55</guid>
		<description><![CDATA[<p>Market Ready Germany 2.0. (MRG 2.0) von Magento Enterprise Partner symmetrics und Trusted Shops ist ab sofort verfügbarNeue Key-FeaturesPartner</p>

Market Ready Germany 2.0. (MRG 2.0) von Magento Enterprise Partner symmetrics und Trusted Shops ist ab sofort verfügbar
<p>Ab sofort steht allen Nutzern der erfolgreichen Open Source E-Commerce-Plattform Magento, das neue Lokalisierungspaket „Market Ready Germany by symmetrics &#38; Trusted Shops“ in der Version 2.0. zum kostenlosen Download zur Verfügung. Das Paket ist kompatibel mit allen aktuellen Versionen von Magento, sowohl der Community Edition 1.4 als auch erstmals vollständig mit Magento Enterprise Edition 1.8.

Magento Enterprise Partner symmetrics und Trusted Shops, Europas führender Vertrauensdienstleister für Online-Händler, machen das Magento E-Commerce-Plattform automatisch fit für den deutschen Markt. Magento-Nutzer mussten bisher vielfältige manuelle Anpassungen an der Software, der Darstellung und den Texten vornehmen, wenn sie ihren Shop für die deutschen Anforderungen funktionell vollständig und rechtsicher machen wollten.</p>
<p>„Die Erweiterung &#8220;Market Ready Germany by symmetrics &#38; Trusted Shops&#8221; ist <a href="http://blog.symmetrics.de/2010/06/market-ready-germany-2-0-mrg-2-0-von-magento-enterprise-partner-symmetrics-ab-sofort-verfugbar/">... mehr zu Market Ready Germany 2.0. (MRG 2.0) von Magento Enterprise Partner symmetrics ab sofort verfuegbar</a>]]></description>
			<content:encoded><![CDATA[<p><ol class="toc-generator"><li><a href="#toc-market-ready-germany-2-0-mrg-2-0-von-magento-enterprise-partner-symmetrics-und-trusted-shops-ist-ab-sofort-verfgbar" title="Jump to Market Ready Germany 2.0. (MRG 2.0) von Magento Enterprise Partner symmetrics und Trusted Shops ist ab sofort verfügbar">Market Ready Germany 2.0. (MRG 2.0) von Magento Enterprise Partner symmetrics und Trusted Shops ist ab sofort verfügbar</a></li><li><a href="#toc-neue-key-features" title="Jump to Neue Key-Features">Neue Key-Features</a></li><li><a href="#toc-partner" title="Jump to Partner">Partner</a></li></ol></p>
<hr/>
<h3 id="toc-market-ready-germany-2-0-mrg-2-0-von-magento-enterprise-partner-symmetrics-und-trusted-shops-ist-ab-sofort-verfgbar"><strong>Market Ready Ger</strong><strong>many 2.0. (MRG 2.0) von Magento Enterprise Partner symmetrics und Trusted Shops ist ab sofort verfügbar</strong></h3>
<p>Ab sofort steht allen Nutzern der erfolgreichen Open Source E-Commerce-Plattform Magento, das neue Lokalisierungspaket „Market Ready Germany by symmetrics &amp; Trusted Shops“ in der Version 2.0. zum kostenlosen Download zur Verfügung. Das Paket ist kompatibel mit allen aktuellen Versionen von Magento, sowohl der Community Edition 1.4 als auch erstmals vollständig mit Magento Enterprise Edition 1.8.<br />
<a href="http://blog.symmetrics.de/wp-content/uploads/2010/06/Bildschirmfoto-2010-06-09-um-19.28.511.png"><img class="size-medium wp-image-64 alignright" title="Market Ready Germany -  MRG 2.0. von Magento Enterprise Partner symmetrics" src="http://blog.symmetrics.de/wp-content/uploads/2010/06/Bildschirmfoto-2010-06-09-um-19.28.511-300x267.png" alt="Market Ready Germany - MRG 2.0. von Magento Enterprise Partner  symmetrics" width="300" height="267" /></a><br />
Magento Enterprise Partner symmetrics und Trusted Shops, Europas führender Vertrauensdienstleister für Online-Händler, machen das Magento E-Commerce-Plattform automatisch fit für den deutschen Markt. Magento-Nutzer mussten bisher vielfältige manuelle Anpassungen an der Software, der Darstellung und den Texten vornehmen, wenn sie ihren Shop für die deutschen Anforderungen funktionell vollständig und rechtsicher machen wollten.</p>
<p>„Die Erweiterung &#8220;Market Ready Germany by symmetrics &amp; Trusted Shops&#8221; ist ein Riesenerfolg: Die Extension wurde seit erstmaliger Einführung vor knapp einem Jahr fast 18.000 Mal heruntergeladen und gehört damit zu den populärsten Extensions weltweit. Dabei ist es die größte jemals releaste Modulsammlung mit nun 18 Einzelmodulen“, erklärt Boris Lokschin, CEO der symmetrics gmbh.</p>
<p>Die neue Version MRG 2.0. ist ein komplettes Refactoring &#8220;from scratch&#8221;. Hauptziel war es eine deutlich höhere Kompatibilität zwischen dem Paket und individuellen Modulen von Entwicklern und Agenturen zu erreichen. Zudem sollten alle neuen Magento Möglichkeiten umfänglich nutzt werden können und innovative neue Features eingebracht werden.<br />
MRG 2.0. konfiguriert Magento automatisch vor für den deutschen Markt, ergänzt für Deutschland notwendige Funktionalitäten eines B2C Shops und bereitet Magento auf eine Zertifzierung durch Trusted Shops vor. Durch die Vorzertifizierung können Magento-Nutzer Sonderkonditionen für die Gütesiegel-Zertifizierung von Trusted Shops nutzen. Beispielsweise sorgt Market Ready Germany für die korrekte Preisauszeichnung der Artikel, gewährleistet die erforderliche Belehrung über das Widerrufsrecht und berücksichtigt wichtige Erfordernisse des Datenschutzes.</p>
<p>Aber auch zahlreiche neue Features sind in MRG 2.0. eingeflossen, wie z. B:</p>
<h3 id="toc-neue-key-features">Neue Key-Features</h3>
<ul>
<li>Volle Kompatibilität aller Module und Abhängigkeiten zu Magento Community Edition 1.4 und Magento Enterprise Edition 1.8.</li>
<li>Vollständig mit Hilfe der Experten von Trusted Shops an alle aktuellen rechtlichen Anforderungen angepasst/aktualisiert worden</li>
<li>Komplett überarbeitetes Impressum Modul für mehr Flexibilität, neuen Features, Komfort und besseren Verwendungsmöglichkeiten</li>
<li>Komplett neues Invoice PDF Modul (Rechnung Modul) welches nicht mehr Magento Invoice überschreibt, sondern komplett eigene Funktionalitäten mit sich bringt. Für leichtere Anpassungen, Upgradefähigkeit und Erweiterbarkeit. Die Integration zum Impressum Modul wurde deutlich verbessert.</li>
<li>neues Modul &#8220;Symmetrics_PdfPrinter&#8221; für den Export/Rendering beliebiger CMS Seiten als PDF</li>
<li>neues Modul &#8220;Symmetrics_SecurePassword&#8221; verhindert die Verwendung der angegebene E-Mail Adresse auch als Passwort. Außerdem bietet es einen Brute-Force Schutz für den Login im Frontend; es sperrt nach mehreren fehlgeschlagenen Login-Versuchen zeitweise den Account. Im Registrierungsformular wird eine Notiz eingeblendet, die darauf hinweist, wie ein sicheres Passwort aussehen sollte.</li>
<li>neues Modul &#8220;Symmetrics_SetMeta&#8221; für verbessertes SEO, dieses Modul füllt die Meta-Daten eines Produktes automatisch mit dem Produktnamen und den Kategorien</li>
<li>neues Modul &#8220;Symmetrics_TweaksGerman&#8221; verändert das System im Hinblick auf die rechtlichen Erfordernisse eines Online-Shops am deutschen Markt. Das Modul entspricht der Vorzertifizierung für das Trusted Shop Gütesiegel und beinhaltet gemergte Teile von inzwischen entfernten Modulen aus MRG 1.0.</li>
<li>uvm.</li>
</ul>
<p>Die vollständigen Release Notes mit voller Beschreibung der Optimierungen, aller Verbesserungen bestehender Module und weiteren neuen Features finden Sie in den Release Notes unter: <a href="http://www.symmetrics.de/mrg/docs/mrg2-release-notes.pdf" target="_blank">http://www.symmetrics.de/mrg/docs/mrg2-release-notes.pdf</a></p>
<h3 id="toc-partner">Partner</h3>
<p>MRG 2.0 integriert führende Branchenpartner in den Bereichen Rechtssicherheit, Vertrauensdienstleistungen und Payment in das Paket. Dies ermöglicht Shopbetreibern einen maximal einfachen Zugang zu den integrierten Services. Shopbetreiber können durch die Verwendung der weiterhin kostenfreien MRG Installation auf diese Weise zusätzlich von attraktiven Konditionen und einer einfachen technischen Integration profitieren. Es wurden bewusst bereits im Magento Umfeld etablierte Partner aus den jeweiligen Segmenten aufgenommen, deren Ziel eine nahtlose Integration in Magento CE 1.4.x und Magento EE 1.8.x ist.</p>
<p><a href="http://blog.symmetrics.de/wp-content/uploads/2010/06/Bildschirmfoto-2010-06-09-um-19.31.101.png"><img class="alignright size-medium wp-image-65" title="Market Ready Germany - MRG 2.0. Shopbackend und Partnerbereich" src="http://blog.symmetrics.de/wp-content/uploads/2010/06/Bildschirmfoto-2010-06-09-um-19.31.101-300x223.png" alt="Market Ready Germany - MRG 2.0. Shopbackend und Partnerbereich" width="300" height="223" /></a></p>
<p><strong>Folgende führende Branchenpartner wurden mit Modulen und </strong><strong>Sonderkonditionen aufgenommen:</strong></p>
<ul>
<li><a title="Trusted Shops MRG 2.0. Sonderkonditionen Seite" href="Link: http://www.trustedshops.de/shopbetreiber/mitgliedschaft_partner.html?shopsw=MAGENTO" target="_blank">Trusted Shops Customer Rating</a></li>
<li><a title="Cash Ticket MRG 2.0. Sonderkonditionen Seite" href="http://www.cash-ticket.com/index.php?id=3061" target="_blank">Cash Ticket</a></li>
<li><a title="PAYONE MRG 2.0. Sonderkonditionen Seite" href="http://www.payone.de/marketready/" target="_blank">PAYONE</a></li>
</ul>
<p>symmetrics bedankt sich bei dem <strong>MRG symmetrics Team, allen Partner, Sponsoren, Helfer aus der Community, Beta Tester, Shopbetreibern</strong> für das Testen und das zahlreiche Feedback im Vorfeld des Releases.<br />
Weitere Informationen finden Sie unter: <a title="Magento Enterprise Partner symmetrics" href="http://www.symmetrics.de" target="_blank">www.symmetrics.de</a> oder unter <strong>Market Ready Germany 2.0</strong> in Magento Connect: <a title="MRG 2.0. auf Magento Connect" href="http://www.magentocommerce.com/magento-connect/symmetrics+GmbH/extension/1764/market-ready-germany" target="_blank">http://www.magentocommerce.com/magento-connect/symmetrics+GmbH/extension/1764/market-ready-germany</a></p>
<h3>Share and Enjoy</h3>

<!-- Start WP Socializer - Social Buttons - Output -->
 &bull; <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.symmetrics.de%2F2010%2F06%2Fmarket-ready-germany-2-0-mrg-2-0-von-magento-enterprise-partner-symmetrics-ab-sofort-verfugbar%2F&amp;t=Market+Ready+Germany+2.0.+%28MRG+2.0%29+von+Magento+Enterprise+Partner+symmetrics+ab+sofort+verfuegbar" title="Share this on Facebook" target="_blank" rel="nofollow">Facebook</a> &bull; <a href="http://twitter.com/home?status=Market+Ready+Germany+2.0.+%28MRG+2.0%29+von+Magento+Enterprise+Partner+symmetrics+ab+sofort+verfuegbar%20-%20http%3A%2F%2Fblog.symmetrics.de%3Fp%3D55%20" title="Tweet this !" target="_blank" rel="nofollow">Twitter</a> &bull; <a href="http://delicious.com/post?url=http%3A%2F%2Fblog.symmetrics.de%2F2010%2F06%2Fmarket-ready-germany-2-0-mrg-2-0-von-magento-enterprise-partner-symmetrics-ab-sofort-verfugbar%2F&amp;title=Market+Ready+Germany+2.0.+%28MRG+2.0%29+von+Magento+Enterprise+Partner+symmetrics+ab+sofort+verfuegbar&amp;notes=%5BTOC%5D%0D%0A%0D%0A%0D%0A%0D%0AMarket+Ready+Germany+2.0.+%28MRG+2.0%29+von+Magento+Enterprise+Partner+symmetrics+und+Trusted+Shops+ist+ab+sofort+verf%C3%BCgbar%0D%0AAb+sofort+steht+allen+Nutzern+der+erfolgreichen+Open+Source+E-Commerce-Plattform+Magento%2C+das+neue+Lokalisierungspa" title="Post this on Delicious" target="_blank" rel="nofollow">Delicious</a> &bull; <a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.symmetrics.de%2F2010%2F06%2Fmarket-ready-germany-2-0-mrg-2-0-von-magento-enterprise-partner-symmetrics-ab-sofort-verfugbar%2F&amp;title=Market+Ready+Germany+2.0.+%28MRG+2.0%29+von+Magento+Enterprise+Partner+symmetrics+ab+sofort+verfuegbar&amp;source=symmetrics+blog+-+Ein+weiteres+tolles+WordPress-Blog&amp;summary=%5BTOC%5D%0D%0A%0D%0A%0D%0A%0D%0AMarket+Ready+Germany+2.0.+%28MRG+2.0%29+von+Magento+Enterprise+Partner+symmetrics+und+Trusted+Shops+ist+ab+sofort+verf%C3%BCgbar%0D%0AAb+sofort+steht+allen+Nutzern+der+erfolgreichen+Open+Source+E-Commerce-Plattform+Magento%2C+das+neue+Lokalisierungspa" title="Share this on LinkedIn" target="_blank" rel="nofollow">LinkedIn</a> &bull; <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.symmetrics.de%2F2010%2F06%2Fmarket-ready-germany-2-0-mrg-2-0-von-magento-enterprise-partner-symmetrics-ab-sofort-verfugbar%2F&amp;title=Market+Ready+Germany+2.0.+%28MRG+2.0%29+von+Magento+Enterprise+Partner+symmetrics+ab+sofort+verfuegbar" title="Submit this to StumbleUpon" target="_blank" rel="nofollow">StumbleUpon</a> &bull; <a href="http://blog.symmetrics.de/2010/06/market-ready-germany-2-0-mrg-2-0-von-magento-enterprise-partner-symmetrics-ab-sofort-verfugbar/" onclick="addBookmark(event);" title="Market Ready Germany 2.0. (MRG 2.0) von Magento Enterprise Partner symmetrics ab sofort verfuegbar" target="_blank" rel="nofollow">Add to favorites</a> &bull; <a href="mailto:?subject=Market Ready Germany 2.0. (MRG 2.0) von Magento Enterprise Partner symmetrics ab sofort verfuegbar&amp;body=[TOC]



Market Ready Germany 2.0. (MRG 2.0) von Magento Enterprise Partner symmetrics und Trusted Shops ist ab sofort verfügbar
Ab sofort steht allen Nutzern der erfolgreichen Open Source E-Commerce-Plattform Magento, das neue Lokalisierungspa - http://blog.symmetrics.de/2010/06/market-ready-germany-2-0-mrg-2-0-von-magento-enterprise-partner-symmetrics-ab-sofort-verfugbar/" title="Email this" target="_blank" rel="nofollow">Email</a> &bull; <a href="http://blog.symmetrics.de/feed/rss/" title="Subscribe to RSS" target="_blank" rel="nofollow">RSS</a>
<!-- End WP Socializer - Social Buttons - Output -->
]]></content:encoded>
			<wfw:commentRss>http://blog.symmetrics.de/2010/06/market-ready-germany-2-0-mrg-2-0-von-magento-enterprise-partner-symmetrics-ab-sofort-verfugbar/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MOW-Mail Order World Bilanz aus eCommerce und Magento Sicht</title>
		<link>http://blog.symmetrics.de/2009/10/mow-mail-order-world-bilanz-aus-ecommerce-und-magento-sicht/</link>
		<comments>http://blog.symmetrics.de/2009/10/mow-mail-order-world-bilanz-aus-ecommerce-und-magento-sicht/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 11:05:07 +0000</pubDate>
		<dc:creator>symmetrics_bl</dc:creator>
				<category><![CDATA[symmetrics Magento]]></category>
		<category><![CDATA[symmetrics Marketing]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[magento enterprise]]></category>
		<category><![CDATA[messen]]></category>
		<category><![CDATA[mow]]></category>
		<category><![CDATA[saas]]></category>

		<guid isPermaLink="false">http://blog.symmetrics.de/?p=44</guid>
		<description><![CDATA[<p>Vom 30.9.-1.10. fand auch dieses Jahr in Wiebaden der Versandhandelskongress und begleitend die Mail Order World statt. Als symmetrics waren wir diesmal mit einem eigenen knapp 20qm Stand in Halle 9 vertreten.
Insgesamt machte die Messe einen sehr guten Eindruck und scheint stetig zu wachsen. In unterschiedlichen Bereichen war alles präsent, von Logistik über Payment, Online-Shop Anbieter bis hin zu Multichannel Partnern. So hat das Schlendern durch die Hallen viel Spaß gemacht, da zum einen sich auf der Messe alles versammelt hat was im Versand- und Onlinehandel einen Namen hat, zum anderen konnte man die Gelegenheit nutzen um alle Partner, Kollegen und alte Bekannte wiederzusehen und sich aus zu tauschen.
In der Halle 9 waren überwiegend auf E-Commerce spezialisierte Firmen. Neben uns als Magento Enterprise Partner, waren noch 2 weitere Firmen in der Halle, die Magento mit unterschiedlichem Fokus anbieten. Positiv überascht war ich, wie schon im März auf der Cebit, von <a href="http://blog.symmetrics.de/2009/10/mow-mail-order-world-bilanz-aus-ecommerce-und-magento-sicht/">... mehr zu MOW-Mail Order World Bilanz aus eCommerce und Magento Sicht</a>]]></description>
			<content:encoded><![CDATA[<p>Vom 30.9.-1.10. fand auch dieses Jahr in Wiebaden der Versandhandelskongress und begleitend die Mail Order World statt. Als symmetrics waren wir diesmal mit einem eigenen knapp 20qm Stand in Halle 9 vertreten.<br />
Insgesamt machte die Messe einen sehr guten Eindruck und scheint stetig zu wachsen. In unterschiedlichen Bereichen war alles präsent, von Logistik über Payment, Online-Shop Anbieter bis hin zu Multichannel Partnern. So hat das Schlendern durch die Hallen viel Spaß gemacht, da zum einen sich auf der Messe alles versammelt hat was im Versand- und Onlinehandel einen Namen hat, zum anderen konnte man die Gelegenheit nutzen um alle Partner, Kollegen und alte Bekannte wiederzusehen und sich aus zu tauschen.<br />
In der Halle 9 waren überwiegend auf E-Commerce spezialisierte Firmen. Neben uns als Magento Enterprise Partner, waren noch 2 weitere Firmen in der Halle, die Magento mit unterschiedlichem Fokus anbieten. Positiv überascht war ich, wie schon im März auf der Cebit, von dem großen Initiativinteresse für Magento. Mittlere und große Online Händler mit teilweise hohen 2 stelligen Mio. Onlineumsätzen kamen auf uns zu mit dem Interesse an Magento. Dies zeigt, dass Magento absolut im Enterprise Umfeld angekommen ist und mit den großen Playern im Markt wie Intershop, Hybris und anderen konkurriert. Zahlreiche Kunden, die entweder diese Lösungen nutzen oder mit evaluieren sind bereit auf Magento als Alternative zu wechseln, da sie mehr Potenzial, Flexibilität und Zukunft darin sehen und die Business-, Entwicklungs- und Lizenzmodelle überzeugender sind.</p>
<div id="attachment_49" class="wp-caption alignleft" style="width: 310px"><img class="size-medium wp-image-49" title="symmetrics-Magento Enterprise Partner Stand auf MOW" src="http://blog.symmetrics.de/wp-content/uploads/2009/10/IMG_0360-300x225.jpg" alt="symmetrics-Magento Enterprise Partner Stand auf MOW" width="300" height="225" /><p class="wp-caption-text">symmetrics-Magento Enterprise Partner Stand auf MOW</p></div>
<p>Schwerpunkt unserer Präsentation waren die 3 Themen: Magento Enterprise Edition, Magento SaaS und das neue Thema Magento Cloud. Für die ersten beiden Themen, bekamen wir viel Zuspruch, gerade von der oben beschriebenen Kundengruppe. Solche Kunden suchen nach einem Betriebsmodell für eine kommerzielle Open Source Software wie Magento, die Themen wie Support, Upgrades, Infrastruktur, Administration, Weiterentwicklung und Serviceintegration abdeckt, gerade das was im Magento SaaS Modell gemacht wird wobei das Modell ganz klar auf mittlere und große Kunden abzielt mit unterschiedlichen Setupaufwänden vorweg.<br />
Das neue Thema, welches weltweit erstmalig präsentiert worden ist war die Magento Cloud. Dabei geht es um eine Cluster Infrastruktur, die auf Cloud Computing basiert. Konkret wird die Infrastruktur von Amazon benutzt um eine Enterprise Infrastruktur für Magento bereitzustellen. Diese ist nach 16 Monaten Entwicklungsarbeit fertig und wurde nun kaufmännisch präsentiert. Auf dem kommenden www.meet-magento.de Event am 2.11.2009 in Frankfurt wird das Thema auch technisch präsentiert und vorgestellt. Hierbeit war der Ansatz eine leistungsstarke, innovative, sichere und performante Infrastruktur zu entwickeln, die vor allem Skalierungswünschen großer Online Händler entsprechen kann.<br />
Mit effizientem Load Balancing, automatischer Skalierung, bestmöglicher Performance steht nun die vermutlich zurzeit beste, auf Magento optimierte, Infrastruktur der Welt bereit, sowohl in Shared, wie Dedicated Clustern. In den kommenden Tagen und Wochen wird es eine Reihe von Presse- und anderen Informationen zu diesem Thema geben.</p>
<p>Sehr positiv war die Anwesenheit von Varien CEO und Magento Vater Roy Rubin an beiden Tagen. So bot sich für viele Partner und Interessenten die Möglichkeit eines Austausches mit Roy und für uns zahlreiche lange Gesprächsmöglichkeiten sowie Diskussionen zu neuen Magento Enterprise Projekten, Magentos Zukunft und strategischen Optionen in unserem Magento SaaS und der neuen Magento Cloud Infrastruktur. Den ersten Tag ließen wir gemeinsam mit Roy bei einem netten und sehr interessanten Abendessen gemeinsam ausklingen.</p>
<div id="attachment_50" class="wp-caption alignleft" style="width: 235px"><img class="size-medium wp-image-50" title="Roy Rubin CEO of Varien" src="http://blog.symmetrics.de/wp-content/uploads/2009/10/IMG_0370-225x300.jpg" alt="Abendessen mit Roy Rubin, CEO of Varien und Magento Vater" width="225" height="300" /><p class="wp-caption-text">Abendessen mit Roy Rubin, CEO of Varien und Magento Vater</p></div>
<p>Alles in allem war also das Interesse und der Andrang sehr groß, wobei der 2 Tag besser lief als der erste. Besonders gefreut hat mich die ungezwungene und lockere Atmosphäre zwischen den Ausstellern, die an beiden Tagen viele Möglichkeiten bot, sich auszutauschen, neue Partner zu finden, alte Partner zu besuchen und mit Kollegen und Konkurrenten zu sprechen. Speziell im Vergleich mit anderen Events, war die Mail Order World somit ein sehr gelungener und fokussierter Event sowohl für Versandhändler wie für Onlineversandhändler. Ich würde mir für die kommenden Jahre einen noch deutlicheren Fokus oder Bereich für das Onlinethema wünschen.<br />
Obwohl es mit der Standpositionierung unseres Standes nicht glatt lief und der Platz und die Anordung sich von dem unterschied was in den Hallenplänen verzeichnet war, konnte alles rechtzeitig zum ersten Messetag aufgebaut werden.<br />
Man muss sicher anmerken, dass die Rhein Main Halle nicht die optimalste Location ist und sein sollte für die kommenden Jahre um Veranstaltungen dieser Größenordnung durchzuführen. Da die Messe rund um den Kongress in den letzten Jahren stark gewachsen ist, ist diese unübersichtliche und auf mehrere Ebenen verteilte Halle kein optimaler Ort, da wäre ein Messehalle sicher sinnvoller. Zum Teil beschwerten sich viele Kunden über eine etwas wirre und unübersichtliche Navigation in der Halle und auch ich habe mich einige Male verlaufen.</p>
<h3>Share and Enjoy</h3>

<!-- Start WP Socializer - Social Buttons - Output -->
 &bull; <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.symmetrics.de%2F2009%2F10%2Fmow-mail-order-world-bilanz-aus-ecommerce-und-magento-sicht%2F&amp;t=MOW-Mail+Order+World+Bilanz+aus+eCommerce+und+Magento+Sicht" title="Share this on Facebook" target="_blank" rel="nofollow">Facebook</a> &bull; <a href="http://twitter.com/home?status=MOW-Mail+Order+World+Bilanz+aus+eCommerce+und+Magento+Sicht%20-%20http%3A%2F%2Fblog.symmetrics.de%3Fp%3D44%20" title="Tweet this !" target="_blank" rel="nofollow">Twitter</a> &bull; <a href="http://delicious.com/post?url=http%3A%2F%2Fblog.symmetrics.de%2F2009%2F10%2Fmow-mail-order-world-bilanz-aus-ecommerce-und-magento-sicht%2F&amp;title=MOW-Mail+Order+World+Bilanz+aus+eCommerce+und+Magento+Sicht&amp;notes=Vom+30.9.-1.10.+fand+auch+dieses+Jahr+in+Wiebaden+der+Versandhandelskongress+und+begleitend+die+Mail+Order+World+statt.+Als+symmetrics+waren+wir+diesmal+mit+einem+eigenen+knapp+20qm+Stand+in+Halle+9+vertreten.%0D%0AInsgesamt+machte+die+Messe+einen+sehr+g" title="Post this on Delicious" target="_blank" rel="nofollow">Delicious</a> &bull; <a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.symmetrics.de%2F2009%2F10%2Fmow-mail-order-world-bilanz-aus-ecommerce-und-magento-sicht%2F&amp;title=MOW-Mail+Order+World+Bilanz+aus+eCommerce+und+Magento+Sicht&amp;source=symmetrics+blog+-+Ein+weiteres+tolles+WordPress-Blog&amp;summary=Vom+30.9.-1.10.+fand+auch+dieses+Jahr+in+Wiebaden+der+Versandhandelskongress+und+begleitend+die+Mail+Order+World+statt.+Als+symmetrics+waren+wir+diesmal+mit+einem+eigenen+knapp+20qm+Stand+in+Halle+9+vertreten.%0D%0AInsgesamt+machte+die+Messe+einen+sehr+g" title="Share this on LinkedIn" target="_blank" rel="nofollow">LinkedIn</a> &bull; <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.symmetrics.de%2F2009%2F10%2Fmow-mail-order-world-bilanz-aus-ecommerce-und-magento-sicht%2F&amp;title=MOW-Mail+Order+World+Bilanz+aus+eCommerce+und+Magento+Sicht" title="Submit this to StumbleUpon" target="_blank" rel="nofollow">StumbleUpon</a> &bull; <a href="http://blog.symmetrics.de/2009/10/mow-mail-order-world-bilanz-aus-ecommerce-und-magento-sicht/" onclick="addBookmark(event);" title="MOW-Mail Order World Bilanz aus eCommerce und Magento Sicht" target="_blank" rel="nofollow">Add to favorites</a> &bull; <a href="mailto:?subject=MOW-Mail Order World Bilanz aus eCommerce und Magento Sicht&amp;body=Vom 30.9.-1.10. fand auch dieses Jahr in Wiebaden der Versandhandelskongress und begleitend die Mail Order World statt. Als symmetrics waren wir diesmal mit einem eigenen knapp 20qm Stand in Halle 9 vertreten.
Insgesamt machte die Messe einen sehr g - http://blog.symmetrics.de/2009/10/mow-mail-order-world-bilanz-aus-ecommerce-und-magento-sicht/" title="Email this" target="_blank" rel="nofollow">Email</a> &bull; <a href="http://blog.symmetrics.de/feed/rss/" title="Subscribe to RSS" target="_blank" rel="nofollow">RSS</a>
<!-- End WP Socializer - Social Buttons - Output -->
]]></content:encoded>
			<wfw:commentRss>http://blog.symmetrics.de/2009/10/mow-mail-order-world-bilanz-aus-ecommerce-und-magento-sicht/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>symmetrics und Trusted Shops launchen Market Ready Germany Paket</title>
		<link>http://blog.symmetrics.de/2009/08/symmetricstrusted-shops-launchen-market-ready-germany-paket/</link>
		<comments>http://blog.symmetrics.de/2009/08/symmetricstrusted-shops-launchen-market-ready-germany-paket/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 09:00:43 +0000</pubDate>
		<dc:creator>symmetrics_bl</dc:creator>
				<category><![CDATA[symmetrics Magento]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[magento commu]]></category>
		<category><![CDATA[market ready germany]]></category>
		<category><![CDATA[trusted shops]]></category>

		<guid isPermaLink="false">http://blog.symmetrics.de/?p=35</guid>
		<description><![CDATA[<p>Gestern Abend wurde das, vom Magento Enterprise Partner symmetrics in Zusammenarbeit mit Trusted Shops, entwickelte und  von vielen lang erwartete Market Ready Germany Paket gelauncht und steht ab sofort kostenlos (OSL 3.0)  unter Magentoconnect allen Interessierten zum Download zur Verfügung: http://www.magentocommerce.com/extension/1764/market-ready-germany
Hier kann eine volle Beschreibung, sowie Installationsanweisungen eingesehen werden. Bitte auch die mit Achtung markierten Stellen sorgfältig lesen. Das Paket ist in der aktuellen Version auf die Magento Community Edition ausgelegt, wir haben jedoch bei internen Tests auch innerhalb der Magento Enterprise Edition keine Probleme festgestellt.
Hintergrund: Aus der täglichen Arbeit im Rahmen des eigenen symmetrics SaaS Modells für Magento wurden und werden viele Prozesse permanent optimiert und automatisiert. So zum Beispiel auch viele der notwendigen Magento Basiskonfiguration, Übersetzungen, Modulanpassungen, zahlreiche Änderungen zum Erreichen der Rechtssicherheit usw. Magento out of the box als sehr universelles und internationales Produkt, für Shops jeder Größe, an den deutschen Markt anzupassen und konfigurieren ist nicht <a href="http://blog.symmetrics.de/2009/08/symmetricstrusted-shops-launchen-market-ready-germany-paket/">... mehr zu symmetrics und Trusted Shops launchen Market Ready Germany Paket</a>]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } 		A:link { so-language: zxx } --><span lang="de-DE">Gestern Abend wurde das, vom </span><a href="http://www.symmetrics.de/">Magento Enterprise Partner symmetrics</a><span lang="de-DE"> in Zusammenarbeit mit </span><a href="http://www.trustedshops.de/shop-info/magento/">Trusted Shops,</a><span lang="de-DE"> entwickelte und  von vielen lang erwartete Market Ready Germany Paket gelauncht und steht ab sofort kostenlos (OSL 3.0)  unter Magentoconnect allen Interessierten zum Download zur Verfügung: http://www.magentocommerce.com/extension/1764/market-ready-germany<br />
Hier kann eine volle Beschreibung, sowie Installationsanweisungen eingesehen werden. Bitte auch die mit Achtung markierten Stellen sorgfältig lesen. Das Paket ist in der aktuellen Version auf die Magento Community Edition ausgelegt, wir haben jedoch bei internen Tests auch innerhalb der Magento Enterprise Edition keine Probleme festgestellt.<br />
Hintergrund: Aus der täglichen Arbeit im Rahmen des eigenen symmetrics SaaS Modells für Magento wurden und werden viele Prozesse permanent optimiert und automatisiert. So zum Beispiel auch viele der notwendigen Magento Basiskonfiguration, Übersetzungen, Modulanpassungen, zahlreiche Änderungen zum Erreichen der Rechtssicherheit usw. Magento out of the box als sehr universelles und internationales Produkt, für Shops jeder Größe, an den deutschen Markt anzupassen und konfigurieren ist nicht einfach. Es dauert Zeit und erfordert Wissen in den zahllosen Konfigurationen.  Bei diesen Prozessen, fehlenden wertvollen Modulen, sowie dem wertvollen Thema der Rechtssicherheit zu helfen, haben wir beschlossen einen Teil unserer SaaS Konfiguration in diesem Paket zu veröffentlichen.<br />
Wir erhoffen uns damit nicht nur deutlich mehr Händler für Magento zu begeistern, sondern auch eine Professionalisierung unter den Entwicklern, Agenturen und Partnern voran zu treiben, die permanent Standardaufgaben erledigen und diese nun automatisiert über das Paket lösen können.</span></p>
<p lang="de-DE">Das Paket besteht aktuell aus 14 Modulen, von denen 2 aus der MC stammen. Es beinhaltet alle relevanten B2C orientierten Einstellungen um einen Magento Shop für den deutschen Markt vorzukonfigurieren und durch Trusted Shops vorzertifiziert zu machen. In sehr enger Zusammenarbeit mit Trusted Shops, dem Marktführer im Online Zertifizierungsbereich wurden so alle Punkte für einen rechts-sicheren Magento Shop eingebaut und in dem Magento Paket realisiert. Technisch entsprungen ist das Paket aus der symmetrics SaaS Konfiguration, in der das Paket in ähnlicher Form verwendet wird. Als Magento Enterprise Partner realisieren wir Projekte für mittlere und große Kunden und Shops, trotzdem setzen wir auch dabei Module aus Magento Connect und der Community ein und wollten die Chance nutzen, der Community etwas wertvolles zurück zu geben und so vielen Magento Neulingen oder Umsteigern den Einstieg in Magento zu erleitern.</p>
<p lang="de-DE">Einen besonderen, persönlichen Dank wollen wir aussprechen an: Ulrich Hafenbradl und Marc van der Wielen (Trusted Shops), Rico Neitzel (Deutscher Community Manager), Vinai Kopp, Nick Weisser, Daniell Sasse (Magento Developer), zahlreichen weiteren Beta Testern und Community Mitgliedern und natürlich Variens Core Team, für die wertvollen Ratschläge, die umfangreiche Prüfung des RC und die vielen Tipps und Ideen.</p>
<p lang="de-DE">Dieses Paket kann als Beta bezeichnet werden und muss ausreichend getestet werden, bitte auf keinen Fall produktive Shops damit direkt überspielen, sondern vorher ausgiebig auf einem Staging System testen! Wir planen das Paket zu erweitern und permanent zu pflegen und zu optimieren.<br />
Auch weiterhin werden wir die Community mit diesem und weiteren Paketen supporten, so ist ein B2B Paket für die Magento Enterprise Edition bereits in Arbeit sowie Schnittstellen zu weiteren führenden E-Commerce Services, die in den kommenden Wochen bekannt gegeben werden. Wir freuen uns über jedes Feedback, Ideen, Anmerkungen, Bug-Reports und Feature-Wünsche für die kommenden Versionen dieses Pakets.</p>
<h3>Share and Enjoy</h3>

<!-- Start WP Socializer - Social Buttons - Output -->
 &bull; <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.symmetrics.de%2F2009%2F08%2Fsymmetricstrusted-shops-launchen-market-ready-germany-paket%2F&amp;t=symmetrics+und+Trusted+Shops+launchen+Market+Ready+Germany+Paket" title="Share this on Facebook" target="_blank" rel="nofollow">Facebook</a> &bull; <a href="http://twitter.com/home?status=symmetrics+und+Trusted+Shops+launchen+Market+Ready+Germany+Paket%20-%20http%3A%2F%2Fblog.symmetrics.de%3Fp%3D35%20" title="Tweet this !" target="_blank" rel="nofollow">Twitter</a> &bull; <a href="http://delicious.com/post?url=http%3A%2F%2Fblog.symmetrics.de%2F2009%2F08%2Fsymmetricstrusted-shops-launchen-market-ready-germany-paket%2F&amp;title=symmetrics+und+Trusted+Shops+launchen+Market+Ready+Germany+Paket&amp;notes=Gestern+Abend+wurde+das%2C+vom+Magento+Enterprise+Partner+symmetrics+in+Zusammenarbeit+mit+Trusted+Shops%2C+entwickelte+und%C2%A0+von+vielen+lang+erwartete+Market+Ready+Germany+Paket+gelauncht+und+steht+ab+sofort+kostenlos+%28OSL+3.0%29%C2%A0+unter+Magentoconnect+al" title="Post this on Delicious" target="_blank" rel="nofollow">Delicious</a> &bull; <a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.symmetrics.de%2F2009%2F08%2Fsymmetricstrusted-shops-launchen-market-ready-germany-paket%2F&amp;title=symmetrics+und+Trusted+Shops+launchen+Market+Ready+Germany+Paket&amp;source=symmetrics+blog+-+Ein+weiteres+tolles+WordPress-Blog&amp;summary=Gestern+Abend+wurde+das%2C+vom+Magento+Enterprise+Partner+symmetrics+in+Zusammenarbeit+mit+Trusted+Shops%2C+entwickelte+und%C2%A0+von+vielen+lang+erwartete+Market+Ready+Germany+Paket+gelauncht+und+steht+ab+sofort+kostenlos+%28OSL+3.0%29%C2%A0+unter+Magentoconnect+al" title="Share this on LinkedIn" target="_blank" rel="nofollow">LinkedIn</a> &bull; <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.symmetrics.de%2F2009%2F08%2Fsymmetricstrusted-shops-launchen-market-ready-germany-paket%2F&amp;title=symmetrics+und+Trusted+Shops+launchen+Market+Ready+Germany+Paket" title="Submit this to StumbleUpon" target="_blank" rel="nofollow">StumbleUpon</a> &bull; <a href="http://blog.symmetrics.de/2009/08/symmetricstrusted-shops-launchen-market-ready-germany-paket/" onclick="addBookmark(event);" title="symmetrics und Trusted Shops launchen Market Ready Germany Paket" target="_blank" rel="nofollow">Add to favorites</a> &bull; <a href="mailto:?subject=symmetrics und Trusted Shops launchen Market Ready Germany Paket&amp;body=Gestern Abend wurde das, vom Magento Enterprise Partner symmetrics in Zusammenarbeit mit Trusted Shops, entwickelte und  von vielen lang erwartete Market Ready Germany Paket gelauncht und steht ab sofort kostenlos (OSL 3.0)  unter Magentoconnect al - http://blog.symmetrics.de/2009/08/symmetricstrusted-shops-launchen-market-ready-germany-paket/" title="Email this" target="_blank" rel="nofollow">Email</a> &bull; <a href="http://blog.symmetrics.de/feed/rss/" title="Subscribe to RSS" target="_blank" rel="nofollow">RSS</a>
<!-- End WP Socializer - Social Buttons - Output -->
]]></content:encoded>
			<wfw:commentRss>http://blog.symmetrics.de/2009/08/symmetricstrusted-shops-launchen-market-ready-germany-paket/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
