You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sis.apache.org by Martin Desruisseaux <ma...@geomatys.fr> on 2012/08/04 14:06:47 UTC

Contribution proposal (pending OSGeo agreement)

Hello all

I would like to share my though about a possible path for submitting 
code, in the even of a positive OSGeo decision in August 9. Since 
metadata would be the first standard in dependency order, I though to 
submit only one class for starting with: a straightforward 
implementation of the ISO 19115 CI_Citation:

http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Citation.html

For the first submission, we would omit (for now) JAXB and many other 
"advanced" stuff, in order to focus only on the most basic "Plain Old 
Java Object". Doing that for only one class would already introduce 
questions like:

   * GeoAPI dependency
   * Naming convention for implementations of interfaces
   * Module grouping (if we do grouping)
   * Custom javadoc tags

After this first POJO has been settle down, we could gradually complete 
it with the initially omitted aspects like JAXB, internationalization, 
toString() formatting, etc. again discussing about how peoples want to 
organize that. After we got a CI_Citation implementation in its final 
form, we could apply the same pattern on the other metadata classes.

For now this is just for information purpose. Hopefully next week, if 
OSGeo is okay, we could submit more concrete proposals...

     Regards,

         Martin


Re: Contribution proposal (pending OSGeo agreement)

Posted by "Mattmann, Chris A (388J)" <ch...@jpl.nasa.gov>.
Hi Martin,

On Aug 4, 2012, at 11:57 AM, Martin Desruisseaux wrote:

> Hello Chris
> 
> Le 04/08/12 18:57, Mattmann, Chris A (388J) a écrit :
>> I would propose that if we go this route, then your patch assumes that we have a
>> 
>> http://svn.apache.org/repos/asf/incubator/sis/trunk/sis-metadata/
> 
> Yes, unless peoples wish to create group of modules, in which case it could be:
> 
>    (...snip...)/trunk/metadata/sis-metadata
> 
> Other possible modules in this group would be "sis-metadata-fra" (for an extension defined by the French government) and likewise for other countries. However I feel relatively neutral about whatever we should use groups or not; I will let peoples decide.

Yep sounds good.

> 
>> module, and that the class live inside of:
>> 
>> http://svn.apache.org/repos/asf/incubator/sis/trunk/sis-metadata/src/main/java/org/apache/sis/metadata/[citation]/
>> 
>> (optionally in the citation folder, or simply metadata for now)
> 
> I think that the citation folder is important given the amount of metadata classes (about 100 distributed in 12 packages). Furthermore, the "citation" folder actually matches a part of the ISO standard. Every classes defined in the ISO 19xxx series of standards (with very few exceptions) are defined with the following pattern:
> 
>    XX_ClassName
> 
> Where XX is a two-letters prefix. Thus, the "real" name of the Citation class in the ISO 19115 standard is "CI_Citation". Those two letters prefix works exactly as a package name in the ISO standard. Other classes in the "CI" package are CI_ResponsibleParty, CI_Address, CI_Telephone, etc. Then there is an other "package", called "DQ" (which we call "quality" in GeoAPI) with classes like DQ_DataQuality, DQ_LogicalConsistency, etc.
> 
> So the package divisions in GeoAPI reflects the package divisions in the ISO specifications, except that we use real names instead than two-letter codes. I think that keeping the same organisation may help peoples who are familiar with the standard to identify the corresponding SIS class.
> 
> I would however suggest to insert an additional "iso" folder between "metadata" and "citation", like below:
> 
> (...snip...)/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/
> 
> The reason is that we would like to propose the following package later, for the ISO-NetCDF bindings:
> 
> (...snip...)/sis-metadata/src/main/java/org/apache/sis/metadata/netcdf
> 
> And more packages may appear later for more spatial metadata conventions.

That makes sense to me.

Sounds great!

Cheers,
Chris

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Chris Mattmann, Ph.D.
Senior Computer Scientist
NASA Jet Propulsion Laboratory Pasadena, CA 91109 USA
Office: 171-266B, Mailstop: 171-246
Email: chris.a.mattmann@nasa.gov
WWW:   http://sunset.usc.edu/~mattmann/
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adjunct Assistant Professor, Computer Science Department
University of Southern California, Los Angeles, CA 90089 USA
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Re: Contribution proposal (pending OSGeo agreement)

Posted by Martin Desruisseaux <ma...@geomatys.fr>.
Hello Chris

Le 04/08/12 18:57, Mattmann, Chris A (388J) a écrit :
> I would propose that if we go this route, then your patch assumes that we have a
>
> http://svn.apache.org/repos/asf/incubator/sis/trunk/sis-metadata/

Yes, unless peoples wish to create group of modules, in which case it 
could be:

     (...snip...)/trunk/metadata/sis-metadata

Other possible modules in this group would be "sis-metadata-fra" (for an 
extension defined by the French government) and likewise for other 
countries. However I feel relatively neutral about whatever we should 
use groups or not; I will let peoples decide.

> module, and that the class live inside of:
>
> http://svn.apache.org/repos/asf/incubator/sis/trunk/sis-metadata/src/main/java/org/apache/sis/metadata/[citation]/
>
> (optionally in the citation folder, or simply metadata for now)

I think that the citation folder is important given the amount of 
metadata classes (about 100 distributed in 12 packages). Furthermore, 
the "citation" folder actually matches a part of the ISO standard. Every 
classes defined in the ISO 19xxx series of standards (with very few 
exceptions) are defined with the following pattern:

     XX_ClassName

Where XX is a two-letters prefix. Thus, the "real" name of the Citation 
class in the ISO 19115 standard is "CI_Citation". Those two letters 
prefix works exactly as a package name in the ISO standard. Other 
classes in the "CI" package are CI_ResponsibleParty, CI_Address, 
CI_Telephone, etc. Then there is an other "package", called "DQ" (which 
we call "quality" in GeoAPI) with classes like DQ_DataQuality, 
DQ_LogicalConsistency, etc.

So the package divisions in GeoAPI reflects the package divisions in the 
ISO specifications, except that we use real names instead than 
two-letter codes. I think that keeping the same organisation may help 
peoples who are familiar with the standard to identify the corresponding 
SIS class.

I would however suggest to insert an additional "iso" folder between 
"metadata" and "citation", like below:

(...snip...)/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/

The reason is that we would like to propose the following package later, 
for the ISO-NetCDF bindings:

(...snip...)/sis-metadata/src/main/java/org/apache/sis/metadata/netcdf

And more packages may appear later for more spatial metadata conventions.

     Cheers
     Martin


Re: Contribution proposal (pending OSGeo agreement)

Posted by "Mattmann, Chris A (388J)" <ch...@jpl.nasa.gov>.
Hey Martin,

Thanks, looks cool! ISO-19115 for the win.

I would propose that if we go this route, then your patch assumes that we have a

http://svn.apache.org/repos/asf/incubator/sis/trunk/sis-metadata/

module, and that the class live inside of:

http://svn.apache.org/repos/asf/incubator/sis/trunk/sis-metadata/src/main/java/org/apache/sis/metadata/[citation]/

(optionally in the citation folder, or simply metadata for now)

My 2c.

Cheers,
Chris

On Aug 4, 2012, at 5:06 AM, Martin Desruisseaux wrote:

> Hello all
> 
> I would like to share my though about a possible path for submitting code, in the even of a positive OSGeo decision in August 9. Since metadata would be the first standard in dependency order, I though to submit only one class for starting with: a straightforward implementation of the ISO 19115 CI_Citation:
> 
> http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Citation.html
> 
> For the first submission, we would omit (for now) JAXB and many other "advanced" stuff, in order to focus only on the most basic "Plain Old Java Object". Doing that for only one class would already introduce questions like:
> 
>  * GeoAPI dependency
>  * Naming convention for implementations of interfaces
>  * Module grouping (if we do grouping)
>  * Custom javadoc tags
> 
> After this first POJO has been settle down, we could gradually complete it with the initially omitted aspects like JAXB, internationalization, toString() formatting, etc. again discussing about how peoples want to organize that. After we got a CI_Citation implementation in its final form, we could apply the same pattern on the other metadata classes.
> 
> For now this is just for information purpose. Hopefully next week, if OSGeo is okay, we could submit more concrete proposals...
> 
>    Regards,
> 
>        Martin
> 


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Chris Mattmann, Ph.D.
Senior Computer Scientist
NASA Jet Propulsion Laboratory Pasadena, CA 91109 USA
Office: 171-266B, Mailstop: 171-246
Email: chris.a.mattmann@nasa.gov
WWW:   http://sunset.usc.edu/~mattmann/
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adjunct Assistant Professor, Computer Science Department
University of Southern California, Los Angeles, CA 90089 USA
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++