= Viewlet Framework = The [wiki:Docs/ViewletFramework Viewlet Framework] is !InfoGrid's architecture for meta-data-driven, REST-ful user interfaces. Given an abstract MeshObject with a MeshObjectIdentifier, the [wiki:Docs/ViewletFramework Viewlet Framework] renders this MeshObject for consumption by a typical browser using concrete formats such as HTML. The basic [wiki:Docs/ViewletFramework Viewlet Framework] equally applies to web and rich client applications, although the current InfoGrid code base does not contain rich client components any more. Generally, the [wiki:Docs/ViewletFramework Viewlet Framework] constructs a user interface component based on a request (e.g. HTTP request) from the user for a particular MeshObject (identified by its MeshObjectIdentifier, such as the URL typed into the browser), and contextual information. Contextual information includes: * a specific request from the user, by means of an appended URL parameter, for a particular kind of user interface (e.g. "please use a Property Sheet") * the requested MIME type * the user's Locale settings * user-specific preferences and the like. The MeshObject itself can also be examined. For example, one type of rendering might be used for a MeshObject blessed with a Customer EntityType, while another would be used for a MeshObject blessed with an Order EntityType. The actual match-making between MeshObject, contextual information, and selected [wiki:Viewlet] is performed by a ViewletFactory, which can be freely defined by the application developer. The [wiki:Docs/ViewletFramework Viewlet Framework] requires the use of InfoGrid [wiki:Docs/HtmlTemplates Html Templates] to assemble the final output. See also: * [wiki:Docs/HtmlTemplates Html Templates] * MeshObjectsToView * [wiki:Viewlet] * [wiki:Docs/ViewletFramework/ViewletLifecycle ViewletLifecycle].