I never really bothered with SharePoint until WSS 3.0/MOSS 2007 came out and then got overwhelmed with the sheer size and complexity of the architecture.
Once I managed to get a handle on it, I found it to be an exceptionally powerful package with some very nifty features.
I was excited when I saw SharePoint had the concept of different zones for the same content with the ability to use different authentication providers for each zone. Thus began my quest to find an existing package or template that provided user registration and management for Extranet users for a SharePoint site.
After a few false turns I ended up settling on SharePoint Custom Forms Authentication Feature (SCFAF). The setup wasn't intuitive nor was it simple - especially when I had to quickly hack up a simple .aspx page to add the initial user management user to the ASP.NET membership database.
It worked, but there were a few rough edges, particularly in the area of Extranet user administration and self-service. But this was still acceptable for the purposes in which it was to be used.
Further development seemed to have stalled on SCFAF and I had resigned myself to wait for a release of CKS:IEE (Community Kit for SharePoint: Intranet/Extranet Edition). Then out of the blue - well at least for me - came the Extranet Collaboration Toolkit for SharePoint Beta. On paper, this rocked! It provided the exact feature set I was after for this type of tool. The big downside for me was that the Beta didn't work out of the box on SBS 2003 - a real pain, as most of the WSS 3.0 sites I look after are on SBS 2003 boxes.
I ended up having to perform a manual install (detail here) and hack a DLL to modify the hard-coded LDAPS port so that I could get the ECTS components to talk to the ADAM instance on the SBS box. Side note: I find it quicker to respond to other people's blogs than write my own, hence the blog comment link!
I logged this "bug" on the Microsoft Connect site, but the bug was essentially closed, with "feature as designed" as an excuse.
I didn't give up however. I asked Susan Bradley to help make some noise about it and I managed to find this blog entry by someone in Microsoft who sounded like they were working on this project. This "someone" turned out to be Bill Canning - Project Manager for ECTS!
I e-mailed Bill to let him know how I managed to hack my way around the hard-coded LDAPS port (not as simple as it sounds, as I had to re-sign the DLL and then do some PE header stripping to get the DLL into the GAC).
Bill's response that this wasn't on his team's radar for their release goals, but would be releasing the code on CodePlex so I could rebuild the DLL that way.
Four days later I had another e-mail from Bill to tell me that the feature I'd requested (removing the hard-coded LDAPS port from a component DLL and requesting an LDAPS port for the ADAM instance) had now been implemented and to await the final release.
I pinged Bill last week regarding the release of ECTS as it had been a month since the feature went in. Bill very kindly provided me with a pre-release so I could confirm its operation on SBS 2003. It went smoothly! I've provided some feedback on the documentation and I'm currently happy with the operation of ECTS on SBS 2003. The release will happen Real Soon Now(tm).
My final comments are that if you need an Extranet solution based on Windows SharePoint Services, then you need to at least review Extranet Collaboration Toolkit for SharePoint - especially for use on SBS.
The second point is don't take no for an answer. If you've got a good idea for a feature request and you believe it should be there, be persistent. Don't take no for an answer and argue your position in multiple forums. Also demonstrate that you're prepared to do the hard yards to help get the feature working. Bill can correct me if I'm wrong, but I believe my persistence is what helped to get ECTS running on SBS 2003.