What is an item?

In What is an item? I discuss terms like "item", "article" and "product" and show, how items are handled in Shopware

Evolution of plugin systems

Me at the code.talks conference 2015At the code.talks 2015 conference I had the pleasure to speak about "evolution of plugin systems". In that talk I had a quick look at the requirements developers usually have, when they decide to bring a plugin system into play. Furthermore I showed some examples of ways to extend software and discussed advantages and disadvantages.

If you missed the talk or want to have a look at the slides: Here you go

Migrating from bazaar to git

Most of the python projects, I build between 2007 and 2012, are currently located on launchpad and use bazaar as version control system. As most of my current stuff lives on github, I want to migrate some of my bazaar projects to git. This is actually quite easy:

sudo apt-get install bzr-fastimport

This will install the fast import extension to bazaar, which will allow you to import the bazaar commits to git using git fast-import command.

Now navigate to your bazaar project and init the git repository, if you haven't done so, yet: git init.

In order to perform the migration run:

bzr fast-export . | git fast-import

New homepage

Today I am starting to migrate my homepage from the existing Wordpress installation to Sculpin. There was not lot of traffic going on the last few years - but I hope, that I will be able to give a few of my last script and tools a quick update.

Shopware's seo engine

In The Shopware SEO engine I discuss the internals of Shopware's SEO engine. It will help you not only to understand the details of Shopware implementation and how to extend it; it also gives an impression about how generally flexible SEO engines might be implemented.

Cross cutting concerns

In cross cutting concerns I generally discuss various types of "concerns" and especially "cross cutting concerns". This type of concern is usually hard to handle in OOP applications and might lead to duplicated or highly coupled code. I discuss different ways to address cross cutting concerns. As a follow up I also discussed aspect oriented programming as a way to address cross cutting concerns in a separate blog post.

Shopware hook system

In Understanding the Shopware hook system I discuss the Shopware hook system as one part of the plugin system of Shopware. Hooks are quite powerful and allow aspect oriented programming in PHP, even though PHP do not natively support AOP. In the blog post, also details of the implementation and pros and cons are discussed.

Shopware http cache

In Understanding the Shopware HTTP cache I give a more detailed overview of Shopware's caching system. It is not only about the general concept of HTTP caches, ESI and cache invalidation, but also about possibilities to influence the default behaviour from a plugin.