A little while ago, I created a new project from one of my GitHub repositories: XPages Scaffolding. At its core, Scaffolding is the template that I use when creating new XPages projects, and it contains a number of features that I've built up over the years to make the process of building a clean XPages app easier. These range from small utility features like a flashScope object to larger frameworks such as the current versions of my controller and model frameworks.

More specifically, the main functions that the scaffolding provides are:

- An applicationLayout-based layout with a couple useful custom controls
- flashScope
- DynamicViewCustomizer
- frostillicus.controller classes
- frostillicus.model classes
- frostillicus.event classes
- DominoDocumentMap, a bean for easily accessing document fields by UNID via EL
- A JSFUtil class with a number of handy utility methods including MIMEBean methods
- A properties-based app config object
- A handful of converters for common needs
- Some Notes-client design elements for good measure, such as:
- A basic outline, frameset, and shared actions
- A subform that does some simple modified-by tracking
- A "Formula Console" form for testing/executing arbitrary formula/LS code in the context of the database
Scaffolding for writing FacesContext-aware servlets

I update the GitHub project periodically whenever I add refinements and bug fixes to my main NTF, and will likely upload significant releases to OpenNTF.

comments powered byDisqus