Magento 2 Custom module upgrade: PHP Serialized to JSON
After the latest Database data format changes in Magento 2.2.x version, there is a need to convert existing PHP serialized data to JSON format. The new release provides upgrade scripts that convert Magento serialized data. But how to deal with custom extensions, which also use automatic serialization mechanism provided by Magento framework? Thankfully, Magento took care of that too.
Docker development environment for Magento
It has never been easier to create a development environment. No meter what operation system you use with Docker you can build the exact configuration you need. In this post we will provide steps for creating a sample Magento development environment configured in a single docker-compose.yml file.
How to use the Magento 2 object manager in your unit tests?
Every unit test ninja faces troubles whenever he wants to test some real class functionality. Have you ever invoked toHtml() method of some block or beforeLoad() method of any collection? If you want to do it, you will need to mock a lot of classes that depend on other classes and so on. You would need to mock all of them, which would take a lot of time and effort. In a long run, you may blow up deadlines and it would really suck. Yes, you can try to change your testing strategy to avoid invoking such methods. But what if you still need to test them? I’m going to show you how I handled this problem.
Working with Magento 2 Cache
Sometimes Magento developers face the need to work with Magento caches programmatically. For example, when you develop your custom module, which renders some content on front-end and this content can be managed via Admin Panel. Let’s say, it is cached by Full Page Cache (FPC). In this case you will need to notify the user that one of the cache types is invalidated and should be refreshed in order to have the changes applied. Or you will even want to refresh the FPC automatically on each modification. Magento 2 allows to perform it very quickly and easily.
Boost your CLI environment – part 3
In the part 2 we have described the powerfulness of terminal multiplexers and reviewed one of the most popular terminal utilities – Tmux. Such kind of multiplexers might greatly boost your performance in handling different CLI operations. Let’s go forward and imagine the trivial situation, when you have created your own handy CLI environment with many terminal windows in one tab or so. You have everything under your hand but sooner or later you have to reboot your computer because of a new system update or installing some applications that require the system restart. In this case, your terminal multiplexer process will be shut down and you will lose all your settings. Fortunately, there are few lovely utilities that help save all your windows/tabs configurations and allow to recreate the entire tabs with windows.
Boost your CLI environment - part 2
In the previous article we wrote about few improvements that you can implement for your Command Line Interface (CLI). But “Perfection knows no limits” and in this article we would like to dig deeper and describe few additional solutions that will make your CLI more powerful in your hands.
Many developers/system administrators sooner or later face with the situation when one terminal window or even few terminal tabs is not the most convenient solution. You want to have everything close at hand: to see all terminal windows at the same time. Sure, you can tile all terminal windows or improvise in some other way but for making the things easier let’s give a shot for a terminal multiplexer.
Boost your CLI environment
Most of modern softwares have a handy graphical user interface that allows executing different operations by few actions. We are talking not only about user interfaces for social networks, messengers, email clients etc. You can even create an entire website or a standalone application by few clicks and labels using different automated software with a good UI toolkit. That’s really great because it involves more and more people into attempts to create something new and special. However, what about people who stand behind this scene – developers, who create “software for creating a software”?