Skip to content

A web application with intention of integrating and testing various GWT components and capabilities in addition to other third-party frameworks and components.

Notifications You must be signed in to change notification settings

fastnsilver/gwt-ui-experiments

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GWT UI EXPERIMENTS
====================
A web application with intention of integrating and testing various GWT components and capabilities in addition
to other third-party frameworks and components.  The intent this app is to explore and demonstrate specific functional use cases,
including but not restricted to: hyperlink-based navigation, client and server side validation, bookmark-ability (history supprt), GWT RPC and REST
requests, securing (not displaying) UI controls based on user role(s), and CRUS database interaction(s) while embracing modern, well-known development patterns.


ABOUT THE APP
--------------------
Sample market user interface.  User interacts via tab and tree navigation to view/edit forms and grids of energy
market related data.   Note: This application is very much a work in-progress!

Be sure to consult the individual READMEs in name.cphillipson.experimental

    .gwt
    .gwt.client
    .gwt.shared
    .gwt.server
    
for further details.


DEMO
--------------------
A demo instance is deployed on Google App Engine, here: http://gwt-ui-experiments.appspot.com
 

REQUIREMENTS
--------------------
JDK 6 (1.6.0_27 or better)
    http://www.oracle.com/technetwork/java/javase/downloads/index.html
    
Maven (3.0.3 or better)
   http://maven.apache.org/ 
   
Google Web Toolkit (2.4)
    http://code.google.com/webtoolkit/download.html
    

Set JAVA_HOME, MAVEN_HOME and MAVEN_OPTS environment variables


RECOMMENDATIONS
--------------------
If you're proficient with Eclipse, use the latest release of the SpringSource ToolSuite IDE (based on Eclipse).
To download and install, go here:  http://www.springsource.com/downloads/sts.
Then configure "Extensions" to download and install the Google Web Toolkit plugin.

Make certain Maven reserves adequate RAM
    MAVEN_OPTS=-Xms256m -Xmx2048m -XX:MaxPermSize=256m

Add the following instruction within <pluginGroups></pluginGroups> of your settings.xml

    <pluginGroup>org.mortbay.jetty</pluginGroup>


TO BUILD
--------------------

To compile, test (includes unit and integration tests), and install all projects into your local .m2 repo, use

    mvn clean install

To compile and install without running tests, use

    mvn clean install -DskipTests=true
    

TO GENERATE DOCUMENTATION
--------------------

To stage for local viewing, use

    mvn -P documentation site:site site:stage
    
View the /target/staging directory for output.


TO GENERATE DEPENDENCY GRAPH 
--------------------

    mvn -P graph graph:reactor -Dhide-scope=test -Dhide-optional=true

The above command will generate an aggregate graph (in .png format) of all the dependencies.
It generates a file named reactor-graph.png in the /target directory.


DEBUGGING AND/OR TROUBLESHOOTING
--------------------
To debug this app in GWT development mode

    mvn gwt:debug
    

For more detail on other gwt-maven-plugin options, run
    
    mvn help:describe -DgroupId=org.codehaus.mojo -DartifactId=gwt-maven-plugin -Ddetails 


DEPLOYING/RUNNING
--------------------        
To run this webapp, on

    JETTY 8  (LOCALHOST)
    
    mvn jetty:run-war                    (to start the container)
    press Ctrl+C                         (to stop the container)
    
    visit http://localhost:8080
    

    TOMCAT 6 (LOCALHOST)

    mvn -P tomcat6x cargo:start          (to start the container)
    press Ctrl+C                         (to stop the container)
    
    visit http://localhost:8081
    logs to be found in /target/tomcat6x directory
    
    
    JBOSS 5.1.2 (LOCALHOST)

    mvn -P jboss51x cargo:start -Djboss51x.home=/path/to/jboss       (to start the container)
    press Ctrl+C                                                     (to stop the container)
        
    /path/to/jboss is the directory where you've installed JBOSS 5.1 on your workstation/laptop
    
    Note: installation will need some tweaking

        1. Remove all hibernate* jars from commom/lib directory

        2. Copy hibernate-core-3.6.10.Final.jar and hibernate-validator-4.2.0.Final.jar from the Maven repository 
           to common/lib folder, see
           http://forum.springsource.org/showthread.php?73879-Problem-with-Hibernate-Annotation-while-using-JBoss

        3. Add a system property 'env=xxx' to properties.services file within 
           <attribute name="Properties"></attribute>
           where xxx is the name of a .properties file, e.g., exp or int.remote
         
    visit http://localhost:8081
    logs to be found in /target/jboss51x directory
    

ROADMAP
--------------------  

* Fix "bookmark-ability" (a.k.a. History support)
* Get client and server side validation working 
* Add database -- bootstrap db schema (e.g., from Hibernate entities)
*** Persist data -- round-trip get/post/put/delete
* Add security -- Spring Security, authentication and authorization of tabs, menu items, buttons and form/grid display/actions.

About

A web application with intention of integrating and testing various GWT components and capabilities in addition to other third-party frameworks and components.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages