Blog
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...