Skip to Content.

edugain-discuss - Re: [eduGAIN-discuss] [eduGAIN-SG] eduGAIN metadata feeds

edugain-discuss AT lists.geant.org

Subject: An open discussion list for topics related to the eduGAIN interfederation service.

List archive


Re: [eduGAIN-discuss] [eduGAIN-SG] eduGAIN metadata feeds


Chronological Thread 
  • From: Leif Johansson <leifj AT sunet.se>
  • To: "edugain-discuss AT lists.geant.org" <edugain-discuss AT lists.geant.org>
  • Subject: Re: [eduGAIN-discuss] [eduGAIN-SG] eduGAIN metadata feeds
  • Date: Wed, 27 Nov 2019 10:35:58 +0100

On 2019-11-26 16:18, Davide Vaghetti wrote:
> Hi Ian,
>
> thanks for feedback, we're looking into that.
>
> Let me anticipate that it might very well be that the new tools and
> pipeline is solving some old overlooked issues, but we need to go back
> to the original upstream feeds and run some more tests to exactly
> understand what's going on.
>

The reason for this is some of the major refactor I made to the
way URLs are fetched in pyFF leading up to 1.0.0 in particular in
relation with https://github.com/IdentityPython/pyFF/issues/141

A major difference in how URLs are handled is that internally pyFF
now keeps track of a tree of resources - a resource can resolve to
more resources that get fetched etc.

When pyFF updates the internal store it does a left-to-right depth
first walk of the tree. In the case of a single list of URLs (like
how edugain works) this change results in the resources beeing loaded
into the store in the reverse order from how this worked in 0.9 - i.e
the last occurance of an entity "wins" rather than the first one. It
is certainly possible to argue that any reasonable scheme is "the
right one"... or that none is.

It would be relatively easy to make the tree walk method configurable
For those who like to look at code look at pyff.resource:Resource.walk
for the current implementation. Its relatively easy to provide several
"walks" and pick one using config. I suggest opening a feature request
on github to track this.

Having said that I believe it would be better for edugain to spend
some time to describe a more precise way to express the desired
outcome when an entity appears in multiple feeds and then we can
get that implemented instead of relying on the current method which
is pretty brittle and depends on a side-effect on how pyFF handles
parallelism.


Cheers Leif



Archive powered by MHonArc 2.6.19.

Top of Page