For the lamb shank tagine, preheat of the oven to 160C/315F/Gas 3.
Mix the ras-el-hanout, ground cinnamon, ground ginger, smoked sweet paprika, ground cumin, freshly ground black pepper and ground turmeric together in a bowl. Add the lamb shanks and turn in the mixture to coat them evenly.
Heat a large pan until smoking hot, then add a tablespoon of the olive oil and sear the lamb shanks on all sides for 2-3 minutes, or until golden-brown all over. Remove the lamb shanks from the pan and set aside.
Add the remaining olive oil to the same pan and fry the onion and garlic for 2-3 minutes, or until softened. Add the lamb shanks back to the pan and stir well, then add all of the remaining tagine ingredients - except for the coriander and salt and freshly ground black pepper - and bring to a simmer.
Reduce the heat, cover the pan with a lid and place in the oven for two hours, or until the lamb is tender.
Remove the lid and cook for a further 30 minutes, or until the tagine is slightly thickened. Season, to taste, with salt and freshly ground black pepper.
Meanwhile, for the tabbouleh, place the bulgur wheat into a pan with the chicken stock. Bring to the boil, then reduce the heat to a simmer. Cover the pan with a lid and cook for 8-10 minutes over a low heat. Check that the bulgur wheat is tender. If not cook for a little longer. When cooked drain off the excess stock.
Remove from the heat and allow to cool slightly, and then transfer the bulgur wheat to a bowl. Add the red onion, pistachios, lemon juice, pomegranate, olive oil and herbs and mix well. Season, to taste, with salt and freshly ground black pepper.
To serve, divide the tabbouleh among four serving plates, and then spoon the lamb shank tagine alongside and sprinkle the coriander and preserved lemon over the top and serve.