Authorization and Profile Application Block

patterns & practices has published a new App Block: Authorization and Profile.

This block is a reusable code component that builds on the capabilities of the Microsoft .NET Framework to help you perform authorization and access profile information.

You can read it online or download it.

Project Niobe

My teammate Simon has posted details of his managed SDK for Outlook codenamed Niobe. He’s also created a GDN workspace for it. Coolness.

Thinking about SPSynd

I’m kicking around SharePoint Syndication again. There are a variety of reasons. I got email from someone @ the SP Web Component Directory about it. According to Scoble, the Front Page team is interested in RSS. And the primary kicker, there’s a project going on in my group internally that is using WSS and wants to expose RSS feeds.

Glad to know it’s popular. Too bad it’s not done and I’m not sure how to finish it.

Generic feed generation works just fine. The problem is customization. I need a user-friendly way (i.e. not hacking XML in the config file) to configure the feeds. Currently, the config file specifies which lists and webs expose feeds as well as the format of the feed for different list templates. I want to move that config so that it can be managed by the administrator using a simple UI, not the XML file. But that leads to questions: Do I try and stash my config data into the existing web and list configuration via the standard object model or do I bite the bullet and store it somewhere else (i.e. another DB)? What’s the best way to add admin of the feed to the existing admin pages? Frankly, I don’t know the answer to these questions.

One way to solve this problem would be to completely refactor the solution. Instead of relying on the WSS object model, I would leverage the WSS web services. This would let me run the feed generator outside of the confines of WSS. Basically, I’d just be translating formats – the output of the web services into RSS and OPML. This would be really great for hosted WSS since it wouldn’t require any change to the WSS site itself. However, doing the security right for this scenario would be a pain in the ass. WSS web services use transport level authentication which means it’s difficult to “hop” credentials across servers.

I don’t know if the answers to these dilemmas are out there in the blogosphere, but I figured I might as well put the questions out there.

Teredo Sans P2P

I hadn’t realized this before, but you can still use Teredo without using the P2P stack. By default, IPv6 sockets block incoming Teredo traffic. But if you set the socket’s IPv6 protection level to unrestricted, incoming Teredo traffic is allowed. Not sure how useful this is, especially since I haven’t seen an easy way to set the IPv6 protection level from managed code. You may be able to setsockopt using the Socket.Handle property, but I haven’t tested it.

More Embedded Info

Dave Hamilton is a Microsoft Consultant who’s currently working on CE project and is blogging his efforts. His CE-related posts provide a ton of infomation. He doesn’t explain what he’s building, but he does point out the the board he’s using is “intended for embedded media-centric devices”. Dave provides links to sites for Mini-ITX and EPIA enthusiasts.

Thanks to Michael Earls for the pointer to Dave’s blog.