COPIOUSLabs TechTalk: Scaling Magento
COPIOUSLabs TechTalk: Scaling Magento I’ll try my best to make this tech talk — it should be interesting to see what a (super smart) non-partner agency has cooked up in the way of a scaling strategy.
astormBack in they day, I ran a Tumblr blog named Magento Quickies where I’d post shorter, less in-depth posts about my travels through Magento’s source code. This Programming Quickies categories is the successor to that Tumblr blog. You’ll find all the old Magento Quickies content here, as well as new short posts about programming in general.
This section has its own RSS feed, the old Magento Quickies feed should should be redirecting, and we’re cross posting notifications for new posts over to magento-quickies.tumblr.com. In other words, you shouldn’t need to know any of this, but the duct tape that keeps the internet held together isn’t aging well, so your mileage may vary.
Below you'll find all the Programming Quickies articles on the site, followed by a chronological listing of the same. You may also browse the 7 series directly via the following links. Pestle, Four Steps to Async Iterators, Checking in on OpenMage and Magento in 2020, Text Encoding and Unicode, Shopware's Development Environment, A Sentimental Gen-X Programmer Culls his Tech Books, and, Containers, Containers, Containers.
COPIOUSLabs TechTalk: Scaling Magento I’ll try my best to make this tech talk — it should be interesting to see what a (super smart) non-partner agency has cooked up in the way of a scaling strategy.
astormNumber [god I don’t know] in the “Reasons Magento/PHP drives you Crazy” series. Trying loading a product object that doesn’t exist. $product = Mage::getModel('catalog/product')->loadByAttribute('sku','NO SUCH SKU'); var_dump($product); You’ll find $product contains NULL. Now try loading an attribute [...]
astormAt a partner only event in Chicago, members of eBay’s Magento team renewed their support for Magento 2. A few of the usual suspects were there, and a more general announcement has been promised. As for a release date? The usual. It’s interesting to look back to the Magento Developer’s Paradise conference in 2010, which [...]
astormspeedupmate: if the time and price fits and mostly tasks that can be measured with days “Tasks that cab be measured with days” is the freelance programmer’s mantra.
astormWarby Parker Open Sources two Magento Extensions Besides being the useful/right “open-sourcey” thing to, it’s interesting to see the sort of problems a big scale site like Warby Parker decided to solve themselves, and the extra infrastructure tools (RabbitMQ) they used.
astormMagento’s objects (that inherit from Varien_Object) have special “magic” getter and setter methods implemented with PHP’s magic __call method. If you’ve got a Magento object, you can just set and get data like this $this->setFooBar('a value'); echo $this->getFooBar(); without any setFooBar or getFooBar [...]
astormIn Magento 2, the base Varien_Object class no longer has a custom, internal _construct method. Blocks, Controllers, Models, Resource Models, and Collections still have an internal _construct, but that’s because the core team defined _construct methods on the various abstract base classes for those objects. $ ack '->_construct' [...]
astormI’ve been digging into Magento 2’s layout system, and there’s significant changes from Magento 1. Conceptually, it’s still a “nested tree” of elements, but instead of just blocks there’s now a second type of thing you can add to a layout called a container. Containers look like they’re [...]
astormMagento 2 has “web hooks” Looks like there’s a proposal in Magento 2 for webhooks, which appear to be a a way to have Magento automatically send an HTTP POST whenever an important business logic action (customer created, order created, etc.) occurs.
astorm3 Pillars of DI by Anton Kril Some high level overview notes on Magento 2’s dependency injection system, via simonsprankel.
astormmagento2 – Magento 1 Class Rewrite in Magento 2 with Dependency Injection System – Magento Stack Exchange I didn’t realize this until today, but Magento 2 has completely ripped out the class rewrite system, and replaced it with a new dependency injection system. You can still rewrite a class, but instead of setting up a [...]
astormNo Frills Command Line Magento A quick note to Magento Quickies readers (in case you missed it elsewhere). I’ve published the n98-magerun series as a Leanpub book titled “No Frills Command Line Magento”. Future chapters are in the works, so get your copy today.
astormMagento Community 1.8 Update :: Meanbee Magento eCommerce An interesting, if odd, call from eBay to a few companies and individuals about the future of Community Edition.
astormAdvanced Magento Logging Came across this hackathon project via this Stack Exchange question. I haven’t used the linked logger, but back when I worked for a living emailing exceptions to a central list was a key development best practice. (And ignoring those exceptions was a key development anti-pattern that drove me into my own [...]
astormVarien_Object’s _underscoreCache Mainly posted because it amuses me to think of the fit an underscore js aware developer will have once they realize PrototypeJS is an unavoidable Magento reality.
astormPopulating Test Products Pure SQL solution for quickly populating Magento’s with test data. Standard warnings about using SQL and the possibility of invalid data relationships being created apply, but interesting none the less.
astormWhile you still call Mage::dispatchEvent to dispatch an event, Magento 2 has moved responsibility for event dispatch out of the Mage_Core_Mode_App class and into a stand alone Mage_Core_Model_Event_Manager class. If you’re debugging events the final dispatch method you’re interested in is #File: [...]
astormThat last post made me realize I hadn’t mentioned one of the biggest changes to Magento 2: No more class aliases. Magento still has factory methods for instantiating objects, but instead of the shorter, more elegant, and confusing class aliases Mage::getModel('catalog/product'); You use a full PHP class name [...]
astormOver Magento 2’s long gestation period, there’s been a lot of back and forth on its backwards compatibility. At this point, there would need to be a major engineering effort for out of the box API compatibility with Magento 1. Extension developers will need to resign themselves to some refactoring to get their extensions [...]
astorm