geschrieben von Andrija Glavas
am 7. Juni 2018 - 13:25

Magento 2 comes pre-installed with PHPUnit, an automated testing framework for PHP. It is included as one of the dependencies in Magento 2. Covering the basics of PHPUnit is out of the scope of this tutorial, after a short introduction we are going to focus on the practical example of using PHPUnit with Magento 2. For those who are interested in PHPUnit basics, I would recommend reading documentation or tutorials on the web since it is a very well documented topic.

What is Unit Testing?

Unit testing is a level of software testing where individual units/ components of a software are tested. The purpose is to validate that each unit of the software performs as designed. A unit is the smallest testable part of any software. It usually has one or a few inputs and usually a single output. Unit testing process is separate and completely automatic without any manual handling.

Why Unit Test?

geschrieben von PAJ
am 7. Juni 2018 - 12:35

In 2016 I started developing my own Home Automation systems (HA) using a Raspberry PI, PHP and FHEM. Initially I wanted to just control a few lights using cost efficient RF sockets and this worked really well. Since then I have enjoyed developing my HA system and am always looking for cheaper alternatives to the sometimes extremely expensive solutions you find online or in DIY stores. Last year (2017) I started looking for smart WiFi enabled sockets as a network controlled smart socket is much more reliable and has a wider transmission range than RF sockets. I also wanted to measure air and water temperature and found that the Sonoff TH smart switches were ideal for this.

The Sonoff TH10/TH16 are 90-250V (50/60hz) temperature and humidity monitoring WiFi smart switches supporting a maximum current of 10A (2200W) or 16A (3500W) with two purpose built sensors, one for temperature…

geschrieben von Elizabeth Van Dyke
am 6. Juni 2018 - 22:15

Your mobile commerce strategy plays an important part in successfully moving forward with your digital journey

geschrieben von Elizabeth Van Dyke
am 6. Juni 2018 - 22:15

Your mobile commerce strategy plays an important part in successfully moving forward with your digital journey

geschrieben von
am 6. Juni 2018 - 14:38
PHP and strace:

Another set of slides from a Benoit Jacquemont talk I would have loved to see. My high level summary Don’t forget that your PHP program isn’t talking with anything directly, all activity goes through the your operating system’s kernel, and there are tools (strace on linux) for looking at the system calls your program is indirectly making Tangentially, I also recently came acros php-strace, a composer package that wraps up the logic of using strace to diagnose PHP segmentation faults.

geschrieben von Covos
am 6. Juni 2018 - 13:43
Es kommt nun immer häufiger vor, dass Magento-Shops für die Versendung von SPAM-Mails versendet werden. Hierzu werden entweder „Fake“-Kundenkonten angelegt und/oder Newsletter-Abonnenten erstellt. Viele fragen sich-während sie sich ärgern- „Warum machen die das?“ oder „Was ist der Sinn?“. Eine klare Antwort kann ich darauf nicht geben aber einen Ansatz: Es werden zwar automatisch von Bots...
geschrieben von Deni Pesic
am 6. Juni 2018 - 12:32

On May 25th, a data privacy law known as GDPR came into effect. It impacts the way companies collect and handle user data. In this article we will show you how to handle personal user data when creating database dumps in order to avoid potential GDPR penalties.

What is GDPR?

In short, General Data Protection Regulation or GDPR is a set of rules that regulate how EU citizen data must be managed, empowering EU citizens with more control over their personal data. Organizations have to make sure that personal data is legally gathered, strictly managed and respected. Only the data that is needed should be collected and processed.

You can find out what Inchoo did to prepare for GDPR in our blog post by Toni Anicic.

Personal data in a Magento 2 project

Often when developing a Magento 2 project, data from a live Magento 2 website has…

geschrieben von Covos
am 5. Juni 2018 - 17:56
Heute erhielt ich mal wieder Neuigkeiten aus der Welt des Datenschutzes mit dringenden Änderungsaufforderungen sowie Empfehlungen wie man DSGVO-konform überleben kann. Während ich mir die Dinge durchlas, entstand Stückchen für Stückchen ein Bild vor meinen Augen. Dieses Bild symbolisiert für mich die Zukunft des Surfens wenn es nach Meinung der „Datenschützer“ und Anwälte geht. Leute,...
geschrieben von
am 5. Juni 2018 - 13:29
Another set of slides from a Benoit Jacquemont talk I would have loved to see. My high level summary Don’t forget that your PHP program isn’t talking with anything directly, all activity goes through the your operating system’s kernel, and there are tools (strace on linux) for looking at the system calls your program is indirectly making Tangentially, I also recently came acros php-strace, a composer package that wraps up the logic of using strace to diagnose PHP segmentation faults.
geschrieben von Elizabeth Van Dyke
am 5. Juni 2018 - 0:50

An insider list of the best places to visit, eat, and play

geschrieben von Elizabeth Van Dyke
am 5. Juni 2018 - 0:50

An insider list of the best places to visit, eat, and play

geschrieben von Covos
am 4. Juni 2018 - 15:23
Wir freuen uns sehr über die Nominierung des „Brown-Forman B2B-Shops“ sowie die Platzierung unter den Top 10  beim diesjährigen „Meet Magento DE Award„. Weitere Informationen gibt es in unserem Services-Blog.
geschrieben von
am 4. Juni 2018 - 15:13
Eschewing new in Javascript and Coding Standards:

This Stack Overflow post about some weird differences between direct instantionation of an Array vs. using the new Array constructor function is a great example of why coding standards can be more than just window dressing. It’s not that one of the methods is better than the other, but by chosing one over the other you avoid the mental overhead of accounting for inconsistant behavior in whatever language you’re using.

geschrieben von
am 4. Juni 2018 - 13:21
This Stack Overflow post about some weird differences between direct instantionation of an Array vs. using the new Array constructor function is a great example of why coding standards can be more than just window dressing. It’s not that one of the methods is better than the other, but by chosing one over the other you avoid the mental overhead of accounting for inconsistant behavior in whatever language you’re using.
geschrieben von Dmytro Cheshun
am 4. Juni 2018 - 8:49

In this blog post, I would like to share a pretty interesting and not obvious solution on how to join some additional details to cart item block on checkout cart page.

Let’s say we need to add the “Brand” custom product attribute and show its value within a specific block on the product view page and checkout cart page. It’s very simple in the scope of the product page, but how to deal with number cart items on checkout cart page. There are a couple of issues which you may face with. We will cover them further.

Product View Page

If the default product information tab containing the list of visible product attributes is not enough, and you need to use some custom block with its own structure, in some specific place – you can simply retrieve the product from the registry and get the needed attribute value:

/** @var \Magento\Catalog\Model\Product $product */ $product = $this->registry->registry('product'); $brand = $product->…

geschrieben von
am 3. Juni 2018 - 15:13
Modern MySQL and User Authentication:

Given the date on the Stack Overflow post that saved me this is probably old hat for most of you, but it looks like the MySQL configuration provided by Ubuntu 18’s default apt-get repositories defaults to using “the auth_socket plugin”, which links your MySQL logins with your actual system login. Gave me a bit of the get off my lawn once I figured out what was going on.

geschrieben von
am 3. Juni 2018 - 13:37
Given the date on the Stack Overflow post that saved me this is probably old hat for most of you, but it looks like the MySQL configuration provided by Ubuntu 18’s default apt-get repositories defaults to using “the auth_socket plugin”, which links your MySQL logins with your actual system login. Gave me a bit of the get off my lawn once I figured out what was going on.
geschrieben von Elizabeth Van Dyke
am 1. Juni 2018 - 22:14

The cupcake maven shares the key ingredients of her success

geschrieben von Elizabeth Van Dyke
am 1. Juni 2018 - 22:14

The cupcake maven shares the key ingredients of her success

geschrieben von Dmytro Cheshun
am 29. Mai 2018 - 8:41

Magento 2 implements the service contracts design pattern – a set of PHP interfaces that are defined for a module. A service contract includes service and data interfaces, which hide business logic details from service requestors such as controllers, web services, and other modules.

Web APIs in Magento 2 are bound to service contracts via configuration files. The API Data interfaces strictly define the data set available for data object for the entity, return types etc. Basically, the data interface represents the data to be included in the response, when it comes to WebAPI. Third-party developers cannot change API Data interface in the Magento core. So, the only way to affect interfaces using configuration is to add extension attributes. However, there is one requirement – data object to be extended must also implement the Magento\Framework\Api\ExtensibleDataInterface interface.

Let’s imagine we need to add a new “Customer Feedback…