Author: desruisseaux
Date: Mon Oct  1 03:59:18 2012
New Revision: 1392195

URL: http://svn.apache.org/viewvc?rev=1392195&view=rev
Log:
Added a "Developing Apache SIS" page, and minor opportunist documentation fixes.

Added:
    sis/trunk/src/site/apt/develop.apt   (with props)
Modified:
    
sis/trunk/sis-build-helper/src/main/java/org/apache/sis/internal/taglet/Module.java
    sis/trunk/sis-build-helper/src/site/apt/index.apt   (props changed)
    sis/trunk/sis-utility/src/site/apt/index.apt   (props changed)
    sis/trunk/src/site/apt/download.apt   (props changed)
    sis/trunk/src/site/apt/index.apt   (contents, props changed)
    sis/trunk/src/site/site.xml

Modified: 
sis/trunk/sis-build-helper/src/main/java/org/apache/sis/internal/taglet/Module.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/sis-build-helper/src/main/java/org/apache/sis/internal/taglet/Module.java?rev=1392195&r1=1392194&r2=1392195&view=diff
==============================================================================
--- 
sis/trunk/sis-build-helper/src/main/java/org/apache/sis/internal/taglet/Module.java
 (original)
+++ 
sis/trunk/sis-build-helper/src/main/java/org/apache/sis/internal/taglet/Module.java
 Mon Oct  1 03:59:18 2012
@@ -114,7 +114,7 @@ public final class Module implements Tag
     }
 
     /**
-     * Returns {@code false} since <code>@module</code> can not be used in 
constructor
+     * Returns {@code false} since <code>@module</code> can not be used in 
constructor.
      *
      * @return Always {@code false}.
      */

Propchange: sis/trunk/sis-build-helper/src/site/apt/index.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/trunk/sis-build-helper/src/site/apt/index.apt
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Propchange: sis/trunk/sis-utility/src/site/apt/index.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/trunk/sis-utility/src/site/apt/index.apt
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: sis/trunk/src/site/apt/develop.apt
URL: 
http://svn.apache.org/viewvc/sis/trunk/src/site/apt/develop.apt?rev=1392195&view=auto
==============================================================================
--- sis/trunk/src/site/apt/develop.apt (added)
+++ sis/trunk/src/site/apt/develop.apt Mon Oct  1 03:59:18 2012
@@ -0,0 +1,144 @@
+                             ------------------------------
+                                       Developing
+                             ------------------------------
+
+
+Opening Apache SIS in an IDE
+
+  While the primarily SIS build system is Maven, the project provides some IDE 
configuration files
+  for developers convenience. Before opening the project in an IDE, the source 
code needs to be
+  downloaded from the {{{./source-repository.html}source repository}} and the 
project built at
+  least once using Maven:
+
++---------------------------------------------------------+
+svn checkout http://svn.apache.org/repos/asf/sis/trunk sis
+cd sis
+mvn install
++---------------------------------------------------------+
+
+
+* NetBeans
+
+  NetBeans can open Maven projects natively. This is the recommended approach 
for casual working
+  in a small amount of SIS modules. For extensive work on Apache SIS or for 
work impacting many
+  modules, it may be more convenient and faster to open Apache SIS as a 
NetBeans project.
+  Such pre-configured NetBeans project is available in the 
<<<ide-project/NetBeans>>> directory.
+  This project will fetch dependencies directly from the <<<.m2/repository>>> 
local directory,
+  and will refer to the resources <<<*.utf>>> files compiled by Maven in the 
<<<sis-*/target>>>
+  directories. Consequently it is important to run <<<mvn\ install>>> before 
opening the project
+  and after any change in the project dependencies or in the resources.
+
+  Users can customize their project configuration by editing the 
<<<ide-project/NetBeans/nbproject/private/config.properties>>>
+  file. The <<<private>>> directory is excluded by the versioning system, so 
it okay to put
+  user-specific information there. For example in order to overwrite the 
default location of
+  the local Maven repository and to define a system property at execution 
time, one can use:
+
++----------------------------------------------+
+maven.repository = /path/to/my/local/repository
+run.jvmargs = -DmyProperty=myValue
++----------------------------------------------+
+
+
+
+Developing Apache SIS
+
+  Improving and extending SIS requires extensive knowledge of geographic 
information science,
+  object oriented programming, the Java language, and of the library itself. 
Contributors should
+  expect that they will need to learn a great deal before being able to become 
productive.
+  However, the effort required to become productive should improve the 
contributor's understanding
+  and knowledge of geographic information systems, of geodetic and geographic 
science, and of
+  effective computer programming.
+
+  This document is expected to evolve as the SIS project develops its own mode 
of operation.
+
+
+
+* Background Knowledge
+
+  All contributors arrive to the project with different knowledge bases, some 
with scientific
+  backgrounds, some with a background in computer science, and others with 
geographic backgrounds
+  or even no training in geographic information science at all. By sharing the 
richness of our
+  individual backgrounds we have acquired a list of subjects which we consider 
critical to fully
+  understanding the SIS project. New contributors are highly encouraged to 
explore these
+  areas if they have no or little knowledge of them.
+
+
+** Geographic Information Systems and Science
+
+  While a background in the field is not required, it nonetheless proves 
exceedingly useful along
+  the way. GIS has developed its own language and has particular concerns 
which return frequently.
+  Issues of spatial representation, data size, spatial scale, information 
workflows and other topics
+  arise frequently and are worth understanding.
+
+  A good general introduction to the field is the book <Geographic Information 
Systems and Science>
+  by Paul A. Longley, Michael F. Goodchild, David J. Maguire and David W. 
Rhind published in its
+  second edition by John Wiley and Sons Ltd. in 2004.
+
+
+
+** The ISO/OGC Geospatial Model
+
+  SIS builds on the standards developed through a collaboration between the 
International
+  Organization for Standardization\ (ISO) and the Open Geospatial Consortium\ 
(OGC).
+  Contributors to SIS should have at least a basic understanding of the model 
developed in the
+  ISO\ 19000 series of specifications, starting with the Abstract model and 
working through the
+  <Feature> model. While the ISO specifications are sold, the OGC releases its 
own, essentially
+  identical versions of standards which have evolved from the collaboration. 
The OGC specifications
+  are available for the {{{http://www.opengeospatial.org/standards}OGC 
standards and specification}}
+  page.
+
+  As time progresses, we hope to develop documentation material to introduce 
the ISO\ 19000
+  specification series.
+
+
+** Object-Oriented Programming in Java
+
+  SIS is a library designed to be used by other programmers. To play this role 
effectively,
+  SIS must consider the various ways that users can reuse Java code: not only 
through object
+  instantiation and method calls but also through inheritance. SIS pays 
special attention to
+  accessibility constraints ensuring that only the classes and methods which 
are offered for
+  use are publicly accessible and that these methods are fully and correctly 
documented in javadoc.
+
+  Contributors are highly recommended to read the book <Effective Java> by 
Joshua Block, published
+  in its second edition by Addison-Wesley in 2008. The book explains the 
importance of certain
+  elements in the Java language and discusses subtleties of the language and 
its use.
+  Most importantly, the book reveals the full scope a programmer must consider 
when developing a
+  code library.
+
+
+** Mathematical Background
+
+  SIS frequently deals with complex calculations using relatively simple 
mathematics of
+  trigonometry and matrix algebra. The coordinate operations of the 
Referencing modules involve
+  trigonometric transformations on a flattened ellipsoid of rotation, the 
image transformations in
+  the Coverage modules and in the Rendering system involve extensive use of 
Affine transforms, and
+  the Analytic modules often use their own mathematical operations. These 
mathematics cannot be
+  simplified — they reflect the richness of the world around us.
+
+  Affine transformations are not particularly complex but critically important 
both to the
+  geo-referencing operations of the Referencing modules and to the image 
transformations of the
+  Coverage modules. Affines transform coordinates through translation, 
scaling, rotations, and
+  shear, though this latter component is used infrequently in the library. 
Mathematically,
+  affine transformations are usually applied as a matrix operation applied to 
a coordinate vector.
+  There are numerous introductions to affine transformations available on the 
World Wide Web since
+  the concept is central to all graphics programming.
+
+
+
+* The GeoAPI Interfaces
+
+  SIS is build partially as an implementation of the GeoAPI interfaces. GeoAPI 
defines a set
+  of objects offering particular methods thereby providing an interpretation 
of the ISO/OGC
+  standards in the Java language. GeoAPI therefore defines the core of the 
model implemented
+  by Apache SIS.
+
+  GeoAPI can most easily be learned by exploring the
+  {{{http://www.geoapi.org/snapshot/javadoc/index.html}GeoAPI Javadoc}}.
+
+
+
+* The SIS library modules
+
+  Contributors should gain a basic understanding of the core library including 
the separation into
+  modules, the functionality available in the base module, and the functioning 
of the modules of
+  interest.

Propchange: sis/trunk/src/site/apt/develop.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/trunk/src/site/apt/develop.apt
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Propchange: sis/trunk/src/site/apt/download.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/trunk/src/site/apt/download.apt
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: sis/trunk/src/site/apt/index.apt
URL: 
http://svn.apache.org/viewvc/sis/trunk/src/site/apt/index.apt?rev=1392195&r1=1392194&r2=1392195&view=diff
==============================================================================
--- sis/trunk/src/site/apt/index.apt (original)
+++ sis/trunk/src/site/apt/index.apt Mon Oct  1 03:59:18 2012
@@ -24,6 +24,8 @@ The Apache SIS™ library
 
     * 
{{{http://builds.apache.org/job/sis-trunk/site/apidocs/index.html}Aggregated 
Javadoc}}
 
+    * {{{./develop.html}Developing Apache SIS}}
+
     * {{{./code-patterns.html}Recommended code patterns}}
 
     * Developer Guide (English - translation to be provided later) 
({{{./book/fr.xhtml}Français}})

Propchange: sis/trunk/src/site/apt/index.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/trunk/src/site/apt/index.apt
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: sis/trunk/src/site/site.xml
URL: 
http://svn.apache.org/viewvc/sis/trunk/src/site/site.xml?rev=1392195&r1=1392194&r2=1392195&view=diff
==============================================================================
--- sis/trunk/src/site/site.xml (original)
+++ sis/trunk/src/site/site.xml Mon Oct  1 03:59:18 2012
@@ -33,11 +33,11 @@
     <!--     Links to appears just below the right banner     -->
     <!-- ==================================================== -->
     <links>
+      <item name="Apache" href="http://www.apache.org"/>
       <item name="Open Geospatial Consortium (OGC)" 
href="http://www.opengeospatial.org"/>
       <item name="GeoAPI" href="http://www.geoapi.org"/>
       <item name="Javadoc" 
href="http://builds.apache.org/job/sis-trunk/site/apidocs/index.html"/>
       <!-- Absolute URL in order to point to the aggregated Javadoc instead 
than module Javadoc. -->
-      <item name="Apache" href="http://www.apache.org"/>
     </links>
 
     <!-- ==================================================== -->


Reply via email to