How to Create Backups for Your Magento 2 Store?

Even though Magento 2 is considered as the most secure platform, but there are always unexpected moments when your Magento 2 store could break. For instance, a server crash, exploits, hacking, bugs and other mistakes. Thus, it’s beneficial to have the backups of your Magento 2 store so that you can recover your store quickly whenever you need.

Note: Restoring a backup of your M2 store will only recover the data that was last saved by you.

There are two methods to create a backup for your Magento 2 store. The first one is to create a backup via admin panel and the second one is to run a backup through the command line of your server. In this “How To” blog, we will explain you both these methods and steps needed to create backups for your M2 store:

M2 Backup Via Admin Panel

Step 1: Login to your M2 admin panel

Step 2: Now navigate to this path System > Tools > Backups

Step 3: Here on this page you will find backup options:

The System Backup will be all of your files and the code itself.

The Database Backup will be your database tables consisting of items, such as, order, customer details, and admin configurations.

And, the Media Backup is going to be all of your media folders, plus the largest backup because it covers your images and videos.

.

Backups Tools System Magento Admin (1)

After the Backup selection, you will observe a page where you should name the backup file. We recommend you to use the data and the type of backup while naming the backup file (only for easy reference). Make sure you’re placing your store into a maintenance mode during the backup process. It will help you to limit the amount of data that is altering during this backup process. You can go for the final option if you prefer to isolate the media folder from the backup. As you know, it is the largest set of files, and for many Magento 2 stores, these elements are not going to alter as commonly as other sections of the store.

After creating the file, you can tap the filename to download the backup. Moreover, you can also restore your store back to your previous version of the store. By using this powerful tool, you can eliminate any of the new data on your Magento 2 store that was excluded from that backup process. You only need to ensure about the data you will be eliminating by restoring to any of your backup files.

Backups Tools System Magento Admin

MM2 Backup Through the Command Line

This method is mostly preferred by developers as it is very easy for them to implement into a Magento site. For more details on using and implementing this command line M2 backup, you can refer to Magento Dev Docs.

That’s all what you need to do for creating backups for your Magento 2 store. It is quite explained so you may have no issue while performing these methods. In case you face any difficulty, you can contact us at  sales@envisionecommerce.com to get a helping hand from our certified Magento developers.

How to Programmatically Create Attribute Type Drop Down in Magento 2?

This blog post is the 2nd of our “Magento 2 Attribute Creation” blog series, you will now learn how to programmatically create attribute type drop down in Magento 2. If you have not read first blog post “How to Add an Attribute in Magento 2?” yet, we strongly recommend you to do so.

To Programmatically Create Attribute Type Drop Down in Magento 2, you need to follow the coding structure as mentioned below:

$eavSetup->addAttribute(

\Magento\Catalog\Model\Product::ENTITY,

'image_label',

[

'group' => 'General',

'type' => 'int',

'backend' => '',

'frontend' => '',

'label' => 'Select image label',

'input' => 'select',

'class' => '',

'source' => 'Eecom\TestMod\Model\Config\Source\Options',

'global' => \Magento\Catalog\Model\ResourceModel\Eav\Attribute::SCOPE_GLOBAL,

'visible' => true,

'required' => true,

'user_defined' => false,

'default' => '',

'searchable' => false,

'filterable' => false,

'comparable' => false,

'visible_on_front' => false,

'used_in_product_listing' => true,

'unique' => false

]

);

Source for dropdown will be ‘Eecom\TestMod\Model\Config\Source\Options’, where you have to create the options array for a dropdown.

Eecom -> Namespace

TestMod -> your module

Options.php

<?php

namespace Eecom\TestMod\Model\Config\Source;

use Magento\Eav\Model\ResourceModel\Entity\Attribute\OptionFactory;

use Magento\Framework\DB\Ddl\Table;

/**

* Custom Attribute Renderer

*/

class Options extends \Magento\Eav\Model\Entity\Attribute\Source\AbstractSource

{

/**

* @var OptionFactory

*/

protected $optionFactory;

/**

* @param OptionFactory $optionFactory

*/

/**

* Get all options

*

* @return array

*/

public function getAllOptions()

{

/* your Attribute options list*/

$this->_options=[ ['label'=>'Select Options', 'value'=>''],

['label'=>'Bestsellers', 'value'=>'0'],

['label'=>'Newest', 'value'=>'1'],

['label'=>'Hot', 'value'=>'2'],

['label'=>'Favourite', 'value'=>'3']

];

return $this->_options;

}

}

}

We recommend you to keep an eye on our next upcoming Magento 2 related blog posts to take your Magento 2 competence to the next level.

Smile Sharing 2017 – A Revisit to Bal Niketan Orphanage

It has been 2 years since we started a Smile Sharing initiative where we visit Bal Niketan (a National award winning “Home” for orphans) every year and give a donation contribution to bring smile on the faces of underprivileged Orphans.

To keep this initiative going, we again visited Bal Niketan yesterday, so as to spread some smile among those underprivileged Orphans this Diwali, too. We had brought some goodies with us to offer them as gifts for the Diwali. We felt extremely good about this charitable act of giving out to these children and seeing their happy faces when they received the goodies. It was really a fulfilling experience for us.

Smile Sharing 2017 – A revisit to Bal Niketan Orphanage

We feel extremely fortunate that we have our parents with us, but these little angles don’t. They live a very simple life & yet they are very happy. We hope to visit Bal Niketan again on next Diwali, and also endeavour to do more for these Orphans.

5 Reasons Why You Should Move to Magento 2?

Migration 1 to Magento 2 seems to be the most discussing issue among web store owners across the globe. The highly controversial question of this discussion is – “Why you should move to Magento 2?” Let’s have a deep insight into this issue.

First off, you need to notice that Magento 1 to Magento 2 Migration process is much more complex than just upgrading to the latest version. It covers everything from migrating your entire store data to re-developing your site from scratch. Even though there are many tools available to simplify this transition or data export, but it still requires a lot more to carry out, such as real shopping experience and the front end of your online store. Considering all these aspects of the Magento 2 migration process, you will experience why it is worth to migrate to Magento 2. Here are top 5 reasons that will encourage you to move on to Magento 2:

#1 Reason:

The very first reason is associated with the official support of Magento 1, which is expected to end by 2018. What do you understand by this? Obviously, it doesn’t imply that Magento developers will not serve Magento 1 based online stores, however, it implies that security patches for incoming issues will no longer be launched. If you get stuck in such situation, it would be expensive to cope up with it. Moreover, you will have to face some major difficulties, like malicious programs impacting uncovered as well as unprotected gaps.

#2 Reason:

Magento 2 is a feature-packed technology platform compared to Magento 1 and its previous versions. These features bring several advantages, such as:

Backed by a modular architecture, Magento 2 helps in boosting your site’s speed in terms of page loading time, end-to-end checkout time, add-to-cart server response time, etc.

Magento 2 has a great potential to support 10 million catalog page views per hour, which is 20 times greater than Magento 1 (supporting only 500,000 page views).

Magento 2 comes with a new admin panel that encourage business system to quickly respond to change reforms. Moreover, you can also customize this new admin panel in order to easily access appropriate business details.

The new Magento 2 checkout is much more user-friendly than Magento 1’s checkout. It allows account creation with a single click that further encourage customers to make a re-purchase.

Being developed using a top-notch responsive web design approach, Magento 2 facilitates optimal viewing plus seamless interaction across different types of devices.

#3 Reason:

In case of Magento 1, upgrading to the latest version was complex and demanding more time, money and efforts. But, now it is more efficient in case of Magento 2.

#4 Reason:

Another reason that you should consider is its enhanced integration compatibility. It implies that the Magento extensions (that you would prefer to integrate into your Magento 2 based web store) will now be totally compatible with your store and you will not face any conflict during the implementation process.

#5 Reason:

How can we forget to include Magento statistics? Yes, the Magento statistics that reveals about the power difference between Magento 1 and 2. According to recent research studies, the popularity of Magento 1 has been falling down day by day. On the other side, Magento 2 is gaining popularity because of its incredibly awesome features.

So, don’t waste time in thinking why to migrate to Magento 2, just pay attention to your competitors who have already migrated to it, and go for a clean and proficient Magento 2 move.

You can take Magneto Experts help in this regard. We at Envision Ecommerce have a highly qualified and Certified Magento Developers, For any expert help on Magento 2, contact us at sales@envisionecommerce.com or visit: https://www.envisionecommerce.com

How to Make Your Magento Store Halloween Ready?

It’s already October and Halloween is on its way!! It is the most exciting time for online merchants to get their Magento stores immersed in the Halloween spirit to grab big bucks.

Last year, sales for Halloween hit a record of $8.4 billion (a boost of $1.5 billion from 2015), continuing to grow these numbers this coming Halloween. It’s the peak selling time of the year for your Magento store and points toward the beginning of the holiday season.

But wait… is your Magento store Halloween ready?

As a Magento store owner, you should be ready to make your eCommerce store Halloween-ready, but how to achieve this target in the most efficient manner? Moving to Magento 2.x is the right answer to this question. Yes, you read that right! Magento 2.x is the future and sooner or later you have to move over it. So why not do this on this Halloween and grab the potential of Magento 2 & its features to support your eCommerce store for bigger Halloween sales. The following points describe about the benefits of moving your eCommerce store over to Magento 2:

Speed and Magento 2:

According to Kissmetrics, 47% of customers expect a web page to get loaded in just 2 seconds or less. It means that a single second delay can lead to 7% decrease in conversions. Based on these reports, it would be right to say that speed and Magento store performance are linked to each other.

Store Speed Benefits from Magento 2 platform include:

End-to-end checkout times increased by 51%

Near-instant SRT (Server Response Time) for catalog browsing

Potential to handle up to 39% more orders per hour

66% faster server response times on add-to-cart request

Magento is aware that store speed and conversions are linked to each other. In addition to this connection, Magento also knows that more customers make a purchase due to the faster content delivery. That’s why Magento gave birth to Magento 2 platform to upgrade Magento 1 in these areas. These core performance improvements of Magento illustrate that they have been serving their customers (eCommerce merchants) in the best ways.

Integral Performance Improvements in Magento 2

Magento 2 comes with several integral performance & speed related enhancements, which make it smoother for eCommerce merchants to get benefits from the latest technology (compared to Magento 1). These performance and store speed enhancements include the followings:

1. Page Merging & Minification

The procedure of collecting all same type files under a single file is called as merging. In the case of Magento, Magento combines all of the CSS files and compile them under a single file to serve during the page load.

On the other hand, minification is a method to reduce the page weight by eliminating non-required elements from the code. However, in case of Magento 2, there is a huge reduction in the file size (the browser has to serve) for almost all CSS, JS and HTML files. This file size reduction is due to the removal of white space, comments and other non-required elements required to execute and serve the code. The main objective of the reduction is centred on limiting the data amount required to serve a Magento page.

Magento 2 utilizes jShrink (industry standard minification engine) for the Javascript and cssmin for CSS minification. It enables users to alter the minification way if required. Here we will practically show you how to merge and minify CSS files in your Magento store:

How to Do CSS Files Merging and Minification?

a). Open your Magento admin panel.

b). Navigate to  Stores > Settings > Configuration > Advanced > Developer > CSS Settings

natvigation to store

c). Now, you can go with merging or minification (or both) of CSS files ( as you can notice both these options under ‘CSS Settings’ section)

Note: The minification process can’t be applied if your store is under Developer mode.

a). Open your Magento admin panel.

b). Navigate to  Stores > Settings > Configuration > Advanced > Developer > JavaScript Settings

navigation to store

c). Now, you can go with merging or minification (or both) of JavaScript files (as you can notice both these options under ‘JavaScript Settings’ section)

Note: The minification process can’t be applied if your store is under Developer mode.

2. Browser Cache

Magento 2 can leverage the benefits from browser caching mechanism to load page much faster compared to Magento 1. Yes, it’s indeed true! All CSS and JavaScript are now cached in Magento 2 platform to lessen the data amount requires to be downloaded during every page load. Using this browser caching further leads to a better storage of assets that enhance your content efficiency for your users.

There are multiple cache managing options available under your Magento 2 store’s admin panel:

a). Open your Magento 2 store admin panel

b). Navigate to System > Tools > Cache Management

navigate to system

3. Asynchronous Functionality

Magento has made changes to its basic architecture while comparing Magento 1’s basic architecture with Magento 2’s. And this is where a way to improve the website (On Magento 2 platform) performance comes into existence, i.e., multiple functions, which can occur interdependent of each other.

Magento Commerce allows developers to split the database and use it for different functional fields (like checkout pages, cart, etc.) of the Magento application. This database separation further helps in scaling load from your Magento site as it allows concurrent users to make process requests without affecting other checkout elements. In short and simple words, you can allow multiple customers to use your store’s cart feature at the same time and it will not affect your online store performance.

Similarly, Magento has made enhancements in checkout, order management and product data so that these functionalities can occur independently without hurting your Magento store performance.

4. Varnish Caching Out-of-the-Box

Backed by a new feature, i.e. Varnish Caching out-of-the-box, Magento 2 can enhance your store speed and performance by hundreds of times. This feature mainly helps in lessening the load on your server while making content quickly & smoothly accessible to your viewers. However, we recommend you to take help from a Magento development agency to correctly configure Varnish caching because Magento 2 only supports these versions, such as 3.0.5 or later versions or any iteration of versions 4.x. Our Certified Magento Developers can help you in configuring Varnish Caching correctly at your Magento store.

PHP 7

Magento 2 can work with PHP 7. Even it operates twice as fast on PHP 7 than PHP 5.6 and also consumes 30% less memory. So make sure your server is running PHP 7 to leverage the advantages of this Magento performance improvement. However, your PHP version must match your version of Magento. We at Envision Ecommerce resolved several such issues of Magento store owners by correctly aligning their existing PHP versions with the Magento system requirements.

Other External Factors Affecting Performance

Hosting Provider and Server Configuration

Your hosting provider and server configuration are other external factors (outside of your Magento admin) that affect your Magento store speed. To avoid these factors’ negative effects on your site speed, you should ensure that your server meets the minimum system requirements of Magento. It would be wise to work with a professional hosting provider to host your Magento site and all of its requirements.

Content Amount:

It is the other major element that will impact your Magento store performance. A large amount of content (in terms of images and videos) available on your store pages, makes it slow to load pages. Thus, it will surely hit your store performance.

To avoid such performance issues, we recommend you to reduce the amount of content on your store pages. Moreover, you can optimize your images for the web. As an eCommerce store owner, you will have many product images on yourstore. So make sure to upload only compressed image files in the JPG format. If you’re still not able to optimize your Magento store, you can hire our Certified Magento Developers for professional Magento website optimization services.

How Envision Ecommerce Can Help You on This Halloween?

We at Envision Ecommerce have been developing Magento eCommerce stores and Magento extensions by Demand, since our inception in the eCommerce world. We have a team of Certified Magento developers with a Magento Solution specialist which is capable of making your Magento 2 migration simple and smooth, and what’s more, you can have this Magento 2 Migration in just $1999. Yes, you read that right!

Plus, there is one more surprising Halloween offer for you, i.e. 30% OFF across the entire Envision Store. Apply promo code HALLO30% to grab this scary-good Halloween offer, valid till November 1, 2017.

So, come and enjoy a money saving Magento 2 Migration along with special Halloween offers, before it gets disappeared into the dark night of this scary Halloween.

Magento is getting better and better after the advent of Magento 2. If you also want to migrate to Magento 2 Platform on this Halloween, it can be a daunting task for you. However, if your thought is to stay with Magento 1 for the time being, it would be best to start a conversation with a Magento solution specialist about how to best tackle the future of your online business.

How to enable Magento 2 Layered Navigation?

Layered navigation is one of the most significant features of Magento 2 that makes your products easy to find for your customers based on different product attributes or price. This “how to” blog will guide you thoroughly in managing Layered navigation in your Magento 2 store.

In Magento 2, Layered Navigation is basically a collection of different product attributes (like product price range, color, size, etc.) that works as a filter for your customers to narrow down their product search. You can notice it under the left column of your Magento 2 category pages and other search results pages.

Magento 2 Layered Navigation

Now, the question is how to enable this layered navigation in your Magento 2 store. That’s why we have complied some steps for your help. You just need to follow these steps to enable layered navigation in your Magento 2 store:

Configure Layered Navigation

This configuration of layered navigation tells about the appearance of product count in parentheses after each attribute, and the size of step calculation utilized in price navigation. Just follow the following steps to configure layered navigation:

Open the admin panel, navigate to Stores –> Configuration

Select “Catalog” after expanding “Catalog” section

Set “Yes” for Display Product Count

Set “Automatic” for Price Navigation Step Calculation

Now click on the Save Config

Types of Layered Navigation in Magento 2:

There are two types of layered navigation in Magento 2. These include:

1. Layered Navigation with Filterable Attributes

This type of layered navigation allows your customers to search products by filtering them via category or attribute. Here is an easy way to set up a basic navigation:

Step 1: Create the properties for attribute

Open the admin panel, navigate to Admin Sidebar –> Stores –> Product

Open the attribute in edit mode

Now look at the left panel and tap the Frontend Properties

Choose either Filterable (with results) or Filterable (no results) option for “Use In Search Results Layered Navigation

Now set “Yes” for “Use In Search Results Layered Navigation

*Note: If you need to add any attribution in layered navigation, you can repeat these afore-shared steps.

Step 2: Make the Category an Anchor

Look at the Admin sidebar –> Navigate to “Categories” Under “Products

Under categories tree, select a category where you need to apply layered navigation

Now set “Yes” for “Is Anchor” field under “Display Setting” tab

Tap the “Save Category” to complete this step

Step 3: Now Test the Results at Your Storefront

Once done, go to your storefront and select the category in the top navigation. After selecting it, the layered navigation with associated filterable attribute options will appear.

2. Layered Navigation with Price Navigation

In addition to searching by category or attribute, you can use price navigation to distribute products via price range in the layered navigation. You can divide each range in intervals. Here are some different methods to calculate price navigation:


Automatic (Equalize Price Ranges): the navigation steps are calculated automatically

Automatic (Equalize Product Counts): the navigation steps are calculated automatically

Manual: the price navigation steps are calculated manually and allows you to define a division limit for price intervals.

To configure each afore-shared type of Price Navigation, you can follow the steps mentioned below:

Step 1: Look at the Admin sidebar and Navigate to Stores –> Configuration –> Catalog –> Catalog

Step 2: Under “Catalog”, choose one option among the three available there.

Automatic (Equalize Price Ranges)

a) Set “Yes” for “Display Products Count

b) Set “Automatic (Equalize Price Ranges)” for “Price Navigation Step Calculation”. The standard algorithm will be used to automatically calculate price navigation steps.


Automatic (Equalize Product Counts):

a) Set “Automatic (Equalize Product Counts)” for “Price Navigation Steps Calculation

b) Set “Yes” for “Display Price Interval as One Price” only if you have some different products with the same price and you need to showcase a single price

c) Now, enter the threshold value in “Internal Division Limit” for a number of products within a price range. This range can’t be further divided beyond this ‘Internal Division Limit’. And, the default value is 9.

3. Manual

a) Set “Manual” for “Price Navigation Steps Calculation”.

b) Under “Default Price Navigation Step”, enter a value to specify.

c) Now fill a number (up to 10) under “Maximum Number of Price Intervals Allowed”.

That’s it! Now utilize these steps to enhance your customers’ experience at your Magento 2 store and increase your ROI. If you have any query or concern regarding this “How to” blog or need any kind of assistance, our Magento Certified Developers are ready to lend a helping hand to you. Contact us for more information at sales@envisionecommerce.com.

Get your Magento 2 Layered Navigation Extension and increase your store ROI.

The Final Release of ‘Magento 2.2’ is coming our way!

We’re eager to declare that the long awaited version of Magento 2, ‘Magento 2.2’ is entering its last phases of improvement and the code will be officially released soon in just over a month! Magento 2.2 puts up new useful features such as a complete suite of B2B highlights, execution upgrades, advanced reporting, and more.

Although, this powerful release will be a huge step in strengthening the Magento’s market share. Not only this, it is also expected that Magneto 2.2 will completely change the landscape, and both Magento developers and Now take a quick look at the new features and improvements that have been added to the latest version of Magento 2, Magento 2.2!

Product Renaming

Magento reported a renaming the Magento product line at Magento Live UK 2017. This renaming functionality will enable store owners to change the name of most of the major Magento products. Favorably, this particular change will imply a certain direction that Magento notices digital commerce heading.

Magento BI (Business Intelligence)

A year ago, Magento has procured RJ Metrics – as a major aspect of their business strategy, to keep the eyes focused on securing.

That’s why they immediately rebranded RJ Metrics as Magento BI and prepared the propelled reporting features into the Magento core. So that you can take advantage of this feature by analyzing the complete analytics or Magento internal data report of your store as well as client base that is noteworthy.

Signifyd Fraud Protection

Early in October 2016, Magneto declared their partnership with an ecommerce fraud protection company, namely Signifyd – with aims to coordinate their technical learning capabilities into the Magento core.

B2B Module

This hotly anticipated feature will bring a truly required improvement to your authorized Magento platform and give a real value to merchants who are actually looking for B2B capabilities. Fortunately, this B2B module is something that makes an ultimate solution of growth for merchants that may have been missing from the eCommerce market.

The main highlights of the Magento B2B module are:

It smooths customers’ online shopping experience and makes it mobile centric

Companies users can easily manage the account tools without even requiring the action from the store owner

Ability to tailor-make catalogs to every organization

Links in with existing Magento ERP integrations

On Platform Updates

Enhancements in the Magento Code:

Evacuate calls to ‘unserialize()’ to

enhance the security

Updated hashin

Superior JavaScript exception logging

Decreased core throughout plugins

More @api annotations have been included

4X API from 2.1.7 to 2.2. This transformation helps in making a modernize application that can integrate, and can be used with different frameworks.Swagger does an excellent job reporting it in the Magento Api Docs.

Tech Stack:

Dropped PHP 5.6 and Varnish 3

Included PHP 7.1

Reddis 3.2

MySQL 5.7

Upgraded Composer

Upgraded Zend Framework

Component Improvements:

Better XSD valid UI components – endeavoring to enhance how Magento developers interface with this framework.

Superior logging as well as all widgets, originate from root UI Components.

WCAG support for front-end themes – implies that Magento doesn’t need to be static in their web’s future goals. In fact, WCAG is something that automatically working for.

Mass Asynchronous Operations – makes deep running business operation without meddling with the store.

Pipeline deploys to enhance push lives, which implies update your store with CICD (Continuous Integration & Continuous Deployment) systems.

Brand-new commands to unify enhancements.

Brand-new commands to match up configs.

Performance:

Enhanced indexer – customers would now be able to utilize and purchase from a store while indexing.

The cart would now be able to scale to an absurd 300 line products at one go.

Nipped cache

Nipped varnish

A Brand-new toolkit to enhance performance for better “test” benchmarks

We at Envision Ecommerce built numerous flexible, dynamic and affordable Magento extensions that are already available at the market place, and now we are working with our certified Magento experts to make a compatible extension for new innovation i.e. Magento 2.2!

For any expert help on Magento 2.2, contact us at sales@envisionecommerce.com or visit: https://www.envisionecommerce.com/blog/store/

The wait is over and finally Magento 2.2 is released yesterday. This release includes numerous functional fixes and enhancements.

To know more click here

An Interview with a Multi-talented Magento extrovert – Fabian Schmengler

As promised, we’re back with another inspiring interview with Fabian Schmengler, a multi-talented Magento extrovert. He comes under the very first certified Magento developers. Fabian Schmengler is well-known for his tremendous contribution to Magento community.

Read on to get an interesting insight into the career journey of this Magento solution specialist and find out more regarding his Magento experience as Fabian shares about the difficulties faced by an average merchant, Magento-centric events, Magento 2, difference between Magento 1 & Magento 2 testing, Magento BI, Magento Order Management, Magento Cloud Edition, Magento B2B Edition, Magento testing tips and many other things. And, here we go!

Envision Ecommerce: Fabian, you are a well-known Magento Certified Developer (One of the first Magento Certified developers) and Solution Specialist. Now, you offer your services mainly in Magento development and Magento training. So why did you prefer to connect yourself only with Magento? What difficulties did you face when you started your career in Magento? Please share your career experiences with our readers.

Fabian Schmengler: It was mostly by chance. In 2011, I had a company with two partners and we had some capacities for new projects. An existing client wanted to migrate his home-grown os:commerce shop to Magento and after having contacted some agencies, he was not happy with the cost and asked us if we could do it. We said “no idea, but we are willing to learn”. Magento was in high demand at that time, it was not the first Magento related request, and we sensed an opportunity. They paid us by the hour, a relatively low price, but all learning time counted.

What I liked about Magento was that it was a relatively well-architected system, in comparison to other popular PHP applications of the time. Relatively… there were many things that I hated actually, and that now got better with Magento 2: Lack of interfaces, no dependency injection, global state everywhere, hard to test.

These were some of the technical difficulties. I had the advantage over early adopters, that in 2011 (Magento 1.5) there was already a huge amount of documentation by the community: Books, and blogs like those from Inchoo or Alan Storm, were very helpful to get started and to understand the framework.

If I’m looking back at my first two or three years with Magento, the biggest difficulty was not technical wise, but related to project management and communication: I did not have experience with big client projects, my biggest projects so far were not for clients. And eCommerce has special needs! So the difficulty was to understand what the customer actually needs (which is not always what they say), and also to focus on sensible solutions and not on technology.

Envision Ecommerce: We found that you are a writer, a blogger, speaker, consultant, educator, Magento solution specialist, web & script developer and a person fond of Software Development Process and Testing. You’re really talented in multiple areas. What do you enjoy the most? Did you always want to be what you are today?

Fabian Schmengler: Ha, I once wanted to become a graphic designer. But I was interested in programming since I was 12 years old, so the foundation for this career was laid early. Although I did not have eCommerce in mind for a long time.

What I’m enjoying the most today? In my day job, conception: Understanding a business problem, coming up with solutions at large scale, the software architecture part of development. I also enjoy a lot to travel around conferences, giving talks and training, and meet many people from all over the world. The community around Magento is so friendly and has lots of interesting people!

But I still code a lot and enjoy that too!

Envision Ecommerce: You have been an attendee of lots of Magento-centric events like Meet Magento DE, Developers Paradise, etc. As a Magento developer, what benefits do you get from such events? Our readers are eager to know some of your best moments from such events. What other Magento-based events are you going to attend in upcoming years?

Fabian Schmengler: As a developer I always come home with new inspiration for my job. You can learn a lot at developer centric conferences, but it’s always just an appetizer: I get ideas for topics where I want to learn more about or what I’d like to try out. At the event, the so called “hallway track” is often even more useful than the talks: the conversations in between, one on one or in small groups. Personally, my best moments are from the social events around the conferences. This is where business acquaintances can become friends! I’m thinking of the legendary parties from Developers Paradise 2016 in Croatia. And I love the venue of Mage Titans Manchester, an old cinema with a very special atmosphere.

I don’t plan ahead several years, but in 2017 you can still see me on stage at Mage Titans Manchester  (Nov. 10) and MageTestFest (Nov. 17). There’s one event where you will find me every year though: The MageUnconference. This is a conference without schedule, where the attendees decide what they want to talk about, what they want to hear, or what they want to discuss. If you’ve never been to an unconference or barcamp, I highly recommend it. The next date is Oct, 27th/28th 2018. Keep an eye on http://www.mageunconference.org/ to stay updated.

Envision Ecommerce: Being a certified Magento developer & Solution Specialist, how do you envision the future of Magento after the release of Magento 2? How do you think Magento 2 will impact the eCommerce industry and eCommerce merchants using Magento?

Fabian Schmengler: Magento is going to further increase its market share, not only because of Magento 2, but also because they are building a more holistic ecommerce toolset around Magento with their latest additions, like Magento BI, Magento Order Management, Magento Cloud Edition and last but not least, Magento B2B Edition.

But while winning big clients and B2B merchants, they will lose the small merchants on Magento CE 1.x, that simply cannot afford a migration to Magento 2 or even the increased maintenance costs. This will make place for other less enterprise solutions like Shopware or Shopify.

I’m very curious how the latest initiatives regarding progressive web apps and headless Magento turn out. With these, Magento might really have an impact on the industry, off traditional web shops, towards a new API powered shopping experience on completely different devices.

Envision Ecommerce: While talking about testing in Magento 2, how is it different from Magento 1? What tools do you prefer or use for your testing practices? What would you like to recommend to those who are new to testing in Magento?

Fabian Schmengler: In Magento 2, test suites are already part of the core and it is tested in different granularity: unit tests, integration tests and acceptance tests (functional tests and functional API tests). In Magento 1 this was unconceivable. Automated browser tests were possible, but you had to jump through several hoops to get useful lower level tests.

My main tool for testing is PHPUnit. In Magento 2 I’m writing unit and integration tests with it. For Magento 2 integration tests I am currently developing a fixture library, that makes it easier to set up test data https://github.com/tddwizard/magento2-fixtures.

For somebody new to testing I would recommend learning unit testing outside of Magento first, for example with a small internal or side project, or with exercises, so called code katas. I collected some on my blog earlier this year at https://www.schmengler-se.de/kata

For a quick win to start with Magento testing, I recommend a smoke test suite of functional tests. Smoke tests warn you if the site is completely broken: can you search? Open a product page? Add a product to the cart? Go through the checkout? These tests are relatively easy to create with tools like Codeception and provide huge value in return.

Envision Ecommerce: Being an active & well-reputed member of Stack exchange, what are the most common questions you encounter with developers as well as store owners? What are the common issues that cause quite a problem among developers and store owners lately?

Fabian Schmengler:Good question, nowadays I mostly look at the tags I subscribed to, so I might be biased. But questions that always recur are related to installation and updates: Issues with applying patches to Magento 1, issues with installing Magento 2, issues with minor version updates, or questions about data migration from Magento 1 to Magento 2. This shows that Magento is not a system that the average merchant can just install and maintain by themselves without developer expertise.

Envision Ecommerce: As a part of our interview process, we request you to share a picture of your workstation or the best moment that you have captured in any events. Please share with us.

Fabian Schmengler: This is my desktop, I share a room with one human colleague and Waschbär, our raccoon:

desktop

Envision Ecommerce: Now, we can see that you’re a great inspiration for many because of your first-hand knowledge and expertise, but where do you find your inspiration? Please share some names who have been your role model in your career?

Fabian Schmengler: In the Magento space I have to mention Vinai Kopp, first for his profound knowledge of Magento itself, nowadays for thinking-outside-the-box and overall for being a great and inspiring teacher.

I also follow a bunch of interesting people from the broader PHP and software engineering ecosystem (Twitter, Blogs). I can’t name anyone specifically as a role model but can recommend it to learn new things and not stay trapped inside the Magento bubble. This way I find inspiration and see things from different perspectives.

Envision Ecommerce: Everyone here knows that a developer’s life is too busy, so how do you maintain a balance between your personal and professional life? Besides your professional life, can you please share your personal interests with our audience?

Fabian Schmengler: I have two kids and it’s most important to me to spend time with my family. Other than that, I like to play board games, pen and paper, role playing games, and to go to Heavy Metal concerts and festivals.

Envision Ecommerce: Is there anything we missed to ask you that you want to add here? 🙂

Fabian Schmengler: You could ask me, how many stickers there are on my laptop. The answer is 28 (and counting).

Or you could ask me about the progress of my “Test Driven Magento” book, which would be a great question but I’d have to admit that at the current pace a release this year is optimistic. But I’ll try to make more time for it and get it out sooner. Visit and subscribe to the newsletter to be informed early!

Envision eCommerce team would like to thank Fabian Schmengler for sharing Magento insights, tips and thoughts with us and our audience.