Hi all,
there are many things going in Geoserver, and I feel the need
for a clearer planning.
This mail is very long, I've written it to try and summarize
what I've heard in chats and mails, to understand what's going on,
dependencies timing and the like.
Here I start with what I know, with my point of view, in the hope to
steer a discussion about what needs to be done.
On the technology/feature plate now we have, at the moment:
* 1.4.x: this needs to be released, now, we can have other 1.4.x
if the need arises (and it'll probably do).
* 1.5.x: this branch has been created as a side effect of releasing
1.5.0beta1. Here we have new stuff, that is, WCS with its new
functionality and configuration, but also changes to WMS that
afaik do increase the number of WMS served raster formats and
provide better control on quality/size side of the raster equation.
* versioned datastore and versioned WFS: in progress (on my disk...).
This is best developed against Geotools trunk, because this way
I could host the datastore in its most natural place and have
space for the needed feature model changes.
* OWS4 branch: WFS 1.1 support, but also new service architecture
that provides a nice and usable service API that's no more linked
specifically to the servlet world, making it easier to reuse
it from another Geoserver module. And, of paramount importance to
me, finally an architecture that allow for both unit and integration
tests without the need to run an external, preconfigured Geoserver
(that is, we can have the tests in the build and add them easily).
* ingestion engine: GeoSolutions guys are planning a new tool to
allow shapes, images and the like to be automatically imported and
configured into Geoserver. This allows for continuous catalog
update when new data comes in from external services.
* tiled WMS: this requires changes in both the gt2 renderer and
a new module that builds on top on the current WMS I guess.
Changes required in the renderer are not earth shattering, so
I guess they could be handled in 2.3.x or 2.4.x once branched.
* trunk against trunk, that is, the request to have Geoserver trunk
work against Geotools trunk.
Also, on the technology side, we should not forget:
* new UI: a new UI framework that does not make us mad every time some
components of the UI needs to be changed
* new config: a new configuration framework that does not make us
mad every time a new option, or a whole new service, needs to be
added to Geoserver.
* authentication/authorization: it baffles me we don't see this more
often on the ml, but hey, if you allow people to update data using
WFS-T, this very people should be controlled. A single
transaction/no transaction switch as now does not cut it in my
opinion (it works fine only in the OFF position).
The three above are different, because they are more of a wish list
item than ongoing work. We should open wiki pages to plan a bit both
of them, I'm going to in order to discuss at least requirements.
Having a document to design and plan has worked fine for versioned ds
imho, so I want to repeat the experience with those two.
On the users plate, the ml shows us different kind of users:
a) people struggling to get out simple results, usually maps.
These need more straightforward configuration (think ui and data
directory issues), and possibly a new module where you can configure
a web map context and boom, have your fancy smanshy OpenLayers page
configured with it. Instant satisfaction for simple uses, that is.
b) people happy with the current setup, besides annoyances due to bugs.
c) people struggling to use current Geoserver in bigger enterprise
scenarios. Things that keep on coming up on the ml lately are Oracle
data store, connection pooling, and also a bit of clustering.
d) people needing more. Better feature model, map tiling, versioning,
you name it.
a) and d) people would probably be happy to try something new
if it shows promise on their unfulfilled needs -> trunk people
b) people would stay on the most stable branch, and we need to
fix bugs in order to keep them happy -> 1.4.x people (even 1.5.x
if they happen to need coverages).
c) people are in the middle, we need to do significant changes to
the code base to satisfy them, yet they don't really need any new
functionality (connection pooling comes to mind). -> I'd say 1.5.x,
assuming it's ok to do an overhaul of connection pooling code
in gt2 2.3.x. A discussion and wiki page about this shall be
opened on the gt2 site.
It's also interesting to consider dependencies between various
stuff we mentioned here:
* Oracle data store fixes just needs a maintainer, or anyone willing
to push fixes inside the gt2 code base (eventually by sponsoring
them).
* 1.4.x general bug fixes just require users to hammer it, we'll
try to fix what they find.
* 1.5.x requires developers other than GeoSolutions to start working
on the branch and to try it out, and become familiar with the new
modules, and of course users to hammer it as well.
* versioned WFS requires the datastore, which is better developed
in gt2 trunk at the moment since it has a place for new modules
and it's easier to introduce Feature changes (without too much
fight with other developers, that is), changes in the GML
encoders/decoders, and changes in the WFS protocol,
which could either be based on the old WFS 1.0 code,
or on the OWS4 branch.
So, I'd say for this we need gs trunk on gt2 trunk. It would be nicer
to have ows4 landed on trunk as well, but it's probably harder.
* OWS4 requires to stabilize and to be documented. Landing it on trunk
requires to fix/wrap existing services so that they can be used with
the new dispatch architecture. Also, it requires a UI and a config
system, thought Justin says we can retrofit the old code as well.
* authentication would requires design, but also UI and configuration...
so I'd say, let's have it land when the we have a decent UI and
configuration to play against?
* ingestion engine: this too requires configuration, I guess it's in
the interest of everyone have it deal with new UI and new config.
Then we have people asking for trunk on trunk. Current trunk does
not seem to be far from 2.4.x branching, but as far as I understand
people asking for trunk on trunk want more than what will be included
in 2.4.
So, I'd say, OWS4 should land asap on trunk in order to avoid loosing
it, trunk will then depend on 2.4.x, then we branch 1.6.x and then _if
and only if_ people willing to do fancier stuff agree on having a not
too bumpy gt2 trunk we can then have a real trunk on trunk stuff.
I'd also like to know what are the timing requirements of people that
will work on "trunk on trunk".
Tiling WMS should be a topic for both 1.5.x (against 2.3.x) or 1.6.x,
I guess it mostly depends on how OWS4 landing gets in the way.
For sure, when OWS4 lands, it should be a stop the world thing, with
all developers working on other branches or lending a hand in order to
move all the stuff to the new architecture.
This leaves out config and new ui thought, and dependent tasks.
The two require design, development and a stop the world change on
trunk when implemented. When shall we add those?
Doing them with the "trunk on trunk" would probably widen too much
the scope of changes going on, leading to too much instability.
Doing them in current trunk, that is, the stuff that should become
1.6.x, may have timing problem (aka, it seems we need to hurry?),
and besides that, with such a changes Geoserver should probably
jump on version number 2.0?
All in all, we have lots to manage, and very interesting stuff too,
but I don't see an obvious path from here to there when it comes
to handle OWS4, new UI, new config and trunk on trunk.
I guess OWS4 and trunk on trunk people should speak about their
timings and requirements, this may help clear matter a bit.
Cheers
Andrea
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Geotools-devel mailing list
Geotools-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel
!DSPAM:1023,457c3adc194291194215290!