Thursday, December 22, 2005

The .NET Developer's Guide To Directory Services Programming

Keith beat me to it, but Joe and I have finally submitted the final manuscript.  We have some copy editing left, but the book is mostly baked.  It has been a long time in the making and we are very fortunate to have had some great reviewers like Keith giving us advice along the way.

There were a lot of things that we wished we could have covered (perhaps in another book) more in depth.  It was a balancing act between trying to dump everything in our brains and not publishing a 900 page book.  The final page count is around 450 pages right now, which is big, but not too intimidating.

All in all, this was a good experience.  I did not know Joe very well when we started, but needless to say, we know each pretty well at this point and are good friends.  I think the partnership worked pretty darn well for two first-time authors collaborating mostly over email and wiki.  Joe knows his Directory Services very well and it would not nearly be the same book without him.  Keith was slightly off in his description (it was over a year ago), but I knew about Joe from the newsgroups (where he was dropping some serious knowledge) and had suggested to Keith to contact him as the second author of this book.  It was a great decision and I am glad Joe took it.

So, what is in the book?  Pretty much all the basics for System.DirectoryServices, like binding, searching, reading and writing attributes.  We cover the more advanced searches and data type marshaling as well as schema considerations and a discussion of security as well.  Finally, we cover a more scenario, or ‘cookbook’ approach for the more popular topics like user and group management as well as authentication.  We know what problems most users have and we try to address them in the scenarios.

Most of the samples in the book are going to be using System.DirectoryServices, though we do cover in places how to do things using the .Protocols namespace.  Additionally, we have one chapter that gives developers a view of what is there in the .ActiveDirectory namespace that they might use (it is mostly for administrators).

It is important to know that this is truly a guide and we could not cover every single scenario.  As part of the book’s website (or this blog), we will be adding new scenarios and how they can be accomplished as well.  Additionally, we are going to release some very cool code that developers will be able to use in their own applications.

As always, we can be found in either the forums ( or the newsgroups (microsoft.public.adsi.general).  I am not usually on the newsgroups, but Joe camps there.