Explanation

This is an enhanced mapviewer. It has some extra functions when compared with the basic map viewer.
It adds an extent history, so you can go back to previous viewed extents.
It uses the new GetFeatureInfoWSR widget, which uses the WebServiceRequest tool to talk to a WMS server, issuing a GetFeatureInfo request. With that you can get more information of an area on the map. Note that the result is shown outside the visible area, scroll down to see it. The FeatureInfo widget is used to render the result.
A graticule widget which toggles a grid on top of the map.
A legend widget which shows the map layers it displays the legend graphic on the other side of the map in the legendGraphic container. This is a modification on the stock legend widget.
An overview map which shows the current extent on a world map.
A scalebar which style is defined by the scalebar stylesheet loaded with the page.
An abstract this is only a XSL document which filters the abstract out of a WMC.
A maptitle which is also only a XSL document.

The customisation of the legend is done by using a different XSL document and point the widget to that XSL in de config file (using the <stylesheet>< parameter).
Customisation of widgets is also possible using a different javascript file specified in the config file (with the <scriptfile> parameter). This is used in the flickr example, for the custom FlickrRest2Wfs widget.
Have a look at this guide if you want to modify this example.