[Geoserver-devel] GeoServer feedback gathered during FOSS4G

Hi,
this mail tries to summarize the feedback I got during the FOSS4G
conference week about GeoServer. I encourage other participants
to the conference to provide their impression as well, this is
but a summary of just one person, so it's obviously skewed both
by the limited number of people I spoke to, and my personal filtering
of what I deem to be more or less important.

Perceived strong points:
* Easy to use (easy to introduce to new people), this
   actually is one of the reasons many people pick up GeoServer out of
   other options that do provide the same OGC services.
   Hopefully the new UI will strengthen this point.
* Stable, works, performance within expectations
* Growing, lively community
* Strong OGC service support. Many people stumbling into GeoServer are
   not looking for a generic web GIS, but specifically for OGC
   services. This is a strong point we have to make even stronger if
   possible.

Improvement areas:
* Quickly configuring lots of layers. This is probably the most asked
   question of all FOSS4G, a user has lots of shapefiles, lots of PostGIS
   tables, and wants to configure them all in one shot (of course,
   without caring much about styles to start with, just have the
   datastore figure out the SRS and the bounds to start with).
   In 2.0.x we want to develop such a mass configure action, whilst
   in the short term, for 1.7.x, we could try to resurrect the directory
   data store as an incremental helpful step.
* missing self configuring (drop data into a directory and have it self
   configure), both feature type and coverage wise.
   This is quite similar to the idea of an Ingestion Engine, minus the
   preprocessing that Simone and Alessio added.
   An IE could really be just an extra module that you drop into
   GeoServer and that has its own way to configure stuff on the fly.
   The use case, at least for the moment, does not require massive
   scalability concerns to be dealt with, since the catalog itself
   will not scale that much (we know it works fine on the thousands
   layers range, not sure it can be any good at hundred of thousands
   thought). So an IE that can deal with 10-100 new layers a day
   is most probably more than enough. Also, we would like it to be
   able to spot new tables in an already connected db, and not only
   to deal with a file system "drop area" where new data can be put
   waiting for it to be collected and configured.
* have a way to configure on the fly session level layers that are only
   visible to the current user, and that do expire (and be deleted) once
   the session expires (or after a fixed amount of time).
   This is quite a common requirement for UI that share a server side
   component performing some kind of processing or complex
   filtering and that do require the result to be visible through
   WMS/WFS but only for the current user and only for a limited
   amount of time. An example for all, a shortest path as computed by
   PgRouting, that needs to be displayed and interacted with using
   an OL client, but that of course is of any interest only to the user
   that asked for its computation.
* multiple services per server, similar to MapServer mapfiles. This is
   a question we had (too) many times on the users list as well.
* Got a couple of negative feedbacks on the layer grouping
   functionality, people do expect the grouping to produce a tree that
   can be then used by smart clients to show a correspondent UI tree
   (I guess MapFish does this?).
   I know we do allow for tree bulding using the wmspath property,
   yet this way is cumbersome at best, we should be providing a better
   way to structure this in GeoServer 2.0, ideally providing a layer
   group as a catalog level item that can be drilled down.
   Oh, this would also ask for a LayerGroup to be a Layer and thus
   allowing deeper nesting and actual tree building (we need an actual
   tree based UI to allow people reorganizing the tree as they see fit).
* Provide information about the raster on the coverage layers (pixel
   size, tile structure and so on), that is, basically the gdal_info,
   so that people may know more about the layer they are/have been
   configuring.
* Auto mosaic building as part of the configuration, just point the
   mosaic to a directory of files and let it go. It's an easy, no
   nonsense way to configure a mosaic that everybody can handle.
   We just have to beware of HTTP request timeouts during such
   configuration. Any idea of how much time it takes to build a big
   mosaic? (say, 1000 or more tiles?). This is actually something
   that some commercial image server is doing already (actually the
   configuration tools allow for effortless pyramid building as well).
* The same could go for a pyramid, provide a folder that contains a set
   of images (the initial mosaic) and have it build the pyramid as part ù
   of the configuration...
* Per layer reprojection SRS list, as opposed to server wide one.
* Allowing the usage of a completely custom catalog, some people already
   have their own catalog subsystems and they do want to plug in
   directly into them without having to copy the configs to GeoServer.
   This is actually very doable right now, since the new catalog is an
   interface, yet we need to deal at least with a couple of issues:
   - turn the catalog in a real extension point, so that you can have
     GeoServer use a custom one by just dropping the appropriate jar
     in
   - deal with service configuration in the same way. Consider for
     example a catalog driven by .map files. We would like to have
     a different service configuration for each of the .map files,
     so ideally what configures the in memory catalog would also
     have to configure the services.

Well, this is what I gathered. Comments appreciated.
Cheers
Andrea

Andrea Aime wrote:

* have a way to configure on the fly session level layers that are only
   visible to the current user, and that do expire (and be deleted) once
   the session expires (or after a fixed amount of time).
   This is quite a common requirement for UI that share a server side
   component performing some kind of processing or complex
   filtering and that do require the result to be visible through
   WMS/WFS but only for the current user and only for a limited
   amount of time. An example for all, a shortest path as computed by
   PgRouting, that needs to be displayed and interacted with using
   an OL client, but that of course is of any interest only to the user
   that asked for its computation.
  

Just a quick point here - this is what SLD is for:
- generate an SLD that only shows the roads mentioned by your pgRoute
- client application can manage an SLD file that is used by the user to show the data they want

* Got a couple of negative feedbacks on the layer grouping
   functionality, people do expect the grouping to produce a tree that
   can be then used by smart clients to show a correspondent UI tree
   (I guess MapFish does this?).
  

We actually do this in uDig now as well.

Well, this is what I gathered. Comments appreciated.
  

Thanks for the interesting email; perhaps you could gather these on a wiki page
Jody

* Got a couple of negative feedbacks on the layer grouping
   functionality, people do expect the grouping to produce a tree that
   can be then used by smart clients to show a correspondent UI tree
   (I guess MapFish does this?).
  

We actually do this in uDig now as well.

Well, this is what I gathered. Comments appreciated.
  

Thanks for the interesting email; perhaps you could gather these on a wiki page

Better yet could you turn them in to JIRA items? So we can keep a record of what people want, and have people vote on the issues to help drive development? This kind of in person feedback is really invaluable, and definitely presents a worthy set of goals for the next year.

Chris

Jody

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

--
Chris Holmes
OpenGeo - http://opengeo.org
Expert service straight from the developers.

Chris Holmes ha scritto:

* Got a couple of negative feedbacks on the layer grouping
   functionality, people do expect the grouping to produce a tree that
   can be then used by smart clients to show a correspondent UI tree
   (I guess MapFish does this?).
  

We actually do this in uDig now as well.

Well, this is what I gathered. Comments appreciated.
  

Thanks for the interesting email; perhaps you could gather these on a wiki page

Better yet could you turn them in to JIRA items? So we can keep a record of what people want, and have people vote on the issues to help drive development? This kind of in person feedback is really invaluable, and definitely presents a worthy set of goals for the next year.

Done :slight_smile:
Cheers
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.

Jody Garnett ha scritto:

Andrea Aime wrote:

* have a way to configure on the fly session level layers that are only
   visible to the current user, and that do expire (and be deleted) once
   the session expires (or after a fixed amount of time).
   This is quite a common requirement for UI that share a server side
   component performing some kind of processing or complex
   filtering and that do require the result to be visible through
   WMS/WFS but only for the current user and only for a limited
   amount of time. An example for all, a shortest path as computed by
   PgRouting, that needs to be displayed and interacted with using
   an OL client, but that of course is of any interest only to the user
   that asked for its computation.
  

Just a quick point here - this is what SLD is for:
- generate an SLD that only shows the roads mentioned by your pgRoute
- client application can manage an SLD file that is used by the user to show the data they want

For pgRouting using security and custom SLD _might_ work but it's
a custom solution for a specific problem. What about an OL client
that drives the creation of new layers thru WPS? How do you deal with
them in a session specific way? What if the functionality you're offering is not security bound (such as a demo site).
And finally, how do you deal with removing the layers once the
user session is expired?

* Got a couple of negative feedbacks on the layer grouping
   functionality, people do expect the grouping to produce a tree that
   can be then used by smart clients to show a correspondent UI tree
   (I guess MapFish does this?).
  

We actually do this in uDig now as well.

Nice
Cheers
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.