Blog

Projects of the first internal hackathon in 2016 February 11th, 2016

Last week the first internal hackathon in 2016 took place in our new headquarter. In addition to Club Mate and unhealthy food there were a lot of interesting projects that the teams will present in the following article. Push all the things! Team: Sven Finke Project: Making use of WebSockets for Shopware Connect I implemented WebSockets for Shopware Connect. This way the user does not have to reload offers, orders or messages to see if something...
Read more...

Configuring Multiple Shopware Environments January 26th, 2016

Shopware is able to handle multiple environments using the SHOPWARE_ENV environment variable. This can be used to load different config files and to separate cache files. How the environment is handled This environment variable is picked by shopware.php and bin/console and then propagated to the kernel: $environment = getenv('SHOPWARE_ENV') ?: 'production'; $kernel = new Kernel($environment); As you can see, if no environment is given, production is used as the default. Generated files The environment is taken into account...
Read more...

How we used computer vision for testing December 17th, 2015

Computer vision is a very interesting topic in informatics, with huge field of application. It is used in many industries and, with customer PCs becoming cheaper and more powerful, it also becomes more common in that field. Chroma keying, face tracking or even face unlocking are techniques that can be found even on mobile devices. In this blog entry I will describe how we once used computer vision for our integration tests...
Read more...

Inspecting PDO queries November 26th, 2015

This blog post will describe how to detect (potentially) unsafe SQL queries automatically by parsing and analyzing the queries which hit the PDO connection. Motivation The Open Web Application Security Project (OWAP) defines (SQL) injections as one of the top ten security risks in the web. One of the main reasons for this is the fact that SQL injections can be tested / used with minimal effort and have an enormous impact on the compromised database;...
Read more...

Dynamic shopping worlds November 18th, 2015

The shopping worlds (also called emotions) are one of the central content pages in Shopware. With them, even non-technical persons can create landing pages, product, category or blog teasers and many other content types. In addition to that there is the easy to use editor, powerful components and extensibility, of course. There are cases, however, where you might want to use the shopping worlds for other kind of content pages - or where...
Read more...

Best practices of Shopware plugin development November 11th, 2015

Developing a Shopware plugin is quite easy: Create some directories and a Bootstrap.php file, register some events, add some templates - done. Of course it's not always that easy in reality. A naive approach and not thinking about the structure of the plugin too much will lead to bad maintainability and testability and make your work a lot harder. Especially in bigger projects, you need to make sure that the quality of the plugins...
Read more...

Interfaces in JavaScript November 4th, 2015

JavaScript has become one of the most popular programming languages in the web. Needless to say, it made a long way to get to this point. At the beginning of the internet, web pages had a very simple structure and an additional scripting language beside the traditional markup code was not really necessary. But times were changing and so did the web. Pages had become much more complex over time...
Read more...

Extending the Shopware CLI Tools October 28th, 2015

A while ago, my colleague Daniel Nögel wrote a blog post about the Shopware CLI tools, its basic features and an introduction to building extensions for them. As we add more useful features to the CLI tools project, we take this opportunity to do an analysis of how we implemented the Data Generator, an approach you can also use to develop your own extensions for the CLI tools. The Data Generator Shops come...
Read more...

Graph based recommendation engine for Shopware October 14th, 2015

At the end of September, Benjamin and I visited the Bulgaria PHP conference. We saw a very interesting talk by Mariusz Gil called Discovering graph structures, which gave a quick introduction to graph databases and especially Neo4j. Over a long weekend I decided that trying to implement a recommendation engine for Shopware based on Neo4j might be a good start to get into Neo4j and graph databases in general. In this blog post I will discuss the...
Read more...

What is an item? October 7th, 2015

In a shopping cart like Shopware the items are one of the main entities. This blog post will have a look at Shopware items in several situations like listing, cart or order. Furthermore it will discuss the general difference between e.g. variant and property. The correct name What an item actually is, highly depends on the actual shopping cart solution - many manufactures have different approaches to items. This does not only apply for the...
Read more...
Top