Blog
Some Things Should Just Be Done "The Magento Way"
Published: June 16, 2016
Working at a Magento consultancy, I have the privilege of interacting with a plethora of merchants that run their businesses on Magento. One aspect of this that never gets old is all the things merchants think should function differently than how Magento thinks they should function[1]. Here is just a short list of things I’ve encountered…
- “The search autocomplete functionality should list products (or categories) that “match” the estimated search term rather than (or in addition to) showing other search terms”
- “The top cart should open on hover, not on click”
- “If a customer tries to add a quantity greater than what is available all the available items should be added to the customers cart with an error, rather than just showing an error.”
The list above falls into the category of things that can more or less be safely customized. However, sometimes there are things that you just shouldn’t customize.
Recently, we onboarded a client whose site had customized a couple of those things. In this post I’ll outline these examples and demonstrate unintended consequences of trying to make Magento behave differently than it was meant to.
[PROPOSAL] Script Tag Timeout Attribute
Published: May 2, 2016
Marketing <script>
tags. Some might say they power the internet.
There are all different kinds of marketing <script>
tags. There are simple ones that you just embed in the global footer and are done with. Then, there are complex ones that fire when a user “converts” and ask you to send back the total order amount, a list of products, tax and shipping costs and the user’s mother’s maiden name.
Adding and removing these tags is such a common task for any website that there are entire platforms (see: Google Tag Manager) created just for the point of doing so. They introduce a new knowledge domain and buzzwords like data layer.
That’s all fine and dandy, but what happens when they don’t work? Below is a story where a marketing pixel caused a big problem, and a proposal for how we can help makes these backbones of the internet a little less dangerous.
An Alternate Use Case For Prometheus Monitoring
Published: April 8, 2016
I first heard about Prometheus on an episode of The Changelog Podcast. Before tuning in, I read the description and was intrigued. Monitoring is an important part of my day job where my team is responsible for ensuring the technical end of operations runs smoothly for many large scale ecommerce businesses. I saw that the episode featured an engineer from SoundCloud (a service I use regularly for streaming music) and decided to give it a spin.
Scaling Throughput to Magento’s Search Results Page
Published: April 7, 2016
In my work at Something Digital I’ve recently taken a deep dive into profiling and improving performance, at scale, of the search results page (/catalogsearch/result/index
). In our case, we have a client whose traffic profile is very search heavy, and ran into performance issues due to a traffic sure to that route. The investigation was very interesting, and I thought it would be beneficial to document some of the key findings here.
Enterprise_Targetrule Database Structure
Published: August 15, 2015
Recently, I've been doing some work with Magento Enterprise's "Rule-Based Product Relations" feature, or, as it's called in the source code, Enterprise_Targetrule
.
At Something Digital we have a client with an interesting requirement that involved some customization to the module. As a result, I spent some time digging into the module's mechanics. Since technical documentation is sparse, I figured I'd share my learnings for anyone interested to benefit.
Whodunnit
Published: July 2, 2015
When a team of people, both technical and non-technical, collectively operate a shared software installation things are bound to go wrong at some point. As the technical folk we are often engaged to perform forensic analysis. This type of work frequently includes tasks such as grep
-ping server access logs for certain request paths, dates, and IP addresses or reviewing any other logs or information related to whatever incident may have occurred.
This post is about a specific incident that came up recently. It was not a major one, but there were some learnings for me along the way and I figured it would be interesting to document the process.