From: Gerald B. <ger...@gm...> - 2010-05-12 20:28:23
|
On Wed, May 12, 2010 at 3:55 PM, Doug Blank <dou...@gm...> wrote: > [snip] > >>> Gerald, >>> >>> Are you saying that the living proxy should not use the full database >>> to determine if a person is alive or not? It seems to me that it >>> should use the bottom of the base databases. >> >> That is exactly what I am saying. Otherwise the proxies have to know >> too much. They function as a chain but are completely unaware of each >> other. I think that this is correct, but I'm just one voice. > > With the Living Proxy, there are two uses of the database: 1) as the > normal wrapper that protects and interprets living people's data so > that not too much info gets out, and 2) as an internal use for > determining if someone is alive or not. > > I see no reason that the second usage needs to confine its access to > only those people that the first (and lower proxies) have access to. > For example, consider a Living proxy that completely removes access to > living people. If the Living proxy is already wrapped around a Private > proxy, and a user-defined filter, then the evidence one can use to > determine probably_alive could be severely diminished if you only have > access to that data. > > However, I see no reason that the chain of proxies need to be aware of > this issue. We just need to change probably_alive so that it uses the > full database rather than the proxy. I agree with that. Note though, that if you use probably_alive in a custom filter, then use that in NavWeb e.g. in combination with a proxy, you may not always get the results you expect, since the proxy would limit what data probably_alive has available. The alternative would be to make probably_alive drill down to the "real" database to do its work -- not difficult but we must be sure that's the correct approach. Here's how proxybase.py does this: self.db = self.basedb = db while isinstance(self.basedb, ProxyDbBase): self.basedb = self.basedb.db > > -Doug > -- Gerald Britton |