geschrieben von
am 6. Februar 2016 - 23:10
Last week we [covered RequireJS](, which is the foundational framework for Magento 2's modern approach to javascript. Today we're going to do the same for Magento 2's use of cascading style sheets. Web development, whether delivering marketing pages or... Alan Storm
geschrieben von
am 6. Februar 2016 - 22:17

Welcome to your fortnightly “Open Magento 2 Technical Questions” post. If you’ve got an answer to any of the following please use the provided Stack Exchange thread to answer, or say hello via email if public communication isn’t possible.

First off, we’ve got a slew of new questions. After that, some follow up from last week’s open questions. There’s always more information in the linked Stack Exchange threads.

New Questions! How does Theme Layout Handle XML File Merging Work

This one is partially answered, although I’d love…

geschrieben von Denis Saltanahmetov
am 5. Februar 2016 - 15:47
Localization or internationalization process means adapting a software to different languages, regional particularities and technical requirements of a target market. Well-designed software usually does not require code changes and deep engineering knowledges for localization or/and internationalization processes.

For example, we can use different address formats depending on a country:

Great Britain (United Kingdom, England, Scotland): Mr. Walter C. Brown 49 Featherstone Street LONDON EC1Y 8SY UNITED KINGDOM United States of America: John Doe Smallsys inc 795 e Dragram Tucson az 85705 USA Germany: Herrn John Doe Wittekindshof Schulstrasse 4 32547 Bad Oyenhausen GERMANY Ukraine: John Doe ul. Astronomicheskaya 22, kv. 33 Kharkov 12345 UKRAINE

In OroCRM every user can set up a localization for his own location. It is possible to use predefined set of localizations or create a new one. For that go to…

geschrieben von
am 4. Februar 2016 - 22:09

This one deserves a longer post, but my schedule is not forgiving. This assumes you’ve read and understand the concepts from my Magento object manager series.

Many Magento provided classes have a special context object in their constructor.

#File: vendor/magento/module-catalog/Controller/Product/View.php //... use Magento\Framework\App\Action\Context; //... public function __construct( Context $context, \Magento\Catalog\Helper\Product\View $viewHelper, \Magento\Framework\Controller\Result\ForwardFactory $resultForwardFactory, PageFactory $resultPageFactory ) { $this->viewHelper = $viewHelper; $this->resultForwardFactory = $resultForwardFactory; $this->resultPageFactory = $resultPageFactory; parent::__construct($context); }

These objects are there to help keep the number of objects injected in a constructor to a minimum. If…

geschrieben von
am 4. Februar 2016 - 1:42
Magestead - A Vagrant LEMP Stack for Magento Developers:

Magestead looks like another contender in the “geting a Magento 2 system up and running using vagrant and VMs”. Homestead inspired, it may be worth checking out.

geschrieben von
am 4. Februar 2016 - 1:18
Request: .user.ini files for FPM config · Issue #705 · magento/magento2:

Somehow I’d always assumed nginx worked hard to be apache compatible. It doesn’t sound like that’s the case, which is a shame. I also found this on the official nginx wiki

Stop using .htaccess. It’s horrible for performance. NGINX is designed to be efficient. Adding something like this destroys that.

I’m probably one to talk about injecting too mucy personality in tech writing, but the last thing I want to see in an official manual is a statment like this. A explanation of the tradeoffs? Sure. A borderline bullying bit of text urging you not to do something instead of teaching you to analyze the trade offs involved? Gross.

geschrieben von
am 4. Februar 2016 - 1:11

For over a decade I’ve kept most my development work confined to the physical Macintosh OS X laptop I use every day, running server software using the OS X unix/bsd/darwin internals. I pick a stable version of PHP and install the php-osx package (previously the package), install MySQL via MySQL/Oracle’s OS X installer, use brew (previously ports) to install any unix packages I need, and compile the occasional thing from source as needed.

This stable set of software has served me well, and by side-stepping virtual machine/vagrant/version-managers it’s kept my code on the straight and narrow – i.e. applicable to generic PHP versions and not shutting people out who don’t have the liberty of choosing their hosting environment.

Magento 2 present a challenge to this, since I’d prefer to run PHP 5.6 for a while longer. Magento 2, however, is likely to see massive adoption with PHP 7 as…

geschrieben von Bill Cover
am 3. Februar 2016 - 20:37

We had quite a year! In 2015, Classy Llama celebrated eight years as a company. In this time, we have grown a lot in size and grown in terms of our bond to one another. Each year is better than the last and 2015 was no exception. Holding true to what we believe to be a key to our success, taking care of one another, we gathered together for a number of social events including picnic potlucks, ice skating, mini golf, laser tag, board game nights, and more. For this Year in Review post, we want to highlight employee events and activities that took place in 2015. We hope you enjoy seeing what we do as a team, when it’s not running command lines or interfacing with our clients.

Classy Llama Year In Review Inc 5000 Logo

In 2015, we were honored to be…

geschrieben von
am 3. Februar 2016 - 20:36

I’m not super conversant in the less CSS preprocessor, so I’m not sure how useful they are, but Magento 2 ships with some useful looking UI library docs in


You won’t be able to browse to these files via HTTP – you’ll need to open them directly in a web browser.

geschrieben von
am 3. Februar 2016 - 2:28
Now that we've covered the basics of including javascript and CSS files in Magento 2, we're going to start exploring Magento's adoption of modern front end tools and libraries. Magento's in a bit of a tricky position when it... Alan Storm
geschrieben von
am 2. Februar 2016 - 4:21
Magento 2 Marketplace Upload Validation Tool (Quick Note):

Magento’s lead architect, Alan Kent, just posted a small command line program to validate a “composer zip archive” for Magento Marketplace. Magento Marketplace is the replacement for Magento Connect, and although its details remain a secret, its assumed to be an in browser Magento application for installing composer based packages into Magento 2 systems.

Part of the submission process includes zipping up a composer archive and submitting it to Magento. The script Alan Kent provided performs some basic validation on that archive to make sure its something the Marketplace system will be able to work with.

It’s a little weird that this sort of validation won’t be included in Marketplace, or that the messaging around the validation isn’t clear, but the validation program is welcome regardless.

geschrieben von markoshust
am 1. Februar 2016 - 18:58
Meteor 1.3 and NPM

Meteor 1.3 introduces custom package.json support, which allows you to use custom NPM packages within your Meteor app. This is great, because up to Meteor 1.2 you needed to use oddly formatted "NPM wrapper" packages.

This setup does include a slightly different build process though, as we need to install these custom NPM packages within our production Meteor app.

Previous Ways to Build Meteor with Docker

I've previously used meteord to build my production Meteor images, which were then in turn sent and deployed through Google Cloud Platform on Kubernetes. Unfortunately as the time of this writing, Meteor 1.3 beta 5 is not yet compatible.

While I enjoyed using meteord…

geschrieben von Tobias Vogt
am 31. Januar 2016 - 17:06

Wie jedes Jahr findet vom 17.03 bis 19.03 wieder das E-Commerce-Camp in Jena statt. Ich empfehle die Veranstaltung immer gern aber warum eigentlich?


  • Tellerrand: Auf dem E-Commerce-Camp sind viele Shop-Systeme vertreten und das sogar mit vielen Entwicklern. Was für Probleme haben die anderen, wo kann man etwas abschauen? Wo ist man schon gut aufgestellt? Alles Dinge bei denen man in Jena weiter kommt…
geschrieben von Tom Klingenberg
am 30. Januar 2016 - 19:23
Magerun 2 - Best run with Magento 2

You might have already noticed we were a bit late with the Magerun releases for the new Magento releases. It’s busy times in the office with all the new and shiny Magento 2 to teach, learn, read and tinker around. And so many new and shiny things to develop for Magerun 2 :) – So finally I can announce we shipped out Magerun 2 version 1.0.4 today which now offers the setup for Magento CE 2.0.1 and 2.0.2.

Next to that, it contains a whole bunch of command ports known from Magerun 1, special mention goes to Robbie Averill for taking care so much!

All I can say is: Expect even more in the near future :)

geschrieben von Tom Klingenberg
am 29. Januar 2016 - 22:52

As Magento CE has been released some days ago, this is the according Magerun release containing it as a version for the setup command. Thanks again for OpenMage Magento-Mirror for the care-taking.

Next to the Magento update, it yet again comes with some fixes and improvements. And these are some again as we didn’t announce some revisions:

  • #758 Add Magento (by Tom Klingenberg)
  • improved bash autocompletion file (by Tom Klingenberg)
  • #752 Fix install cmd fails using custom PHP binary (by Jacob Siefer)
  • #748 Non-zero exit status with module rewrite conflict (by Steve Robbins)
  • #747 Fix uncaught TypeError in sys:setup:incremental (by Tom Richards)
  • #746 Untry composer required version (by Tom Klingenberg)
  • #746 Try composer required version (reported by Vinai Kopp)
  • #741 Fix remove customer exec dependency (by Tom Klingenberg)
geschrieben von
am 29. Januar 2016 - 0:19

Thanks to some late, post merchant beta changes made to Magento, distributing modules via Composer (PHP’s de-facto package/dependency manager) has never been easier. While we’re all interested to see how the new Marketplace turns out, thanks to Magento 2’s architecture changes we should all be able to distribute our modules without needing to buy into whatever tradeoffs will be involved with official distribution channels.

As a module developer, the bare minimum composer.json file you’ll want for your module should look something like this

{ "name": "pulsestorm/module-name", "description": "A description of your extension", "authors": [ { "name": "Robert Hoffner", "email": "" } ], "require": {}, "autoload": { "psr-4": { "Package\\Module\\": "src/path/to/Package/Module/Package/Module…
geschrieben von Sebastian
am 28. Januar 2016 - 14:10
Die Meet Magento findet am 04. & 05. Juli zum 10. Mal in Leipzig statt. E-Commerce und Magento Experten sind aufgefordert sich mit ihrem Fachwissen bis zum 07. Februar 2016 im Call for Papers zu bewerben. Praktische Case Studies sehr beliebt Die Meet Magento ist die größte Veranstaltung rund um Magento E-Commerce in Deutschland. Das […]
geschrieben von
am 26. Januar 2016 - 22:03
Permission issues with static generated files in pub directory · Issue #2412 · magento/magento2:

I built my first website in 1995 – which means I’ve had over 20 years of battling unix file permissions. Or, more appropriatly, fighting the software world’s myriad ways of dealing and not dealing with them.

geschrieben von
am 25. Januar 2016 - 19:37

A quick, semi-regular roundup of open Magento 2 technical questions.

How to use ui_component

Magento introduces a new layout handle XML node named uiComponent that lets you insert specific user interface elemnts into your application. Unfortunately, documentation on how to use this is woefully incomplete. The documentation that does exist looks like it will be useful to anyone who’s already familiar with the system, but there’s nothing there that gets people familiar with the system.

I’ve got a few questions on this on the Magento Stack Exchange, but none with answers that come close to what a new user would need to get started with a UI Grid in Magento 2. This one is just the latest

Magento 2: UI Listing Component for a CRUD Model

geschrieben von
am 23. Januar 2016 - 20:04

I’m seeing the following error a lot when running bin/magento setup:upgrade

Missing write permissions to the following directories: ’/Users/alanstorm/Sites/magento-2-with-keys/magento2/pu

Extra frustratingly – if I look at every file and directory in pub/static, they all have fully world readable, writable, and executable permissions. (this isn’t my favorite way to run mod_php, but Magento 2 seems to have left us non-FastCGI dinosaurs on our own)

The only way I’ve found to fix this is to delete my entire pub/static directory and let Magento regenerate it.

I finally got to the bottom of this today. It looks like Magento’s permissions checking code will resolve symlinks to their final folder when checking permissions.

If you’re working your way through my Magento 2 for PHP MVC…