[Geoserver-devel] Developer Guide improvements

I have started to work on Improving the Developers Guide, both to provide a home for some Data Access content provided as part of the last UDIG Milestone. And to replace a document that started me off in geotools last year.

The document I am think of had lots of nice pictures (that I could stare at in frustration) and claimed to be a Design and Architecture document or something.
Admittedly the current set of tutorials is a much nicer way to learn geotools, but I would like a place to describe the Modular design of Geotools and talk about Data Access at a design level.

Incidently half the sites on this page: http://geotools.codehaus.org/Websites end up pointing to the same place!

And a question: Why is DataStoreFactorySPI have "SPI" in it? the superclass is Factory ... What does SPI mean?

Link to the developers guide for review comment:
http://docs.codehaus.org/display/GEOTOOLS/Developers+Guide

Jody

And a question: Why is DataStoreFactorySPI have "SPI" in it? the superclass is Factory ... What does SPI mean?

Service Provider Interface. Its a term from JAI where I first worked out how it was possible to create plugins that can be discovered at runtime.

It serves as a small hint to developers that you can use a META-INF/services/xFactorySPI file to find a factory capable of producing instances of x.

It doesn't need to be there, in fact a student here just refactored the way Functions (used in filters) can be discovered by using the /services/ approach. But to avoid braking any code we left the interface name unchanged, so no SPI. (In case your interested the OLD mechanism for finding functions relided on them being called xFunction AND on them being in org.geotools.something AND on the user knowing what the function was actually called.)

James