There is a lot of good introductory tutorials on writing JSF components based on RichFaces and using CDK. However they cover very simple cases and developers have hard times figuring out how to tackle some more advanced scenarios which are easily achievable in RichFaces.