overview.rst 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. .. _wicket_ui_overview:
  2. Overview
  3. ========
  4. GeoServer uses a web application framework known as
  5. `Wicket <http://wicket.apache.org//>`_ for its user interface. Wicket differs
  6. from most Java web frameworks in that it is component based rather than JSP
  7. template based. This makes Wicket a more natural web framework for many Java
  8. programmers who are more familiar with Swing programming than web programming.
  9. Plug-ins
  10. --------
  11. Because of its component based nature Wicket components can be loaded from the
  12. classpath. Which means that web applications can be built in a modular fashion,
  13. rather than in a monolithic fashion.
  14. GeoServer takes this concept one step further to provide a pluggable user
  15. interface, in which Wicket components can be plugged in via Spring and the
  16. regular GeoServer plug-in mechanism.
  17. Each component that is plugged in is described by a **component descriptor**.
  18. A component descriptor is an instance of the ``org.geoserver.web.ComponentInfo``
  19. class:
  20. .. literalinclude:: ComponentInfo.java
  21. :lines: 24-42,105
  22. A ``ComponentInfo`` instance contains meta information about the component
  23. being plugged in such as its title and description, as well as the class which
  24. implements the component.
  25. Each subclass of ``ComponentInfo`` represents a specific
  26. :ref:`extension point <extension_points>`. For instance the class
  27. ``org.geoserver.web.MenuPageInfo`` represents the extension point for "main"
  28. pages, ie pages that are linked to from the main menu of the application.