[Geoserver-devel] community-schemas community module

Hey all,

I was working on enabling a community schemas community module on my box.
Before commiting I would like to comment on what I get up to, and ask for
opinions, feedback, alternatives.

First off, the need:

I need to serve up ISO Features through WFS.. The ISO Feature model is
unrelated to the geotools one until they're merged, not in this geotools
version.

On the last IRC meeting, Andrea commented about the possibility of extending
the wfs module instead of forking, and exposing the extended service as
another URL. I honestly didn't got a good undersanding on how to do that, and
since I'm in a bit of hurry I decided to fork, so I can just modify whatever
I need.

By the other hand, I need to package up the needed modules, like with a maven
profile. First I thought one could define a profile to include a submodule,
as to include platform,main,data,web and community/wfs-c. This seems not
possible though, and found I can't include web if I want to exclude wfs, wms,
and wcs, since it depends on them. I also guess I cannot (by policy) define
another pom module at the same level than community, so it is ok if I can
just include my module on community.

So I got to the following layout:
community/community-schemas/web-c
community/community-schemas/wfs-c

where web-c is my own web module with the desired dependencies, so no need to
include wms,wfs,wcs. And when building the community profile one gets the
community-schemas enabled war in web-c's target.

Does it seems ok? anyone can think on a better alternative?
feedbak highly appreciated.

Gabriel

Gabriel Roldán wrote:

Hey all,

I was working on enabling a community schemas community module on my box. Before commiting I would like to comment on what I get up to, and ask for opinions, feedback, alternatives.

First off, the need:

I need to serve up ISO Features through WFS.. The ISO Feature model is unrelated to the geotools one until they're merged, not in this geotools version.
  

So you can either ...
- Make a Transform for your new objects (ISO Feature?)
- Use Justins GTXML Binding framework for writing

I thought we outlined this work on one of the wiki pages?

On the last IRC meeting, Andrea commented about the possibility of extending the wfs module instead of forking, and exposing the extended service as another URL. I honestly didn't got a good undersanding on how to do that, and since I'm in a bit of hurry I decided to fork, so I can just modify whatever I need.
  

Justin's dispatch system should save you here, the operation code (ie WFS) is seperated from the formatting response code .. so the work you do on ISO Feature serialization should not have to be thrown out after the experiment.

By the other hand, I need to package up the needed modules, like with a maven profile. First I thought one could define a profile to include a submodule, as to include platform,main,data,web and community/wfs-c. This seems not possible though, and found I can't include web if I want to exclude wfs, wms, and wcs, since it depends on them. I also guess I cannot (by policy) define another pom module at the same level than community, so it is ok if I can just include my module on community.
  

You got it right - web has to be forked and their are instructions on how to. The configuration of your WFS service should
be similar to the origional (just tag in the specific operations you have written - DescribeFeatureType and GetFeature)

So I got to the following layout:
community/community-schemas/web-c
community/community-schemas/wfs-c

where web-c is my own web module with the desired dependencies, so no need to include wms,wfs,wcs. And when building the community profile one gets the community-schemas enabled war in web-c's target.

Does it seems ok? anyone can think on a better alternative?
feedbak highly appreciated.
  

What you did was the best we could come up with ... annoying problem so suggestions are welcome.
Jody