1 Let the butter sit at room temperature until it is pliable. Place between 2 sheets of baking parchment and roll out into an 20x40cm rectangle. Cover and chill until hard.
2 Dissolve the yeast in the water and milk in a large bowl. Whisk in the sugar, salt, almond extract and egg. Add flour a little at a time and mix until smooth. Cover in clingfilm and chill for 30 minutes.
3 Roll out the dough on a floured surface to a 20x30cm rectangle. Cut the prepared butter into 2 halves, each 20x20cm. Place 1 half of the butter onto 1 side of the rolled-out dough, covering two thirds of its surface. Fold the uncovered third of dough over half the butter, then fold the remaining third over the top (this will give you 2 layers of butter). Chill for at least 1 hour.
4 Roll the dough to a 20x30cm rectangle. Place the remaining half of butter onto 1 side of the dough, covering two thirds of its surface, and fold as above. Chill for at least 1 hour.
5 Roll the dough to a 20x40cm rectangle, and once again, fold into thirds to make 24 layers of butter. Chill for at least 1 hour.
6 Meanwhile, make the cranberry compote. Bring the sugar, orange juice, vanilla and mixed spice to the boil in a saucepan. Add the cranberries and cook for about 10 minutes until they have broken down slightly and the mixture is thick and sticky. Chill.
7 Cut the dough in half. Gently roll each piece into a long, thin rectangle about 15 x 50cm. Spread half the ricotta along the centre of 1 rectangle for the whole length, top with half the cranberry compote, fold over the edges to form a long sausage and seal the ends. Form the dough into a ring and transfer to a lightly oiled baking tray. Repeat to make another kringle. Cover loosely and leave to prove at room temperature for 1-2 hours.
8 Preheat the oven to 200°C, gas mark 6. When the oven is up to temperature, bake the kringles for 25 minutes swapping the trays over half way through, until a deep, golden brown.
9 Make a glaze by stirring together the hot water, vanilla, and icing sugar until smooth.
10 When the pastries are cool, pour over the glaze and serve.