On Wed, Sep 23, 2009 at 3:44 PM, Paul Wilson &lt;<a href="mailto:paulalexwilson@gmail.com">paulalexwilson@gmail.com</a>&gt; wrote:<br>&gt; 2009/9/23 Ethan Jucovy &lt;<a href="mailto:ejucovy@gmail.com">ejucovy@gmail.com</a>&gt;:<br>

&gt;&gt; On Wed, Sep 23, 2009 at 9:57 AM, Paul Wilson &lt;<a href="mailto:paulalexwilson@gmail.com">paulalexwilson@gmail.com</a>&gt; wrote:<br>&gt;&gt; [snip]<br>&gt;<br>&gt;&gt; --- actually, having written that out, the named adapters look like<br>

&gt;&gt; they are just views -- IMetadataProvider&#39;s get_metadata and<br>&gt;&gt; put_metadata could just interact with a browser request &amp; response<br>&gt;&gt; directly, and each plugin would define a view that knows how to get<br>

&gt;&gt; the right annotation.  Hand-waving furiously here, I think most of the<br>&gt;&gt; logic (looking up the annotation, de/serializing, error handling)<br>&gt;&gt; could be centralized in a base class.  Each plugged-in subclass could<br>

&gt;&gt; then house all the knowledge about that plugin&#39;s URL component and<br>&gt;&gt; annotation key &amp; format, and register itself as a view.<br>&gt;&gt;<br>&gt;&gt; Not sure if this is making any sense, or is relevant to your problem.<br>

&gt;&gt; :)  At any rate, good luck!<br>&gt;<br>&gt; Hehe. Wow - firstly it looks like you&#39;ve understood me, and secondly I<br>&gt; like your solution. I think I&#39;ve been over engineering my solution and<br>&gt; worrying too much about naming issues. I should have realised this<br>

&gt; when I started talking about &#39;pluggable named adapters&#39; :-)<br>&gt;<br>&gt; Thanks for clearing it up for me!<br><br>Happy to help!  I&#39;ve been trying to think through a similar conceptual problem on my backburner for a while now, but it&#39;s been hard for me to get a handle on it in the first place, so you&#39;ve helped me too by spelling out the problem. :)<br>

<br>It&#39;s funny how often I&#39;ll think through a solution that sounds overly complex and hand-rolled, only to discover at the end that it&#39;s already a pretty fundamental Zope/Grok feature, just seen from a different angle.  &quot;Grok is informed by a <i>lot</i> of hard-earned wisdom&quot; indeed. :)<br>

<br>Anyway, good luck with the project!  It sounds very interesting, domain-specific or no.<br><br>Regards,<br>Ethan