Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

OpenSyllabus frontend is essentially organized around the recommended GWT project structure where we have replaced the server side code by a shared package and moved server RPC API definition (i.e. Interfaces files OsylEditorGwtService.java & OsylEditorGwtServiceAsync.java) into a the rpc subpackage of the client.

...

  • Code Structure
    • Frontend project (GWT code)
      • client
        •  
      • public
      • shared
    • Backend project (Sakai's tool code)
      • api dir
      • impl dir
      • tool dir
        • java
          • client
            • rpc
              • OsylEditorGwtService.java (RPC Servlet)
              • OsylEditorGwtServiceAsync.java (RPC Async Interface)
            • server
              • OsylBackingBean.java
              • OsylEditorGwtServiceImpl.java
        • webap
          • index.jsp
          • org.sakaiquebec.opensyllabus.OsylEditorEntryPoint (all generated JS code + HTML + images)
          • osylcoconfigs (configuration files) I18N properties files, skin: images & css, rules.xml)

...

  • Use case A - client update only
    • Hosted Mode

During most of your development, your GWT code runs in "Hosted Mode" that lets you debug like a normal Java application (edit, run, and debug cycle) inside from your Eclipse IDE.

In "Hosted Mode", a JVM executes the GWT code as Java bytecode inside a special embedded browser window (before your Java code having been translated into JavaScript).

 
Running GWT Webapp in "Hosted Mode" makes debugging easy

  • Edit your source
  • Refresh
  • See the results
Tip
titleTo launch a hosted mode session with OpenSyllabus from Eclipse

Your startup file is OsylEditorEntryPoint-shell.cmd (select it, right-click on it + Open With + Default Editor). It should launch a program from the console.

 

  • Deployment in Web Mode

When you have made a client code update only. In this use case, you have to invoke the JavaScript compilation then move the compiled JavaScript to the backend code. Also if your backend code is already deployed in Tomcat, just replace the JavaScript code by the new one.

...