Zope

Zope 3 というか、ZODB 上でシンボリックリンクの真似事はできるのだろうか。
Zope で使うオブジェクトはかなり自由に定義できるが、zope.app.container.interfaces.IContained を実装していないと獲得 (traverse) の仕組みが全く働かない (実際にはインターフェースの実装はチェックしていないので、__parent__ にアクセスできればどうでもいいのだが) 。なので、オブジェクトは普通 zope.app.container.contained.Contained から継承する決まりである。少なくとも自分が知っている限りではそうだ。獲得しなくて良いならこの限りではないが。
が、この IContained が曲者で、__parent__ というプロパティを実装する必要がある。__parents__ ではないし、子どもが格納情報を保持しなければいけない時点でもう終わり。シンボリックリンクとか無理。無理無理無理無理。


security proxy の仕組み辺りを見て考えれば不可能ではないかも知れない。基本的にインターフェースの塊だからそこからも付け込む隙がありそうだ。