geschrieben von Jayme Courtney
am 27. Juni 2017 - 18:36

[mk_page_section bg_image=”https://www.classyllama.com/wp-content/uploads/2015/08/Espresso-Parts-Case-Study.jpg” attachment=”fixed” bg_position=”center center” bg_repeat=”no-repeat” bg_stretch=”true” enable_3d=”true” gr_end=”#1e73be” sidebar=”sidebar-1″][vc_column][vc_single_image image=”1287″ img_size=”500 × 250″ alignment=”center”][/vc_column][/mk_page_section][mk_page_section gr_end=”#1e73be” padding_top=”55″ padding_bottom=”0″ sidebar=”sidebar-1″][vc_column width=”1/2″ css=”.vc_custom_1440002803493{padding-bottom: 20px !important;}”][vc_single_image image=”1297″ img_size=”full” alignment=”center”][/vc_column][vc_column width=”1/2″][mk_fancy_title tag_name=”h4″ color=”#52d3db” margin_bottom=”4″…

geschrieben von PAJ
am 26. Juni 2017 - 15:31

Installing Magento 2 in a development environment can be time consuming. This is my Magento 2 development deployment for Docker which can be used to quickly create a new Magento 2 CE environment, or switch between persistent development environment volumes.

Features Requirements
  • Host server with min 2GB RAM
  • Docker Engine
  • Docker Compose 3.1
Base Images / Source
geschrieben von
am 22. Juni 2017 - 4:00
This entry is part 1 of 1 in the series Laravel Spark. This is the first post in the series. As Pulse Storm (the small boutique software consultancy I started and continue to operate) takes a half step back from ecommerce and shifts back into software systems consulting, I’ve found myself doing a lot of initial application prototyping/MVPs for both established businesses as well as less-technical entrepreneurs with a need for software. Laravel remains the best tool I’ve used for this sort of work. Most recently, I’ve been working on a project that started in Laravel Spark. Laravel Spark is […]
geschrieben von Fabian Schmengler
am 21. Juni 2017 - 23:02

Magento architect Anton Kril asked about opinions on XML based tests:

#magento twitter, what are your thoughts about writing tests in XML?

— Anton Kril (@AntonKril) 20. Juni 2017

My answer does not fit into a Tweet, so here’s a short blog post.

My first thought was “please no, there’s enough XML already”. But the explanation made me think.

Magento covers a scenario with test. Extension that modifies that scenario, also modifies its test with XML that is merged to original test

— Anton Kril (@AntonKril) 20. Juni 2017

Currently the core test suite does not have much value in custom projects, because the site specific settings, themes and modules…

geschrieben von
am 20. Juni 2017 - 18:41
oddyssey/mailtrap:

A simple mailtrap extension for Magento 2. Mailtrap is a service that lets you point your development instances at an SMTP server that accepts mail, but doesn’t deliver it. Instead mailtrap collects all the mail in a single INBOX. If you’ve ever accidentally emailed an entire customer list with a subject line like

Subject: Testing, hope this s——t works.

you’ll instantly see the value.

The Magento extension is also a simple example of how to hook into the Magento\Framework\Mail\Transport class with a custom preference and change the behavior of the email system.

geschrieben von PAJ
am 20. Juni 2017 - 18:30

As I started building Docker service container images for Magento 2 CE development I got interested in the concept of dynamic service load balancing on a single host. Having already created a dynamic load balancer using NGINX I wanted to do the same for Magento 2 using Varnish.

My Magento 2 service container images include REDIS services for the Magento session and system cache and a Varnish service for the full page cache. Varnish is an HTTP accelerator designed for content-heavy dynamic web sites and is the recommended full page cache system for Magento 2.

Magento 2 Docker Network

Varnish is configured via the Varnish Configuration Language (VCL) config file. By configuring…

geschrieben von
am 13. Juni 2017 - 20:18
This entry is part 7 of 7 in the series Pestle. Earlier posts include Pestle 1.1.1 Released, Pestle 1.1.2 Released, Magento 2 Setup Migration Scripts, Pestle 1.2.1 Released, Sending Text Messages with PHP, pestle, and Nexmo, and Pestle 1.3 and AbstractModel UI Generation. This is the most recent post in the series. We interrupt this Modern Javascript series to let you know there’s a new release (v1.4.1) of pestle available. Pestle is both a simple PHP command line framework for sharing functions, as well as the world’s preeminent collection of Magento 2 code generation routines. It’s an integral part of […]
geschrieben von PAJ
am 13. Juni 2017 - 17:39

Whilst building containers for Magento 2 I came across the docker compose scale command which allows you to easily duplicate and scale containers running a service in Docker.

For example if I have a web application service called php-apache

docker-compose scale php-apache=10

Will start another 9 containers running the php-apache service giving me 10 containers running the same php-apache web application service.

Of course if you want to have real resilience and load sharing Docker swarm is the solution so the question is, are there any benefits from scaling a service in mulitple containers on a single host?

Well, yes, because you can still load balance the traffic to your application and achieve a basic level of container resilience.

Scaled services will only work for applications that use private…

geschrieben von Christian Münch
am 9. Juni 2017 - 17:09

Hi everyone,

after our last release before Magento Imagine 2017 we are back again with a new release for you guys.
The new release contains one new command and some ports of n98-magerun1 features to existing n98-magerun2 commands.
Also we fixed some bugs related to the DB logic or improved the developer console.

New Command index:trigger:recreate

The new command is handy to recreate triggers on the fly. If you are not familiar with the new index logic: If you change the index mode of an indexer in Magento 2 the system will create DB triggers on the fly.
If one of the “mview.xml” files is changed the triggers should be regenerated. Why do we need this command? With this command you can force to regenerate the triggers during develpment. It is not needed to wait for a cronjob which triggers the regeneration. Also there are some…

geschrieben von Sergei Prakapovich
am 6. Juni 2017 - 19:24

A typical online store cannot manage properly without search engine optimization. On-page optimization should never be neglected in favor of affiliate links and citations (off-page optimization). The biggest advantage of on-page optimization is that it is something you can fully control and manage.

Magento 1.X is not as perfect as it could be regarding SEO. Many pitfalls weren’t taken into consideration at all. The users needed something more professional, stable, and flexible. That’s how Magento 2 appeared. The second version of Magento drastically differs from the first one. The developers have taken into account previous…

geschrieben von
am 5. Juni 2017 - 16:59
This entry is part 4 of 4 in the series Modern Javascript for PHP Developers. Earlier posts include Modern Javascript for PHP Developers, Express and NPM for PHP Developers, and Client Side Javascript, Modules, and Webpack. This is the most recent post in the series. In our last article we covered the webpack project, and used it to demonstrate the modern javascript workflow of Download modular source code packages using npm Write a modular program Compile a modular program into a single file Include compiled program via a <script/> tag Reload the page While this workflow may seem familiar to […]
geschrieben von
am 2. Juni 2017 - 1:15
Reserved Words in Magento 2 URL  Paths:

A StackExchange self answer where I use a plugin to work around the reserved-PHP-symbol-in-class-name problem that can plague Magento 2 URL routing. What’s extra baffling about this is Magento has a fix coded up, but only applies it to one URL segment.

I suspect this is less baffling if you can gives up the idea that Magento 2 should retain its the rapid application prototyping roots of its ancestors.

geschrieben von
am 1. Juni 2017 - 21:47
Magento 2 - Form Validation:

A StackExchange post that contains most (all?) of the CSS classes that can control Magento 2’s form validation. Magento seems to apply the validation rules on all form submits – although I haven’t dug too deeply into that one so caveat emptor etc.

Also, a bonus for folks who read these Tumblr desciptions — here’s a quick bit of javascript that will take M1 style HTML and make all the fields required in an M2 context.

require(['jquery'], function($){ $('.required-entry').each(function(key, element){ $(element).attr('required','required'); }); });

Useful if you have a complex form built with a combination of raw HTML, PHP in phtml, and PHP in class files (i.e. – if you don’t want to track down and change ever class="require-entry" to required=required)

geschrieben von PAJ
am 31. Mai 2017 - 19:58

I use FHEM as the engine for home automation tasks on my Raspberry Pi. This is how to build and run FHEM as a container in Docker on your Raspberry Pi Zero, Pi2 or Pi3.

fhem docker container installation

Install Docker

Installing Docker is a no brainer

curl -sSL get.docker.com | sh sudo usermod paj -aG docker reboot Install docker-compose

Docker-compose makes building, starting and stopping Docker containers really simple.

apt-get -y install python-pip pip install docker-compose Build the container

Pull the container build files from github and run docker-compose build to build the container image.

git clone https://github.com/gaiterjones/docker-rpi-fhem cd docker-rpi-fhem docker-compose build Start the container docker-compose up -d Connect to FHEM

Enter the following url into your…

geschrieben von
am 27. Mai 2017 - 19:24
Earlier articles in this series included server side javascript that looked like this var http = require('http'); That is, we used a function named require to load a javascript module. A module is a way to organize and load other javascript code in a way that doesn’t conflict with the code in your current file. As PHP programmers, we don’t get code modules. PHP’s include and require statements allow us to organize our code into files, but those files are all mashed together in one global namespace. PHP namespaces came close to giving PHP programmers modules, but incomplete functionality and […]
geschrieben von
am 26. Mai 2017 - 18:03
Magento custom Knockout.js bindings | Magento 2 Developer Documentation:

It might have taken 11 months, but it looks like Magento finally gave its dev docs team the resources they needed to document the UI Component Knockout JS custom bindings.

geschrieben von
am 24. Mai 2017 - 18:13
JavaScript unit testing with Jasmine | Magento 2 Developer Documentation:

Jasmine’s a testing framework for javascript code – I didn’t know until today that Magento 2 had setup a framework for these tests.

(Via the tremendous Vinai)

geschrieben von
am 22. Mai 2017 - 19:51
This entry is part 2 of 2 in the series Modern Javascript for PHP Developers. Earlier posts include Modern Javascript for PHP Developers. This is the most recent post in the series. Last time we investigated the basic execution flow of a server side NodeJS program. Our program responded directly to an HTTP request sent by a web-client. Most NodeJS programs aren’t written like this — instead, they use a routing framework of some kind to help separate requests by their URLs and other request parameters. Today we’ll look at one of the most popular routing frameworks, Express. This article […]
geschrieben von
am 22. Mai 2017 - 2:00

Hi, I'm Sophie and I started at Meanbee as a Project Manager over 4 years ago. Back then it was 5 developers and myself trying to navigate the path of a small start up. Over the years we have honed our workflow and project management process; which I would like to share today. We started investigating Agile not long after I started and found it was a good fit for our business and the majority of our project work. We try to use the framework of Agile to influence our day to day project management and to organise this we use Atlassian's Jira & Confluence software.

One of our most significant changes to the business was moving all of our clients are on to a monthly retainer which allows us to block book time in to work on their sites. It works well as it gives both us and the client a timeline to work with and allows us both to get organised. It also means that the level of work being done is consistent and we can plan big ticket items well in advance.

Pre-…