Wash the rice in several changes of water until the water runs clear, then leave to soak in tepid water with the salt for 30 minutes.
Drain the rice and place in a pan with enough cold water to come about 2cm/¾inch above the top of the rice.
Bring the water to the boil, then reduce the heat to as low as possible, cover and cook for about ten minutes, or until 'holes' begin to appear on the top of the rice and all the water has been absorbed.
Heat the oil in a frying pan, add the shallots, onions, garlic and ginger and fry for a couple of minutes, until golden-brown. Remove a tablespoonful and set aside for garnishing.
Add the chicken and stir fry for four minutes.
Add the spices and stir for one minute, then stir in the yoghurt and simmer for 1-2 minutes. Add the sugar, raisins and part-cooked rice. Cover the pan with a clean tea towel and cover with a lid (this will hold in all the steam).
Place over a very low heat and cook for ten minutes.
Remove from the heat and leave to rest for five minutes.
Serve large spoonfuls garnished with the reserved shallot and onion mixture.