R: [Geotools-devel] Re: [Geoserver-devel] GeoServer and GeoTools versions

Wow, lots of discussion on branching, RnD work, and the Geoserver
Enterprise Edition (ie. geoserver with a better plugin architecture).

My plan was to wait until after 1.3.0 had been released before moving
over to geotools trunk again. 1.3.0 would be based on the Geotools
2.1.x branch. After that, I wasn't quite sure what was going to
happen. Ideally, I'd like to see 1.3.1 still based on the "solid"
Geotools 2.1.x branch.

Personally, I don't see a reason to jump to Geotools trunk until the
FeatureType (FT) stuff has been properly integrated into it. Thats
supposed to happen around the time 1.3.0 will be released. Since
Geoserver doesn't really directly touch actual features that much (they
get processed in the lite tenderer (WMS) or in the GML xform stuff
(WFS)) I don't expect there to be too many changes for us. At least,
thats what I'm hoping. This does, however, heavily assume that
everything in Geotools actually works after the FT switch.

The TransactionResponse code is the place where things will most likely
break and be difficult to actually fix. Paolo already mentioned this
as a place that works needs to be done. The function is a 600 line
function-of-doom thats unintelligible. I'd really like to see this
refactored so its maintainable. Now, I think we can also add some
amount of plug-ability to this so (much like the way the current
validation stuff sticks in) so that groups like paolo can add a bunch
of functionality (that perhaps no one else uses) but doesn't actually
affect the main codebase. This way everyone will be using the same
codebase but also be able to go in their own direction.

This is one of the main ideas around the Geoserver 2.0 -- making it
plugable. We could put plugin "insertion/extensions" points in the
TransactionResponse function. We could "try" this in the current
codebase first.

I do, however, think that having a Geoserver-for-Geotools-2.1 and
Geoserver-for-Geotools-2.2 is going to be a pain. I'd like to wait
until after 1.3.0's release before we do that, but if a need arises....
My main concern is just there being an overhead in maintaining the two
branches.

I've decided to add a few things to 1.3.0, so its not quite code
complete. Really astute geoserver folks will notice that I added the
SPI mechanism so you can add your own Geoserver WFS output formats.
Currently supported are GML2 and GML2-GZIP, but I'm hoping to also add
a zipped-shapefile output.

As many know, TOPP just hired two new people to work on
geoserver-related things. One of them (Brent Owens) just started last
week, and I'm getting him to do a few "fundamental" things so he knows
geoserver/geotools "inside and out". The second (Justin Deolive) will
be starting mid-september.

I'm currently building geotools trunk and I'll see how much work there
is to actually get it working in Geoserver. I dont think there's been
too many changes, but there's a HUGE number of changes that will be
hitting soon. Who know how well they will work - its likely that we'll
be the test guinea pigs.

Some one was also asking about geoserver being web-only. Although I see
geoserver being web-only, I'd like to minimize the amount of actually
HTTP code in it. The sub-modules (ie. WFS, WMS, WCS, ...) should be
fairly detached from the HTTP environment. Anything they require from
the HTTP request should be explicitly stuck in the Request object(s). I
would also like to see more and more stuff moved from Geoserver into
Geotools, but the new plugin stuff (for 2.0) is suppose to make that
both optional and easy-to-migrate.

Given the fact that the geoserver code base is fairly stable (there's
been very few changes to its "core" in the last 6 months), I can really
appreciate the fact that people would want to develop their code inside
it. I've really tried to protect Geoserver developers from whatever's
been happening in Geotools.
I think thats going to be a bit more difficult in the future because I
see more actual geoserver changes, especially as Geotools does more
radically different things.

So, in summary:

* I'd like to not see geoserver branch, but its probably inevitable.
Ideally, i'd like to see this happen AFTER 1.3.0 releases (ie. about
the same time Geotools FT changes happen). I'm open for other options
so that others can continue their work.

* I'd also like to see TransactionReponse refactored, just to make it
understandable (ie. maintainable), but also so that others (ie. Paolo)
can "plugin" their special-task code (ie. everyone working on the same
codebase, but different groups will have certain functionality).

* I'm worried about branching making everything more difficult/work for
everyone!

* Geoserver 2.0 ("Enterprise Edition") will make this type of thing much
easier to deal with. I think we can still handle these issues the
current codebase with a little bit of work (ie. in
TransactionResponse).

* Geotools doesn't want any new development on 2.1.x, so anything new
you plan to do in Geotools needs to happen on Geotools trunk.

* doing something and hoping that someone else will integrate it
"properly" will never happen.

* Highly encourage people to "work together" since, in the long run, its
less work.

Dave
PS. Paolo (and whomever else), whats your time frame for what you're
doing?

----------------------------------------------------------
This mail sent through IMP: https://webmail.limegroup.com/

dblasby@anonymised.com wrote:

Personally, I don't see a reason to jump to Geotools trunk until the
FeatureType (FT) stuff has been properly integrated into it. Thats
supposed to happen around the time 1.3.0 will be released. Since
Geoserver doesn't really directly touch actual features that much (they
get processed in the lite tenderer (WMS) or in the GML xform stuff
(WFS)) I don't expect there to be too many changes for us. At least,
thats what I'm hoping. This does, however, heavily assume that
everything in Geotools actually works after the FT switch.

Dave? The FT proposal finishes soon, perhaps this week. But that is just a proposal. Gabriel has a plan that involves GeoServer work that you should check out.
Nice news about the pluggable WFS encodings BTW.

Here I will try and put together a shared timeline based on what I know: You should get a show of hands on the GeoServer devel list and see what work & deadlines people have, it would make sense to cooperate where possible.

It seems that we are all waiting on a schedule - so we can plan. Rather then bother Gabriel for changes, I thought we should start trying to negotiate on what needs to be accomplished. I understand that Rob, Gabriel and myself are waiting on community buy-in and funding and/or time.

But we have to start somewhere.

Please reply with modifications or deadlines as required/known:

Gabriel has this: <http://docs.codehaus.org/display/GEOTOOLS/ComplexDataStore+project&gt;, his focus is on GeoServer.

Entries already denoted by:
[#] Are already in Gabriel's plan (above), assume needed for GeoServer acceptance?
<#>Are needed for GeoAPI acceptance, mostly some paper work for a november meeting?
(#) Are needed for GeoTools and/or UDIG acceptance, mostly an implementation w/ xpath and complex content

Note: Although GeoAPI represnts grunt work, it is one of the reasons I am tempted to work on the FM proposal - the oppertunity to harmonize with GeoAPI.

July 22nd - Completed
[gs:1] Alignment of complex sco branch with trunk
- Update previous GeoServer 1.2 work to GeoServer 1.3 trunk

August 30th, Completed
[gt:2] Feature Type mappings suite
- reports with real life examples of GML schemas and documents

September 1st, Completed
[gt:3] FeatureType survey, description of current, limitiations to be fixed, proposed aritecture
- <http://docs.codehaus.org/download/thumbnails/30527/ProposedAttributeTypeAPI.png&gt;

- The aritecture proposal is complete, we are struggling with a few design issues right as part of the next step

September 15th:
[gt:3] FeatureType test suite - scratchpad of an implementation with JUNIT tests proving the approach
<gt:3.1>Interfaces placed in GeoAPI pending directory
(gt:3.2) Implementation based on in memory data
[gt:3.2] implement tests proving the business driver examples are covered,
(gt:3.3) implement tests proving the XPath support for SLD documents are covered

(gs:--) GeoServer 1.3.0 released freeing up resources for GeoServer 1.4.x

October 1st
<ga:4> Intrgration with GeoAPI
<ga:4.1> move interface into geoapi pending
<ga:4.3> Write up of draft change request
(gt:4.4) branch of trunk for intergration
(gt:4.5) implementation of shapefile
(gt:4.6) implementation of postgis
[gt:4.7] ComplexDataStore, a datastore able to query from JDBC to complex (origional 9-16th!)

October 15th
<ogc:5> OGC Change Request
(gt:5.1) port of remainging datastores (only WFS should be hard)

November 1st
(gt:6) merge with gt trunk, milestone release to community
(gs:6.1) start of geoserver changeover to milestone release/trunk
(udig:--) udig 1.2.0 released as a stable target for development, frees up team for udig 1.3.x ...
(udig:6.2) start of udig changeover to milestone release/trunk
[gt:6.4] GML Production enhancements, let geotools write out GML (origional 9-29th!)

November 15th
<ogc:7> OGC Meeting, presentation to Working Group
(gs:7.1) ongoing geoserver changeover, this time with focus GML production
(udig:7.2) ongoing udig changeover, this time on random access?

December 1st
(gs:8.1) initial release of geoserver 1.4.0-M0
(udig:8.2) initial release of udig 1.3.0-M0

Feb 1st
(udig:--) target release for 1.3.0 w/ complex type support
(gs:--) target for release of 1.4.0 w/ complex type support

I'm currently building geotools trunk and I'll see how much work there
is to actually get it working in Geoserver. I dont think there's been
too many changes, but there's a HUGE number of changes that will be
hitting soon. Who know how well they will work - its likely that we'll
be the test guinea pigs.

You should talk to Jesse, and check out my rough guide to RnD:
-<http://docs.codehaus.org/display/GEOTOOLS/2005/08/25/GeoTools+2.2+RnD+Update&gt;

This is a summary of a rough outline to be found here:

PS. Paolo (and whomever else), whats your time frame for what you're
doing?

Looks like you are already asking :wink:

Cheers, Jody

Personally, I don't see a reason to jump to Geotools trunk until the
FeatureType (FT) stuff has been properly integrated into it. Thats
supposed to happen around the time 1.3.0 will be released.

When exactly is this supposed to be? Like what's our target for 1.3.0?
I'm pretty sure that FeatureType stuff isn't going to be fully
integrated in gt2 trunk within the next month - I believe it needs more
review. I think the plan with respect to the new FT stuff was to have
a branch in GeoServer work against the branch in GeoTools, for this
round. To support that we should get GS trunk to GT trunk. I could be
misunderstanding this, but my thought is that to get the FT stuff fully
integrated in GeoTools is going to take longer than a month or so, like
past the horizon of Gabriel's current work - that's the reason we sent
a letter of support for RobA, so he can scare up more funding to make
this happen.

I do think that sometime soonish both udig and geoserver need to take
the plunge and commit to trunk, moving the bug fixes over and keeping
it stable, together, instead of each waiting for RnD work that is
useful. I think it's a bit of a catch 22, since RnD work, and rolling
in the changes, will proceed slower if the trunk they're working
against isn't the actual supported one. Like the first RnD to be
merged in will have a bigger job than the others, if udig and geoserver
aren't already supporting the branch.

Chris

Since

Geoserver doesn't really directly touch actual features that much
(they
get processed in the lite tenderer (WMS) or in the GML xform stuff
(WFS)) I don't expect there to be too many changes for us. At least,
thats what I'm hoping. This does, however, heavily assume that
everything in Geotools actually works after the FT switch.

The TransactionResponse code is the place where things will most
likely
break and be difficult to actually fix. Paolo already mentioned this
as a place that works needs to be done. The function is a 600 line
function-of-doom thats unintelligible. I'd really like to see this
refactored so its maintainable. Now, I think we can also add some
amount of plug-ability to this so (much like the way the current
validation stuff sticks in) so that groups like paolo can add a bunch
of functionality (that perhaps no one else uses) but doesn't actually
affect the main codebase. This way everyone will be using the same
codebase but also be able to go in their own direction.

This is one of the main ideas around the Geoserver 2.0 -- making it
plugable. We could put plugin "insertion/extensions" points in the
TransactionResponse function. We could "try" this in the current
codebase first.

I do, however, think that having a Geoserver-for-Geotools-2.1 and
Geoserver-for-Geotools-2.2 is going to be a pain. I'd like to wait
until after 1.3.0's release before we do that, but if a need
arises....
My main concern is just there being an overhead in maintaining the
two
branches.

I've decided to add a few things to 1.3.0, so its not quite code
complete. Really astute geoserver folks will notice that I added the
SPI mechanism so you can add your own Geoserver WFS output formats.
Currently supported are GML2 and GML2-GZIP, but I'm hoping to also
add
a zipped-shapefile output.

As many know, TOPP just hired two new people to work on
geoserver-related things. One of them (Brent Owens) just started
last
week, and I'm getting him to do a few "fundamental" things so he
knows
geoserver/geotools "inside and out". The second (Justin Deolive)
will
be starting mid-september.

I'm currently building geotools trunk and I'll see how much work
there
is to actually get it working in Geoserver. I dont think there's
been
too many changes, but there's a HUGE number of changes that will be
hitting soon. Who know how well they will work - its likely that
we'll
be the test guinea pigs.

Some one was also asking about geoserver being web-only. Although I
see
geoserver being web-only, I'd like to minimize the amount of actually
HTTP code in it. The sub-modules (ie. WFS, WMS, WCS, ...) should be
fairly detached from the HTTP environment. Anything they require
from
the HTTP request should be explicitly stuck in the Request object(s).
I
would also like to see more and more stuff moved from Geoserver into
Geotools, but the new plugin stuff (for 2.0) is suppose to make that
both optional and easy-to-migrate.

Given the fact that the geoserver code base is fairly stable (there's
been very few changes to its "core" in the last 6 months), I can
really
appreciate the fact that people would want to develop their code
inside
it. I've really tried to protect Geoserver developers from
whatever's
been happening in Geotools.
I think thats going to be a bit more difficult in the future because
I
see more actual geoserver changes, especially as Geotools does more
radically different things.

So, in summary:

* I'd like to not see geoserver branch, but its probably inevitable.
Ideally, i'd like to see this happen AFTER 1.3.0 releases (ie. about
the same time Geotools FT changes happen). I'm open for other
options
so that others can continue their work.

* I'd also like to see TransactionReponse refactored, just to make it
understandable (ie. maintainable), but also so that others (ie.
Paolo)
can "plugin" their special-task code (ie. everyone working on the
same
codebase, but different groups will have certain functionality).

* I'm worried about branching making everything more difficult/work
for
everyone!

* Geoserver 2.0 ("Enterprise Edition") will make this type of thing
much
easier to deal with. I think we can still handle these issues the
current codebase with a little bit of work (ie. in
TransactionResponse).

* Geotools doesn't want any new development on 2.1.x, so anything new
you plan to do in Geotools needs to happen on Geotools trunk.

* doing something and hoping that someone else will integrate it
"properly" will never happen.

* Highly encourage people to "work together" since, in the long run,
its
less work.

Dave
PS. Paolo (and whomever else), whats your time frame for what you're
doing?

----------------------------------------------------------
This mail sent through IMP: https://webmail.limegroup.com/

-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle
Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing
& QA
Security * Process Improvement & Measurement *
http://www.sqe.com/bsce5sf
_______________________________________________
Geotools-devel mailing list
Geotools-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

----------------------------------------------------------
This mail sent through IMP: https://webmail.limegroup.com/