- Issue created by @phenaproxima
- πΊπΈUnited States phenaproxima Massachusetts
Been thinking on this a bit more, and the problem comes down to the fact that EnabledSourceHandler stands in deep violation of the single-responsibility principle. It does three things:
- It's a quasi-plugin manager, only letting us access enabled sources.
- It's a caching layer for query results.
- It's a stable, non-volatile repository of every project we have encountered while using Project Browser.
Fully cleaning this up is not in scope here. But I think we can create a cleaner separation between points #2 and #3.
Query results are just that: "when you give me these criteria, here are the projects I found". These should use a normal, volatile cache backend.
Stored projects are relied upon by the activators, so they cannot be subject to volatile caching. Clearing the stored projects needs to be -- and is -- a separate operation from querying.
So I think my proposed resolution is correct -- use the cache system for query results, and always update stored projects with whatever the source plugins return. Project object storage, though, should stay as it is, in non-expiring key-value stores.
- πΊπΈUnited States phenaproxima Massachusetts
Assigning to @tim.plunkett specifically, since this kind of stuff is very much in his wheelhouse.
- πΊπΈUnited States phenaproxima Massachusetts
Decided to expand the scope here to encompass the full clean-up of EnabledSourceHandler into better-scoped, single-responsibility classes. Need to update the issue summary to reflect that.
- πΊπΈUnited States tim.plunkett Philadelphia
Walked through this with @phenaproxima and asked for one additional code-comment, but this is great work!
- First commit to issue fork.
-
chrisfromredfin β
committed c12c8bfd on 2.1.x authored by
phenaproxima β
Issue #3536664 by phenaproxima, tim.plunkett: Refactor...
-
chrisfromredfin β
committed c12c8bfd on 2.1.x authored by
phenaproxima β
- πΊπΈUnited States chrisfromredfin Portland, Maine
!831 merged to 2.1.x
-
chrisfromredfin β
committed 0809ad17 on 2.0.x authored by
phenaproxima β
Issue #3536664 by phenaproxima, chrisfromredfin, tim.plunkett: Refactor...
-
chrisfromredfin β
committed 0809ad17 on 2.0.x authored by
phenaproxima β
- πΊπΈUnited States chrisfromredfin Portland, Maine
and !828 now in 2.0.x