Blog

PSH - Managing Build complexity September 5th, 2016

Anyone who is just searching for the link to the repository and does not want to read the awesome story, feel free to click here. A few months back I wrote a blog post about ANT and build scripts in general. Today we introduced a new Open Source tool that allows writing build scripts in plain sh. So how does that correlate? Let's start by admitting one thing: Boy, was I wrong! Why ANT...
Read more...

CSS coding guidelines August 26th, 2016

Coding guidelines are important to improve collaboration and code quality. A lot of questions regarding our CSS coding guidelines are coming up on our various platforms. In this blog post we're taking a closer look into the guidelines. Background There are quite a few guides and principles how you should write your CSS code. Two of the most popular ones are BEM & SMACSS. Our guidelines are based on these two. We took the...
Read more...

Impressions and Results of the open hackathon July 14th, 2016

Last year in august we ran our first Open Hackathon together with attendees from the shopware community in Münster. It was a great success so naturally we repeated the event this year again. This year we ran the event in our new Shopware HQ in Schöppingen where we had plenty of space to get creative. Also our beach was the perfect place to work outside, play some volleyball or just chill....
Read more...

On action tags July 11th, 2016

The Shopware HTTP cache is a full page cache - it caches the whole output for a given route such as www.my-shop.example.org/fancy-product. There are mechanisms, however, to modify this behaviour by providing e.g. cache cookies or no-cache tags. An additional mechanisms are the so called action tags. This blog post will discuss the technical background of the action tags - and the way they are handled in various scenarios. The action tag The {action} tag...
Read more...

Shopware Community Days - a developers recap May 25th, 2016

Last Friday was the Shopware Community Day 2016 - aka SCD – and my first Community Day as a Shopware employee. The whole experience was different to say the least, but I mean that in the best way possible. I naively imagined I would spend the day attending various interesting presentations and visiting the exhibition hall, just as I would normally do as a visitor. How foolish I was – of...
Read more...

Get in touch with Project Tango April 7th, 2016

Today I want to introduce you to an interesting device we've got for our open device lab - The Project Tango by Google. On first sight the device looks like a normal tablet, but when you take a look at the back side, you can get a thought of what the device has to offer. In the place where normally the camera of the device is located, you will find several...
Read more...

Developing with a SSH jumpserver March 31st, 2016

Securing web servers properly is a must for customers and hosters. The more complex the setup becomes the more consideration is required in order to e.g. debug a customer's development system. In this blog post I will show, how you can SSH to a server which is only reachable by a so called "jump server". Preface In the following description I will assume, that you have set up ssh-agent properly. Please also...
Read more...

Recap - eCommerce Camp March 22nd, 2016

Information exchange with other developers is a vital part of a developer's life. Exactly for this reason, we are always happy to support different developer events that take place throughout the world. Last week we made our way to Jena, Germany, where developers from the eCommerce scene met from Thursday to Saturday for the eCommerce Camp. Through an array of interesting lectures, participants brought themselves up-to-speed in terms of the latest eCommerce technology. The 4th...
Read more...

Managing Ant complexity March 9th, 2016

We @shopware use different tools for our highly automated development setups. We use Docker and Vagrant to set up operating system environments for development and testing, we use composer, bower and npm to manage library dependencies and we use Bamboo, Scrutinizer and Travis as integrated testing environments. All these setups work a little different. A Vagrant virtual machine and a Travis build share just the basic operating system type, but nothing...
Read more...

File permissions and umask in PHP and Shopware February 26th, 2016

Preposition This post requires basic understanding of Unix File system permissions. Permissions of new files and directories Have you ever wondered how the permissions are chosen for newly created files and directories? Let's assume the following example that creates a new directory named somedirectory and a new file called examplefile. mkdir('somedirectory'); file_put_contents('examplefile', 'somedata') What permissions will these files have? Answer: It depends! It depends on the processes umask environment. What is the umask? The umask is the file mode creation mask....
Read more...
Top