MapFish is an open source framework for producing online mapping applications. MapFish has two components: Server and Client. The main components of the MapFish Client consists of OpenLayers, the ExtJS framework, and the GeoExt framework. MapFish Server is "map server agnostic" and supports a range of mapping servers and web server languages.
The combination of these tools and frameworks can produce a powerful web application with much of the look and feel of an offline application.
This Oxford Archaeology Sites Map Demo produces a good example of this look:
One potential problem of ExtJS is that it uses the GPL v3 license. Described by some as a "viral license", this has requirements regarding the licenses used to release accompanying software. There is also a commercial license.
In common with OpenLayers, much of MapFish is documented with simple feature examples. The following source code is a simple map window sample. An ExtJS width allows the user to select different continents to be displayed in the main map panel, and serves as a good example of how these libraries are used together. Here is the code:
ERROR [include_code_listing plugin]: File Not Found (/usr/www/users/winwaed/geowebguru/img/2009/mapfish_windowseg.html)
MapFish Server is a server framework that uses PostGIS and a number of other components such as SQLAlchemy (Python SQL toolkit), Pylons (Python web framework), Shapely (Python geospatial package). Other map servers (eg. MapServer, GeoServer, or Feature Server) might be preferred if you need to quickly create some map layers. As a development framework, MapFish Server it better suited for applications where customization is required. MapFish Server also makes it easier to implement editable layers. Ie. MapFish client can transfer feature changes to MapFish Server where the underling PostGIS database is updated. This communication uses the RESTful MapFish Protocol.
The MapFish website has a useful How To Use MapFish Server article.
Further information on all things MapFish including documentation, samples, and downloads, can be found at the MapFish website