Versions Compared

Key

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

...

OpenSyllabus backend is organized as a classical Sakai's tool following a File Structure based on classic Sakai's tool directories, such as : API (interfaces), Impl (implementations) and Tool (webapp) directory. In the Tool directory, there are RPC Servlets and RPC Interfaces for Remote Procedure Call exchanges in the src/Java folder. In addition, the Tool directory contains the Index.jsp and something new : the compiled GWT content (all the generated GWT stuff : pure JavaScript and HTML) in the src/webapp folder.

  • 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)

Package

Purpose

orgtool/sakaiquebecsrc/opensyllabus/

The project root package contains modules XML files (i.e OsylEditorEntryPoint.gwt.xml and )

org/sakaiquebec/opensyllabus/client/

Client-side source files and subpackages

org/sakaiquebec/opensyllabus/client/controller/

GUI controller and RPC controller, plus GUI's event subpackage and ViewContext utility

org/sakaiquebec/opensyllabus/client/OsylImageBundle/

All the images resources to be compressed using the Image Bundles of GWT

java/

Server-side Java source-code of the Sakai's Tool Package

tool/src/java/org/sakaiquebec/opensyllabus/client/rpc/

The two Service Interfaces required by the GWT RPC mechanism

tool/src/java/org/sakaiquebec/opensyllabus/clientserver/view/

The main package of the OSYL Client containing all the GUI components: Composite views, panels, tree, toolbar, buttons, ...org/sakaiquebec/opensyllabus/sharedJava source-code of the Backing Bean and the Servlet Implementation of the Service required by the GWT RPC mechanism

tool/src/webapp/

Server-side code, including Interfaces, Model update events, Model definition

org/sakaiquebec/opensyllabus/public/

Static resources that can be served publiclywebapp files: index.jsp, WEB-INF, tools config, osylconfigs files and compiled GWT stuff

tool/src/webapp/WEB-INF/

Webapp configuration files: web.xml and applicationContext.xml

tool/src/webapp/org.sakaiquebec.opensyllabus.OsylEditorEntryPoint

All the compiled JS & HTML stuff

Development Cycle

Thus, the developer can code and debug all in Java by working depending to his needs in the backend project or in the client project.

...