geschrieben von Alexander Galtsow
am 15. März 2017 - 14:31

Hooray! Imagine 2017 is just around the corner and Atwix is proud to sponsor the conference this year. Come chat with us at our booth, we’d be happy to provide express security audit of your Magento store, talk about general eCommerce trends and innovations, or simply have a nice little chat. All the visitors will be supplied with recommendations on implementations, discounts on maintenance packages, and a cool swag for you and your kids.

Where to find Atwix at Magento Imagine 2017

Imagine is unquestionably the central event in Magento ecosystem, expected to gather 2,500+ professionals from all over the world in one place for 3 days this year. If you are still in doubt, here are five reasons to attend the event:

1. Magento has been steadily making headlines…

geschrieben von Fabian Schmengler
am 14. März 2017 - 9:38

When migrated my workstation to Linux, one important tool was the password manager. I use KeePass, so there are two options around:

I tried both. On KDE, KeePassX integrates nicer into the Linux desktop while KeePass on Mono looks and feels a bit foreign. But the lack of features like auto open and plugins made me ditch KeePassX quite fast. Two important plugins for me are KeePassHttp, which integrates KeePass with Chrome as password manager, and KeeAgent which automatically registers SSH Keys with passphrases at a running SSH Agent.

Setting up KeeAgent was a bit tricky and all instructions…

geschrieben von Fabian Schmengler
am 14. März 2017 - 9:06
This is my weekly Kata post. Read the first one to learn what it is all about.

Last week: Print Diamond

To the Kata description

My first implementation suffered from the anticipated problem: Starting with tests for the whole output for ‘A’, then ‘B’, then ‘C’, the full algorithm was implemented after the second or third test in one big step.

<?php namespace Katas\Diamond; class DiamondTest extends \PHPUnit_Framework_TestCase { /** * @dataProvider dataDiamond */ public function testDiamond($letter, $expected) { $diamond = new Diamond($letter); $this->assertEquals($expected, $diamond->__toString()); } public static function dataDiamond() { $b = <<<TXT A B B A TXT; $c = <<<TXT A B B C C B B A…
geschrieben von Fabian Schmengler
am 14. März 2017 - 9:06
Dies ist mein wöchentlicher Kata Post. Lies den ersten um zu erfahren, worum es hier geht.

Heute nur auf Englisch

The post TDD Kata 10 – Anagramme appeared first on

geschrieben von Daniel Hölzer
am 14. März 2017 - 9:00

Einkaufen geht heute überall und jederzeit – und der Kunde kommt im Verlauf seiner Customer Journey an zahlreichen Touchpoints mit seinem Anbieter in Berührung, ob im stationären Ladengeschäft oder mobil mit dem Smartphone. Mit welcher Technologie er auf Shoppingtour geht, da ist der Kunden völlig frei. Das Resultat: Der Handel wird zunehmend zu einem grenzenlos

The post Customer Obsession – Der Weg zur optimalen Customer Experience appeared first on Regalsprecher.

geschrieben von
am 14. März 2017 - 4:41
This entry is part 5 of 5 in the series Pestle. Earlier posts include Pestle 1.1.1 Released, Pestle 1.1.2 Released, Magento 2 Setup Migration Scripts, and Pestle 1.2.1 Released. This is the most recent post in the series. Today we’re going to go a little off the beaten path. I’ve had “professional reasons” to explore voice and SMS APIs in the past few weeks, and I ended up adding some commands for the Nexmo API to the latest release of pestle, (my kitchen sink PHP command line framework). This article’s going to talk a little bit about the history of […]
geschrieben von
am 14. März 2017 - 1:00

In this article we will be sharing how we can update email templates via upgrade scripts.

We have already shared some of our knowledge about running upgrade scripts and how helpful they are in automating database changes in deployment processes. I would recommend checking our first article "Create or update blocks and pages via Upgrade Scripts" for more details on how to run upgrade scripts. I will only explain the lines of code for updating email templates via scripts in here.

To add new transactional email template in Admin, you go to:
  • Admin > System > Transactional Emails
  • Add New Template
  • Load the default template + Click Load Template
  • This will load up Content of the default Magento template for each template you want to style
  • All default email templates are located in: app/locale/en_US/template/email/
geschrieben von Dunja Vorkapic
am 13. März 2017 - 13:16

Company culture defines its journey. One of the definitions says culture is based on shared attitudes, beliefs, customs, and written and unwritten rules that have been developed over time and are considered valid. It includes both work and general behaviour philosophy and set of values thus shaping company efforts and overall activities. One of the main attributes of Inchoo’s company culture is commitment to the local community.

How sharing leads to engaging?

When I asked Tomislav, our CEO, why commitment to the local community is so important, this was his answer:

“Inchoo has an office in a small Croatian town called Osijek with a population of 100.000. Since the inception in ’08, we were hiring from the local pool of talent.

Industry in Osijek collapsed after Croatian war for independence. Today, economy is still struggling and a lot of young people…

geschrieben von Maria Zayac
am 13. März 2017 - 12:54

Magento is a great eCommerce platform to work with. Many solutions are available out of the box, ready for you to use them and grow your brand online. Your Magento solution partner will always help you develop the best-in-class online store, but there is basic knowledge you should acquire when managing a Magento store – from knowing how to use Magento admin to doing little SEO tweaks and security checks.

While Magento is very intuitive and user friendly, you’ll probably end up searching for specific guides and use cases. You might feel overwhelmed with the numerous How-To’s and tutorials that have been generated by the Magento community since the first release of the platform on March 31, 2008. In this very blog we have accumulated over 200 posts about Magento. This is why we came up with the following reference of the trusted resources that you can use. This may help you learn more general information about the platform, best security practices, tips on…

geschrieben von Jayme Courtney
am 12. März 2017 - 9:50

Magento’s store configuration functionality allows developers to quickly and efficiently define config fields for their modules. This efficiency promotes flexible and configurable modules, saving developers and merchants time and money.

In some cases, however, a fixed list of defined config fields isn’t sufficient to configure a more dynamic feature. Fortunately, it’s relatively straightforward to implement dynamically generated store config fields, allowing developers to support complicated flexibility.

Example Use Case

The requirement for this example is that, for countries which are configured to require a state/region, only certain regions are allowed.

These countries are configured in store config at General -> General -> State Options -> State is Required for. In order to configure which regions are allowed for each country, new store config fields will need to be added, one for each configured country. Since the configured…

geschrieben von Simon Sprankel
am 11. März 2017 - 14:04
Last weekend, I finally attended my first German Magento unconference. I have been at the unconference in Utrecht, Netherlands, last year but did not manage to attend a German unconference yet. As expected, the event was awesome and I will try to be there next year as well. With my extension development company Modulwerft, I … Magento Unconference Germany 2017 weiterlesen
geschrieben von
am 11. März 2017 - 3:36
This entry is part 4 of 4 in the series Pestle. Earlier posts include Pestle 1.1.1 Released, Pestle 1.1.2 Released, and Magento 2 Setup Migration Scripts. This is the most recent post in the series. Pestle 1.2.1 is out (we skipped 1.2.0 because tagging is hard). New users? The GitHub README can get your started. Existing user? You’re just a pestle.phar selfupdate away from the latest and greatest. This release closes out 17 GitHub issues. For a full list of everything we did checkout the two closed milestones. This release contains a lot of “sandpaper work”. Fixing the formatting of […]
geschrieben von Alexander Steireif
am 10. März 2017 - 12:56

Wir haben uns auch in diesem Jahr wieder auf der Internet World umgeschaut, Kunden und Partner getroffen und etwas Branchenanalyse betrieben. Hier unser Messe-Recap:   Für E-Commerce Enthusiasten und Online-Marketing Experten ist der März eigentlich der schönste Monat des ganzen Jahres. Dicht gefolgt von der in Hamburg stattfinden Veranstaltung „Online Marketing Rockstars“ folgt die Internet

The post Internet World 2017 – E-Commerce Technologien & Vermarktungslösungen appeared first on Regalsprecher.

geschrieben von Covos
am 8. März 2017 - 16:58
Wir haben gerade probiert ein Datenbank-Dump per SSH (Putty) auf einen neuen Server zu spielen und erhielten den Fehler: „ERROR 1031 (HY000) at line 2623: Table storage engine for ‚catalog_product_relation‘ doesn’t have this option„. Dies scheint ein Problem bzgl. MySQL … Weiterlesen →
geschrieben von Goran Kolak
am 7. März 2017 - 8:37

In this article we’ll be looking to a basic overview of PostCSS from the perspective of a developer whose current CSS development process includes use of CSS preprocessor, or in particular, Sass. If you’re a Sass user, there are a couple of approaches when starting out with PostCSS. You could make a complete switch and recreate your basic preprocessing environment with PostCSS, or you could start using it as a supplement.

Many of you will say that you still only rely on your favorite preprocessor, but then, it’s possible that you’re also using Autoprefixer for vendor prefixing, and guess what? In this case, you have already included PostCSS into your workflow.

What exactly are we talking about?

PostCSS is a tool, or basically, just an API which handles its plugins written in JavaScript.

Comparing to Sass,…

geschrieben von Ceridwen Lentz
am 7. März 2017 - 8:30

Die neue Ausgabe der Zukunftsthemen im E-Commerce ist nun erschienen und beleuchtet dieses Jahr das Thema Enterprise Commerce – mit spannenden Artikeln von renommierten Experten und zahlreichen Best Practices zu Trends, Chancen und Herausforderungen im E-Commerce, in Marketing und Design sowie in den Bereichen Strategie und Technologie.   Wer es nicht abwarten kann, alles über

The post Zukunftsthemen E-Commerce 2017 – Der Wandel hin zum Enterprise Commerce appeared first on Regalsprecher.

geschrieben von Fabian Schmengler
am 6. März 2017 - 15:00
This is my weekly Kata post. Read the first one to learn what it is all about.

Last week: Functions Pipeline

My first implementation in PHP was a Pipe class with __invoke method:

class Pipe { /** * @var \callable[] */ private $callables; private function __construct(callable ...$callables) { $this->callables = $callables; } public static function create(callable ...$callables) : Pipe { return new self(...$callables); } public function __invoke() { return array_reduce( $this->callables, function(array $result, callable $next) { return [$next(...$result)]; }, func_get_args() )[0]; } }

I made it possible to be created without any callables. The behavior was not specified but I choose to let the pipe return the first argument in that…

geschrieben von Fabian Schmengler
am 6. März 2017 - 15:00
Dies ist mein wöchentlicher Kata Post. Lies den ersten um zu erfahren, worum es hier geht.

Letzte Woche: Functions Pipeline

Meine erste Implementierung in PHP war eine Pipe Klasse mit __invoke Methode:

class Pipe { /** * @var \callable[] */ private $callables; private function __construct(callable ...$callables) { $this->callables = $callables; } public static function create(callable ...$callables) : Pipe { return new self(...$callables); } public function __invoke() { return array_reduce( $this->callables, function(array $result, callable $next) { return [$next(...$result)]; }, func_get_args() )[0]; } }

Ich habe es möglich gemacht, die Klasse ohne Callables zu instantiieren. In dem Fall war das Verhalten nicht spezifiziert,…

geschrieben von PAJ
am 3. März 2017 - 15:07

If you are relatively new to docker and are migrating php applications to containers you may notice that a lot of docker images recommend using sSMTP as a sendmail replacement / smtp transport for php. I wanted my php containers to relay mail to an EXIM4 container but most php base images do not include any type of mail transport system to allow php to relay emails.

ssmtp cannot rewrite php from header

Ssmtp does work, but not very well and one major problem I came across was that no matter what configuration settings I tried I could not rewrite the send from SMTP headers in ssmtp I wanted, resulting in all emails being sent from the default root@host address.

The solution is to use msmtp. Msmtp works well with PHP 5.x and 7.x images and allows you to rewrite the from headers. Here is how to build it into your PHP 5.x and 7.x base images.

FROM php:7-apache

For php7 using the official php-apache…

geschrieben von
am 3. März 2017 - 1:00

There are estimates that Amazon has sold over 5 million Echo units in 2016. That's a lot of homes that are at least experimenting with voice interactions.

I think that the Echo and Google's Home are distinctly different to phone voice agents like Siri and Cortana because of the context that they're used in. Siri and Cortana are used on your mobile phone, a device that knows most about you and your interactions with others. That's why we never really feel comfortable with other people using it - even if you have nothing to hide.

The Echo and Home devices on the other hand, while they are connected to an individual's account, they don't have as much access to information so it's safer. They're also designed to be used in a social context around the home which I think is going to be really important component of their success.

What these devices are having to get past, at least from my experience in the UK, is the conservatism around…