There may be requirements you can't meet simply by adding new menu items, dialogs, or wizards. Customizing the login page, which you did in Chapter 2, is one example. Regardless of whether you are overriding an existing JSP with your own version or creating a new JSP from scratch, the steps involved are the same:
Create (or copy and modify) the JSP using JSF, Alfresco, and custom tag libraries.
Write JSF-managed backing beans as necessary to handle logic.
Update
faces-config.xml
with the appropriate navigation rules.Optionally, update
web-client-config-custom.xml
with navigation rule overrides.Externalize strings to a properties file.