We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

State of GeoServer 2019

00:00

Formal Metadata

Title
State of GeoServer 2019
Title of Series
Number of Parts
295
Author
Contributors
License
CC Attribution 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
State of GeoServer provides an update on our community and reviews the new and noteworthy features for 2019. GeoServer is a web service for publishing your geospatial data. using industry standards for vector, raster and mapping. We have an active community and a lot to cover for 2.14 and 2.15 release, as well what is cooking in September’s 2.16 release. Each release provides exciting new features, this talk covers diverse improvements across GeoServer: * Support for Java 11 deployments * And update on the ongoing work on WFS 3.0 and next generation of WMTS * Extensions to WPS for better controlling status and progress of processes * JAI-EXT enabled by default, and what that means for your raster map publishing * Map algebra support * Data store functionality improvements, including news for MongoDB and PostGIS * Styling subsystem improvements * And much more… Attend this talk for a cheerful update on what is happening with this popular OSGeo project. Whether you are an expert user, a developer, or simply curious what GeoServer can do for you.
Keywords
Wechselseitige InformationFunction (mathematics)State of matterPresentation of a groupFunctional (mathematics)Server (computing)Service (economics)Lecture/Conference
Vector spaceProcess (computing)Communications protocolCore dumpOpen setPrototypeJava appletSource codeStandard deviationServer (computing)Presentation of a groupFile formatServer (computing)outputHorizonNumberRevision controlPoint (geometry)Information securityComputing platform19 (number)Inclusion mapInstallation artComputer animation
Revision controlStack (abstract data type)Information securityInstallation artSlide ruleComputer iconRepository (publishing)CodeSoftware developerRefractionCompilerExtension (kinesiology)Module (mathematics)Function (mathematics)SpacetimeModul <Datentyp>Staff (military)Software testingServer (computing)OracleCore dumpService (economics)Commitment schemeSoftware maintenanceVector spaceSource codeInformationStatisticsParameter (computer programming)Texture mappingConfiguration spaceDatabaseGeometryDigital filterStatement (computer science)Heat transferControl flowType theoryLibrary (computing)Raster graphicsPixelPhotographic mosaicComputer-generated imageryHausdorff dimensionRadiusSubsetDependent and independent variablesEmailState of matterRule of inferenceScale (map)Electric currentGenetic programmingClient (computing)Line (geometry)Axonometric projectionAerodynamicsVertex (graph theory)Codierung <Programmierung>Shift operatorComputer fileCondition numberProcess (computing)Cross-site scriptingComplex (psychology)IRIS-TMedical imagingDifferent (Kate Ryan album)Self-organizationService (economics)Projective planeCore dumpSoftware testingModule (mathematics)Server (computing)Software developerGroup actionSymbol tableLevel (video gaming)Greatest elementLine (geometry)AuthorizationData typeConfiguration spaceEmailGame controllerDependent and independent variablesSoftware maintenanceRevision controlFile formatBefehlsprozessorDatabaseComputer configurationQuery languageArithmetic meanPoint cloudGeometryArray data structureTerm (mathematics)Internet service providerRule of inferenceConformal mapExtension (kinesiology)MappingSource codeElectronic mailing listVector spaceWindow functionWebsite1 (number)MathematicsNumberOrder (biology)Data storage deviceRaster graphicsBitOnline helpFeedbackPhysical systemGoodness of fitRight angleProduct (business)Multiplication signRange (statistics)Selectivity (electronic)Statement (computer science)Computer iconHeat transferInstallation artInformation securityBuildingGenetic programmingPoint (geometry)Network topologyArchaeological field surveyEndliche ModelltheorieCommutatorFunctional (mathematics)Cellular automatonCondition numberSlide ruleEvent horizonMatching (graph theory)SoftwareLibrary (computing)Food energyForm (programming)Video gameOffice suiteMusical ensembleThomas BayesType theoryData streamFunction (mathematics)RadiusComputer animation
Web 2.0Public key certificateService (economics)
Function (mathematics)MeasurementGeometryFile formatCoordinate systemPrice indexSource codeTexture mappingInformationAttribute grammarElement (mathematics)Category of beingComplex (psychology)Type theoryIdentity managementExtension (kinesiology)Module (mathematics)Service (economics)TestbedThermal expansionClient (computing)Vector spaceComputer-generated imageryCore dumpTerm (mathematics)Process (computing)Presentation of a groupRepresentational state transferRaster graphicsAlphabet (computer science)MassOperations researchControl flowSquare numberRule of inferenceCross-site scriptingSheaf (mathematics)BenutzerhandbuchEquals signQuantileUniqueness quantificationAreaStandard deviationData analysisState of matterVariable (mathematics)Default (computer science)Musical ensembleBuildingMathematicsAerodynamicsCartesian coordinate systemPresentation of a groupNumbering schemeProduct (business)MeasurementService (economics)TesselationCombinational logicCASE <Informatik>Generic programmingQuantileVector spaceElectric generatorSocial classWeb serviceGeometryCategory of beingElement (mathematics)Client (computing)Level (video gaming)Rule of inferenceMusical ensembleDynamical systemPixelNumberAsynchronous Transfer ModeCompact spaceTranslation (relic)Symbol tableComputer configurationTerm (mathematics)Function (mathematics)Graph coloringInformationComplex (psychology)Source codeModule (mathematics)Default (computer science)Concurrency (computer science)AdditionSystem callMassWeb 2.0Multiplication signPlug-in (computing)MereologyExterior algebraQuicksortRight angleInformation engineeringData structureProcess (computing)SoftwareIdentity managementCommon Language InfrastructureInternetworkingSet (mathematics)Server (computing)Archaeological field surveyExtension (kinesiology)Software testingStylus (computing)Endliche ModelltheorieQueue (abstract data type)Revision controlSimplex algorithmDemosceneAttribute grammarAreaFlow separationBlogThomas BayesScaling (geometry)Data storage deviceDrop (liquid)Electronic mailing listSelectivity (electronic)ForestComputer animation
Process (computing)Service (economics)AlgebraFormal languageTransformation (genetics)Scripting languageOperator (mathematics)MereologyProblemorientierte ProgrammierspracheWordProcess (computing)Scripting languagePoint (geometry)BitService (economics)CalculationWeb 2.0Raster graphicsComputer animation
AlgebraFormal languageTransformation (genetics)Electronic visual displayScripting languagePrice indexProcess (computing)Military operationSystem administratorClient (computing)Uniform resource locatorProcess (computing)Operator (mathematics)Electronic mailing listSubject indexingComputer configurationElectronic visual displayMereologyScripting languageSystem administratorGame controllerData managementConfiguration spaceTerm (mathematics)TouchscreenPoint (geometry)Level (video gaming)Graphics softwareMathematicsComputer animation
Data managementConfiguration spaceGraphics softwareInformation securityRevision controlInstallation artCodeSpacetimeControl flowKeyboard shortcutComputer fontCausalityService (economics)Basis (linear algebra)BefehlsprozessorInformationPhysical systemRead-only memoryFreewareMiniDiscComputer networkExtension (kinesiology)Content (media)Limit (category theory)Server (computing)Mixed realityAuthenticationKey (cryptography)Uniform resource locatorHierarchyOracleCumulative distribution functionJava appletTerm (mathematics)Configuration spaceRepresentational state transferElectronic mailing listInformation securityGraph coloringComplex (psychology)Key (cryptography)CodeComputer iconMathematicsSelf-organizationGraphics softwareModule (mathematics)TouchscreenLevel (video gaming)Multiplication signBefehlsprozessorAuthenticationPhysical systemCuboidBasis (linear algebra)PhysicalismService (economics)Product (business)Java appletIntegrated development environment1 (number)Computer configurationGame controllerOpen setHand fanGeometryAreaSemiconductor memoryDefault (computer science)WordDrop (liquid)Type theoryServer (computing)Operator (mathematics)SpacetimeExtension (kinesiology)CodeMedical imagingPeer-to-peerGenderComputer animation
Java appletCodeDefault (computer science)Operations researchVector spaceComputer-generated imageryExt functorMathematical analysisSource codeError messageFormal verificationEmailSystem callComputer programProof theoryModal logicInformation securityLibrary (computing)Software developerPay televisionBuildingGroup actionElectronic mailing listExploit (computer security)Vulnerability (computing)Open sourceService (economics)Phase transitionSoftware testingExtension (kinesiology)Software developerLibrary (computing)MathematicsInformation securityDefault (computer science)Service (economics)Mathematical analysisMedical imagingFluid staticsWebsiteConfidence intervalMereologySoftware bugInternet service providerJava appletPersonal digital assistantOperator (mathematics)Dependent and independent variablesElectronic mailing listVulnerability (computing)Physical systemMoving averageServer (computing)Computer animation
TesselationVector spacePlanningFunctional (mathematics)Multiplication signWorkloadProjective planeSoftware developerBitVideo gameCycle (graph theory)Cache (computing)Core dumpServer (computing)NumberRevision controlOcean currentOpen setService (economics)MereologyStress (mechanics)Forcing (mathematics)AreaEvent horizon
Transcript: English(auto-generated)
Welcome everyone. Thank you all for making it over here after an epic keynote welcome session. My name is Jody Garnett and it's my pleasure to be chair for this session. And I'd like to introduce our first speaker, Andrea Amy from GeoSolutions, and also myself.
Pleased to meet me. Thank you for joining us. And without further ado, we're just going to start. Thank you, Jody. So this presentation, State of GeoServer, is about the new functionalities that we introduced during the last year in GeoServer.
So it assumes that you already know about GeoServer and you want to know what's new inside GeoServer. We all know what GeoServer is, I hope. So the server publishes over a number of OGC protocols, supports a number of extensions, input formats and so on. So, what happened in 2019?
GeoServer continues to pursue a really aggressive release roadmap, releasing every six months. So we released GeoServer 2.14, 2.15, and right on the horizon here is GeoServer 2.16.
Are you using an older version of GeoServer? Please upgrade now, don't delay. The newer versions do include security fixes. We only provide those security fixes for the newer version. Please upgrade your existing installations.
What do you get if you update? We're going to have a look at the bottom of the slides. We're going to show what features have arrived in these new versions of GeoServer. The icon marks what version it was provided in, who the author was, and who the sponsor or customer was. For things that were done out of the kindness of a developer's heart or their enthusiasm, the sponsor will be a little heart symbol.
We've got one project steering committee update. So the project steering committee is a group of individuals from different organizations. The PSE member, Ben Cardack-Davies, from New Zealand, has stepped down from the PSE, so we'd like to thank him for his service.
In terms of committers, these are the folks that do the day in and day out maintenance activities. We would like to recognize two new committers this year, Steve and Fernando. Thank you for joining the GeoServer team.
We also have a number of community modules. Community modules are R&D experiments. Developers propose community modules in order to try out an idea. We only say they compile until they're ready with documentation and quality assurance coverages. These are just experiments used at your own risk.
If you are interested in any of these, please contact the author. New ones we've got here are an OGC API one, one from GeoStyler, an interesting one for working with Azure services, MapML, OGR and SAML, and a few other experiments have finished and have been taken out of the code base.
We did have one set back as a team this year. The build server we were using suffered some online vandalism. So this was the build server responsible for our monthly releases, our Windows installers, our documentation and so on.
We've been working with Planet Federal to restore build services for the team. We are mostly back in action, but we still don't have Windows installers. Oh, and site conformance tests. In terms of service providers, we break our service providers down into core contributors who help with the project sustainability,
experienced providers who contribute to GeoServer on behalf of their customers. We'd like to welcome the Geocat, who I work for. We'd also like to thank some of the service providers that are leaving our community boundless, Avita and LisaSoft. We've taken off our list because they're no longer practicing.
Okay, so in terms of what's new in terms of functionality, let's have a look at the new vector data sources features. So the MongoDB data source, which allows you to connect to a MongoDB and publish maps out of it, has graduated from a community to extension status, meaning that it's now officially supported.
You can take your documents in a MongoDB and map them out into simple features with this. PostgreSQL has seen a bunch of action. Some new data types like arrays and hstore have been added.
We added support for TWKB transfer, which optimizes how we transfer geometries from the database to GeoServer, which helps in terms of performance. We added near search, we added a full binary transfer when prepared statements are enabled, which also helps performance. And we have a control over SSL, which is enabled by default, but choose a lot of CPU.
So now you have the possibility to turn it off if you trust the network between GeoServer and the database with a quite significant performance improvement. The Spatialite native data store is gone, unfortunately, because we lacked a maintainer for it for years now.
So we had to drop it, but that doesn't mean that you cannot access Spatialite anymore, because the OGR data store got revived and through the OGR native access library, we can access Spatialite as well, as well as FileGDB and many other formats supported by OGR.
This is going to be only in 2.16 to be released in a couple of weeks. I can continue with raster data sources. So we have a new S3 geotiff community module that allows you to pick geotiffs uploaded in S3 Amazon cloud.
The upgrade to GDAL 2.x also included raster readers. The good news is that you no longer have to download our special build package of GDAL, but you can use the official packages from the project. It should work for any GDAL 2.x. Again, only in 2.16x.
You want to take over? Sure. So an interesting new capability for WMS. One of the options is to do your WMS query with a time range. So there's now better control over what data you pull back. It could be the nearest match, that's the closest one to the time selected.
The possibility to search like a small search radius, the actual time the user is returned is in the HTTP response header. So that's a new configuration option. Kind of an interesting one is you can get back the legend graphics associated with a layer. That usually is just a little PNG image.
We've added a new option for a JSON output, which provides a little JSON data structure, telling you a little bit of details about the individual legends. An interesting quality of map production is dynamic densification along the long lines of projection.
So you can see our previous versions over on the left, and we get a much smoother, higher quality image over on the right. And you can see the author of these features sitting there. Oh, that's good. Another kind of change under the hood is we've updated the EPSG definitions used inside GeoServer.
Over a thousand new coordinate reference systems have been added. Particularly we've done this to enable our friends in Australia with their new GDA 2020 projection, but useful for everyone else. Did you want to do your rant?
Rant. Oh, rant. Yes, rant. I love to rant. So I asked on the user list for people to try it out because there were so many changes in the EPSG database. A thousand new projections, many were modified since many years ago. There wasn't a single answer. I was pissed. So if you don't want Andrew to be pissed, please help test our release candidate, which will be coming out this week.
We would really love your feedback. It will help make sure the next version of GeoServer 2.16 is better, and it will make Andrea happier. And we all want Andrea to be happier. A nice performance speed up here is for complex styles.
So if you've got a style with hundreds of rules with complex filtering conditions, Andrea's got a nice example here. GeoServer can process those thousands of rules and find the right symbolizer a little bit quicker. Andrea's got a talk on Friday if you're interested in the details.
For web feature service, we are almost WFS 2.0 compliant. Lots of work went into making GeoServer pass the certification on simple features. 48 issues were fixed. We've got a couple more fixes to do, but obviously more urgent matters. But we do hope to be WFS certified shortly.
An interesting one here is WFS measure support. So this enables coordinate measurements. So you can include coordinates and the additional measures associated with your data. And that is primarily supported by Postgres. Any other data source? Okay.
So in the example there, you can see some of the measures being returned. I'm not sure I know about this one. Okay. So application scheme is when you've got a set data product you need to publish, and you need to map from your source data into that application schema. Some improvements have been made when you're working from Mongo document databases to map over to application schema.
Okay. I'm not really across hail and solar and so on. The way in which this works is we're taking the complex JSON data structures,
and we're making... You better do this one, Andrea. I wasn't involved. Right. So when you do application schemas, you normally publish in GML, and you have full support for that for years and years. But GeoJSON is taking over and GML is sort of dying down. So GeoServer also supports publishing complex GeoJSON out of application schemas,
and you get more or less the same information. But the output was not exactly perfect. It didn't quite look like GeoJSON at all, because it was too strictly bound to the GML rules. So we made a number of improvements, like when taking over the attributes, now they are XML attributes.
They are now part of the payload with at prefix. In GML there is this bizarre alternation of property container and element, and they have the same name, so you have a repetition. My property contains my property, which contains the value,
which is a bit bizarre, so we skipped it in... Well, in GML it's mandatory, but we skipped it in GeoJSON. And any time a nested element in the complex GeoJSON is another feature, we maintain it as a GeoJSON feature, preserving identity, putting the geometry top level, and so on. So it looks like a better GeoJSON than it used to.
Right, so the other thing would have been the WFS3 community module, but you can still download it, but it's basically dead, and you might wonder, why did you kill the WFS3? Because we got something better. I have been working during last month on OGC API services module.
I don't want to bog you in details right now, because I have a presentation in Fortuna, I don't remember if it's east or west, this afternoon about this very topic, and I'm going to talk about it in 20 minutes. But just know that we are now implementing a new plugin for GeoServer called OGC API,
which exposes the Features API, which is the new WFS3, but also a Styles API, which allows you to publish and manage the styles, a Tiles API, which is the replacement for WMTS, and more will come, like the Maps API replaces WMS, the coverage API replaces WCS, and so on.
All of these are RESTful services, JSON based, and so on, so modern services. Want to know more? Come to my presentation this afternoon in Fortuna East. GeoServer WFS3, introduction to the RESTful schema-less JSON first download service,
and I'll sneak peek, the presentation title actually had to be changed. Okay. Okay, so over to web coverage service. There was nothing. There was nothing, no improvements this year. Okay, over to Tiles.
One addition here is the addition of a new community module, allowing you to host your tiles over in Azure web services. Unlike S3, Azure doesn't let you do a mass truncate, a mass delete, so each kind of tile needed to be deleted one by one with a separate call.
GWC does that concurrently. In terms of styling, there's always lots of fun styling improvements. One thing that's really fun is using SVG graphics for all your different symbols. We now have the option to control the filling and stroking, can be controlled by SLD.
What's this one? I'm not sure I know that one. Okay, I can do it. So, for those that prefer to use CSS, you know that the syntax is more compact and so on, and you can nest rules, all of that is nice, but many people complained that managing the cascading notion of CSS,
so that the rules mix together and override each other, they were confused by it. So, we added a translation mode which is called flat, which basically turns off cascading. So, you basically have an SLD-like behavior,
so each rule is applied in turn, if it matches the feature it draws without any other conflict, and so you basically end up with a CSS-like syntax, compactness and so on, but with an SLD behavior, which many find more manageable,
even if the default mode is still cascading. So, if you like CSS, if you like cascading, you can still have it. We did a number of improvements on the QGIS side to export SLDs. Now, thanks to a number of sponsors, we can export the director symbolizers out of QGIS,
so you can go export style as SLD, and you can get the style that you are looking at in QGIS as SLD to use in GeoServer, and also labeling and stuff like that. We have a new extension, it used to be a community module called SLD service,
which allows you to generate SLD styles on the fly based on a classification, so you can call the service and say, hey, I want a five classes quantile classification using this color ramp, and you do it more or less like this, and GeoServer will inspect the data and generate the SLD for you.
This works both for vectors and for rasters, so it's going to also have a look at the insides of the pixels. It's also possible to do dynamic channel selection, we get more and more multispectral and hyperspectral data, and what do you want to do? Do you want to create an SLD for each possible band combination?
In some cases that would be hundreds of possible combinations, it's too many. So now you can build a generic three-band SLD selector, and then pass the bands that you actually want to display from the client. So you actually get one server-side style, and you can pass in as many combinations as you want from the client.
Well, it's just easier. The people select from a drop-down the kind of combination they want, boom, they get the map. You want to go on? I'll go for this one. One thing that's interesting is this is part of our web processing service. We've added a new process that uses a small domain-specific language called Jiffle.
Now this is a little bit like a raster calculator in that it allows you to write a little script on how you want to combine and process and manipulate your raster data. So here we've got a very small script that implements on-the-fly NDVI index display. Another interesting one here is
WPS 1.0 doesn't have a good way to list all the currently running processes, so we've added a new operation here called getExecutions, which lists the running processes. Users can view their processes. The administrator can see the complete list. Combined with that, we've got a new dismiss operation.
So if you've got a process that's been out of control and running for three days, you can hunt it down and cancel it. This is a vendor option for WPS 1.0. It is part of the WPS 2.0 spec. In terms of configuration and management, one change I really enjoy is that there's now a full-screen style editor.
So you can now look at the map on one side of your monitor and adjust the styles on the other, and if you hit apply, you'll see a dynamic update of just the changes you've been working on. There's a lot of features been added here by Andrea Niels. So one here is using an external graphics chooser,
so if you need to add an icon into your style, you can see the ones that are available to you from a drop-down list. And there's also a color picker. So if you're filling in a color, you can choose from a nice little color palette widget. This is a change done by Andrea. You see this one has the heart symbol,
so it was probably done on his vacation. This makes working with SLDs a lot easier. You no longer have to have the standards open next to you. As you're typing, you can see auto-complete for what keywords and so on are available. So as you're typing, if you use control space,
these suggestions will come up. One of our most requested features has been the ability to enable and disable the different services on a layer-by-layer basis. This has been an outstanding request forever. So it's been added now. Under the publishing options near the top,
you can control exactly what services are being used to publish your layer. There's also a new status monitoring. So if you go about GeoServer rather than two tabs, there's a third one here called monitoring. And you can have a look at your execution environment. Physical memory, swap, CPU load, network usage. This is quite handy for looking at what's happening
in a production system. In terms of security, we have Geofence, which has been a community module for too many years. I don't remember how many. And it has now graduated to extension. With the Geofence, you can do more complex security rules,
such as filtering attributes, filtering by alphanumeric attributes, filtering by area. So you can tell who can see what in a much more detailed way. Or you can say something like, given this user, this service, he can only see these three layers, and so on.
Which is much more sophisticated than what we have built in the box. The authentication key module also graduated to extension. The authentication key is this notion of putting a key in the URL to identify yourself, which by itself would be not secure at all, because everybody can see the URL.
I mean, even if you're using HTTPS, people could snoop it looking at your screen and stuff like that. But there is also REST API to manage the keys, so you can, I don't know, keep them alive for a couple of hours and stuff like that.
Also... So that's a good cue that we really are running out of time. So I'm going to go pretty quickly here through some of the changes to the GeoServer internals. We do finally offer Java 11 support. This has been a really broad-based community effort. We'd like to thank the organizations which sponsored this activity.
So GeoServer now works with Java 8 and Java 11, and we've been testing with OpenJDK. Moving on, here's our happy little code sprint. Another under-the-hood change is we're now using the Java Advanced Imaging extension operations by default.
And another change that we've been working on, or Andrea's been working on for six months, has been really improving our code base. So Andrea's engaged a lot of static analysis tools, and he's been going through and cleaning up a lot of the kind of easy mistakes or difficult mistakes
that they've pointed out to us. Lots of security fixes, lots of updates to new libraries. We do ask, if you are on our user list, there's far more questions being asked than people helping out answering them, so we would like your assistance. If you do find a security vulnerability,
please follow our responsible disclosure policy. We would also love to see more developers joining our team. We're recruiting as part of our Phosphor-G developer workshops. We do encourage any service providers that use GeoServer to take part in our monthly bug stomps.
Looking ahead, we would love to work on passing OGC site compliance. We were running this on our old build server, but that's sadly gone. We would love to have that confidence back again, so we are looking at putting together some fundraising and so on to take on that. So thanks.
So we have approximately two minutes for questions. Are there any questions? So we prepared a slide for that. So Boundless has been acquired by Planet, Inc.
And so that's what's happened to Boundless. Now, to be fair, Boundless was a startup, and so it's really nice that they've been able to be successfully purchased.
That said, Planet is still participating in our community. They are offering the build server that we are now running on, and there are at least a couple of people that are contributing fixes and improvements and the like still today.
Hi. We have a number of issues with vector tiles. We believe most of them are related to GeoWeb cache. I was wondering, is there any work currently going on around vector tiles?
So that work was primarily spearheaded by Boundless and some of the developers over there, so we are actively recruiting folks to work in these areas. I've done a little bit of work in that area, so if you have a pull request, I'd be happy to review.
And also, GeoSolution has been working with vector tiles in the OGC vector tiles pilot and TASBET 15, but the thing is we haven't found any problem. OpenLayers seems to be chewing those vector tiles that most GeoServer generates without any problem.
At this moment, the current life cycle of the projects every six months is a new version. For a small team on FDI, we're supporting the GeoServer that puts a little bit of effort. We need to tell you all the time that you're creating a new version and we'd like to update and it creates, not issues,
but a lot of workload for small teams. So are there any plans or any future plans for something more automated or auto-update or something that would help to relieve the stress of teams? Not that I know of, but we would welcome someone working in that area.
The reality of GeoServer is that the core developers are maxed out. They cannot take on anything else. There are even people trying to drop us new functionality. We cannot maintain it. If you want to develop something, you will have to maintain it because we are totally maxed out. There are a few Docker containers that package the work we do up,
and so you might be able to look at that as an approach, but really you're offloading that effort on someone else. Thanks everyone. You've got approximately four minutes to run to the next session.