Dev Talk

Welcome to the Dev Talk category at Inchoo, where we we delve into the world of Web development tools, DevOps, PHP, Frameworks, HTML, JavaScript, and much more. As a full-service eCommerce agency, we understand the importance of staying up-to-date with the latest trends and technologies in the ever-evolving digital landscape.

So, whether you’re seeking guidance on selecting the right tools for your next project, looking for insights on performance optimization, or simply curious about the latest industry trends, you’ve come to the right place.


How to generate SSH keys for Git authorization

SSH keys © Some rights reserved by @boetter / flickr

Securing your Git interactions with SSH keys is a fundamental aspect of software development today, offering a secure and convenient way to authenticate with remote repositories. Whether you’re an experienced developer or just starting your coding journey, understanding how to generate SSH keys for Git authorization is an essential skill to ensure the integrity and privacy of your code. In this quick guide, we’ll walk you through the process of creating SSH keys on Windows, Mac, and Linux systems, empowering you to access and collaborate on your Git projects with enhanced security.

Read more

ERP and eCommerce platform integration

eCommerce & ERP integration featured

The benefits of ERP (Enterprise Resource Planning) and eCommerce integration are immense when the process is done the right way. ERP presents the “backbone” of your business and a powerful software system designed to integrate and unify the main functional areas of your organization. What should companies keep in mind when planning the integration of two key systems in their business operations – ERP and eCommerce platform?

Read more

Unit testing in Magento 2

Unit testing in Magento 2

Magento 2 comes pre-installed with PHPUnit, an automated testing framework for PHP. It is included as one of the dependencies in Magento 2. Covering the basics of PHPUnit is out of the scope of this tutorial, after a short introduction we are going to focus on the practical example of using PHPUnit with Magento 2. For those who are interested in PHPUnit basics, I would recommend reading documentation or tutorials on the web since it is a very well documented topic.

Read more

Symfony templating with Twig

Symfony templating with Twig

Symfony 4, (further in the text – Symfony) for templating provides twig bundle, which is a very useful templating engine. It is built by SensioLabs – the company behind Symfony. Besides Symfony, there are more platforms supporting Twig such as Drupal8, eZPublish, phpBB, Piwik, OroCRM, etc. In this article we will cover the basics and show how to extend them. Twig is by default not installed with Symfony, you need to include symfony/twig-bundle with the composer (composer require symfony/twig-bundle).

Read more

Local development with Valet+

Valet Plus

Development has been rapidly growing. In fact, at this stage, it has grown so much that it puts a lot of pressure on developers to become super-humans. However, the developers should do what they’re best at, and that is writing code without having to struggle with a local setup. Luckily, there are tools that help developers focus more on code and less on the environment.

Read more

Symphony of PHP – Symfony 4

Symphony PHP Inchoo

You have probably heard of PHP framework called Symfony, today I will share my and Inchoo’s experience with this great framework. You can basically do anything in Symfony, but the most important question you should ask yourself is: Should I use Symfony for my application? In order to help you answer the question, I will try to explain basic concepts, give my thoughts and share some experiences in eCommerce development.

Read more

Version control systems in UI design

Version control systems in UI design

Our design team switched to working in Sketch a while ago but it wasn’t until version 43 we really started seeing some opportunities to change our workflows more significantly. It was also an opportunity for more designers to work on the same project as well as collaborate with developers more easily. If you’re looking for professional Magento web design services, feel free to check out our Magento Web Design Service for more information.

Read more

Are you in for some RWD workshop? Vitaly Friedman from Smashing Magazine is coming to Osijek, Croatia

Are you in for some RWD workshop? Vitaly Friedman from Smashing Magazine is coming to Osijek, Croatia

We are proud to announce an awesome Responsive Web Design workshop by one and only Vitaly Friedman! This writer, speaker, author and editor-in-chief of Smashing Magazine will get up on stage at Inchoo’s hometown Osijek with smashing workshop “New Adventures in Responsive Web Design”.

Faculty of Economics at Osijek will be the main point of this event on June 17 from 9AM to 6PM.

Read more

Sass Output Styles

Sass Output Styles

Sass has four different CSS output style. By changing setting for :style option or using the --style command-line flag.

I will show you how Sass outputs this piece of SCSS code in all style options with style option explanation.

Read more

Custom data components in Pimcore

Custom data components in Pimcore

Today I will show you how to create custom data component in Pimcore 4.4.. If you are using Pimcore, sooner or later you will end up with requirement for new form element (complex type). Data components in Pimcore are object types used for complex data modeling on object. Data component consists from data, tag Extjs scripts and one Model which is responsible for saving/loading configuration. Currently Pimcore has 19 complex data components (you can read more on https://www.pimcore.org/docs/latest/Objects/Object_Classes/Data_Types/index.html), and they will cover most requirements you will ever need. However, if (when) you’ll need a custom data component, here’s how you can create it.

Read more

Mitigating Facebook’s “x-fb-http-engine: Liger” site hammering using Apache or nginx

Mitigating Facebook’s “x-fb-http-engine: Liger” site hammering using Apache or nginx

Facebook is using a sort of web page prerendering mechanism in it’s in-app browser for mobile users [see disclosure here]. It is used by Facebook’s in-app browser to speed up page rendering for web link content shared on Facebook. But it can cause serious headaches, and this post should explain how to mitigate it with Apache or nginx.

Read more

A simple frontend workflow for Gulp

A simple frontend workflow for Gulp

What is Gulp?

Gulp is a task/build runner which uses Node.js for web development. In this tutorial, I will not explain how to create your Gulp plugin but I will show you how you can create a simple, basic, customized build process for your frontend workflow to ease your job.

Read more

Thou Shalt Not Do Inserts in a Foreach … Unless You Know The Trick

Thou Shalt Not Do Inserts in a Foreach … Unless You Know The Trick

TL;DR;

Don’t do it. Just, simply, never write a database query inside a loop. Ever. Put in a little bit of effort and write code that will insert or read all data in one big batch, or at least group big chunks of data in the smallest possible number of queries. That’s it. Move on. These aren’t the droids you’re looking for.

Read more

Inchoo’s compatibility extension for Magento 1 and PHP 7

Inchoo’s compatibility extension for Magento 1 and PHP 7

As promised,  we prepared something that will spice up your holidays better than Christmas decorations and mulled wine. In this article you can find our open-source compatibility extension for Magento and PHP 7 (yes, you read that right!) as well as some of the experiences and performance tests.

Read more

Magento without an IDE? Say hello to Sublime!

Magento without an IDE? Say hello to Sublime!

We are all aware of the Magento codebase size and its complexity. That is one of the reasons most people use full-fledged IDEs for Magento programming. Most answers regarding the “what IDE should I be using for Magento?” or “what is the best Magento development environment?” include big boys like Eclipse, NetBeans and PhpStorm. Since you’ve already read the title, you may be wondering: “what can a text editor like Sublime Text offer me for my Magento development?”. Vanilla installation? Not much, but with the help of a few plugins, well… Keep reading and you just may be in for a treat.

Read more

Using Redis cache backend and session storage in Magento

Using Redis cache backend and session storage in Magento

Combined with the power of Zend Framework, Magento currently supports many cache backends with file system, APC and Memcached being the most widely used. Every supported cache backend brings it’s own set of upsides and downsides, but since there’s a lot to choose from, one could easily assume that as far as cache backends are concerned, Magento is very well covered. To some degree this might be true, but when you seriously up the number of requests, none of the cache backends scale well. Besides poor scaling, some of the cache backend implementations also suffer from serious limitations like not having support for grouping of related cache entries, a.k.a. tagging. With this in mind, and in order to provide support for stable and scalable cache backend, latest versions of Magento are turning to Redis key-value store. In this article I’ll do my best to describe process of implementing Redis as cache and session backend with recent versions of Magento Community and Enterprise Edition.

Read more

Tracking Magento “add product to cart” action for analytic software purpose

Tracking Magento “add product to cart” action for analytic software purpose

Recently I have been working on a Magento extension for a 3rd party customer analytics and targeting web service, think Google Analytics alternative. One of the eCommerce tracking features that needed to be implemented was the “add product to cart” action. Since these kind of tracking services use JavaScript to trigger their tracking code, it’s up to us to see where and when will be embed certain tracking JavaScript in Magento. What’s interesting about “add product to cart” action is that it’s not your usual web page on which you land and are then in possibility to execute certain JavaScript.

Read more

CouchDB for PHP developers – CRUD

CouchDB for PHP developers – CRUD

Apache CouchDB™ commonly referred to as just CouchDB is an open source NoSQL database that uses JSON for storing data in form of documents, JavaScript as its query language using MapReduce queries, and regular HTTP for an API.

Read more

Easily manage LAMP name based virtual hosts

Easily manage LAMP name based virtual hosts

I’ve been developing inside LAMP environment since the day one of my web development adventure. Reason for this is that all of the web development tools like web server, database management system, source code revision control systems are at home when I log into the Linux powered workstation. Of course there are some downsides to developing inside LAMP, most importantly the sheer complexity of LAMP environment configuration. With this in mind I’ve created tool designed to simplify management of name based virtual hosts on Debian based Linux operating systems. In this article I’ll give my best to provide an overview of this tool and present you with a few clear examples illustrating its usage.

Read more

Consuming Magento REST service using Zend_OAuth_Consumer

Consuming Magento REST service using Zend_OAuth_Consumer

Ok folks. Until today, trying to cover this area completely, I wrote two articles about Magento oAuth and REST services:

This Magento REST and oAuth functionality and ways on which it could be used are so wide that I think that even in this three articles will not cover everything that I wanna share with you, so stay tuned for next articles about this topic in near future 🙂

Read more

Setup automatic per-folder subdomains on your local linux based computer

rusek@sxc.hu © rusek@sxc.hu

WARNING: this is a fully linux-based tutorial. I’m pretty sure that this is possible on Micro$oft Windows and OS/X, but unfortunately I’m not using them, neither I know a good DNS server for them and the impact on XAMPP and MAMP.

As you probably already know, one of the main problems when you’re doing multiple projects is to organize them properly, first for fast local testing of changes, second for your own sake, to not get lost on your own computer.
One more problem are the testing local domains. Well, the easiest way when you create a project is to create a new project folder, put a new domain (and every subdomain you’ll use) into your /etc/hosts file, create a new virtual host in the apache config, run a2ensite #### (or however you enable a new site on your distribution), restart the webserver… Which means, you need to do that everytime when you’re creating a new project. Not a very convenient way if you ask me, as you’re bloating your /etc/hosts file and your Apache2 virtualHost file(s).

So, one day, I was thinking about that and looking for a solution for it. I’m sure there are a bunch of ways to get rid of this problem, and this solution which I’ll show you is how I managed to do it.

Read more

Magento mobile theme – imobile

Magento mobile theme – imobile

Magento meets jQuery mobile (ver 1.1.0), before we start please note this is only experiment, use this theme on your own, this is not (yet) production ready. In a nutshell we have “package” under which we place all edited files. For start we use magento iphone theme and then add some “extra stuff”.

Read more

Installing & setting up PHPUnit manually without PEAR

Installing & setting up PHPUnit manually without PEAR

If there is one thing I hate in PHP world then that’s PEAR. With full respect to it, but it simply does not work for me. I usually jump around from Linux, Windows, OSX on a monthly basis and honestly I have never had it work out of the box. There where always some installation issues with PEAR itself then with the packages. Experience I’m describing here is completely subjective so please do not look at it as me trashing the PEAR. If it works for you, then great. If not, then here is s little HowTo on installing the PHPUnit manually without PEAR.

Read more

Using custom php.ini file with php CLI

Using custom php.ini  file with php CLI © pk2000@sxc.hu

Considering that I have never been real Linux user before, there was few things that I had to learn to successfully handle my code on server through SSH.

One of these things is forcing php CLI to use my custom php.ini file on server.

Let me start this story from beginning …

Read more