IRC logs for #farmOS, 2020-11-26 (GMT)

2020-11-25
2020-11-27
TimeNickMessage
[06:34:52]* dazinism has quit (Quit: Bridge terminating on SIGTERM)
[06:34:52]* pllagn[m] has quit (Quit: Bridge terminating on SIGTERM)
[06:34:52]* farmtech[m] has quit (Quit: Bridge terminating on SIGTERM)
[06:34:53]* calbasi_matrix has quit (Quit: Bridge terminating on SIGTERM)
[06:34:54]* kunigunde[m] has quit (Quit: Bridge terminating on SIGTERM)
[06:34:55]* pcambra[m] has quit (Quit: Bridge terminating on SIGTERM)
[06:34:57]* mstenta[m] has quit (Quit: Bridge terminating on SIGTERM)
[06:34:58]* paul121[m] has quit (Quit: Bridge terminating on SIGTERM)
[06:34:58]* holz[m] has quit (Quit: Bridge terminating on SIGTERM)
[06:34:58]* zedrickr11[m] has quit (Quit: Bridge terminating on SIGTERM)
[06:34:58]* munjoma[m] has quit (Quit: Bridge terminating on SIGTERM)
[06:34:59]* JulianF has quit (Quit: Bridge terminating on SIGTERM)
[06:35:05]* skalakm[m] has quit (Quit: Bridge terminating on SIGTERM)
[06:35:15]* wombat83[m] has quit (Quit: Bridge terminating on SIGTERM)
[06:35:15]* symbioquine[m] has quit (Quit: Bridge terminating on SIGTERM)
[06:35:16]* jolau[m] has quit (Quit: Bridge terminating on SIGTERM)
[06:35:17]* jgaehring[m] has quit (Quit: Bridge terminating on SIGTERM)
[06:35:17]* maroci[m] has quit (Quit: Bridge terminating on SIGTERM)
[06:35:17]* skipper_is[m] has quit (Quit: Bridge terminating on SIGTERM)
[06:44:59]* farmtech[m] has joined #farmos
[06:45:22]* kunigunde[m] has joined #farmos
[07:11:51]* dazinism has joined #farmos
[07:33:43]* pllagn[m] has joined #farmos
[07:33:43]* JulianF has joined #farmos
[07:33:43]* calbasi_matrix has joined #farmos
[07:33:44]* pcambra[m] has joined #farmos
[07:33:49]* munjoma[m] has joined #farmos
[07:33:49]* wombat83[m] has joined #farmos
[07:33:49]* maroci[m] has joined #farmos
[07:33:49]* skipper_is[m] has joined #farmos
[07:33:50]* paul121[m] has joined #farmos
[07:33:50]* jolau[m] has joined #farmos
[07:33:50]* holz[m] has joined #farmos
[07:33:50]* skalakm[m] has joined #farmos
[07:33:50]* zedrickr11[m] has joined #farmos
[07:33:51]* jgaehring[m] has joined #farmos
[07:33:51]* mstenta[m] has joined #farmos
[07:33:52]* symbioquine[m] has joined #farmos
[11:04:40]<symbioquine[m]><mstenta[m] "Just looking at `docker-compose."> > Could figure it out by digging into git blame and finding the original issue, but a comment would be quicker :-)
[11:05:47]<mstenta[m]>🙌
[11:53:17]<paul121[m]>symbioquine: I was going to comment on that PostGIS forum post but didn't want to add noise :-)
[11:53:26]<paul121[m]>I found this the other day: https://pygeoapi.io/
[11:54:10]<paul121[m]>its supports the latest WFS 3 protocol (but unfortunately the protocol only defines GET requests right now)
[11:54:38]<paul121[m]>It has a cool plugin system for data "providers"
[11:55:15]<paul121[m]>https://docs.pygeoapi.io/en/stable/plugins.html#example-custom-pygeoapi-...
[11:55:54]<paul121[m]>Pretty easy to create a simple plugin that used farmOS.py
[11:56:44]<symbioquine[m]>I think I looked at that before, but it didn't seem super compelling since I'd already gone pretty far down the non-blocking path.
[11:57:28]<symbioquine[m]>Doing everything non-blocking in a single Python process has significant caching advantages for farm-os-area-feature-proxy
[11:58:47]<symbioquine[m]>i.e. it can use asyncio non-blocking semaphore semantics to deduplicate and serve many concurrent requests from the same farmOS request
[11:59:27]<symbioquine[m]>Which would be hard to orchestrate across processes with a typical WSGI hosting setup.
[12:00:03]<paul121[m]>gotcha. well... it can be run as either a WSGI app (Flask) or ASGI (starlette) ! Maybe that was recently added
[12:00:23]<symbioquine[m]>huh, maybe I'd better look again...
[12:00:47]<paul121[m]>I'm not sure about caching
[12:01:22]<symbioquine[m]>Anyway, it's sounding more like WFS would be a good capability to build directly into farmOS so any project that took that on would probably supercede farm-os-area-feature-proxy...
[12:02:23]<paul121[m]>I agree. unfortunately I didn't see any existing php implementations :-/
[12:03:13]<symbioquine[m]>The other nice thing about building WFS into farmOS is that farmOS-map could call it directly.
[12:04:15]<symbioquine[m]>Which would enable loading background layer features to be based on extent among other benefits
[12:05:34]<paul121[m]>yea interesting!
[12:08:01]<symbioquine[m]>Incidentally, the queries to power that are ones which would really benefit from the progressive enhancement that might be afforded by enabling PostGIS internally :)
[12:09:04]<symbioquine[m]>Otherwise loading features by extent would mostly only be a client-bandwidth-saving mechanism, not a query latency/size improvement.
[12:16:39]<paul121[m]>yea... and require more processing from the server w/o PostGIS
[12:16:52]<paul121[m]>are there other notable query options for WFS?
[12:23:50]<paul121[m]>kinda interesting, with WFS3 you can define "queryables": https://demo.pygeoapi.io/stable/collections/lakes/queryables
[12:24:09]<paul121[m]>but seems like `bbox` and `datetime` are the only other supported options
[12:26:00]<symbioquine[m]>I'd be surprised if it doesn't provide similar query/filtering capabilities to 2.0...
[12:26:20]<symbioquine[m]>In 2.0 you can filter features by their attributes also.
[12:26:54]<symbioquine[m]>ACTION sent a long message: < https://matrix.org/_matrix/media/r0/download/matrix.org/xbQdDnpscMEOBxnq... >
[12:28:45]<paul121[m]>hmm maybe that is the queryables?
[12:29:38]<paul121[m]>the openapi aspect of the spec is kinda confusing to me. seems like some of this has to be statically defined
[12:30:31]<mstenta[m]>> but seems like `bbox` and `datetime` are the only other supported options
[12:30:31]<mstenta[m]>https://github.com/farmOS/farmOS-map/issues/53 🤩
[12:32:34]<paul121[m]>there ya go!
[12:40:03]<mstenta[m]>I bet it would be pretty straightforward to make a WFS plugin for Views
[12:41:31]<mstenta[m]>https://www.drupal.org/project/wfs
[12:42:10]<mstenta[m]>I bet we could take over maintaining that module, and update it to D9
[12:43:39]<mstenta[m]>Right now we're basically doing the same thing to produce the feature layers in farmOS... Just in GeoJSON
[12:46:25]<mstenta[m]>The advanced filtering stuff would be the trickiest part... But if they can be translated into SQL queries (that optionally leverage PostGIS) then Views can do it
[12:47:37]<symbioquine[m]>Yeah, some of the attribute filtering could be trivially translated to SQL queries, but the spatial/bbox queries would either need PostGIS or would need to happen in the application layer.
[12:47:55]<mstenta[m]>Yea
[12:48:17]<mstenta[m]>Worth noting: Geofield stores bbox extents for all geometries
[12:48:27]<symbioquine[m]>Oh, right!
[12:48:48]<symbioquine[m]>That should allow reasonably efficient bbox filtering even without PostGIS :)
[12:49:00]<mstenta[m]>Yea in theory!
[12:49:27]<symbioquine[m]>albeit, somewhat complex if the bbox "wraps around" :)
[12:49:43]<mstenta[m]>Ah yea that's always the tricky part
[12:50:22]<symbioquine[m]>As far as I recall, WFS is allowed to return a superset of the requested features for bbox queries though. So that could be a mode of graceful degradation if PostGIS isn't available.
[12:50:36]<mstenta[m]>But luckily not many farms on the meridian :-)
[12:50:59]<symbioquine[m]>It hypothetically could just return all the features in the layer if the spatial filtering features aren't available at the DB layer.
[12:56:52]<symbioquine[m]>That's what farm-os-area-feature-proxy does. It doesn't advertise support for bbox filtering and thus just always returns all the features in the layer.
[12:58:08]<symbioquine[m]>ACTION sent a long message: < https://matrix.org/_matrix/media/r0/download/matrix.org/PlkjvCclKkyupvwN... >
[12:59:11]<symbioquine[m]>That's from WFS 1.0
[12:59:30]<symbioquine[m]> * That's from WFS 1.1
[13:00:04]<mstenta[m]>I think I see a `farm_wfs` module in our future :-)
[14:35:16]<symbioquine[m]>https://github.com/symbioquine/farmOS/commit/ddb2ff96c8c5d4dcb0000fa3b84... <-- cuts ~15s unnecessary waiting out of the build :)
[14:35:16]<symbioquine[m]>https://github.com/symbioquine/farmOS/runs/1460645605?check_suite_focus=...
[14:37:06]<symbioquine[m]>Compare to builds like [1](https://github.com/symbioquine/farmOS/runs/1459901888?check_suite_focus=...) or [2](https://github.com/symbioquine/farmOS/runs/1451535694?check_suite_focus=...) which used the `sleep 15` strategy.
[14:43:25]<skipper_is[m]>Ooh, FarmOS update! Thank you for all your work (everyone!)
[14:46:10]<skipper_is[m]>(Oh and I like the addition of the dates and the log links in the "observed between" part of the DLWG!
[14:46:16]<skipper_is[m]>) close bracket
[14:46:24]<skipper_is[m]>; semi-colon
[14:56:11]<skipper_is[m]>O: I think this is the first update on my isntance that hasn't broken something
[14:56:28]<mstenta[m]>🎉
[14:56:36]<skipper_is[m]>My install held together with bits of baling twine and duck tape seems to be getting there!
[14:56:48]<skipper_is[m]>(Probably because I stopped using Postgresql......)
[15:00:25]<mstenta[m]>Just you wait skipper_is ! The migration to PostgreSQL in farmOS 2.x will be fully automated ;-)
[15:00:57]<skipper_is[m]>I feel a little bit sad that my stream of weird and hard to pin down bugs has stopped though
[15:13:14]<mstenta[m]>Haha that's just how it goes sometimes
[15:13:37]<mstenta[m]>I will make it a point to avoid those same issues
[16:59:10]<symbioquine[m]>Happy Thanksgiving everyone!! 🦃🥧
[17:31:34]<mstenta[m]>Happy Thanksgiving!