Hi All,
--
I was looking into GeoServer for features that are not yet implemented
concerning the OGC standards (especially that of WFS and WMS). The
document
is not exhaustive on this enhancement list. So can you please help me
get a
list of features that are not yet implemented concerning the WFS and WMS
(Specs) specifically.
Sure, I keep meaning to update the JIRA task tracker
(http://jira.codehaus.org/secure/BrowseProject.jspa?id=10311) with what
needs doing, so that we can divide up tasks for 1.3. I'll try to get that
up to date over the next couple days, that way if someone starts on a task
they can just update the tracker that the task is in progress so we don't
replicate work.
But for specification specific tasks, WFS is basically complete, and has
been since 1.0, as GeoServer is the reference implementation for the WFS
specification as part of the CITE project. There are a couple things we'd
like to see for 1.3 though, first would be getting Shapefile, ArcSDE, and
Oracle passing the CITE tests (postgis is the only one that passes the
whole suite). The main thing needed for this is an AS construct, because
CITE is very specific on the attribute names, and the other datastores
aren't as easy to fit into the narrow CITE format. I'll explain this more
in a jira task. The second is better control of the transaction levels of
layers. This is not required by the spec, but is quite useful for real
world cases, so that an administrator could make some layers
transactional, and some not. Of course there are much nicer things we
could do beyond that, with user profiles, authentications for
transactions, and service profiles (different capabilities docs based on
different urls). And the big work ahead for WFS is to support complex
featureTypes and GML. Social Change Online started on this, but it needs
to be rethought and redone right in GeoTools.
The WMS portion of GeoServer is the one that needs the bulk of the work.
First we need reprojection. This work is currently being done in
GeoTools, and will need to be rolled into GeoServer, so that responses
take the CRSes into account, reproject as appropriate, and advertise the
supported projections correctly in the Capabilities document. So we'll
need to upgrade to GeoTools head, as GeoServer 1.2 is against the more
stable 2.0.x branch.
Another task that is probably worth pursuing is updating GeoServer to WMS
1.3. I believe this is mostly just the capabilities document.
There are a number of other minor things that GeoServer doesn't yet get
quite right. The best test I've found, which I'm planning on using for
the GeoServer work plan, is the ACE-GIS tests, I'm offline so I don't have
the exact link, but there's a link from the geoserver frontpage or go to
http://acegis.net and click on conformance tests. If you'd like I can get
the source code for the tests for you, I think it's a good thing for us to
all measure against. Once GeoServer is passing all of those tests we can
try against CITE. It may make sense to divide up the jira tasks based on
the test numbers.
The other major piece of work needed is styles. This is actually outside
the specific scope of WMS (well, it's in 1.1.1 half way, and then for 1.3
it's split into it's own SLD spec). Not sure if you have interest in
implementing a full SLD-WMS, but I think it's a good goal for GeoServer,
and it should not be that hard, since GeoTools has lots of good SLD work
done, it's just a matter of getting the web operations right. For full
WMS-SLD support we would need the DescribeLayer, GetLegendGraphic,
GetStyles and PutStyles operations. This also begs a rearchitecture of
how GeoServer handles styles internally, as SLD is the only way that we
allow users to specify named styles.
This would really help me concentrate on the enhancement list and
prepare a
work plan and move ahead.
Hmmm... I did not end up being super clear in this email. I'd say the
best thing to do to come up with a concrete work plan would be to run
GeoServer against the ACE-GIS WMS tests, as it will tell you exactly where
GeoServer is not implementing the spec right. If you sign up for a JIRA
account you can input the work plan as jira tasks, and if you give me your
JIRA username I can assign the tasks to you.
Best regards,
Chris