GeoTools / GeoServer Meeting 2017-10-03
Attending
Ben Caradoc-Davies
Brad Hards
Jody Garnett
Kevin Smith
Torben Barsballe
Jukka Rahkonen
Apologies
Agenda
*
Build server and CITE tests
*
2.12 release
*
Dependency management around “WPS required”
*
GWC Status
*
Java 9 compatibility GSIP Review / Discussion
Actions
*
Ben: Send email to arrange a CITE test breakout meeting
*
All: Review swagger docs, fix outstanding errors
*
Ben and Jody: add GWC refactoring comments to email thread
Previous Meeting actions
*
(done) Torben: Get ssh access to provide build box with “geotools”
git user?
*
(done) Torben: Swagger try enum + Reference Approach on core, send
example to list and ask for help on extensions
*
(done) Kevin: Create a GSIP placeholder page for next release about
bundling API docs and User docs as optional extensions for GeoServer
*
(done) Torben and Jody: 2.12 RC1 (Week of Sept 25)
*
Ian (and Kevin?): 2.12 Release (Week of Oct 2)
*
(done) Jody: Update release schedule
Build server and CITE tests
build.geoserver.org:
*
Where are at with the builder server?
o
See RC1 release retrospective email
*
What else needs to be done?
o
CITE Tests need to be migrated from ares
+
They are running, but are not working, …
+
The moment they run we can shut off ares
+
Action:Ben: Send email to arrange a CITE test breakout meeting
o
Mac Build Box
+
Currently manual, using qgis build server, which should be
shut off “soon”
+
Download numbers show mac is still used, but not very much
*
Q: Can we move notifications? Yes...
o
2.12 branch jobs should be sending email notifications to the list
o
Check if there is a way to bulk change notifications?
*
What about the databases?
o
PostGIS - is failing on a legitimate build failure since mid
september
+
this is working on ares, so we have a problem here
o
Oracle - working
o
App-schema jobs are working
o
All the other online tests seem to be cheerful
repo.boundlessgeo.com:
*
We have not seen a lazy saturday failure recently, turned off
big-stop-the-world backup solution
2.12 release
See Torben’s “retrospective” email:
*
Q: Should we consider moving downloads to github?
o
Torben tried this manually, there is a github api to do this
*
Q: For historic releases
o
Consider releasing to both for a year, and then stop using
sourceforge …
*
Does GitHub track download stats
o
Kevin is going to go check as one GWC release was made on
sourceforge
o
Yes see -
https://help.github.com/articles/getting-the-download-count-for-your-releases/
Testing priorities from beta:
*
(done) Mac DMG use - tested, now avoid conflict with system JAI
*
REST API Resource, format xml or json has problem with metadata
request getting confused
Swagger docs:
*
Torben did a full pass on docs, match actual code!
*
Quiet-on-not-found parameter, used internally for testing, not
documented on purpose (will make a note to the rst docs).
*
All the core stuff has been merged in for RC1
*
Extension docs
o
Outstanding pull requests, need to be reviewed merged, and
backported
o
Action: Jody to review outstanding extension swagger docs
*
Markdown Examples
o
DataStore examples are the priority
o
Style examples
o
Add Layer example, this is not intuitive
*
Q: Will this be ready for 2.12 release?
o
Depends on Ian calling time
*
We noticed that the build server swagger doc builds report failures,
but do not result in a failed build!
o
tried updating to the new maven plugin, did not help, made it worse
o
These are actual valid failure, for example the datastore page
*
Action:All: Review swagger docs, fix outstanding errors
GeoServer 2.12 release critical path:
*
Verify security vulnerability (reported against 2.8)
*
GWC GEOS-7713
*
Swagger docs fix errors, nice to have - should not hold up release
Dependency management around “WPS required”
Problem:
*
WPS and GeoWebCache have a strange dependency relationship
*
This occurs in a number of spots where an extension requires WPS be
installed, just to access the geotools process
o
GeoPkg depends on MBTiles depends on WPS to depend on gt-process
*
GeoTools gt-process was split up into gt-process (API),
gt-process-geometry, gt-process-feature, gt-process-raster
Q: Can these extensions depend directly on gt-process?
*
gs-mbtiles extensions depends on
o
both gs-wps and gs-wps-test
o
gridset information form GWC
*
geopackage:
o
Andrea: the module needs to be split into 4 jars core store, wms
output format, wfs output format, wps (in January 2017, before
including gpkg into the core)
o
The reading side of geopackage was merged into core for the 2.12-RC1
Q: Can “core” depend directly on gt-process so that gs-wps only adds the
WPS protocol?
Strategy discussion:
*
Proposal: Pull up tile stuff into geotools?
o
For common use between geowebcache and mbtile (also vector tiles?)
o
gt-tile has this from WMS-C tile client implementation
*
Proposal: Move the generic tile discussion out of mbtile into its
own module, or to core, …
*
Extensions depend on gt-process, rather than gs-process?
GWC Status
GWC mailing list notes a general code cleanup is scheduled:
*
Pay down technical debt, boundless is looking into options if anyone
is interested :)
*
Make the codebase livable, easier to work with …
Feedback:
*
Jody: The LISAsoft pull request made a distinct module for the GUI,
making the codebase far easier to work with (and made it possible to
deploy without the GUI).
*
Ben: Duplication between GeoServer GWC class functionality between core
*
Jody: A pass through for code consistency would help, it is obvious
that the code has been written piecemeal feature by feature
*
Separate out the GUI from the REST API (wicket - for sharing with
GeoServer, or just FDL templates)
Please provide feedback to the email thread …
*
Action: Ben and Jody to add GWC refactoring comments to email thread
Java 9 compatibility GSIP Review / Discussion
See:
https://github.com/geotools/geotools/wiki/FactoryRegistry-Refactoring-for-Java-9-Compatibility
There are several API changes, hence the GSIP:
*
Java 9 requires service provide factory to only work with image
operations
o
GeoTools used this for Factories:
+
any object with a no argument constructor
+
If the object had a constructor supporting hints it would be
called, and the results stored in a registry based on the
hints to avoid duplicate instances
*
Jody likes this because the API break makes it clear that a change
has occurred!
o
ServiceRegistry → FactoryRegistry
o
We are using GeoTools “Factory” everywhere to be clear this is
an API change
*
What does this look like for client code?
o
If you use a FactoryFinder - no change!
*
Change targets GeoTools 19 (current master)
o
API breaking so will not be backported
*
If you implement a Factory should be no change
*
Oracle is dropping support for 32-bit
https://stackoverflow.com/questions/46356345/can-java-9-run-on-a-32-bit-os
*
Windows installer requires 32-bit at the moment (does it?)
How to handle users upgrading to Java 9?
*
Ask them to wait …
*
Issue a milestone and ask them to test …
Would this make GeoTools require Java 9?
*
No, the ServiceLocator (used for classpath lookup) has been
available since Java 6 (and is the preferred way to do this thing,
rather than the image operator ServiceRegistry we have been using)
*
Note this may allow a subset of GeoTools to work on Android (which
also uses ServiceLocator)
--
Ben Caradoc-Davies <[email protected]>
Director
Transient Software Limited <http://transient.nz/>
New Zealand
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
GeoTools-Devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel