Doug Hatcher

Doug Hatcher

Enterprise architecture and tech junkie

Posts in archive category

I work at an agency and we’ve had access to it in Early Preview and are building our first implementations with it now. SaaS itself is fine, pretty much exactly what you’d expect it to be - it provides REST and GraphQL endpoints as well as an Admin interface where you lose access to stuff like Page Builder and a few other things that no longer make sense in this world.
Read full post →

Webscale bought Magemojo and I always thought both provided a great service if you didn’t want the hassle of self-hosting. Upsun also springs to mind, they were at Magento Meet this year and that is who Adobe uses - it doesn’t provide auto-scaling as far as I know, but it’s tried and true if you know how to set it up. www.reddit.com/r/Magento…
Read full post →

Generally web developers should be learning node and react, but If you’re a PHP developer then yes I imagine it is worth learning. Between Magento and Adobe Commerce PaaS that codebase will be in the wild for decades to come. The framework itself is intense and all, but it’s well thought out and tries to use it’s underlining language. So if you’re serious about learning the language it can be a good place to see interesting patterns and learn to troubleshoot big codebases.
Read full post →

Adobe has been investing a ton in App Builder and is where you should focus your energy github.com/adobe/com… www.reddit.com/r/Magento…

You’re looking at this correctly. This is a big issue with all package managers, node and others suffer from the same kinds of issues. GitHub has dependabot that will routinely scan for vulnerable packages, and you can do similar things on your own to try and mitigate the risk. There was a suggestion about using something like Symphony where it doesn’t draw from as many dependencies. This seems like good advice, but it might be going too far as I work with projects with much higher package counts and they are considered secure.
Read full post →

Conceptually it’s the same thing - there was even an Admin interface for installing extensions at one point. Packages can be installed either via composer or through a “manual installation” which is just like extracting a zip in the right directory. The considerations are similar to Wordpress too, which is to say that if you install an extension but modified the themes then it’s possible the extension won’t present correctly and will need to be fixed.
Read full post →

It’s hard to articulate just exactly why people should avoid Amasty but DRM is a pretty hard line you should never cross in a PHP project. It’s just not necessary, and it speaks volumes to their intent as Adobe and the broader community would come to their defense if their good work was actually stolen by other vendors. www.reddit.com/r/Magento…
Read full post →

I agree with the sentiment that it’s your course to set and the major consideration is your own personal sanity. I will say, however, that if your project is used by many projects then one consideration should be their adoption strategy. Maybe it makes sense to find some usage stats, or maybe a survey, and figure out what versions of PHP your users are currently using and expect to use throughout the course of your roadmap.
Read full post →

Honestly, just do your best and learn to be a good teammate. Languages come and go, and with ChatGPT you’ve got a buddy ever ready to answer questions. My advice is use it, don’t rely on its code but use it to grok and understand. The rest is being useful. Ask the dumb questions, because you’re not the only person wondering. Give practical commitment dates, over communicate and help those around you.
Read full post →

How big is the codebase? Obviously you’re facing a rewrite, but I would start by reviewing the logs and codebase, think deeply about how it should work, and isolate the current solution and mitigate the problems while you start building the correct solution. You need to begin by getting your arms around the biggest problems and begin to address them this week. Start by installing new relic, tackle problems with zeal, and do it first on a staging environment with plenty of testing so you’re not introducing more problems.
Read full post →

Open Source is a standalone product with its own community and roadmap geared towards small to medium sized businesses. Adobe supports and helps fund Magento, and will continue to do so. There willl always be the two products. Adobe wants the enterprise market for Adobe Commerce and thinks an open source base helps add value by building a bigger community and giving brands a path in And out of the enterprise licensing tier.
Read full post →

Play with a free Platform.sh account, it’s what Adobe Commerce Cloud is based on and it’s practically identical with a few caveats. I went through the exercise of deploying the Magento Cloud GitHub project to Plathorn.sh a few years ago - I think you can likely do this without an enterprise license. You can at least get far enough to get some real experience www.reddit.com/r/magento…
Read full post →

I see this differently, Adobe is trying to turn Magento into a headless commerce service. They want to position it so functionality is brought in through managed cloud services like through Adobe Exchange and API Mesh. I don’t think Adobe wants to maintain the same Magento codebase longterm, I think they’re actively building the enabling technologies to move on from it. www.reddit.com/r/Magento…
Read full post →

This is interesting, the built-in server has many advantages over FPM for development, but desperately lacking some tool to manage it. I will see if I can work this in to my workflow! www.reddit.com/r/PHP/com…

I feel like the most useful thing to know for anyone still using Magento 1 is that they should probably immediately upgrade the codebase to openmage https://github.com/OpenMage/magento-lts because jfc, and then seriously consider if their life would be improved with moving to some cloud service that manages security for them. www.reddit.com/r/magento…
Read full post →

I’ve found it’s best to shoot from the hip. If they are as big as they claim (and in the US), they’re expecting to pay out the nose. Also, keep in mind that HR is separate from the development side of the house (even if they have developers conducting interviews) and they’re also likely under the gun to find good hires. All of this plays to your advantage. I think the best play is to generally shoot high and see how they roll with it.
Read full post →

You can setup multiple store views as different subdomains. It’s easy to setup https://devdocs.magento.com/guides/v2.4/config-guide/multi-site/ms_websites.html Your SEO information should be configurable on a storeview level, you can change scope in the admin for most places - have them to change to the website or storeview and customize it there https://docs.magento.com/user-guide/configuration/scope-change.html www.reddit.com/r/Magento…
Read full post →

Mac’s are probably a bit tamer for the uninitiated, but historically I like to run Linux and would enthusiastically endorse Fedora for a Magento developer. But these days, I hear that the M1 Pro makes for a phenomenal dev laptop that really can’t be matched in the x86 realm, probably the right way to go. www.reddit.com/r/Magento…
Read full post →

You’ll most likely want something in front of varnish to terminate TLS/SSL. A CDN can offer this, but for e-commerce it’s best to terminate on the local network of the server. A reverse-proxy that terminates SSL and proxies the HTTP request to varnish is the usual solution. Traefik is a great choice, and can even generate that cert with Let’s Encrypt. You can also wire this up directly with NGNIX, or indirectly with Kubernetes with an Ingress Controller.
Read full post →

Magento doesn’t store passwords directly, it stores a hash. The same is probably true for WooCommerce. You wouldn’t be able to re-hash the password but you may be able to tweak Woo’s hashing logic to match Magento’s. I would avoid this though, password resets aren’t very burdensome and even give you an excuse to engage with customers. The rest you can probably migrate. www.reddit.com/r/magento…
Read full post →

If you’re interested in writing something somewhat useful, take a look at Elasticsearch which has good PHP support and is used on many projects. www.reddit.com/r/PHP/com…

Generally, I think you should build docker images and perform testing and linting against those using the functionality of the pipeline of your favorite git service. You can then trigger deployments with services that leverage docker images, and you feed it the same build images you were testing for deployments. Different applications have different deployment details, but whatever the application, if you can dockerize it then you can generally roll it out with little to no downtime, and it’s usually fairly portable to other services at that point too.
Read full post →

Inheritance is a good way to give objects common functionality while changing key pieces to suit different purposes. For example, you can define an interface that describes how data flows through your application. Then you can write an abstract class with the database plumbing. Then maybe you’d create a posts class to represent a collection of posts, and that class is where you’d store the logic specific to posts. In this model, there is no code duplication, and you’re using interference to share code across multiple objects that largely work the same.
Read full post →

You really have to appreciate his integrity, likely not an easy post for him to write. Still, it seems like an official GraphQL implementation would be prefered, and you could sunset a lot of the REST functionalities while fleshing out an API more suited for headless content management and delivery. I say merge it anyways! www.reddit.com/r/PHP/com…
Read full post →

You’re likely putting too much thought into it. If you want to go with a .htaccess rule, I’d suggest updating the one in pub/ and making a rewrite rule routing to your WordPress directory. Personally, I would consider Magento and WordPress two separate app installations and would add configuration to apache directly for this. When you install Magento with composer, .htaccess files and the like will get clobbered so the separation is nice.
Read full post →

Definitely, seems like GraphQL should be a foundational feature. Many (new) AMP and CMS frameworks are written in js and rely extensively on GraphQL and edge-caching for performance. Surely WordPress will move in that direction too. www.reddit.com/r/PHP/com…

You’re just now installing Magento 2 on a live site? I would suggest building a staging environment and testing everything out, M2 is slow compared to M1 (and any other php framework that comes to mind) and prone to problems I wouldn’t suggest just cowboying it. www.reddit.com/r/Magento…
Read full post →

Some of the PHP frameworks are deep and complex, I’d suggest focusing on those - they’re written in PHP so by using them you’ll get exposure to the underpinnings. www.reddit.com/r/PHP/com…

Are people really angry over this? It’s not insulting your job, it’s saying that using _THIS_ PHP interpreter isn’t recommended, it’s going away. You can install PHP sixty different ways, they would recommend one of those. www.reddit.com/r/PHP/com…

You don’t need hosting to learn the basics, I’d consider one of the local development tools used for running it locally like warden or valet. You could also run it locally with docker, which would help you on your path to eventually hosting it online with something like digital ocean. www.reddit.com/r/Magento…

I’ve had several clients on Nexcess SIP servers, and they really aren’t that bad for M1 hosting. You’re a bit confined with what you can do yourself, but I never ran into anything unsolvable, and their guys are decent if you need help. The hosting service itself is fine for the low-end imho. Webscale is offering post-EOL support for M1, they’re probably worth considering too. www.reddit.com/r/Magento…
Read full post →

He shouldn’t stay on M1 as it’s EOL, he should upgrade to something… Magento 2 is a steep learning curve, but it’s a great platform that will probably cover his needs. Unless he’s a strong developer it’s probably too much for him to tackle. Shopify is a bit saner as far as that goes. I would not build it from scratch, e-commerce has a ton of moving pieces you probably haven’t considered all the complexity.