Apologies for the quiet around here, but I’ve been hard at work finishing up the latest release of Commerce Bug. The big feature this time around? Magento 2 support! Don’t worry, Commerce Bug is still, and will remain, fully functional with Magento 1.
Update: As expected, A few weeks after this post eBay released a significant update to the Magento beta. This broke the new Commerce Bug Magento 2 functionality. We’re working to catch up with the core team and re-restore Magento 2 functionality for Commerce Bug.
Commerce Bug 2.2 is free for registered Commerce Bug 2 users, and upgrades pricing is available for Commerce Bug 1 users.
Not using Commerce Bug? Why not? Commerce Bug will save you hours a day in Magento development time. Tasks that used to take the entire morning can be completed in 10 minutes with Commerce Bug at your side. It’s the perfect tool when you’re learning Magento, and the perfect tool for experts who need to cut through the tedium of Magento’s deep class hierarchies. Checkout the feature demonstration screencast or the Learning Magento with Commerce Bug series for detailed information, and then get your copy today.
Why Magento 2
After Commerce Bug’s first year of sales, the plan was for Commerce Bug 2 to be Magento 2 compatible. However, Magento 2 always seemed to be “a few” financial quarters away from release. After a few rounds of that it was easy to read the writing on the broad side of a mixed metaphor. Commerce Bug 2 morphed into a feature release and Pulse Storm’s customers have been happy with the results.
Magento 2 is still “a few” financial quarters away from release. However, there have been signs of life recently from the Magento development team. After a five and half month delay Magento 1.8 went from alpha to full release, the Magento 2 GitHub received a major code update a month ago, and eBay product executives has been quietly making enquires about key Magento 2 features.
Does this mean a Magento 2 release is imminent? I have no idea, but I do think it’s time for serious Magento developers to start looking at the Magento 2 code base, learning about the changes that have taken place, and using their downtime to start refactoring key pieces of code to work in both Magento 1 and Magento 2. Commerce Bug is the best tool money can buy to help you do this, and that’s why I’ve added Magento 2 support to Commerce Bug.
Technical Notes
Magento 2’s an odd beast, at one time familiar, and in other ways different and new. Some of the more jarring changes for an old timer were
- “Modern” splitting of the application code in
app
, and the public web assets inpub
- No more module declaration in
app/etc/modules
-
No more code pools, modules live directly in
app/code/Packagename/Modulename
-
The full PHP class name has replaced
groupname/classname
aliases in factory methods. -
Rewrites are still possible, but the syntax has changed
-
The entire event/observer system is re-implemented (which is where the majority of my refactoring effort went)
-
There’s a new dependency injection system in place — I didn’t use it, but had to work around its implementation as I looked for the new rewrite syntax.
-
Magento still has a
_construct
method, but it’s implemented inAbstract
classes and has been removed fromVarien_Object
-
The layout system replaced
text/list
blocks with a new container type. Containers aren’t a block type, they’re a second sort of thing you insert into a layout.
I’ve got more to say on these changes over on the Magento Quickies site (tag: Magento2). There’s definitely a shift in tone in the code base — it’s still super class heavy, but there’s not a new class for everything that might possibly need to be data modeled in the future. That said, Magento 2 is still more Symfony than Laravel, and more its own thing than anything else.
While I’ve been able to keep the same module code base for Magento 1 and Magento 2, the packaging had to change. There’s no more local
or community
folder, and javascript/css lives in a different place. Look for the tar
archive in the beta-magento2
folder. This isn’t a connect extension, just an archive to untar into the system.
I imagine things might break the next time we get a code dump in the Magento 2 GitHub — targeting a beta platform is always tricky business. Future updates will contain fixes for these future bugs.
Your support of Pulse Storm and its products is what makes this website possible. As always, thank you for your support.