<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>SharePoint (MOSS)</title>
        <link>http://blogs.interakting.co.uk/danmatthews/category/15.aspx</link>
        <description>Microsoft Office Sharepoint Server</description>
        <language>en-GB</language>
        <copyright>Dan Matthews</copyright>
        <managingEditor>dmatthews@businessdecision.co.uk</managingEditor>
        <generator>Subtext Version 1.9.5.177</generator>
        <item>
            <title>Microsoft Search Server 2008 Express</title>
            <link>http://blogs.interakting.co.uk/danmatthews/archive/2007/11/07/114.aspx</link>
            <description>&lt;p&gt;Imagine the MOSS search without the surrounding SharePoint gubbins. Imagine it free.&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;a href="http://www.microsoft.com/enterprisesearch/serverproducts/searchserverexpress/default.aspx"&gt;http://www.microsoft.com/enterprisesearch/serverproducts/searchserverexpress/default.aspx&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://blogs.interakting.co.uk/danmatthews/aggbug/114.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dan Matthews</dc:creator>
            <guid>http://blogs.interakting.co.uk/danmatthews/archive/2007/11/07/114.aspx</guid>
            <pubDate>Wed, 07 Nov 2007 10:09:22 GMT</pubDate>
            <wfw:comment>http://blogs.interakting.co.uk/danmatthews/comments/114.aspx</wfw:comment>
            <comments>http://blogs.interakting.co.uk/danmatthews/archive/2007/11/07/114.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.interakting.co.uk/danmatthews/comments/commentRss/114.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Nuxeo</title>
            <link>http://blogs.interakting.co.uk/danmatthews/archive/2007/10/08/103.aspx</link>
            <description>&lt;p&gt;Historically we've been seen as a Microsoft shop within the UK eBusiness division - quite rightly too. As part of the wider B&amp;amp;D group though we have a lot of experience in the Java/Open Source arena to bring to the party as well. For example, currently we provide solutions expertise in all the following ECM/CMS systems:&lt;/p&gt;
&lt;p&gt;SME                 /\       ADXSTUDIO (Closed Source / .NET)&lt;br /&gt;
                        |       Pelikan (Open Source / PHP)&lt;br /&gt;
                        |       EPiServer( Closed Source / .NET)&lt;br /&gt;
                        |       Nuxeo (Open Source / Java)&lt;br /&gt;
Enterprise        \/       MOSS (Closed Source / .NET)&lt;/p&gt;
&lt;p&gt;This means that we've got a solution to fit any client, any size, any budget. It's a nice place to be in this marketplace where there is often an established platform that constrains the system (UNIX/Windows).&lt;/p&gt;&lt;img src="http://blogs.interakting.co.uk/danmatthews/aggbug/103.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dan Matthews</dc:creator>
            <guid>http://blogs.interakting.co.uk/danmatthews/archive/2007/10/08/103.aspx</guid>
            <pubDate>Mon, 08 Oct 2007 14:43:36 GMT</pubDate>
            <wfw:comment>http://blogs.interakting.co.uk/danmatthews/comments/103.aspx</wfw:comment>
            <comments>http://blogs.interakting.co.uk/danmatthews/archive/2007/10/08/103.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.interakting.co.uk/danmatthews/comments/commentRss/103.aspx</wfw:commentRss>
        </item>
        <item>
            <title>MCTS - MOSS 2007</title>
            <link>http://blogs.interakting.co.uk/danmatthews/archive/2007/09/12/96.aspx</link>
            <description>&lt;p&gt;Well the cram fest paid off - now the MCTS in config. and admin. of MOSS 2007 is under my belt too.&lt;/p&gt;
&lt;p&gt;Now to put this into practice, but before that I have to tie off an EPiServer project and also get stuck into an ADXSTUDIO one!&lt;/p&gt;&lt;img src="http://blogs.interakting.co.uk/danmatthews/aggbug/96.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dan Matthews</dc:creator>
            <guid>http://blogs.interakting.co.uk/danmatthews/archive/2007/09/12/96.aspx</guid>
            <pubDate>Wed, 12 Sep 2007 09:46:34 GMT</pubDate>
            <wfw:comment>http://blogs.interakting.co.uk/danmatthews/comments/96.aspx</wfw:comment>
            <comments>http://blogs.interakting.co.uk/danmatthews/archive/2007/09/12/96.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.interakting.co.uk/danmatthews/comments/commentRss/96.aspx</wfw:commentRss>
        </item>
        <item>
            <title>MCTS - Sharepoint Services 3.0</title>
            <link>http://blogs.interakting.co.uk/danmatthews/archive/2007/09/04/94.aspx</link>
            <description>&lt;p&gt;So the cram-fest that I blogged about a few weeks ago has come around, and the last couple of days+nights swotting have paid off with an MCTS in Configuring WSS v3.&lt;/p&gt;
&lt;p&gt;Now there's another few days of intensive, 14 hour days and then I'll be going for the Sharepoint Server equivalent as well.&lt;/p&gt;
&lt;p&gt;Here's to reading &lt;a href="http://www.amazon.com/Microsoft-Office-SharePoint-Administrators-Companion/dp/0735622825"&gt;thick tomes&lt;/a&gt;!&lt;/p&gt;&lt;img src="http://blogs.interakting.co.uk/danmatthews/aggbug/94.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dan Matthews</dc:creator>
            <guid>http://blogs.interakting.co.uk/danmatthews/archive/2007/09/04/94.aspx</guid>
            <pubDate>Tue, 04 Sep 2007 17:40:01 GMT</pubDate>
            <wfw:comment>http://blogs.interakting.co.uk/danmatthews/comments/94.aspx</wfw:comment>
            <comments>http://blogs.interakting.co.uk/danmatthews/archive/2007/09/04/94.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.interakting.co.uk/danmatthews/comments/commentRss/94.aspx</wfw:commentRss>
        </item>
        <item>
            <title>SharePoint Training Camp UK</title>
            <link>http://blogs.interakting.co.uk/danmatthews/archive/2007/07/17/79.aspx</link>
            <description>&lt;p&gt;So it was decided that it was worth getting myself and one of the guys on my team actually certified on SharePoint - probably a good idea!&lt;/p&gt;
&lt;p&gt;Looks like it's not going to be a rubber-stamping of what we already know though - the course is one of these condensed 5-day blitzes where you eat, sleep and work the course. Yikes. It's not the stuff I normally do anyway, as it's the professional rather than developer perspective and I tend to get my mitts stuck in the API more than the other things. I think I'm going to learn lots and very fast.&lt;/p&gt;
&lt;p&gt;It's a bit daunting but it should be good though. Good for us, good for the business. Plus, as a Microsoft Gold Partner, we got it a little cheaper :)&lt;/p&gt;
&lt;p&gt;The one we're on will be run in September by Training Camp UK. I think Microsoft are sponsoring it so it's not available through the main Training Camp UK site, but it's &lt;a href="http://www.trainingcamp.co.uk/courses/microsoft/sharepoint/sharepoint.asp"&gt;this course.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://blogs.interakting.co.uk/danmatthews/aggbug/79.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dan Matthews</dc:creator>
            <guid>http://blogs.interakting.co.uk/danmatthews/archive/2007/07/17/79.aspx</guid>
            <pubDate>Tue, 17 Jul 2007 10:14:24 GMT</pubDate>
            <wfw:comment>http://blogs.interakting.co.uk/danmatthews/comments/79.aspx</wfw:comment>
            <comments>http://blogs.interakting.co.uk/danmatthews/archive/2007/07/17/79.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.interakting.co.uk/danmatthews/comments/commentRss/79.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Setting MOSS User Profile properties</title>
            <link>http://blogs.interakting.co.uk/danmatthews/archive/2007/04/24/40.aspx</link>
            <description>&lt;p&gt;If you are setting MOSS User Profile properties, there is a bit of a gotcha when dealing with multi-value properties. Normally, you'd do something like:&lt;/p&gt;
&lt;font size="2"&gt;&lt;font face="Courier New" color="#3366ff"&gt;&lt;font size="2"&gt;
&lt;p&gt;UserProfileManager oManager = GetUserProfileManager();&lt;/p&gt;
&lt;font face="Courier New" color="#3366ff"&gt;&lt;font size="2"&gt;
&lt;p&gt;UserProfile oProfile = oManager.GetUserProfile(sUsername);&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New" color="#3366ff"&gt;oProfile["SomePropertyName"].Value = "This is a nice value to set";&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial" color="#000000"&gt;If you try this then, happily, it will probably work. That is unless you have a multi-value property. Well - it &lt;strong&gt;will &lt;/strong&gt;work if you have a multi-value property, as long as you are only setting a single value.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;font color="#000000"&gt;Let me explain.... it looks at first glance as if the property is just an object with a 'Value' property accessed via the indexer, it's a little more than that. The property is, in fact, a &lt;font size="2"&gt;UserProfileValueCollection object. Indeed, apparently it's a UserProfileValueCollection object even if it's &lt;em&gt;not&lt;/em&gt; a multi-value field - it just has a default indexer to the first object in the collection so that you'd never realise it was a collection. This is why the syntax I showed above for a single value worked OK.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial" color="#000000"&gt;So when will it not work? Well, try and do this with a multi-value property when you have a constrained choice list (comma-separated in this case):&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" color="#3366ff"&gt;oProfile["SomePropertyName"].Value = "Multivalue 1, Multivalue 2, Multivalue 3";&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial" color="#000000"&gt;It will throw an exception along the lines of 'thats not a valid option'. This is because it is trying to find an option in the choice list that matches the whole string. It is not 'intelligent' enough to try and break down the string into separate values.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial" color="#000000"&gt;(side note - the 'Separator' property of the Property object, which is of type MultiValueSeparator enum, appears to be only related to how the UI itself captures or presents the data. Behind the scenes, the data is stored in a collection and the Separator property is pretty much redundant. In fact, you could build your own UI elements to manipulate the value collection and you can totally ignore that Separator property, if you wished.)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial" color="#000000"&gt;So, how to fix it? Well, luckily its actually very simple. In the above example, you'd just do this:&lt;/font&gt;&lt;/p&gt;
&lt;font size="2"&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;font face="Courier New" color="#3366ff"&gt;((UserProfileValueCollection)oProfile["SomePropertyName"]).Add("Multivalue1");&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" color="#3366ff"&gt;((UserProfileValueCollection)oProfile["SomePropertyName"]).Add("Multivalue2");&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" color="#3366ff"&gt;((UserProfileValueCollection)oProfile["SomePropertyName"]).Add("Multivalue3");&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial" color="#000000"&gt;If you wanted to be very clean about it, or it was an automated process which didn't know what type the property was, then you could use the following technique to check for a multi-value (assuming oManager and oProfile are initialised as per the top of this blog post):&lt;/font&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&lt;font face="Courier New" color="#3366ff"&gt;if(oManager.Properties.GetPropertyByName["SomePropertyName"].IsMultiValued)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" color="#3366ff"&gt;{&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" color="#3366ff"&gt;    // do the multi-value stuff&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" color="#3366ff"&gt;}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" color="#3366ff"&gt;else&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" color="#3366ff"&gt;{&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" color="#3366ff"&gt;    // treat as a single value&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" color="#3366ff"&gt;}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial" color="#000000"&gt;I hope this helps someone out because the Microsoft documentation, at the moment, is a little sparse.&lt;/font&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;img src="http://blogs.interakting.co.uk/danmatthews/aggbug/40.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dan Matthews</dc:creator>
            <guid>http://blogs.interakting.co.uk/danmatthews/archive/2007/04/24/40.aspx</guid>
            <pubDate>Tue, 24 Apr 2007 14:28:44 GMT</pubDate>
            <wfw:comment>http://blogs.interakting.co.uk/danmatthews/comments/40.aspx</wfw:comment>
            <comments>http://blogs.interakting.co.uk/danmatthews/archive/2007/04/24/40.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blogs.interakting.co.uk/danmatthews/comments/commentRss/40.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Importing Profiles in MOSS - only one AD server</title>
            <link>http://blogs.interakting.co.uk/danmatthews/archive/2007/04/17/20.aspx</link>
            <description>Massive frustration... only being able to point to an AD once with a single Import connection. (Try setting up a second and see what happens!) Can anyone think of a logical reason why this limitation should be there?&lt;br /&gt;
&lt;br /&gt;
To work around it, either construct a clever LDAP query to change your search root or select specific AD nodes, or use a Security Group on the filter, like so:&lt;br /&gt;
(&amp;amp;(objectCategory=Person)(objectClass=User)(memberOf=CN=&lt;b&gt;YOURGROUP&lt;/b&gt;,OU=&lt;b&gt;YOUR_OU_IF_PRESENT&lt;/b&gt;,DC=&lt;b&gt;SOMEDOMAIN&lt;/b&gt;,DC=&lt;b&gt;CO&lt;/b&gt;,DC=&lt;b&gt;UK&lt;/b&gt;))
&lt;br /&gt;
The advantage of using a Security Group is to get excellent granularity. I use it to select whole groups of users, and then pick just a couple of extra ones as well (could be staff admins or something)

&lt;img src="http://blogs.interakting.co.uk/danmatthews/aggbug/20.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dan Matthews</dc:creator>
            <guid>http://blogs.interakting.co.uk/danmatthews/archive/2007/04/17/20.aspx</guid>
            <pubDate>Tue, 17 Apr 2007 08:59:41 GMT</pubDate>
            <wfw:comment>http://blogs.interakting.co.uk/danmatthews/comments/20.aspx</wfw:comment>
            <comments>http://blogs.interakting.co.uk/danmatthews/archive/2007/04/17/20.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.interakting.co.uk/danmatthews/comments/commentRss/20.aspx</wfw:commentRss>
        </item>
        <item>
            <title>ProfilePropertyMgr for MOSS</title>
            <link>http://blogs.interakting.co.uk/danmatthews/archive/2007/04/13/14.aspx</link>
            <description>&lt;p&gt;If you use MOSS profiles much, and especially custom properties, you will probably be aware of the excellent tool kick off by &lt;a href="http://blogs.msdn.com/angus_logan/"&gt;Angus Logan&lt;/a&gt; called &lt;a href="http://www.codeplex.com/MOSSProfileReplicate/"&gt;ProfilePropertyMgr&lt;/a&gt;. Unfortunately, until now it had one particular drawback - it didn't support the entries in a multi-value field. So, if you had a multi-value field with values 'A', 'B', and 'C', when you exported the property it just exported the property and thats it, without the values.&lt;/p&gt;
&lt;p&gt;One of the MOSS projects I've been working on has massive multi-value lists, such as country lists. Now, you can have them in a text file and 'Import file...' them into the multi-value field after the property is set up, but that's unwieldy.&lt;/p&gt;
&lt;p&gt;What I therefore did is chatted to Angus and he added me to the project. I then added some more code to the 'WorkerBee.cs' file to export the choices along with the properties, and import them again at the other end. Not as easy as it sounds because the way properties are done is a bit obscure, but trial and error wins the day!&lt;/p&gt;
&lt;p&gt;To use the modified tool, grab the latest version of the source-code from &lt;a href="http://www.codeplex.com/MOSSProfileReplicate/SourceControl/ListDownloadableCommits.aspx"&gt;here&lt;/a&gt;, compile, and there you go! When you run the export and import all your choices will magically come across as well.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://blogs.interakting.co.uk/danmatthews/aggbug/14.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dan Matthews</dc:creator>
            <guid>http://blogs.interakting.co.uk/danmatthews/archive/2007/04/13/14.aspx</guid>
            <pubDate>Fri, 13 Apr 2007 15:01:25 GMT</pubDate>
            <wfw:comment>http://blogs.interakting.co.uk/danmatthews/comments/14.aspx</wfw:comment>
            <comments>http://blogs.interakting.co.uk/danmatthews/archive/2007/04/13/14.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.interakting.co.uk/danmatthews/comments/commentRss/14.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>