<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Dave Balzer</title>
        <link>http://theruntime.com/blogs/davebalzer/Default.aspx</link>
        <description>Confessions of a Webgypsy</description>
        <language>en-US</language>
        <copyright>Dave Balzer</copyright>
        <generator>Subtext Version 2.5.1.19</generator>
        <image>
            <title>Dave Balzer</title>
            <url>http://theruntime.com/blogs/images/RSS2Image.gif</url>
            <link>http://theruntime.com/blogs/davebalzer/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Using speech recognition to improve productivity</title>
            <category>Speech Recognition</category>
            <category>Windows Vista</category>
            <link>http://theruntime.com/blogs/davebalzer/archive/2008/09/16/using-speech-recognition-to-improve-productivity.aspx</link>
            <description>&lt;p&gt;I have always been fascinated with speech recognition technology, but have never found it very useful in the past.  The accuracy with which recognition software translated what I said to written words has always been very poor.  Windows commands were cumbersome.  I found myself spending more time correcting what I’d dictated and it proved to be an ineffective form of user input.&lt;/p&gt;
&lt;p&gt;I’ve been running Windows Vista for a while now, but hadn't noticed the speech recognition software that’s built into it until just the other day.  I decided to give it a try.  I had not read any reviews, so I went into it blindly.  I ran through the tutorial that I found in the control panel and then enabled speech recognition.  It gives you a toolbar that indicates the current status.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://theruntime.com/blogs/images/theruntime_com/blogs/davebalzer/WindowsLiveWriter/Usingspeechrecognitiontoimproveproductiv_79EA/WindowsVistaSpeechToolbar_2.jpg"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="49" alt="WindowsVistaSpeechToolbar" width="244" border="0" src="http://theruntime.com/blogs/images/theruntime_com/blogs/davebalzer/WindowsLiveWriter/Usingspeechrecognitiontoimproveproductiv_79EA/WindowsVistaSpeechToolbar_thumb.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;The word recognition is far superior to anything I’ve tried in the past.  The commands are more natural than any I’ve attempted to use previously.  Dictating can be a very natural experience by just speaking to the computer and having it transcribe your thoughts. Controlling windows by voice takes some getting used to, but with a little practice it becomes second nature.&lt;/p&gt;
&lt;p&gt;I certainly wouldn’t try to code using voice recognition at this point, but when writing documentation, emails and even blog posts it is already starting to increase my productivity.  Speech recognition is still far from being a completely effective technology, but what I’ve experienced with this new version in Windows Vista has shown me that it has come a long way.  I’m excited about what the future holds.&lt;/p&gt;
&lt;p&gt;By the way, this post was written entirely with speech recognition including selecting and pasting the image in.&lt;/p&gt;&lt;img src="http://theruntime.com/blogs/davebalzer/aggbug/2683.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dave Balzer</dc:creator>
            <guid>http://theruntime.com/blogs/davebalzer/archive/2008/09/16/using-speech-recognition-to-improve-productivity.aspx</guid>
            <pubDate>Tue, 16 Sep 2008 12:41:10 GMT</pubDate>
            <comments>http://theruntime.com/blogs/davebalzer/archive/2008/09/16/using-speech-recognition-to-improve-productivity.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://theruntime.com/blogs/davebalzer/comments/commentRss/2683.aspx</wfw:commentRss>
            <trackback:ping>http://theruntime.com/blogs/davebalzer/services/trackbacks/2683.aspx</trackback:ping>
        </item>
        <item>
            <title>Congratulations Micki Tubbs &amp;amp; Michelle Tomallo of Fit Technologies</title>
            <link>http://theruntime.com/blogs/davebalzer/archive/2008/06/12/congratulations-micki-tubbs-amp-michelle-tomallo-of-fit-technologies.aspx</link>
            <description>&lt;p&gt;I wanted to take an opportunity to congratulate the owners of the company I work for on receiving the Ernst &amp;amp; Young Entrepreneur of the Year award for technology in the Northeast Ohio region last night.  I was fortunate enough to take part in the event and must say that it was a great experience made even better by a victory by our company (&lt;a href="http://www.fittechnologies.net" target="_blank"&gt;Fittechnologies&lt;/a&gt; / &lt;a href="http://www.schoolone.com" target="_blank"&gt;SchoolOne&lt;/a&gt;).&lt;/p&gt;&lt;img src="http://theruntime.com/blogs/davebalzer/aggbug/2422.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dave Balzer</dc:creator>
            <guid>http://theruntime.com/blogs/davebalzer/archive/2008/06/12/congratulations-micki-tubbs-amp-michelle-tomallo-of-fit-technologies.aspx</guid>
            <pubDate>Thu, 12 Jun 2008 20:53:19 GMT</pubDate>
            <comments>http://theruntime.com/blogs/davebalzer/archive/2008/06/12/congratulations-micki-tubbs-amp-michelle-tomallo-of-fit-technologies.aspx#feedback</comments>
            <wfw:commentRss>http://theruntime.com/blogs/davebalzer/comments/commentRss/2422.aspx</wfw:commentRss>
            <trackback:ping>http://theruntime.com/blogs/davebalzer/services/trackbacks/2422.aspx</trackback:ping>
        </item>
        <item>
            <title>Working with Multi-value fields in Commerce Server 2007 Profile System</title>
            <category>.Net</category>
            <category>Commerce Server</category>
            <link>http://theruntime.com/blogs/davebalzer/archive/2008/05/17/working-with-multi-value-fields-in-commerce-server-2007-profile-system.aspx</link>
            <description>&lt;p&gt;One of the challenges I have run into working with Commerce Server is utilizing the multi-value key fields in the profile system.  I am finding that they are a bit clunky.  It would be nice if the Commerce Server team would implement some additional functionality to make simple procedures like adding an address to a user profile easier.  Using the UserObject profile as an example, the way it currently works is that if you add an Address profile and want to link it to a specific user, you need to add the AddressID (a GUID) to the address_list property in the UserObject profile.  This is stored in the database as a string field and just delimits the GUIDs with a semi-colon.  When you retrieve the address_list property from the profile system, it returns you an object array of the GUIDs.  You can then just manipulate the array to add a new value or iterate through it to retrieve the appropriate address profiles.  The problem is that I found very little documentation regarding the use of these fields.  I have included the method I am using below to add a new address to the User profile.  I’m sure there are better ways to do this and if anyone can point me in the right direction I would be thrilled.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;public static void InsertIntoUserAddressList(AddressInfo newAddress, string userEmail)   &lt;br /&gt;        {    &lt;br /&gt;            Profile user = CommerceContext.Current.ProfileSystem.GetProfile("GeneralInfo.email_address", userEmail, "UserObject");    &lt;br /&gt;            ArrayList addresses = new ArrayList();    &lt;br /&gt;            if (user.Properties["GeneralInfo.address_list"].Value != null)    &lt;br /&gt;            {    &lt;br /&gt;                object[] addr = (object[])user.Properties["GeneralInfo.address_list"].Value;    &lt;br /&gt;                foreach(object objAddress in addr)    &lt;br /&gt;                {    &lt;br /&gt;                    addresses.Add(objAddress);    &lt;br /&gt;                }    &lt;br /&gt;            }    &lt;br /&gt;            addresses.Add(newAddress.AddressID.ToString());    &lt;br /&gt;            user.Properties["GeneralInfo.address_list"].Value = addresses.ToArray();    &lt;br /&gt;            user.Update();    &lt;br /&gt;        }&lt;/p&gt;&lt;img src="http://theruntime.com/blogs/davebalzer/aggbug/2410.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dave Balzer</dc:creator>
            <guid>http://theruntime.com/blogs/davebalzer/archive/2008/05/17/working-with-multi-value-fields-in-commerce-server-2007-profile-system.aspx</guid>
            <pubDate>Sun, 18 May 2008 01:10:33 GMT</pubDate>
            <comments>http://theruntime.com/blogs/davebalzer/archive/2008/05/17/working-with-multi-value-fields-in-commerce-server-2007-profile-system.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://theruntime.com/blogs/davebalzer/comments/commentRss/2410.aspx</wfw:commentRss>
            <trackback:ping>http://theruntime.com/blogs/davebalzer/services/trackbacks/2410.aspx</trackback:ping>
        </item>
        <item>
            <title>Commerce Server 2007 &amp;amp; IIS 6.0 SelfSSL</title>
            <category>Commerce Server</category>
            <link>http://theruntime.com/blogs/davebalzer/archive/2008/05/05/commerce-server-2007-amp-iis-6.0-selfssl.aspx</link>
            <description>&lt;p&gt;When trying to run the Commerce Server Customer &amp;amp; Orders Manager, I was receiving an error stating that the orders webservice was unavailable.  I looked at the connection settings for the orders webservice and realized that it was calling the webservice using https.  For the purpose of testing on my development machine, I simply tried to change the url to use http instead.  I then another error and found that you are required to use https for the webservice.  I then downloaded the IIS 6.0 Resource Kit Tools (download here).  You can use the SelfSSL 1.0 utility to generate a self-signed certificate to enable ssl for testing purposes.  It’s a command line tool that takes a few parameters and automatically installs the generated cert for you.   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Additionally, I had to disable anonymous access in IIS for the webservices and now everything works correctly.&lt;/p&gt;&lt;img src="http://theruntime.com/blogs/davebalzer/aggbug/2403.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dave Balzer</dc:creator>
            <guid>http://theruntime.com/blogs/davebalzer/archive/2008/05/05/commerce-server-2007-amp-iis-6.0-selfssl.aspx</guid>
            <pubDate>Mon, 05 May 2008 12:32:35 GMT</pubDate>
            <comments>http://theruntime.com/blogs/davebalzer/archive/2008/05/05/commerce-server-2007-amp-iis-6.0-selfssl.aspx#feedback</comments>
            <wfw:commentRss>http://theruntime.com/blogs/davebalzer/comments/commentRss/2403.aspx</wfw:commentRss>
            <trackback:ping>http://theruntime.com/blogs/davebalzer/services/trackbacks/2403.aspx</trackback:ping>
        </item>
        <item>
            <title>Commerce Server Catalog Web Service Permission Error</title>
            <category>Commerce Server</category>
            <link>http://theruntime.com/blogs/davebalzer/archive/2008/04/17/commerce-server-catalog-web-service-permission-error.aspx</link>
            <description>&lt;p&gt;As promised I am going to begin blogging on my experiences with Commerce Server 2007.  I started yesterday by getting the environment setup.  I didn’t run through the step-by-step guides I just followed the prompts and a little advice from one of my co-workers who has been playing with CS for about a month now.  Everything seemed to go as planned.  I walked through the configuration wizard, unpacked the CSharpSite and compiled all the projects which got everything going.  The part I missed from doing it this way was configuring security correctly.  One thing I’ve noticed is that CS seems to be locked down very heavily out of the box. &lt;/p&gt;  &lt;p&gt;I installed and launched the CS Catalog Manager.  It would not connect and just gave me a generic error prompt that the webservice was not available.  I poked around in IIS for a minute only to find that everything seemed to be good.  I then tried to navigate to the webservice with IE which worked fine.  I thought it was interesting that I could get there with IE but not the Catalog Manager.  So I tried to invoke one of the methods in IE and I finally found the problem.  I got the following error:&lt;/p&gt;  &lt;p&gt;System.Web.Services.Protocols.SoapExceptions:  The Catalog Web service does not have write access to the authorizationPolicyPath.  Verify that the file exists and that it has the appropriate permissions.  &lt;/p&gt;  &lt;p&gt;I looked around for a solution and what I finally found by piecing together different sources was that essentially I needed to assign write permissions on CatalogAuthorizationStore.xml to the account running the AppPool in which it resides.  &lt;/p&gt;  &lt;p&gt;To do this you need to identify the account running your AppPool by going to IIS open up Application Pools and find the AppPool the CatalogWebService is running in.  You then can right click on that AppPool and select Properities.  Go to the Identity tab on the properties dialog and there you can see which account you are using.  Once you have this information, then you can navigate to the CatalogAuthorizationStore.xml file which is in the same directory as CatalogWebService.asmx.  In my case, it is set up at C:\Inetpub\wwwroot\CatalogWebService.  You then right click on the xml file and select Properties &amp;gt;&amp;gt; Security.  Here you add the account and be sure that it has write permissions.  Once I completed this, I tried again to launch the Catalog Manager.  This time it worked, or at least it seemed to.  It was now able to load and talk to the webservice, but the task pane was empty.  I couldn’t actually do anything with catalogs.  &lt;/p&gt;  &lt;p&gt;I did some more searching to try to resolve this issue and found that although I could now access the CatalogAuthoriztionStore, I had no accounts configured within it.  So now I have to add my user account.  To accomplish this you do the following:&lt;/p&gt;  &lt;p&gt;Open the Authorization Manager (Start &amp;gt; Run &amp;gt; Azman.msc)   &lt;br /&gt;Right Click the Authorization Manager node    &lt;br /&gt;Click on Open Authorization Store    &lt;br /&gt;Browse to the CatalogAuthorizationStore.xml file where we found it earlier    &lt;br /&gt;Open the CatalogAuthorizationStore Node    &lt;br /&gt;Open the CatalogandInventorySystem Node    &lt;br /&gt;Open Role Assignments    &lt;br /&gt;Right Click on the roles you wish to manage and choose "Assign Windows Users or Groups"    &lt;br /&gt;You can then use the dialog to select your user account or other appropriate users and groups&lt;/p&gt;  &lt;p&gt;Once again I tried to launch the Catalog Manager and this time was able to manage catalogs as expected.&lt;/p&gt;&lt;img src="http://theruntime.com/blogs/davebalzer/aggbug/2392.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dave Balzer</dc:creator>
            <guid>http://theruntime.com/blogs/davebalzer/archive/2008/04/17/commerce-server-catalog-web-service-permission-error.aspx</guid>
            <pubDate>Thu, 17 Apr 2008 13:22:41 GMT</pubDate>
            <comments>http://theruntime.com/blogs/davebalzer/archive/2008/04/17/commerce-server-catalog-web-service-permission-error.aspx#feedback</comments>
            <wfw:commentRss>http://theruntime.com/blogs/davebalzer/comments/commentRss/2392.aspx</wfw:commentRss>
            <trackback:ping>http://theruntime.com/blogs/davebalzer/services/trackbacks/2392.aspx</trackback:ping>
        </item>
        <item>
            <title>Adventures in Commerce Server</title>
            <category>Commerce Server</category>
            <link>http://theruntime.com/blogs/davebalzer/archive/2008/04/16/adventures-in-commerce-server.aspx</link>
            <description>&lt;p&gt;Well, I’m no &lt;a href="http://theruntime.com/blogs/wadewegner/Default.aspx"&gt;Wade Wegner&lt;/a&gt;, but I am going to get my shot at developing in Commerce Server and I intend to share my experiences here.  I’m sure Wade will have ample opportunities to laugh at my foolish mistakes and offer a better approach, but I figure that is the way that I’m going to learn and hopefully provide all of you some useful information along the way.  So Wade, I know you are looking to put all that knowledge you’ve &lt;a href="http://theruntime.com/blogs/wadewegner/archive/2008/04/15/update-on-the-commerce-server-book.aspx"&gt;compiled for your book&lt;/a&gt; to good use, are you up to the challenge of guiding a Commerce Server novice through some of the pitfalls?&lt;/p&gt;&lt;img src="http://theruntime.com/blogs/davebalzer/aggbug/2391.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dave Balzer</dc:creator>
            <guid>http://theruntime.com/blogs/davebalzer/archive/2008/04/16/adventures-in-commerce-server.aspx</guid>
            <pubDate>Wed, 16 Apr 2008 23:52:31 GMT</pubDate>
            <comments>http://theruntime.com/blogs/davebalzer/archive/2008/04/16/adventures-in-commerce-server.aspx#feedback</comments>
            <wfw:commentRss>http://theruntime.com/blogs/davebalzer/comments/commentRss/2391.aspx</wfw:commentRss>
            <trackback:ping>http://theruntime.com/blogs/davebalzer/services/trackbacks/2391.aspx</trackback:ping>
        </item>
        <item>
            <title>How to drive a client away in one easy step!</title>
            <link>http://theruntime.com/blogs/davebalzer/archive/2008/04/14/how-to-drive-a-client-away-in-one-easy-step.aspx</link>
            <description>&lt;p&gt;Step 1 - Make Assumptions&lt;/p&gt;  &lt;p&gt;Result - No more pesky client!  &lt;/p&gt;  &lt;p&gt;For those of you who have known me for a while or have followed my blog for any length of time, you should know that I am rather adamant about customer service.  I believe that it is the one aspect of our industry that is in desperate need of serious attention.  There is one skill that all of us who ever have to deal with clients (or managers, or peers, or direct reports, or spouses, or friends, or - well you get the idea) need to master.  It’s the art of listening.  let me give you an example of how important it can be.  &lt;/p&gt;  &lt;p&gt;I was recently involved in helping a friend try to win a project for his struggling consulting business.  He was one of two finalists for the contract and was asked to come in and present his solution for their application.  The problem was that the RFP for the work was very vague.  It gave a general idea of what the client was looking for but left out some critical pieces of information he needed to give a good presentation on the matter.  Having lived the life of an independent contractor, he asked me if I had any advice for him.  I told him the best presentation that he could give them was one that he didn’t prepare.  As it turns out, I was right.  My friend was up against a big company for the work and believed he had no chance of winning it, so, even though he thought I was crazy, he took my advice and went in without a prepared presentation but rather armed with a few simple questions about their business need and processes.  This started a dialog and allowed them to see his problem solving skills in action.  The other company took the RFP, made a list of assumptions and went in pitching a solution that in the end completely missed the mark of what the client was looking for.  End result, my friend has a new contract that should keep him busy for the next year or two.&lt;/p&gt;  &lt;p&gt;Chalk another one up to good customer service!&lt;/p&gt;&lt;img src="http://theruntime.com/blogs/davebalzer/aggbug/2385.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dave Balzer</dc:creator>
            <guid>http://theruntime.com/blogs/davebalzer/archive/2008/04/14/how-to-drive-a-client-away-in-one-easy-step.aspx</guid>
            <pubDate>Mon, 14 Apr 2008 12:57:12 GMT</pubDate>
            <comments>http://theruntime.com/blogs/davebalzer/archive/2008/04/14/how-to-drive-a-client-away-in-one-easy-step.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://theruntime.com/blogs/davebalzer/comments/commentRss/2385.aspx</wfw:commentRss>
            <trackback:ping>http://theruntime.com/blogs/davebalzer/services/trackbacks/2385.aspx</trackback:ping>
        </item>
        <item>
            <title>Link to a Document Content Type SharePoint 2007</title>
            <link>http://theruntime.com/blogs/davebalzer/archive/2008/01/15/Link-to-a-Document-Content-Type-SharePoint-2007.aspx</link>
            <description>&lt;p&gt;One of the questions that often comes up with Sharepoint regarding document libraries is "how do I link to a document stored in one library in others?"&amp;nbsp; Unfortunately, there was no way to do this prior to the 2007 version without actually duplicating the document and uploading it into each library independent of each other.&amp;nbsp; This obviously has ramifications by creating separate versions which will soon be out of sync.&amp;nbsp; Changes made to one document won't be represented in the others.&lt;/p&gt; &lt;p&gt;To resolve this, SharePoint introduced a feature known as the Lint to a Document Content Type.&amp;nbsp; If you aren't yet familiar with the concept of Content Types in SharePoint, you need to research this.&amp;nbsp; I will attempt to post more on this subject later, but for now just understand that it is a way of defining the contents of a library beyond the document type that it was created as (.doc, .xls, etc...).&amp;nbsp; The Link to a Document content type is a predefined type that creates a record in the library that will point you to another library.&amp;nbsp; In order to use this feature you must first enable the use of content types within your library.&amp;nbsp; To do this, you go to the settings tab of your document library and click the Advanced Settings link.&amp;nbsp; Select Yes for Allow management of content types and click OK.&lt;br&gt;&lt;br&gt;&lt;a href="http://www.theruntime.com/blogs/davebalzer/WindowsLiveWriter/LinktoaDocumentContentTypeSharePoint2007_A147/LinkToDocument1_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="173" alt="LinkToDocument1" src="http://www.theruntime.com/blogs/images/blogs/dev_theruntime_com/davebalzer/WindowsLiveWriter/LinktoaDocumentContentTypeSharePoint2007_A147/LinkToDocument1_thumb.jpg" width="1017" border="0"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Now that you have enabled the ability to use content types, you must associate the content types you wish to use within this library.&amp;nbsp; Back on the Document Library Settings page, you will now see a list of content types that are currently associated.&amp;nbsp; By default Document will be enabled.&amp;nbsp; Click the Add from existing site content types.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.theruntime.com/blogs/davebalzer/WindowsLiveWriter/LinktoaDocumentContentTypeSharePoint2007_A147/LinktoDocument2_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="393" alt="LinktoDocument2" src="http://www.theruntime.com/blogs/images/blogs/dev_theruntime_com/davebalzer/WindowsLiveWriter/LinktoaDocumentContentTypeSharePoint2007_A147/LinktoDocument2_thumb.jpg" width="1019" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Choose the Link to a Document selection from the List Box and click Add &amp;gt;.&amp;nbsp; Once you've done this you will now be able to go to your document library and click the new button and you will now see Link to a Document in the menu.&amp;nbsp; Click this to provide a name and url for the document.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.theruntime.com/blogs/davebalzer/WindowsLiveWriter/LinktoaDocumentContentTypeSharePoint2007_A147/LinkToDocument3_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="279" alt="LinkToDocument3" src="http://www.theruntime.com/blogs/images/blogs/dev_theruntime_com/davebalzer/WindowsLiveWriter/LinktoaDocumentContentTypeSharePoint2007_A147/LinkToDocument3_thumb.jpg" width="736" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Although this may seem like a small thing, it gives us the ability to maintain a single copy of a document with all the features like versioning, workflows, and approvals that we chose SharePoint for in the first place while still allowing us to gain access to it in multiple places throughout the application.&lt;/p&gt;&lt;img src="http://theruntime.com/blogs/davebalzer/aggbug/2333.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>dbalzer</dc:creator>
            <guid>http://theruntime.com/blogs/davebalzer/archive/2008/01/15/Link-to-a-Document-Content-Type-SharePoint-2007.aspx</guid>
            <pubDate>Tue, 15 Jan 2008 21:27:50 GMT</pubDate>
            <comments>http://theruntime.com/blogs/davebalzer/archive/2008/01/15/Link-to-a-Document-Content-Type-SharePoint-2007.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://theruntime.com/blogs/davebalzer/comments/commentRss/2333.aspx</wfw:commentRss>
            <trackback:ping>http://theruntime.com/blogs/davebalzer/services/trackbacks/2333.aspx</trackback:ping>
        </item>
        <item>
            <title>Target your Audience with MOSS 2007</title>
            <link>http://theruntime.com/blogs/davebalzer/archive/2008/01/15/Target-your-Audience-with-MOSS-2007.aspx</link>
            <description>&lt;P&gt;As I'm delving into the world of MOSS 2007 I'm finding lots of cool features and well thought out ideas that Microsoft has brought to the table.&amp;nbsp; One such feature is known as the Audience.&amp;nbsp; The audience provides a more dynamic way to target specific content to users for which it is appropriate.&amp;nbsp; An audience is created by specifying rules from the data contained in the user profile data store.&amp;nbsp; Because an audience is closely related to user profiles the administration interface to control them is found in the Shared Services Administration site.&lt;/P&gt;
&lt;P&gt;To create a new audience, you start by specifying a name, description and an owner.&amp;nbsp; You then select whether you want the audience to be composed of people that satisfy all of the rules, or any of them.&lt;BR&gt;&lt;BR&gt;&lt;A href="http://www.theruntime.com/blogs/davebalzer/WindowsLiveWriter/KnowThyAudience_14A9D/audience1_2.jpg" mce_href="http://www.theruntime.com/blogs/davebalzer/WindowsLiveWriter/KnowThyAudience_14A9D/audience1_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=319 alt=audience1 src="http://www.theruntime.com/blogs/images/blogs/dev_theruntime_com/davebalzer/WindowsLiveWriter/KnowThyAudience_14A9D/audience1_thumb.jpg" width=551 border=0 mce_src="http://www.theruntime.com/blogs/images/blogs/dev_theruntime_com/davebalzer/WindowsLiveWriter/KnowThyAudience_14A9D/audience1_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;On the next screen we begin adding rules to the audience.&amp;nbsp; We will create a collection of rules that will be evaluated to compile the membership in this audience.&amp;nbsp; In the following screen capture, you can see that I have selected to base my rule on a Property.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;A href="http://www.theruntime.com/blogs/davebalzer/WindowsLiveWriter/KnowThyAudience_14A9D/Audience2_2.jpg" mce_href="http://www.theruntime.com/blogs/davebalzer/WindowsLiveWriter/KnowThyAudience_14A9D/Audience2_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=419 alt=Audience2 src="http://www.theruntime.com/blogs/images/blogs/dev_theruntime_com/davebalzer/WindowsLiveWriter/KnowThyAudience_14A9D/Audience2_thumb.jpg" width=558 border=0 mce_src="http://www.theruntime.com/blogs/images/blogs/dev_theruntime_com/davebalzer/WindowsLiveWriter/KnowThyAudience_14A9D/Audience2_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Selecting property allows me to target any of the fields specified in a users profile to validate that my rule has been satisfied.&amp;nbsp; In this case I'm looking for anyone who listed SharePoint as one of their skills in their user profile.&amp;nbsp; This rule on it's own would not limit the scope of my audience significantly enough though.&amp;nbsp; I want this audience to target SharePoint developers and at this point I'm pulling in everyone that lists sharepoint in their skills profile.&amp;nbsp; This could include administrators, designers, or general business users as well.&amp;nbsp; So how do I narrow the scope?&amp;nbsp; By specifying more rules.&amp;nbsp; So now I go back and add an additional rule to the collection.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.theruntime.com/blogs/davebalzer/WindowsLiveWriter/KnowThyAudience_14A9D/Audience3_2.jpg" mce_href="http://www.theruntime.com/blogs/davebalzer/WindowsLiveWriter/KnowThyAudience_14A9D/Audience3_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=232 alt=Audience3 src="http://www.theruntime.com/blogs/images/blogs/dev_theruntime_com/davebalzer/WindowsLiveWriter/KnowThyAudience_14A9D/Audience3_thumb.jpg" width=1084 border=0 mce_src="http://www.theruntime.com/blogs/images/blogs/dev_theruntime_com/davebalzer/WindowsLiveWriter/KnowThyAudience_14A9D/Audience3_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;We will repeat the steps we did earlier in adding our first rule but I will choose User this time.&amp;nbsp; When I select User, the drop down for Operator has two options.&amp;nbsp; First up is "Reports Under".&amp;nbsp; This allows us to specify a user in the value field that all users must be below in the organizational hierarchy.&amp;nbsp; This feature is dependant on a well populated Active Directory though.&amp;nbsp; The second option is&amp;nbsp; "Member Of".&amp;nbsp; This allows us to provide a security group or distribution list in our value field.&amp;nbsp; So for my example I would select Member Of and choose my Software Developers security group.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Once I have specified all the rules I wish to list for this audience, I can then compile it.&amp;nbsp; Compiling it sets SharePoint loose to go analyze the users in my system and comparing them against the rules that I have specified to determine membership in this audience.&amp;nbsp; Changes in our user base would necessitate re-compilation of the audience, so you can set a timer job to re-compile on a schedule.&lt;/P&gt;
&lt;P&gt;Now that I have built my audience, I can use it to filter visibility to specific content within my site.&amp;nbsp; For the sake of this example lets assume that I have added a SharePoint Developers Announcements List to my site.&amp;nbsp; I then drop the list on the homepage.&amp;nbsp; I go to edit mode on the web part and expand the Advanced section in the tool panel. I then scroll down to the bottom and click the browse button next to the field for Target Audiences.&amp;nbsp; I then get the following dialog that allows me to select my newly created audience.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;A href="http://www.theruntime.com/blogs/davebalzer/WindowsLiveWriter/KnowThyAudience_14A9D/Audience4_2.jpg" mce_href="http://www.theruntime.com/blogs/davebalzer/WindowsLiveWriter/KnowThyAudience_14A9D/Audience4_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=618 alt=Audience4 src="http://www.theruntime.com/blogs/images/blogs/dev_theruntime_com/davebalzer/WindowsLiveWriter/KnowThyAudience_14A9D/Audience4_thumb.jpg" width=809 border=0 mce_src="http://www.theruntime.com/blogs/images/blogs/dev_theruntime_com/davebalzer/WindowsLiveWriter/KnowThyAudience_14A9D/Audience4_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;After selecting my Audience with the dialog, and applying it to my web part, I then can add announcements that will only show up for users who meet the specified criteria.&amp;nbsp; This is a really slick way to target content specific to users.&amp;nbsp; The nice thing is that it eliminates the need to create additional security groups that need managed for this type of customization and can mine the information provided by users themselves about their profiles (if you are using this feature).&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Where I think Microsoft went wrong with this feature is that the creation of audiences can only be done in the Shared Services Provider site.&amp;nbsp; This means that Tier 1 administrators (those with rights to Central Admin and Shared Services Provider) are the only ones who can create them.&amp;nbsp; It would have been nice to allow site owners to create and manage their own audiences.&amp;nbsp; I believe this will be an under-utilized feature for this reason, but that said I think it's one that deserves a look.&lt;/P&gt;&lt;img src="http://theruntime.com/blogs/davebalzer/aggbug/2331.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>dbalzer</dc:creator>
            <guid>http://theruntime.com/blogs/davebalzer/archive/2008/01/15/Target-your-Audience-with-MOSS-2007.aspx</guid>
            <pubDate>Tue, 15 Jan 2008 13:36:00 GMT</pubDate>
            <comments>http://theruntime.com/blogs/davebalzer/archive/2008/01/15/Target-your-Audience-with-MOSS-2007.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://theruntime.com/blogs/davebalzer/comments/commentRss/2331.aspx</wfw:commentRss>
            <trackback:ping>http://theruntime.com/blogs/davebalzer/services/trackbacks/2331.aspx</trackback:ping>
        </item>
        <item>
            <title>Welcome Edward Buatois to TheRuntime</title>
            <link>http://theruntime.com/blogs/davebalzer/archive/2008/01/04/Welcome-Edward-Buatois-to-TheRuntime.aspx</link>
            <description>&lt;p&gt;It is with great pleasure that I get the honor of welcoming &lt;a href="http://www.theruntime.com/blogs/be-sharp/default.aspx"&gt;Edward Buatois&lt;/a&gt; to TheRuntime.com as one of our newest bloggers.&amp;nbsp; As many of you may know, I am a Software Development Manager in Cleveland, Ohio and am fortunate to have Edward on my team.&amp;nbsp; He is one of my Senior Developers and certainly deserves accolades for the work he does here.&amp;nbsp; Edward has been blogging for a while now on DevAuthority.com and we felt it was time to extend him an invitation to join us here.&amp;nbsp; Edward has a passion for .net development and architecture.&amp;nbsp; It has been fun working with him and blogging with him on DevAuthority, so look forward seeing what he will bring to the discussion here in the future.&amp;nbsp; Please join me in welcoming him to the community!&lt;/p&gt;&lt;img src="http://theruntime.com/blogs/davebalzer/aggbug/2321.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>dbalzer</dc:creator>
            <guid>http://theruntime.com/blogs/davebalzer/archive/2008/01/04/Welcome-Edward-Buatois-to-TheRuntime.aspx</guid>
            <pubDate>Fri, 04 Jan 2008 19:51:55 GMT</pubDate>
            <comments>http://theruntime.com/blogs/davebalzer/archive/2008/01/04/Welcome-Edward-Buatois-to-TheRuntime.aspx#feedback</comments>
            <wfw:commentRss>http://theruntime.com/blogs/davebalzer/comments/commentRss/2321.aspx</wfw:commentRss>
            <trackback:ping>http://theruntime.com/blogs/davebalzer/services/trackbacks/2321.aspx</trackback:ping>
        </item>
    </channel>
</rss>