sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1647492 - in /sis/site/trunk/content: book/en/developer-guide.html contributor.mdtext index.mdtext source.mdtext team-list.mdtext
Date Tue, 23 Dec 2014 07:12:34 GMT
Author: desruisseaux
Date: Tue Dec 23 07:12:34 2014
New Revision: 1647492

URL: http://svn.apache.org/r1647492
Log:
Add Marc Le Bihan to the PMC list.
Add a "New contributor" page derived from the "Source code" page, and provide tips about SVN
configuration.

Added:
    sis/site/trunk/content/contributor.mdtext
      - copied, changed from r1641873, sis/site/trunk/content/source.mdtext
Modified:
    sis/site/trunk/content/book/en/developer-guide.html
    sis/site/trunk/content/index.mdtext
    sis/site/trunk/content/source.mdtext
    sis/site/trunk/content/team-list.mdtext

Modified: sis/site/trunk/content/book/en/developer-guide.html
URL: http://svn.apache.org/viewvc/sis/site/trunk/content/book/en/developer-guide.html?rev=1647492&r1=1647491&r2=1647492&view=diff
==============================================================================
--- sis/site/trunk/content/book/en/developer-guide.html [UTF-8] (original)
+++ sis/site/trunk/content/book/en/developer-guide.html [UTF-8] Tue Dec 23 07:12:34 2014
@@ -632,11 +632,11 @@
   <li>
     <p>
       Some <abbr title="XML Schema Definition">XSD</abbr> schemas are much more
verbose than the original <abbr title="Unified Modeling Language">UML</abbr> schemas.
-      Converting from <abbr>XSD</abbr> schemas introduces — at least in the
case of metadata -
+      Converting from <abbr>XSD</abbr> schemas introduces — at least in the
case of metadata —
       almost double the number of interfaces actually defined by the standard, without adding
any new features.
       <abbr>XSD</abbr> schemas also define attributes specific to <abbr>XML</abbr>
documents (<code class="OGC">id</code>,
       <code class="OGC">uuid</code>, <code>xlink:href</code>, <i>etc.</i>),
that do not exist in the original <abbr>UML</abbr> diagrams,
-      and which we do not necessarily wish to display in a Java <abbr title="Application
Programming Interface">API</abbr>.
+      and which we do not necessarily wish to expose in a Java <abbr title="Application
Programming Interface">API</abbr>.
       Converting from <abbr>UML</abbr> schemas avoids this problem, but tools
capable of performing this operation are less common.
     </p>
     <div class="example"><p><b>Example:</b>
@@ -692,11 +692,11 @@
       GeoAPI performs the work of integration by replacing some duplicate structures with
references to equivalent structures from the standards that best represent them.
     </p>
     <div class="example"><p><b>Example:</b>
-      <abbr>ISO</abbr> 19115 standard, which defines metadata structures,
+      <abbr>ISO</abbr> 19115:2003 standard, which defines metadata structures,
       also attempts to describe a few structures representing coordinate reference systems
(<abbr title="Coordinate Reference System">CRS</abbr>).
       Yet these are also the focus of another standard: <abbr>ISO</abbr> 19111.
-      At the same time, <abbr>ISO</abbr> 19111:2007 states in section 3 that
it reuses all of the elements of <abbr>ISO</abbr> 19115 except
-      <code class="OGC">MD_CRS</code> and its components.
+      At the same time, <abbr>ISO</abbr> 19111:2007 states in section 3 that
it reuses all of the elements of
+      <abbr>ISO</abbr> 19115:2003 except <code class="OGC">MD_CRS</code>
and its components.
       GeoAPI interfaces reduce the redundancy by applying the exclusion recommended by <abbr>ISO</abbr>
19111 to the entire project.
     </p></div>
   </li>

Copied: sis/site/trunk/content/contributor.mdtext (from r1641873, sis/site/trunk/content/source.mdtext)
URL: http://svn.apache.org/viewvc/sis/site/trunk/content/contributor.mdtext?p2=sis/site/trunk/content/contributor.mdtext&p1=sis/site/trunk/content/source.mdtext&r1=1641873&r2=1647492&rev=1647492&view=diff
==============================================================================
--- sis/site/trunk/content/source.mdtext [UTF-8] (original)
+++ sis/site/trunk/content/contributor.mdtext [UTF-8] Tue Dec 23 07:12:34 2014
@@ -1,4 +1,4 @@
-Title:  Source code
+Title:  New contributor
 Notice: Licensed to the Apache Software Foundation (ASF) under one
         or more contributor license agreements.  See the NOTICE file
         distributed with this work for additional information
@@ -17,85 +17,6 @@ Notice: Licensed to the Apache Software
         under the License.
 
 
-Apache SIS source code is maintained using Apache Subversion version control, and mirrored
on Git.
-For browsing the source code on-line, see [ViewVC][viewvc].
-For fetching the source code, choose one of the following commands:
-
-[Subversion][subversion]:
-
-    :::bash
-    svn checkout https://svn.apache.org/repos/asf/sis/trunk sis
-
-[Git][git]:
-
-    :::bash
-    git clone git://git.apache.org/sis.git sis
-
-The remaining of this page provides tips for SIS developers.
-
-[TOC]
-
-
-
-Opening Apache SIS in an IDE    {#ide}
-======================================
-
-Different SIS branches are available depending on the target platforms (JDK6 versus JDK7
or JDK8, or GeoAPI versions).
-The alternatives are listed in the [branches page](branches.html).
-This section documents how to checkout the trunk for development with Subversion,
-but the same instructions should work for any branch or for Git.
-
-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
-and the project built at least once using Maven:
-
-    :::bash
-    svn checkout http://svn.apache.org/repos/asf/sis/trunk sis
-    cd sis
-    mvn install
-
-
-
-NetBeans    {#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:
-
-    :::properties
-    maven.repository = /path/to/my/local/repository
-    run.jvmargs = -DmyProperty=myValue
-
-
-
-Eclipse    {#eclipse}
----------------------
-
-Execute the `svn checkout` to `mvn install` commands documented in the beginning of this
section,
-then execute the following steps:
-
-   * Execute `mvn eclipse:eclipse` on the command line.
-   * Open Eclipse in a new workspace.
-   * Go to _Eclipse_ → _Preferences_ → _General_ → _Workspace_.
-   * Change _Text file encoding_ to _Other: UTF-8_, press _Apply_, then _Ok_.
-   * Go to _File_ → _Import_ → _General_ → _Existing Projects in Workspace_.
-   * Choose the `sis` directory and import.
-
-
-
-Developing Apache SIS    {#developing}
-======================================
-
 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.
@@ -105,10 +26,12 @@ effective computer programming.
 
 This document is expected to evolve as the SIS project develops its own mode of operation.
 
+[TOC]
+
 
 
 Background Knowledge    {#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
@@ -119,7 +42,8 @@ areas if they have no or little knowledg
 
 
 
-### Geographic Information Systems and Science    {#science}
+Geographic Information Systems and Science    {#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.
@@ -132,7 +56,8 @@ second edition by John Wiley and Sons Lt
 
 
 
-### The ISO/OGC Geospatial Model    {#ogc}
+The ISO/OGC Geospatial Model    {#ogc}
+--------------------------------------
 
 SIS builds on the standards developed through a collaboration between the International
 Organization for Standardization (ISO) and the Open Geospatial Consortium (OGC).
@@ -143,10 +68,12 @@ identical versions of standards which ha
 are available for the [OGC standards and specification][standards] page.
 
 As time progresses, we hope to develop documentation material to introduce the ISO 19000
specification series.
+Most of this documentation can be found in the [Apache SIS developer guide](book/en/developer-guide.html).
 
 
 
-### Object-Oriented Programming in Java    {#java}
+Object-Oriented Programming in Java    {#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
@@ -164,7 +91,8 @@ of special importance to Apache SIS.
 
 
 
-### Mathematical Background    {#math}
+Mathematical Background    {#math}
+----------------------------------
 
 SIS frequently deals with complex calculations using relatively simple mathematics of
 trigonometry and matrix algebra. The coordinate operations of the Referencing modules involve
@@ -183,7 +111,8 @@ the concept is central to all graphics p
 
 
 
-### The GeoAPI Interfaces    {#geoapi}
+The GeoAPI Interfaces    {#geoapi}
+----------------------------------
 
 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
@@ -194,151 +123,75 @@ GeoAPI can most easily be learned by exp
 
 
 
-### The SIS library modules    {#modules}
+The SIS library modules    {#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.
+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.
 
 
 
-Code formatting    {#formatting}
---------------------------------
 
-Apache SIS uses the standard Java conventions, except for the 80 characters line length restriction.
-Other exceptions to the coding conventions may occur when tabular formatting can improve
readability,
-as in the example below:
+Fetching and editing source code    {#source}
+=============================================
 
-    :::java
-    if (x < xmin) xmin = x;
-    if (x > xmax) xmax = x;
-    if (y < ymin) ymin = y;
-    if (y > ymax) ymax = y;
+Different SIS [branches](branches.html) are available depending on the target platforms.
+Unless working on a SIS port (e.g. to the Android platform), contributors are encouraged
+to work on the SIS branch targeting the most recent JDK platform (currently JDK8):
 
-Many mathematical operations in a two-dimensional space (or more) have symmetry.
-Formatting the code in a way that emphase their symmetrical nature, for example
-aligning identical terms in columns, can help to understand the overall pattern
-and to identify bugs. The decision to use standard or tabular format is made on
-a case-by-case basis. Of course, tabular format shall not be abused.
-
-
-
-### Javadoc annotations    {#javadoc-tags}
-
-SIS uses standard javadoc annotations. The meaning of some tags are refined as below:
-
-  * `@since`   - the SIS version when the annotated element (class, method, <i>etc.</i>)
was first introduced.
-  * `@version` - the last SIS version when the code of the annotated class got a significant
change.
-  * `@author`  - developer name in <var>FirstName</var> <var>LastName</var>
(<var>Organization</var>) format.
-                 A separated `@author` tag is added for each developer.
-                 The intend is to allow other developers to know to who to ask questions
if needed.
-
-In addition, the `sis-build-helper` modules provides the following custom javadoc taglets:
-
-Javadoc tag    | Description
--------------- | -------------------------------------------------------------------------------------------
-`@module`      | Create links to the module where the class is defined, source code and Maven
artifacts.
-`{@include}`   | Include the content of a given HTML file below a `<h2>` section having
the given title.
-`{@preformat}` | An inline taglet for pre-formatted text. The first word inside the taglet
shall be one of `java`, `xml`, `sql`, `wkt`, `text`, `math` or `shell`.
-`{@section}`   | An inline taglet for the title of a new section in the javadoc.
-
-
-
-### HTML elements    {#html}
-
-HTML tags and entities shall be used only when there is no equivalent Javadoc tag.
-For example:
-
-   * Instead of "`<code>✎</code>`", use "`{@code ✎}`".
-   * Instead of "`a &lt; b &lt; c`", use "`{@literal a < b < c}`".
-   * Instead of "`<pre>✎</pre>`" for a Java listing, use "`{@preformat java
✎}`"
-     (this Javadoc tag is specific to Apache SIS — see above table).
-
-
-
-### MathML elements    {#mathml}
-
-The source code occasionally uses MathML for formulas that are difficult to render with only
Unicode characters.
-PNG images are not extensively used for formulas because they are difficult to edit after
creation,
-and their content are invisible to search operations (for example when a variable is renamed).
-For examples of MathML usage in SIS, search for the `<math …>` XML tag in Java source
files
-(note: there is also legacy `{@preformat math …}` custom Javadoc tags, but they may be
phased out as MathML adoption increase).
-For an introduction to MathML, see:
-
-   * [A Gentle Introduction to MathML][mathml-dessci] on Design Science
-   * [Working with MathML][mathml-wolfram] on Wolfram Mathematica
-
-MathML is supported natively in Firefox, Safari and Opera.
-Internet Explorer users need to [install a plugin][mathml-plugin-ie].
-Firefox users can optionally install the [fonts for Mozilla's MathML engine][mathml-fonts]
for better results.
-Note that a [JavaScript display engine][mathml-mathjax] is available for all browsers, but
not yet used by SIS.
-
-
-
-### Paragraphs    {#paragraph}
-
-Usages of the `<p>` tag should be relatively rare.
-Do **not** use `<p>` for the first paragraph in a package, class or member documentation,
-or for the first paragraph after a `</ul>`, `</ol>`, `</table>`, `</blockquote>`,
`</pre>`,
-`{@preformat}` or `{@section}` element.
-The `<p>` tag shall be used only for separating a new paragraph from a previous one.
-In such cases, `<p>` shall have a matching `</p>` tag at the paragraph end in
order to form valid HTML.
-
-
-
-### Javadoc CSS    {#css}
-
-Avoid using HTML attributes other than `class` as much as possible.
-Instead, rely on styling. Some HTML tags having a style definition in Apache SIS are:
-
-HTML tag                  | Description
-------------------------- | -------------------------------------------------------------------------------------------
-`<table class="sis">`     | Table with a border, blue headers, light background and
some space between columns.
-`<th class="hsep">`       | In SIS tables, draw a line on the top border. Used for
drawing table section separators.
-`<th class="sep">`        | In SIS tables, draw a bright line on the left border. Used
for drawing column separators.
-`<td class="sep">`        | In SIS tables, draw a bright line on the left border. Used
for drawing column separators.
-`<table class="compact">` | Table without border and no space between rows. Used for
lists with columns alignment.
-`<ul>` and `<ol>`         | Default list styles without space between items (suitable
for compact lists).
-`<ul class="verbose">`    | A list style with space between items. Used for lists having
verbose (multi-lines) items.
-`<div class="note">`      | Indented text with smaller font, used for notes or examples.
-`<div class="warning">`   | Text in red color, used for warning about probable API
changes.
-
-
-
-### Miscellaneous    {#miscellaneous}
+    :::bash
+    svn checkout https://svn.apache.org/repos/asf/sis/branches/JDK8 sis
+    cd sis
+    mvn install
 
-  * **License Header:** Always add the current ASF license header as described in [ASF Source
Header][srcheaders].
-  * **Trailing Whitespaces:** Remove all trailing whitespaces.
-    + Eclipse users can use the _Source_ - _Cleanup_ option to accomplish this.
-    + NetBeans users can use the use the _Source_ - _Remove trailing spaces_ on a file-by-file
basis,
-      or set the _Preferences_ - _Editor_ - _On Save_ - _Remove trailing whitespaces_ option.
-  * **Indentation:** Use 4 space indents (except for XML files) and never use tabs!
-    + Use 2 space indents for XML files, because ISO/OGC XML schemas tend to have a very
deep structure.
-  * **Line wrapping:** Use 120-column line width for Java code and Javadoc.
-    Some exceptions to this rule may exist for preserving tabular structures, but should
be rare.
 
 
+Configuring Subversion properties    {#svn-config}
+--------------------------------------------------
 
-Classes naming convention    {#classes-naming}
-==============================================
-Implementations of GeoAPI interfaces usually (but not always) begin with `Abstract`, `Default`,
`Simple` or `General` prefixes.
-The `Abstract` prefix is used when a class is abstract according ISO specifications — it
may or may not be be abstract in the Java sense.
-The `General` prefix is used when an implementation is designed for use in the general case,
-as opposed to other implementations specialized for a fixed number of dimensions or other
conditions.
-Implementations specialized for a fixed number of dimensions are suffixed with `1D`, `2D`,
`3D` or `4D` rather than being prefixed.
+Subversion can associate properties to each tracked files. Those properties tell to Subversion
+how to handle platform-specific aspects like end-of-line characters, and how to serve the
files
+to web browsers (MIME type, encoding, <etc.>).
+Those properties are typically set when a new file is added, not during modifications.
+Developers can specify default properties for all their Subversion working copies as below:
+
+  * Open `~/.subversion/config` in an editor, where `~` is the user home directory.
+  * Set the `enable-auto-props` value to `yes`.
+  * Scroll down to the `[auto-props]` section and add the following lines:
+
+    :::text
+    *.java       = svn:mime-type=text/plain;svn:eol-style=native
+    *.sql        = svn:mime-type=text/plain;svn:eol-style=native
+    *.txt        = svn:mime-type=text/plain;svn:eol-style=native
+    *.properties = svn:mime-type=text/plain;svn:eol-style=native
+    *.xml        = svn:mime-type=text/xml;svn:eol-style=native
+    *.xsd        = svn:mime-type=text/xml;svn:eol-style=native
+    *.sld        = svn:mime-type=text/xml;svn:eol-style=native
+    *.gml        = svn:mime-type=text/xml;svn:eol-style=native
+    *.xsl        = svn:mime-type=text/xsl;svn:eol-style=native
+    *.html       = svn:mime-type=text/html;svn:eol-style=native
+    *.xhtml      = svn:mime-type=text/html;svn:eol-style=native
+    *.css        = svn:mime-type=text/css;svn:eol-style=native
+    *.bat        = svn:eol-style=CRLF
+    *.sh         = svn:eol-style=native;svn:executable
+    *.bmp        = svn:mime-type=image/bmp
+    *.png        = svn:mime-type=image/png
+    *.jpg        = svn:mime-type=image/jpeg
+    *.jpeg       = svn:mime-type=image/jpeg
+    *.gif        = svn:mime-type=image/gif
+    *.tif        = svn:mime-type=image/tiff
+    *.tiff       = svn:mime-type=image/tiff
+    *.zip        = svn:mime-type=application/zip
+    *.utf        = svn:mime-type=application/octet-stream
+    *.shp        = svn:mime-type=application/octet-stream
+    *.shx        = svn:mime-type=application/octet-stream
+    *.dbf        = svn:mime-type=application/octet-stream
+    README       = svn:mime-type=text/plain;svn:eol-style=native
 
 
 
 *[ISO]: International Organization for Standardization
 *[OGC]: Open Geospatial Consortium
 
-[viewvc]:           http://svn.apache.org/viewvc/sis/
-[subversion]:       http://subversion.apache.org
-[git]:              http://git-scm.com
-[srcheaders]:       http://www.apache.org/legal/src-headers.html
-[standards]:        http://www.opengeospatial.org/standards
-[geoapi]:           http://www.geoapi.org/3.0/javadoc/index.html
-[mathml-wolfram]:   http://reference.wolfram.com/mathematica/XML/tutorial/MathML.html
-[mathml-dessci]:    http://www.dessci.com/en/reference/mathml/
-[mathml-fonts]:     http://developer.mozilla.org/en-US/docs/Mozilla/MathML_Project/Fonts
-[mathml-plugin-ie]: http://www.dessci.com/en/products/mathplayer/download.htm
-[mathml-mathjax]:   http://www.mathjax.org/
+[standards]: http://www.opengeospatial.org/standards
+[geoapi]:    http://www.geoapi.org/3.0/javadoc/index.html

Modified: sis/site/trunk/content/index.mdtext
URL: http://svn.apache.org/viewvc/sis/site/trunk/content/index.mdtext?rev=1647492&r1=1647491&r2=1647492&view=diff
==============================================================================
--- sis/site/trunk/content/index.mdtext [UTF-8] (original)
+++ sis/site/trunk/content/index.mdtext [UTF-8] Tue Dec 23 07:12:34 2014
@@ -41,14 +41,15 @@ The version under development is 0.5-SNA
   * Developer guide ([English](book/en/developer-guide.html) | [French](book/fr/developer-guide.html))
- note that this is work in progress.
   * [Command-line interface](command-line.html) for an overview of a command-line tool.
   * [SIS Wiki][wiki] for "drawing board" and roadmap.
-  * [Recommended code patterns](code-patterns.html)
+  * [Recommended code patterns](code-patterns.html) for writing more robust applications.
 
 
 
 SIS developer documentation    {#developer}
 -------------------------------------------
 
-  * [Source code](source.html): fetching the code, opening in an IDE, developing, formatting.
+  * [New contributor](contributor.html): background knowledge.
+  * [Source code](source.html): fetching the code, opening in an IDE, formatting.
   * [Build](build.html): build from the source, create the PACK200 file.
   * [Branches](branches.html): trunk, JDK6, JDK7, JDK8.
   * [Issue tracking][JIRA]: JIRA.

Modified: sis/site/trunk/content/source.mdtext
URL: http://svn.apache.org/viewvc/sis/site/trunk/content/source.mdtext?rev=1647492&r1=1647491&r2=1647492&view=diff
==============================================================================
--- sis/site/trunk/content/source.mdtext [UTF-8] (original)
+++ sis/site/trunk/content/source.mdtext [UTF-8] Tue Dec 23 07:12:34 2014
@@ -32,6 +32,7 @@ For fetching the source code, choose one
     git clone git://git.apache.org/sis.git sis
 
 The remaining of this page provides tips for SIS developers.
+Committers are encouraged to read the [new contributors](contributor.html).
 
 [TOC]
 
@@ -93,116 +94,23 @@ then execute the following steps:
 
 
 
-Developing Apache SIS    {#developing}
-======================================
-
-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    {#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    {#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    {#ogc}
-
-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 [OGC standards and specification][standards] page.
-
-As time progresses, we hope to develop documentation material to introduce the ISO 19000
specification series.
-
-
-
-### Object-Oriented Programming in Java    {#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.
-
-The [Recommended code patterns](code-patterns.html) page also discusses some elements
-of special importance to Apache SIS.
-
-
-
-### Mathematical Background    {#math}
-
-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    {#geoapi}
-
-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 [GeoAPI Javadoc][geoapi].
 
+Classes naming convention    {#classes-naming}
+==============================================
+Implementations of GeoAPI interfaces usually (but not always) begin with `Abstract`, `Default`,
`Simple` or `General` prefixes.
 
+  * The `Abstract` prefix is used when a class is abstract according ISO specifications —
it may or may not be be abstract in the Java sense.
+  * The `General` prefix is used when an implementation is designed for use in the general
case,
+    as opposed to other implementations specialized for a fixed number of dimensions or other
conditions.
+  * Implementations specialized for a fixed number of dimensions are suffixed with `1D`,
`2D`, `3D` or `4D` rather than being prefixed.
 
-### The SIS library modules    {#modules}
+Classes that do not implement an interface are usually not prefixed, even if abstract.
 
-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.
 
 
 
 Code formatting    {#formatting}
---------------------------------
+================================
 
 Apache SIS uses the standard Java conventions, except for the 80 characters line length restriction.
 Other exceptions to the coding conventions may occur when tabular formatting can improve
readability,
@@ -222,7 +130,8 @@ a case-by-case basis. Of course, tabular
 
 
 
-### Javadoc annotations    {#javadoc-tags}
+Javadoc annotations    {#javadoc-tags}
+--------------------------------------
 
 SIS uses standard javadoc annotations. The meaning of some tags are refined as below:
 
@@ -243,7 +152,8 @@ Javadoc tag    | Description
 
 
 
-### HTML elements    {#html}
+HTML elements    {#html}
+------------------------
 
 HTML tags and entities shall be used only when there is no equivalent Javadoc tag.
 For example:
@@ -255,7 +165,8 @@ For example:
 
 
 
-### MathML elements    {#mathml}
+MathML elements    {#mathml}
+----------------------------
 
 The source code occasionally uses MathML for formulas that are difficult to render with only
Unicode characters.
 PNG images are not extensively used for formulas because they are difficult to edit after
creation,
@@ -274,7 +185,8 @@ Note that a [JavaScript display engine][
 
 
 
-### Paragraphs    {#paragraph}
+Paragraphs    {#paragraph}
+--------------------------
 
 Usages of the `<p>` tag should be relatively rare.
 Do **not** use `<p>` for the first paragraph in a package, class or member documentation,
@@ -285,7 +197,8 @@ In such cases, `<p>` shall have a matchi
 
 
 
-### Javadoc CSS    {#css}
+Javadoc CSS    {#css}
+---------------------
 
 Avoid using HTML attributes other than `class` as much as possible.
 Instead, rely on styling. Some HTML tags having a style definition in Apache SIS are:
@@ -304,7 +217,8 @@ HTML tag                  | Description
 
 
 
-### Miscellaneous    {#miscellaneous}
+Miscellaneous    {#miscellaneous}
+---------------------------------
 
   * **License Header:** Always add the current ASF license header as described in [ASF Source
Header][srcheaders].
   * **Trailing Whitespaces:** Remove all trailing whitespaces.
@@ -318,16 +232,6 @@ HTML tag                  | Description
 
 
 
-Classes naming convention    {#classes-naming}
-==============================================
-Implementations of GeoAPI interfaces usually (but not always) begin with `Abstract`, `Default`,
`Simple` or `General` prefixes.
-The `Abstract` prefix is used when a class is abstract according ISO specifications — it
may or may not be be abstract in the Java sense.
-The `General` prefix is used when an implementation is designed for use in the general case,
-as opposed to other implementations specialized for a fixed number of dimensions or other
conditions.
-Implementations specialized for a fixed number of dimensions are suffixed with `1D`, `2D`,
`3D` or `4D` rather than being prefixed.
-
-
-
 *[ISO]: International Organization for Standardization
 *[OGC]: Open Geospatial Consortium
 

Modified: sis/site/trunk/content/team-list.mdtext
URL: http://svn.apache.org/viewvc/sis/site/trunk/content/team-list.mdtext?rev=1647492&r1=1647491&r2=1647492&view=diff
==============================================================================
--- sis/site/trunk/content/team-list.mdtext [UTF-8] (original)
+++ sis/site/trunk/content/team-list.mdtext [UTF-8] Tue Dec 23 07:12:34 2014
@@ -23,6 +23,7 @@ Project Management Committee / Committer
  * Adam Estrada
  * Andrew Hart
  * Charitha
+ * Marc Le Bihan
  * Martin Desruisseaux
  * Gregory D. Reddin
  * Ian Holsman



Mime
View raw message