[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! |