In a medium saucepan, add the cranberries, sugar, orange zest, water, orange juice, and spices.
Cook over medium heat until the cranberries have popped, stirring often.
Let cool for at least 30 minutes. This can also be prepared in advance.
Preheat the oven to 325 degrees F.
Place the ham in a roasting pan.
Brush the ham wiht the cranberry sauce glaze. If it has thickened from making it in advance, just stir it up with a fork to make it more spreadable.
Pour the orange juice into the base of the roasting pan.
Cover the ham with aluminum foil and bake for 2 hours, basting with additional orange juice every 30 minutes, until the ham is cooked through to 145 degrees.
Slice, serve, and enjoy!