SharePoint People Matches Was My Idea!

Microsoft SharePoint 2010 has dramatically improved since its predecessor, and the one thing I wanted to mention was the related people matches.  In SharePoint search now, you can configure the results to show people who are related to the content you are trying to search for.

This really is a great little nugget within SharePoint, because it is one that works to connect people who have tacit knowledge – knowledge stored inside people’s heads, and may not be explicit in any other format.  People can be profiled based on their search queries, their profile, and their activities within SharePoint.  Connections are able to be made as to who may be a person with some knowledge pertaining to a particular search query.

The only problem is, this all seems too familiar.  It seems I’ve seen something like this before…my final year university thesis!

My thesis, TIXS: Tacit Information eXchange System: An investigation of electronically developing and exploiting tacit knowledge in communities of practice, was developed to perform what I explained above – connect people based on profiling their search behaviour, and afford the transfer of tacit knowledge.

All be it a much simpler implementation to the feature in SharePoint Search, it is essentially the same concept.  Until someone else speaks up, I’m claiming that it was my idea first!

SharePoint 2010: Exception has been thrown by the target of an invocation

Tried adding a new SharePoint 2010 server to an existing farm, and got this perplexing, and un-googleable message while running the product configuration wizard:

03/29/2011 16:02:21  11  ERR                                              Task services has failed with an unknown exception
03/29/2011 16:02:21  1  INF                                              Not running in high contrast, so we will paint the background with our trademarked image
03/29/2011 16:02:21  11  ERR                                              Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentException: The directory name you entered is invalid.  Please enter a new name.
 at Microsoft.SharePoint.Administration.SPDiagnosticsService.set_LogLocation(String value)
 at Microsoft.SharePoint.Administration.SPDiagnosticsService.InitSPDiagnosticsServiceFromRegistry(SPDiagnosticsService service)
 --- End of inner exception stack trace ---
 at System.RuntimeMethodHandle._InvokeConstructor(Object[] args, SignatureStruct& signature, IntPtr declaringType)
 at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
 at Microsoft.SharePoint.PostSetupConfiguration.ReflectionHelper.InvokeConstructor(String assemblyQualifiedName, Type[] constructorSignature, Object[] constructorParameters)
 at Microsoft.SharePoint.PostSetupConfiguration.TaskCommon.ReflectionHelperInvokeConstructor(String assemblyQualifiedName, Type[] constructorSignature, Object[] constructorParameters, TaskBase task)
 at Microsoft.SharePoint.PostSetupConfiguration.ServicesTask.InvokeServiceConstructor(String serviceRegistryKeyName, String solutionIdRegistryName, String serviceNameRegistryName, Type[] constructorSignature, Object[] constructorParameters)
 at Microsoft.SharePoint.PostSetupConfiguration.ServicesTask.InstallServiceInConfigDB(Boolean provisionTheServiceToo, String serviceRegistryKeyName)
 at Microsoft.SharePoint.PostSetupConfiguration.ServicesTask.InstallServices(Boolean provisionTheServicesToo)
 at Microsoft.SharePoint.PostSetupConfiguration.ServicesTask.Run()
 at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()

The clue was the line: The directory name you entered is invalid.  I noticed on the existing servers that there was a SharePoint log directory on the D: drive, and suspected this to be the issue.

At first attempt, I changed the location of the diagnostic and usage logging, to no avail.  I ended up requesting an additional disk for my new server, creating the log directory on the D: drive and re-running the wizard.  This worked.

Diagnosing Problems with SharePoint Incoming Email

I was recently looking through some old notes about problems I had with incoming email with SharePoint. We had a process of scanning physical mail to departmental document libraries, and we had a success rate of just over 50%. Through a week of tweaking and testing, we sustained 100% successful delivery for several months.

I was using SharePoint 2010 and Exchange 2010, but I think the settings should apply for earlier versions. At the time of writing, I don’t have access to an Exchange installation to confirm settings. These are my rough notes, hopefully of some help.

  1. Check that the document library and contact is set to allow from all senders (network scanners were not regarded as authenticated users)
  2. Check the size limits on the SharePoint send connector (Exchange -> Hub Transport -> Send Connectors -> Properties -> Maximum message size (KB))
  3. Check the size limits on SMTP receiver on SharePoint (IIS 6 Mgr -> Properties on SMTP Virtual Server -> Messages tab -> Limit message size, Limit session size)
  4. Turn off SharePoint reading RTF documents from Exchange (Exchange -> Hub Transport -> Remote Domains -> Format of original message sent as attachment to journal report: -> Exchange rich-text format -> Never use)
  5. Check for potential mail routing problems (Exchange -> Hub Transport -> Accepted Domains -> Add domain for INTERNAL RELAY) – we noticed a couple of times the scanned mail tried to go external through our mail gateway – this was the last 1% of our problems.

Issues with SharePoint Content Deployment

SharePoint’s content deployment feature is a great way to manage content changes, and very appropriate for public facing websites.  However I do have three quick comments on the functionality:

  1. Binary changes – I’m aware these are not covered under the scope of content deployment, but I’ve had a lot of problems where people have deployed code to the authoring farm and not to production.  Very frustrating when you’re trying to publish a change at 5PM on a Friday afternoon.  I would like to see the practicality of having the ability to have these binary changes included with content deployment.  Better release management would also probably help.
  2. Needs a farm admin to publish – I’d like to be able to delegate this to a business representative to run the publishing job (ad-hoc).
  3. Random publish failures – Sometimes, the publishing job just doesn’t work.  Try again and all is well.  If it is a timeout, it’d be great to see this automatically reattempt.

SharePoint 2010 Exam 70-667 – Passed!

I completed today the Microsoft exam 70-667 – MCTS SharePoint 2010, Configuring.

For anyone who is interested, here is my study guide:

  • Professional SharePoint 2010 Administration by Todd Klindt, Shane Young & Steve Caravajal – an excellent resource and a must read.
  • SharePoint 2010 Technical diagrams – a very visual representation of many aspects of SharePoint, aids in understanding.
  • Downloadable content for SharePoint Server 2010 – these are downloadable guides, the Deployment and Operations ones offer fine level detail that you may need in the exam.
  • Install SharePoint Server 2010 in a lab environment, go through every possible option in Central Admin and understand what each component does.  This has a real help when I could visualise an admin screen while trying to answer a couple of questions.  Do the same thing for a site collection, ensure you enable every site and site collection feature too.
  • TechEd Videos – search for “SharePoint 2010” and watch as much as you can.  There is probably more that is not directly relevant to the exam than what is, so use your discretion to complement your study from the above sources.

Exam tips & other helpful information:

  • At the time of this blog post, the exam was 50 multiple choice questions, with 2 hours to complete.
  • Read the questions carefully.
  • Take your time – I completed in an hour, and used most of the second hour to review all the questions.
  • In some cases, you can use logical deduction to find the answer – knowing what isn’t right can lead you to the right answer.
  • I had ‘sourced’ online a couple of practice exams – I found some of the answers incorrect, and added confusion to the study I had already done.

Good luck!