I tried the extensions from the GedmoBundle but I got some issue using translatable + sluggable extensions, and so it was much easier to recreate all.