From: Doug B. <dou...@gm...> - 2010-05-12 20:33:55
|
On Wed, May 12, 2010 at 4:28 PM, Gerald Britton <ger...@gm...> wrote: > 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. Yes, that was all I meant, and the following is exactly what I did in probably_alive. -Doug > 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 > |