geschrieben von
am 23. März 2017 - 17:44

I’m working on adding DDL (data definition language) code generation to pestle – i.e. the code that ultimately creates your database tables that lives in the InstallSchema or UpgradeSchema classes. I came across this bit of weirdness

#File: vendor/magento/module-cms/Setup/InstallSchema.php )->addColumn( 'identifier', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => false], 'Block String Identifier' )->addColumn( 'content', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '2M', [], 'Block Content' )

This is part of the code that creates the database table Magento stores CMS block data in.

CREATE TABLE `cms_block` ( `block_id` smallint(6) NOT NULL AUTO_INCREMENT COMMENT 'Block ID', `title` varchar(255) NOT NULL COMMENT 'Block Title', `identifier` varchar(255) NOT NULL COMMENT 'Block String…
geschrieben von Matej Zbiljski
am 23. März 2017 - 13:48

We wrote about Google Shopping Campaign as an unavoidable type of online advertising and its significance in web shop sales. But, what can we do about the buyers who are not ready to buy a certain product right away? The answer is remarketing!

Remarketing enables you to reach the client who visited your web shop, but did not buy anything or did not complete any goal you defined. Because of that, it is necessary to remind those clients that they did not fulfil what we think that is their “task/homework” via Google Display Network or Google Search Network. In order to reach your goal for them to purchase as efficiently as possible, it is necessary to show the clients what they have been searching for and encourage them to re-engage. This is exactly what Dynamic Remarketing does.

What is Dynamic Remarketing?

Dynamic Remarketing is a type of campaign for Google Adwords,…

geschrieben von Daniel Becker
am 23. März 2017 - 12:10

Alle Welt spricht darüber. Presseagenturen, News-Portale, Facebook, das Kanzleramt, die Bild-Zeitung bestimmt auch: Enterprise Commerce ist die Lösung für das digitale Business im 21. Jahrhundert. Aber was verbirgt sich dahinter? Fake-News oder harte Fakten? Der Regalsprecher klärt auf!    Der klassische E-Commerce wächst über sich hinaus: Es geht nicht mehr allein um die Digitalisierung von

The post Enterprise Commerce – What the hell? appeared first on Regalsprecher.

geschrieben von Luka Rajcevic
am 21. März 2017 - 12:34

It’s just another day at the office. “Coffee tastes best on a Friday morning”, you think to yourself while reading emails from the previous day. Couple of guys are shouting in the back, and you’re shushing them angrily. With noise slowly diminishing, you find yourself checking an email with a request for custom change on one of your Magento stores. “Guys, we’ve got work to do. WeHeart3rdPartyModules Ltd. just requested a custom change on one of their stores. Who is willing to take on this one?”. Silence takes over the room. The only sound you hear is a fan from your colleagues PC (no need to ask why, Magento 2 is deploying static content). It seems like you’re in this alone. “Damn, I was hoping for a slow Friday”.

While PHPStorm is loading up, you’re reading the requirements:

Hi guys,

we would like to add a new column to our sales orders grid. We understand we…

geschrieben von Alexander Galtsow
am 21. März 2017 - 9:40

Imagine 2017 is just 20 days away and most of the attendees have already planned their trip to the conference. But if it is your very first Magento event, there are some useful things to consider. We’ve gathered some recommendations that proved to be good for Atwix each and every Imagine since 2011.

1. Plan ahead

Preparation is everything. Schedule your meetings in advance (schedule a meeting with Atwix team), create a list of breakout session to attend, and register for unofficial events around the conference, like MageHackathon, Big Dam Run and…

geschrieben von Frank Sauer
am 21. März 2017 - 9:28

Wir starten heute unsere Blogserie zum E-Commerce Consulting. Geplant ist ein sehr breites Spektrum von Fragen und Herausforderungen zu behandeln und nicht nur technische Aspekte zu beleuchten. Denn die Integration von E-Commerce Prozessen macht nicht bei der IT-Abteilung halt: Egal ob mit oder ohne „E“, Commerce benötigt eine ganzheitliche Betrachtung des Unternehmens und seiner Prozesse. Neuer

The post E-Commerce Consulting – Gute Beratung? Priceless! appeared first on Regalsprecher.

geschrieben von Simon Sprankel
am 21. März 2017 - 9:28
I recently configured Cloudflare for a client and the performance results were indeed promising. On a very first view, it looks like a well developed product with interesting features. We came across a major checkout issue though. In some browsers, the buttons in the checkout did not work – hence, many people could not order. … Magento Cloudflare Checkout Buttons Broken weiterlesen
geschrieben von Fabian Schmengler
am 20. März 2017 - 10:27
This is my weekly Kata post. Read the first one to learn what it is all about.

Last week: Anagrams

To the Kata description

I started in PHP with a naive array based solution, then changed it to a pipeline with generators which made the memory footprint small, but it still takes a minute for a 150 KB file and forever for the provided 3 MB test input file.

When I retried the kata the next day, I used two simple loops and one array and the file was processed in 1 second. It needs 182MB but okay. It’s fascinating how trying to be clever from the beginning has been proven to be a mistake.

Here’s the code

<?php declare(strict_types=1); namespace Katas\Anagram; class Anagrams { private $wordsIterator; public function __construct($wordsIterator) { $this->wordsIterator = $wordsIterator; }…
geschrieben von Fabian Schmengler
am 20. März 2017 - 10:27
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 11 – Reversed Binary Numbers appeared first on

geschrieben von PAJ
am 17. März 2017 - 19:49

If you are looking at containerising PHP applications you might want to run another containerised application from within your container – run a docker application or command in a docker container. Your native app might be encoding media on the fly via ajax requests using ffpmeg and you do not want to compile or install ffmpeg in your containerised app. It would be useful to run a containerised ffmpeg version within the container.

This is kind of a quasi docker in docker because we are not trying to create dockerised containers within a container, rather run a docker app from the docker host within a docker container.

Still with me? Good!

We give our container access to the host docker socket by sharing a volume (in this case docker.sock) with the container

volumes: - /var/run/docker.sock:/var/run/docker.sock

If we install the docker binaries within the container we can now run docker commands on the host i.e.:

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

I wanted to run tests with PHPUnit on a docker environment, which was set up with docker-compose, and use the PhpStorm integration. Since PhpStorm 2013.2 there is a docker intergration which works well for single containers, but unfortunately it does not seem to use the running network of containers. So for example my PHP container does not get access to the MySQL container for integration tests.

If that’s not a problem for you, you will not need what I am going to explain here, read this instead:

Local CLI Interpreter

So instead of configuring the Remote PHP Interpreter for Docker, I created a local interpreter like this and selected it as the CLI interpreter for the project:

geschrieben von Sebastian
am 16. März 2017 - 12:22

Die Referenten und das Programm der diesjährigen Meet Magento stehen fest. Das nehme ich zum Anlass auch dieses Jahr einen möglichen Fahrplan für die beiden Veranstaltungstage zusammen zu stellen. Teilweise war die Entscheidung nicht leicht zu treffen, da mehrere interessante Vorträge parallel stattfinden (wie in den letzten Jahren auch schon!). Das heißt im Umkehrschluss das […]

Der Beitrag Meet Magento DE 2017 Fahrplan erschien zuerst auf

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…