com.smartgwt.client.docs

## Interface LoadingOptionalModules

-     public interface LoadingOptionalModules

  ### Loading Optional Modules

  See the SmartGWT product page for an overview of which optional modules are available with the various editions of SmartGWT.

  If your Smart GWT install includes an optional module, it must be added as an <inherits> tag in your moduleName.gwt.xml module file for it to be used. Some optional modules require an additional .jar file (eg analytics.jar), whereas some are bundled in smartgwt.jar automatically. Where applicable, additional module .jar files are included in Evaluation SDKs but are separate downloads when using an Optional Module with Power or Enterprise.

  Optional modules and Maven
  Developers using `Maven` may add resources for optional modules via `includeAnalytics`, `includeMessaging` arguments when installing modules to the maven repository. You can then configure configure your project POM to use the new dependency, for example:

           ....
           <!-- The SmartGWT core -->
           <dependency>
               <groupId>com.isomorphic.smartgwt.enterprise</groupId>
               <artifactId>smartgwt-enterprise</artifactId>
               <version>${smartgwt.version}</version>
           </dependency>
           <!-- Analytics optional module -->
           <dependency>
                <groupId>com.isomorphic.smartgwt.enterprise</groupId>
                <artifactId>smartgwt-analytics</artifactId>
                <version>${smartgwt.version}</version>
           </dependency>

  The table below describes what <inherits> to add for each module.

  Module | Add this to your .gwt.xml file
  PluginBridges (included in `smartgwt.jar`) Required for all `BrowserPlugin` derivatives (such as LoadingOptionalModules.Applet and `Flashlet`) and also for FusionChart support. |
      <inherits name="com.smartgwt.PluginBridgesWidgets"/>
  Charts (included in `smartgwt.jar`) Required for `FacetChart` and FusionChart. Note that `FacetChart` also requires the `Drawing` module to be loaded before this module. Note that FusionChart also requires the `PluginBridges` module to be loaded before this module. |
      <inherits name="com.smartgwt.Charts"/>
  AI (requires `ai.jar`) Enables AI for various components. |
      <inherits name="com.smartgwt.AI"/>
  Analytics (requires `analytics.jar`) See `CubeGrid`. Note that if charting is also required, the `Charts` module should be loaded before this one. |
      <inherits name="com.smartgwt.Analytics"/>
  RealtimeMessaging (requires `messaging.jar`) |
      <inherits name="com.smartgwt.RealtimeMessaging"/>
  Tour (included in `smartgwt.jar`) Required for `Tour`. |
      <inherits name="com.smartgwtpower.Tour"/>
  or
      <inherits name="com.smartgwtee.Tour"/>
  SmartGwtTools (included in `smartgwt.jar`) Required for the `developer console` in SGWT LGPL. Imports `/development` Framework, including the tools module. This module should always be listed before the SmartGwtXXX module and any other modules from above in your moduleName.gwt.xml file. Not needed for SGWT Pro/Power/Enterprise as the `/development` Framework is present by default. Note that the developer console has minor functionality issues unless Enterprise skin is used, so by default inheriting the
      SmartGwtTools
  module pulls it in. Using
      SmartGwtToolsNoTheme
  instead will cause the developer console to pick up the skin used by your project. |
      <inherits name="com.smartgwt.tools.SmartGwtTools"/>
  Tools (included in `smartgwt.jar` for LGPL, otherwise smartgwtee.jar) Required for `DevTools`. This module should always be listed after any other modules from above in your moduleName.gwt.xml file. Using these tools to edit hierarchies of Smart GWT components and generate Component XML for them also requires the system schema to be loaded. JSP tag:
        <script><isomorphic:loadSystemSchema /></script>
  HTML tag:
        <SCRIPT SRC="../isomorphic/DataSourceLoader?dataSource=$systemSchema">
        </SCRIPT>
  Certain SGWT Pro/Power/Enterprise tools pulled in by the
      com.smartgwtee.tools.Tools
  module may require tool skin resources:
      <inherits name="com.smartclientee.toolskin.ToolSkinResources"/>
      <inherits name="com.smartclientee.toolskinnative.ToolSkinNativeResources"/>
  Reify requires inheriting Tahoe Resources:
      <inherits name="com.smartclient.theme.tahoe.TahoeResources"/>
  See the `Skinning` help topic for an overview. |
      <inherits name="com.smartgwt.Tools"/>
  (imports "first class" tools module under /modules)
      <inherits name="com.smartgwtee.tools.Tools"/>
  (imports SGWT Pro/Power/Enterprise Edition tools)