http://www.coreservlets.com/JSF-Tutorial/jsf2/
http://www.icesoft.org/java/community/documentation.jsf
JSF samples
git clone git://java.net/javaserverfaces~samples
"The official #JSF samples Git repo is now at git://java.net/javaserverfaces~samples" -- https://twitter.com/mnriem/status/326802521525981184
suggestions below from http://pastebin.com/s2W1UrMg via http://www.evanchooly.com/logs/%23%23jsf/2013-04-18
Core Java Server Faces 3a edizione - Cay Horstmann, David Geary
Java EE 6 reference http://docs.oracle.com/javaee/6/tutorial/doc/javaeetutorial6.pdf
Pro JPA 2 Mastering the Java trade Persistence API - Mike Keith, Merrick Schnicariol
Java EE 6 Pocket Guide - Arun Gupta
Exploring JSF 2.0 and PrimeFaces - Cagatay Civici
PrimeFaces user guide
PrimeFaces showcase - http://www.primefaces.org/showcase/ui/home.jsf
Java Persistence API www.html.it/articoli/java-persistence-api-1/
Simple CRUD Web Application with JSF 2.1, PrimeFaces 3.5, Maven and JPA - http://www.simtay.com/simple-crud-web-application-with-jsf-2-1-primefaces-3-5-maven-and-jpa/
http://java.dzone.com/articles/how-do-10-common-tasks-jsf-20
http://incepttechnologies.blogspot.com/p/view-parameters-in-jsf-20.html
At around 40:00 at http://www.javaoffheap.com/2015/05/episode-2-tales-of-microsoft-javascript.html there's a discussion about how JSF is good for doing things quickly with off the shelf components but not good for creating custom, pixel-perfect layouts because you have to write your own component, when it might be easier to simply write Javascript.
JSF debugging
"error messages can be displayed during the Development stage but suppressed during the Production stage"
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>