Hey there folks. I've got a page with some zones on it, and some stock web parts. A lot of them are the same user control that implements IWebPart; just a basic home grown rss viewer. The control has some public properties (beyond those from IWebPart), and looks something like this:
<ZoneTemplate>
<asp:DeclarativeCatalogPart ID="DecParts" runat="Server">
<WebPartsTemplate>
<Uc:Rss ID="UcVideo" runat="server" EnableDescription="true" AllowRssUrlChange="false" TitleText="Videos" RssUrl="http://video.google.com/videofeed?type=search&q=sailing+genre%3ASPORTS+OR+type%3ASPORTS&so=0&num=20&output=rss" />
</WebPartsTemplate>
</asp:DeclarativeCatalogPart>
</ZoneTemplate>
So far, so good. The problem is that the public properties of EnableDescription and RssUrl are "lost" once someone takes it from the catalog and adds it to the page. Now that I take the time to write this out, I'm guessing that through the action of adding this webpart to a zone, the interface is added to the zone, not the user control (if you know what I mean), and as such only the things left from the interface would be available?
It's just weird because if I put this into an already existing zone, it works like a champ. But try to add it from a catalog and I get an exception that the rssurl doesn't exist when the rss control goes to get the goods from google.