Semantic Versioning and Patch 2.1.2

The recent Magento 2.1.2 patch did not strictly follow the semantic versioning rules for patches. In this case we made a judgment call that the benefit to customers based on feedback we received (especially as we approached holiday peak) outweighed the negatives. The change was new service contracts were added to formalize the API to existing internal functionality. […]

Web Custom Elements for Content Markup

TL;DR: Custom elements (a web standard for extending the set of HTML tag names) provide an interesting way to support rich content markup while decoupling presentation from content, but still have challenges in search engine support. Custom Elements (a key technology underpinning web components) allow developers to extend HTML with their own set of tags […]

Magento 2 CSS Class Naming (Request for Feedback)

This blog post discusses a possible direction for allocating CSS class names in HTML markup. It briefly describes the current rules, then moves on to a proposal around the adoption of BEM (or a variant thereof). This relates to community work going on (led by SNOW.DOG) around exploring a Sass port of the Magento 2 […]

Magento 2 Version Numbering Update

I have written previously on version numbering for Magento 2 and the relationship between GitHub and Composer – this post provides a level deeper on what we are planning to take effect at Magento 2 GA (“real soon now”). Feedback, especially from extension developers, appreciated. The Problem There are a number of challenges that Magento […]

The Post GA Relationship between the GitHub and Composer Repositories (Quick Note)

I get the occasional question about the relationship between GitHub and the Composer packages.magento.com repository in Magento 2. This may be obvious to some, but I thought I would send this out as a quick clarification. Development First, the developer view of the world. GitHub is for exploration and contribution. If a developer wants to […]

Composer and Connect and Patches! Oh My!

“Lions and tigers and bears! Oh my!” – Wizard of Oz. Every so often there is a twitter thread asking how the new Magento Connect is going to work in combination with Composer, extension reviews, and patches. There often feels like there is quite a bit of concern in how this is all going to […]

What is “Good Code?”

What is “good code”? This question is probably as old as programming itself. Sometimes I forget how old programming is. (See my previous post “The Ten Commandments of Egoless Programming” a few years back, celebrating the 42nd anniversary of this original list.) The discussion in https://github.com/magento/magento2/issues/1133 raised this question for me. My gut reaction was immediate […]

Magento 2 Containers and Blocks

Magento 2 has introduced containers in addition to blocks in layout files. This post is a bit of background of why, with an invitation to share your perspective. Background In case you are not familiar with the Magento 2 page layout engine, here is a quick summary. This is very similar to Magento 1, but there […]

“PHP Namespaces as flawed” NOT! (Quick Note)

@VinaiKopp tweeted about an old post “PHP namespaces are flawed” by @pornelski. I don’t agree with many of the points, Vinai asked why, too long for a tweet response so here is a quick blog post instead. I will start off saying a lot of the following is formed from my experiences from Java, but […]

Magento 2 Product and Composer Version Numbering

Magento 2 will support Composer for creating sites. Introducing Composer into Magento will impact the way version numbers work in Magento 2. Here is a high level summary of the changes. Disclaimer: Details may change before final release based on feedback.  And of course, these opinions are my own and not necessarily that of my employer. (This is my private blog after […]