A widget consists of the following primary components:
An Escenic content type definition
A set of one or more themes, each consisting of CSS file and associated graphics files
A template, consisting of a set of JSP files. The template is internally organized as a controller and a set of one or more views.
This structure is reflected in a widget's folder tree:
webapp/ META-INF/ escenic/ publication-resources/ escenic/ content-type static/ theme/ theme1/ css/ theme1.css gfx/ widget-name/ theme1-graphics-files theme2/ css/ theme2.css gfx/ widget-name/ theme2-graphics-files template/ widgets/ widget-name/ controller/ helpers/ helper1.jsp helper2.jsp controller.jsp view1.jsp view2.jsp view/ helpers/ helper1.jsp helper2.jsp view1.jsp view2.jsp
These components are discussed in more detail in the following sections.