How to find all observeable Magento Events

I’ve been working on a cool new feature for our Magento Hosting (which we’ll keep the wraps on for a couple more days), that required me to subscribe to a couple of Magento Events through a Model Observer.

This is as much for my own memory as for anyone trying to find a list of Events:

Lees verder

How to use Magento 1.3 with PHP 5.3

uk Deze how-to use Magento 1.3 with PHP 5.3 is ook beschikbaar in het Nederlands op onze Kennisbank.

At Byte, we’re upgrading our PHP to version 5.3 in November.  Since Magento 1.3 is not compatible with PHP 5.3, some of our customers worry that they will have to upgrade all their sites to Magento 1.4.

Fortunately you can use Magento 1.3 with PHP 5.3 by changing three files:

Lees verder

Bash quoting woes in Debian

Once every week or so, you have a problem that you know is solvable but it’s taking time and it’s frustrating.

Building PHP5

A while ago I tried my hands on porting the Debian packages for PHP 5.3.2 to lenny and squeeze. I shouldn’t have been doing that, because there are more important things to do, but hey, it’s was friday and believe it or not, it’s a relaxing process :) And we had to figure out a way to start the migration for 22k websites from PHP 5.2 to PHP5.3 without hundreds of sites suddenly stopping. So we’ll need that package at some point! Lees verder

Oude harde schijven

sata_quickport_duo_usb3
sata_quickport_duo_usb3

Regelmatig verschijnen er berichten in het nieuws over gevoelige informatie die op straat geraakt is. Het bericht van de Amsterdamse officier van justitie Tonino die in 2004 zijn computer vol vertrouwelijke data aan de straat zette is bij iedereen bekend (Officier zet pc vol gevoelige informatie op straat). Echter heeft niet iedereen van deze verhalen geleerd. Zo is zelfs afgelopen april 2010 nog een gevangeniscomputer op straat gevonden vol vertrouwelijke data over gedetineerden (Jongen vindt gevangeniscomputer op straat). Iedereen die daar langsloopt mag volgens de wet e.e.a. meenemen en de data op die schijven is dan niet beschermd.

Byte heeft ook regelmatig oude servers. Die gaan naar een oud-ijzer-handelaar of naar een opkoper van oude computer hardware. Maar natuurlijk hebben die servers vrolijk een jaar of drie dienst gedaan als mailserver, database server, webservers, noem maar op. En op de harde schijven daarvan staan dan ook behoorlijk wat klantgegevens. Bij Byte zorgen we er natuurlijk voor dat die gegevens niet op straat komen te liggen :) Lees verder

Migreren naar PHP 5.3

PHP

Altijd als er een grote nieuwe PHP versie uitkomt, speelt bij Byte de vraag hoe we gaan zorgen dat de migratie voor klanten in goede banen geleid kan worden. De migratie leidt eigenlijk altijd tot kopzorgen bij gebruikers van slecht geschreven software. Helaas is dat nogal veel software :) Of het is software die niet gemakkelijk aangepast kan worden, omdat de webshop altijd up moet zijn. In het geval van het migreren naar PHP 5.3 zijn er een aantal showstoppers:

  1. Sites gebruiken zelf-gecompilede PHP modules zoals pdflib.
  2. Sites draaien softwarepakketten die niet gemakkelijk te updaten zijn zoals:
    • Magento 1.3
    • Joomla! 1.0 of oude Joomla! 1.5 versies
  3. Oude zelfgeschreven code die nog uit de PHP4 tijd stamt. Lees verder

Memcache config for Magento 1.3 AND 1.4

Update: This post about Memcache config for Magento 1.3 AND 1.4 is a bit outdated. Please also have a look at: Willem’s update on two-level caching.

Memcache config: how to finally do it

We’ve been experimenting with the memcache settings for Magento for a while now. The configuration syntax for memcached in Magento is a bit difficult, but doable. This has resulted in:

  1. documentation about configuring memcached for Magento for our customers (dutch)
  2. a configuration tool that configures memcached for Magento automatically
  3. and even a way to protect your site in the event the memcache daemon goes down by providing a fallback for the memcached backend! (bit of dutch)

With the recent release of Magento 1.4, this has changed a lot for our tools. We’re trying to make them compatible with 1.3 and 1.4, but it’s a bit difficult. We found no references to the configuration syntax and the Magento error messages haven’t been very helpful.

We found one obscure link though: http://www.magentocommerce.com/boards/viewthread/80506 Lees verder

A sane fallback for Magento memcached backend

When the memcached fails on a server, Magento croaks and tells you the cache is bust :)

This means that if PHP can’t retrieve a cache key from the cache (since it does not run or is broken), PHP throws an error. Magento handles this by simply aplying the general error display. Not pretty!

Fortunately there is a sane fallback for Magento memcached backend, (Magento 1.3, 1.4 and 1.5).

For Magento 1.3 and 1.4, it is easily fixed with the following code:

This patch applies to Magento 1.5

As you can see in the code, this makes sure the configured cache works.

  1. Test the cache by retrieving a random key.
  2. If PHP throws an error, catch it with a try and catch block.
  3. Reset Magento to use the relatively safe file cache backend.

Done!

No more ugly cache-is-down errors :)

Werken op zondag door uitval van een replicator, ai!

Vandaag ging een van de replicators onderuit. Dat moest even hersteld worden. Geen haastklus, want het is natuurlijk de replicator en niet de live machine. Maar toch moesten we daarvoor werken op zondag!

MySQL replication is toch niet het mooiste technische proces dat ooit ontstaan is. Als iemand een query afbreekt op de hoofdserver loop je de kans dat de replicator onderuit gaat, waardoor we dus moesten werken op zondag. Verder is de uitval en herstellen van de replicator gelukkig geen probleem, maar daarna loopt de replicator nogal achter en moet hij alles inhalen. 

Dat is de reden waarom er voor database1.c1 geen backup is van 10:20. Heb je een Premium Hosting pakket en je hebt NET die database backup nodig, dan heb je helaas pech. Dit kan ook met een nachtelijke backup gebeuren. Dit komt heel af en toe voor en we kunnen daar niet altijd iets aan doen.  Maar gelukkig maken we voor de duurdere pakketten elke 3 uur een backup, dus dan is het niet zo erg dat je er een mist!

Kijk op onze wikipagina over MySQL backups voor meer details over wanneer welke pakketten worden gebackupped.

Taart van Netgemak! Lekker :)

Kijk, we zijn gelukkig al wel een klein beetje gewend dat klanten ons soms lyrische (of op zijn minst positieve) berichten sturen. Maar heel soms zijn er zelfs klanten die ons laten merken dat ze heel erg blij met ons zijn met een van onze favoriete lekkernijen! Taart, hoera! Dank je wel Netgemak, hij smaakte erg lekker, wij zijn ook zeker blij met jullie :)

Taart netgemak
Metgebak van Netgemak