com.smartgwt.client.docs

## Interface SgwtEESetup

-     public interface SgwtEESetup

  ### Smart GWT Pro/Power/EE Project Setup & Deployment

  Creating a new project from scratch

  If you are starting a new project from scratch, we recommend starting with one of the sample projects included with Smart GWT Pro/Power/EE under the "samples" directory. Use the project that most closely matches your integration strategy and follow the instructions in the "README" file within the sample directory.

  Note if you rename the GWT module (e.g. "builtinds" → "myApplication") you need to make changes to several files which contain the GWT module name in filesystem paths or URLs. See the set of steps for adding Smart GWT to an existing project to see all the files that may need changes.

  Adding Smart GWT Pro/Power/EE to an existing project

  Important: If you have created a project using the GWT Plugin for Eclipse or a similar tool, first get rid of unused resources typically included in such "starter projects":

  - from your moduleName.gwt.xml file, remove imports of any GWT themes, leaving only the import of `com.google.gwt.user.User`. The proper imports to add for Smart GWT Pro/Power/EE are shown below.
  - get rid of any sample servlets or GWT-RPC services (delete both web.xml entries and server-side source)

  Now add Smart GWT Pro/Power/EE: all of these steps are required. Do not skip steps or omit resources you think you may not need. Get a working project first, then think about trimming resources, as needed, once you understand the system.

  In the steps below, copying from e.g. "war/WEB-INF/..." means copying from the "war" subdirectory of whichever sample project is closest to your desired integration strategy.

  1. Add all jars from the Smart GWT Pro/Power/EE distribution (under smartgwtee-version/lib) to your CLASSPATH. You can copy the '.classpath' file from the appropriate sample project for a working set of includes (it's in the same directory as the war/ folder). There are both client- and server-side jars, and both kinds go in the classpath. For server-side .jars, dependencies are documented `here`.
  2. Update your modulename.gwt.xml file with these imports:

              <inherits name="com.smartgwtee.SmartGwtEE"/>
              <inherits name="com.smartgwtee.tools.Tools"/>

     - NOTE: if you were previously using Smart GWT LGPL, remove the import of 'com.smartgwt.SmartGWT'.
     - NOTE: if you are importing com.smartgwt.tools.SmartGwtTools (for the Developer Console), continue to do so, but place this import before the com.smartgwtee.* imports
  3. Modify the bootstrap HTML file (modulename.html) to set the isomorphicDir:

              <script>
              var isomorphicDir = "modulename/sc/";
              </script>

     This should appear before the <script src=> tag that loads *.nocache.js.
  4. Copy war/WEB-INF/classes/log4j.config.xml across to the "src" dir of your project (it's placed in the "src" dir as a means of getting it into the CLASSPATH). This enables default log4j categories for server-side logs appropriate for development.
  5. Copy war/WEB-INF/classes/server.properties across to the "src" dir of your project. This contains miscellaneous server settings - see the file itself for documentation.
     - server.properties contains server-side paths that contain the GWT module name. Replace the module name from the sample project (e.g. "builtinds") with the module name of your actual GWT project
     - If you're using SQLDataSource, enter your JDBC settings (start with a server.properties from a project that uses a database to see the required format for settings)
  6. Merge web.xml, starting with the web.xml from the sample project that is closest to your target application (under war/WEB-INF in the sample project).
     - the GWT module name from the sample project (e.g. "builtinds") appears in several paths within web.xml. This needs to be changed to the module name you chose for your project.
     - the list of servlets and what they do is documented `here`. See the server-side JavaDoc for further details on servlet APIs and override points.
  7. Copy war/WEB-INF/iscTaglib.xml to your war/WEB-INF/iscTaglib.xml. This is required for JSP tags to work and used by tools such as Visual Builder. Be sure you have also copied the web.xml section that enables the taglib (<jsp-config> element)
  8. (SmartGWT Power or Enterprise only) If using the BatchUpload functionality, copy war/ds/batchUpload.ds.xml from the Showcase sample project to the shared.datasources directory you configured in server.properties.
  Troubleshooting

  Problem | Possible Causes | Solution
  ClassNotFound or other Java Exceptions in the server log. | Missing JAR files | Verify every .jar from the smartgwtee-version/lib directory has been added to your CLASSPATH. Although you might later be able to remove some .jars, for initial installation testing, copy every .jar
  Client-side error about attempting to use "iscServer" request without server installed | Wrong imports in moduleName.gwt.xml | See correct imports above, note remove com.smartgwt.SmartGWT import and ensure that com.smartgwt.tools.SmartGwtTools import is before your com.smartgwtee.* imports (or corresponding Pro/Power imports)
  Missing images or failure to load page | Didn't set isomorphicDir in .html bootstrap file | See step above for setting isomorphicDir
  Server error: "adminConsole" app not found when launching tools such as Visual Builder | Bad filesystem paths configured in server.properties | Correct paths in server.properties. NOTE the samples include the GWT module name in some settings, search and replace this value with your GWT module name
  Server error: Can't find DataSource with ID yourDataSourceID | Bad filesystem paths in server.properties or bad DataSource .ds.xml file | Correct paths in server.properties - search for "project.datasources". Also check that the DataSource ID you are using matches the "ID" attribute in the .ds.xml file (NOTE: ID attribute is uppercase "ID" not "id") and that the file is named dataSourceId.ds.xml. DataSource IDs are case sensitive, including the file name
  Server error: taglib not defined | Missing iscTaglib.xml or iscTaglib.xml not referenced in web.xml | See step above about iscTaglib.xml and web.xml entry

  For further troubleshooting steps, see the SmartGWT FAQ and, if still stuck, try posting in the Forums. NOTE: gather all the information indicated in the FAQ before posting.