Child pages
  • Javascript api proposal
Skip to end of metadata
Go to start of metadata

This is a proposal for migrating the SmartGWT javascript api to GWT2.

There is consensus on turning the javascript api to a separate project (if possible with a more liberal license for the api, not the implementation).

Project pom:

 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>


	<parent>
		<groupId>org.geomajas</groupId>
		<artifactId>geomajas-parent</artifactId>
		<version>2.0.0</version>
	</parent>


	<artifactId>geomajas-project-javascript-all</artifactId>
	<version>1.2.0-SNAPSHOT</version>
	<packaging>pom</packaging>


	<name>Geomajas Project JavaScript - All</name>
	<description>Geomajas Project JavaScript - All</description>

	<modules>
		<module>api</module>
		<module>gwt</module>
		<module>gwt2</module>
	</modules>
...
</project>

Project structure:

 

  • geomajas-project-javascript: parent pom

    • api: gwt2 api

    • server-extension-api: gwt2 server extension api
    • editing-api: editing api
    • gwt: smartgwt parent pom

      • impl: gwt implementation
      • server-extension: gwt implementation
      • assembly: compiled gwt for direct use in non-gwt context (zip with js and html ?)
      • example: gwt example (or put html and javascript in common module ?)
      • documentation: or common documentation ?
      • plugin
        • editing: gwt implementation
    • gwt2: gwt2 parent pom

      • impl: gwt2 implementation
      • server-extension: gwt2 implementation
      • assembly: compiled gwt for direct use in non-gwt context (zip with js and html ?)
      • example: gwt2 example (or put html and javascript in common module ?)
      • documentation: or common documentation ?
      • plugin
        • editing: gwt2 implementation

       

Package naming

The java package naming should follow the general rules:

org.geomajas.javascript.api

org.geomajas.javascript.gwt(2).impl

org.geomajas.javascript.editing.api

org.geomajas.javascript.gwt(2).editing.impl

The javascript package naming should be more concise: geomajas.Xxx, geomajas.editing.Xxx

Be careful to avoid name clashes  !!!

 

  • No labels

1 Comment

  1. About the licensing issue:

    • any derivative work of a GPL program should also be GPL licensed. 
    • but we can license the javascript api (java code) as apache (it has no dependencies on gpl code)
    • we still have to license the java implementation of the api as GPL (as it uses Geomajas client)
    • what about the javascript library that results from this ? I think it is also GPL, but if people only communicate through the javascript-translated java api they should be ok, as anybody could make a different implementation of the api that is e.g. apache licensed.