Monday, April 28, 2014

Power BI, Power View, Power Query and PowerPivot – interesting links

 

Solving invalid pointer array error message in Power View for Excel 2013

Last week my Power View reports suddenly gave an error “We couldn’t get data from the Data Model. Here’s the error message we got: Invalid pointer array”

Luckily a colleague pointed to the correct solution on the forums – KB2752087 breaks PowerView in Microsoft Excel 2013. Apparently this was caused by the automatic update KB2752087 – so uninstalling this update would solve the above error but since it is pushed out by Windows Update that will not help a lot. The solution for this seems to be installing hotfix KB 2837666

Wednesday, April 02, 2014

Managed metadata – lookup terms using custom properties in CSOM

 

SharePoint Server 2013 introduces the notion of custom properties on specific terms in managed metadata termset and with  the added support for .NET client object model (CSOM) for managed metadata APIs you have some quite interesting scenarios that you can imagine (Check out managed metadata and navigation in SharePoint Server 2013)

A typical scenario is one in which you have a master system for which you want to export some parts to a termset in the managed metadata store. To make this to happen you will however need a key from the master system to be linked to the different terms that you are creating. Listed below is some sample code to look for a specific term based on a custom property.

   1:          static Term GetTermByCustomID(string customid)
   2:          {
   3:              Term retTerm = null;
   4:   
   5:              CustomPropertyMatchInformation matchinfo = new CustomPropertyMatchInformation(Program.clientContext);
   6:              matchinfo.CustomPropertyName = "ID";
   7:              matchinfo.CustomPropertyValue = customid;
   8:              matchinfo.TrimUnavailable = false;
   9:   
  10:              var terms = termSet.GetTermsWithCustomProperty(matchinfo);
  11:              Program.clientContext.Load(terms);
  12:              Program.clientContext.ExecuteQuery();
  13:   
  14:              if (terms.Count > 0)
  15:              {
  16:                  retTerm = terms[0];
  17:              }
  18:              
  19:              return retTerm;
  20:   
  21:          }



One of the things which puzzled me for quite a while was the TrimUnavailable property – but recently the documentation got updated which made it a little more clear - see TermSet.GetTermsWithCustomProperty method (String, String, StringMatchOption, Int32, Boolean) – apparently it is indicates whether to trim out Term objects that have the IsAvailableForTagging property set to false.


Tuesday, April 01, 2014

Session Yammer and SharePoint social data mining at SharePoint Saturday Belgium 2014

I will be doing a session on social data mining on SharePoint Saturday Belgium 2014 –  Yammer and SharePoint social data mining - actionable insights into what drives your co-workers and employees

Enterprise social tools such as Yammer and SharePoint allow you to listen to what is driving your employees. In this session we will examine how analytics tools can be use to monitor employee sentiment, predict employee churn or how they can be incorporated in an employee evaluation process. Attendees will explore how to use the different social APIs - both for Yammer and SharePoint as well as data mining and analysis tools to present employee social data in dashboards using Excel Services, Power BI and Visio Services which provide actionable insights.

Also check out the other speakers on SharePoint Saturday Belgium 2014 and the different sessions at SharePoint Saturday Belgium 2014

Monday, March 31, 2014

Search refiners in SharePoint 2013 and 2010: differences and some tips

An out of the box SharePoint Server 2010 installation shows six refiners or “Categories” including  Result Type, Site, Author, Modified Date, Managed Metadata columns, and Tags in the refinement panel webpart on the content search page.

The refinement panel webpart provides a summary of search results and enables users to filter results (See Refinement Panel Overview)


Figure Search refiners in SharePoint 2010

Refiners (SP2010) Managed Property
ResultType FileExtension
Site SiteName
Author Author
Modified Date Write
Managed Metadata Columns ows_MetadataFacetInfo
Tags ows_MetadataFacetInfo, popularSocialTags

In SharePoint Server 2013 you will get a different set of default refiners  File Type, contentClass, ContentTypeId, WebTemplate, DisplayAuthor and LastModfiedTime. The way that these search refiners are being rendered is determined by the display template which is selected.  This makes it a lot easier to modify the refinement panel. You will find the different search refiner display templates which are being used in the master page gallery underneath /Display Templates/Filters/ (The full URL will be something like http://yoursharepoint/_catalogs/masterpage/display templates/filters/)



If you look for example at the standard Refinement Item display template, you will also see why why the contentClass, ContentTypeId and WebTemplate are not shown in the search refinement panel.



A common question that you might get when upgrading from SharePoint 2010 to SharePoint 2013 is how to add the Tags refiner back in the refinement panel. This is actually pretty simple, just go to the refiners preview panel and add in the same managed property ows_MetadataFacetInfo.
One of the changes in SharePoint Server 2013 is the fact that refiner counts are not shown anymore by default. Fortunately it is actually quite easy to change this again. You can modify the display template of the refiners – the only thing you have to change is, setting the ShowCounts value to true.



The final result should look like this. If you need to repeat this step on multiple search centers you can use the PowerShell enable refiner count in SharePoint 2013





References:

Wednesday, March 19, 2014

Why enterprise social networks matter

In an time where globalization, co-creation and cross-company cooperation is essential for a company’s survival it is quite strange to see why companies still hesitate to embrace enterprise social networks (See Trends impacting collaborative tools and platforms for more background information)

The fact that we are more and more working in different locations makes it more difficult to use our traditional means of communication and collaboration. Especially in organization where physical face-to-face meetings are less and less the norm you see a change in how people collaborate.

In the late 1970s Tom Allen (MIT) undertook a project to determine how the distance between engineers’ offices was related to the way that they communicated and collaborated. One of the key findings was the fact that the probability of communicating at least once a week drops significantly if people are more than 50 feet apart.

We also see that people are not only working on multiple locations (separation by space) but also more and more asynchronously. This might be caused by the fact that people work in different time zones but also by the rise of flex-working.

This separation in both distance and time provides for some specific challenges which are hard to resolve using traditional technologies. Typical intranet and email solutions are broadcasting and are push technologies. Especially with email you see that the sender chooses the recipients (push medium instead of pull) and replies overload mailboxes.



Another side effect of using email as a many-to-many async mechanism is that knowledge gets trapped in email clients with no easy means of discovery and searching for knowledge. When a new employee enters the company he will probably be subscribed to a large number of email distribution lists but he has no access to all of the conversations which were ongoing or which happened in the past.
It is however essential that to create an organization in which social is embedded, that you need something more than enabling software tools. It is critical to have a social computing strategy that aligns business objectives, required cultural change, supporting processes and technology.

Whether you will be using SocialCast (VMWare), Salesforce Chatter, Tibco Tibbr, Jive or SocialText – a succesful implementation implementation all boils down to these 5 critical components:
  • Clear executive sponsorship and cultural willingness of the organization. If management is not listening or does not show it is listening, change will not happen.
  • Explicitly define specific communities of users to target as well specific use cases.
  • Define desired results and/or objectives for the different use cases and continuously measure the output. Make sure that the output is aligned with the core key performance indicators (KPIs)
  • Use an iterative approach – plan/experiment/learn – but make sure that the different learning experiences and use cases are aligned with your global social strategy.
  • Identify change agents (or champions or key users) who will get the social network started
References:

Monday, March 17, 2014

Images in SharePoint Server 2013 search

You might have noticed that SharePoint Server 2013 does not crawl image files (jpg, png,gif,…) and that it only returns these images as list items. Steve Mann wrote a series of blog posts about this (see links in the references) section – in the next steps I will outline a summary of the required steps as reminder:

  1. Add image to file types to search and run a full crawl of all content
  2. The image result type still uses the Default item display template – create a copy of the image result type and modify it to use the Picture item display template as outlined in SharePoint 2013: Image Preview in Search Results - Part II, strangely enough this will work different for images stored in a picture library or in another library – so you still have to modify the Picture item display template
  3. A last possible step is that you modify the hover panel so that it will also include a bigger preview of the image – as outlined in SharePoint 2013: Image Preview in Search Results - Part III

References:

Thursday, March 13, 2014

Using folders in SharePoint document libraries – some guidance and tips

The discussion about whether folders in SharePoint are a good or a bad idea comes up quite often – I already wrote a number of posts about this topic: Follow up – Folders in SharePoint document libraries – why??(October 2008)  as well as Folders and metadata – again (February 2010).

After some years of working with SharePoint and talking to a lot of users I have come to the following conclusions and I have re-written the original blog post to take into account the different enhancements of SharePoint 2013.

Sometimes users simply want to group documents in small groups since they are used to work this way, these groups of documents can be ad hoc and don’t necessarily translate into document metadata. So declaring folders in SharePoint to be evil is just one bridge too far – sometimes they have their use. But if possible and when the added value is clear you should indeed translate your folders into metadata especially when the naming of the folders contains a specific meaning.

Advantages of using folders in SharePoint document libraries:

  • It looks familiar to people used to work with file shares
  • Folders are required when you have a large number of documents in a document library – if you look at the Software boundaries and limits for SharePoint 2013 guidance on Technet – you will notice that the supported limit is 30 million documents in a single library but it also states that can use nested folders to store this amount of documents.
  • It is possible to define security on folders
  • Possible to define metadata on folders. Remark: the metadata is not replicated on the documents within the folder, if you want to do push down metadata from a folder level to the documents contained within you can use common default values or location-based metadata defaults (available in SharePoint 2010 and 2013) or document sets.
  • Possible to create an alert on a folder
  • SkyDrive Pro and Explorer View don’t really support metadata, by combining folders together with metadata you can still provide for some classification support.
  • If you really want to use folders, you can still create a “without folders” view in SharePoint.

Disadvantages of using folders in SharePoint document libraries:

  • Not possible to use it for filtering or to create views
  • Only allows for adding a single dimension of information, it also requires you to drill down into sub folders before you find the documents. All in all it is quite a rigid structure which leads to difficulty in finding content. It is especially annoying since you don’t see a count for the number of items contained in a folder so you click all the way down just to find that there is no document stored in the folder.
  • When you move a document to another folder (because you miscategorized it) - the url will change. This is not the case when you change a metadata field
  • Will increase the length of the URL - remember URL length for Docs in SharePoint is still at 260 characters
  • Contributors can change your carefully architected folder structure containing your classification.

Just keep in mind folders should be the exception in SharePoint and not the rule. Do not hesitate to leave a comment or your opinion.

Tuesday, March 04, 2014

Lock site collections in SharePoint Server 2007 and 2010

After migrating data from SharePoint Server 2007 to SharePoint Server 2010 you might want the information to be still available on the original SharePoint 2007 but you want to avoid that they still make changes to the original content. The easiest way to do this is using

stsadm –o setsitelock http://sitecollectionurl –lock readonly 

which allows you to lock one or more site collections - see Lock site collections (Office SharePoint Server) on TechNet for more information.

SharePoint Server 2010 provides you another option to do this using the Set-SPSiteAdministration PowerShell cmdlet -

Set-SPSiteAdministration -Identity http://sitecollectionurl -LockState ReadOnly

Tuesday, February 18, 2014

Solving query builder not working in SharePoint 2013 Central Admin

When you try to create a result source in SharePoint Server 2013 at Search Service Application level you might see an error when you are using the search result preview panel.



The Search display templates are not present on this site collection. To add them, you need to activate the "Search Server Web Parts and Templates" feature on the Site Collection Features page.
Display Error: The display template had an error. You can correct it by fixing the template or by changing the display template used in either the Web Part properties or Result Types. Template '~sitecollection/_catalogs/masterpage/Display Templates/System/Control_QueryBuilderPreview.js' not found or has syntax errors. (LoadTemplate: )

To solve this you actually have to do the following – open the SharePoint Server 2013 Management Shell and run the following PowerShell command:

Enable-SPFeature SearchWebParts -url http://


Office 365 – Unable to create SharePoint list using import Excel spreadsheet function

When you try to create a new SharePoint list from an Excel spreadsheet in SharePoint Online/Office 365 you might receive the error “The specified file is not a valid spreadsheet or contains no data to import”. The first step you should take to resolve this is adding the URL for SharePoint Online in your trusted sites in Internet Explorer. This did the trick for me.

Monday, February 10, 2014

BIWUG session on SharePoint oAuth and Visio Services

 

On February 25th, BIWUG (www.biwug.be) is organizing another session with some great topics. session of 2014 – don’t forget to register for BIWUG2502.

Agenda:

  • 18:00 - 18:30 ... Welcome and snacks
  • 18:30 - 19:30 ... Everything you should know about SharePoint OAuth!  ( Speaker: Lieven Iliano ) - In addition to user authentication SharePoint 2013 now introduces app authentication. Apps get an identity and require sufficient permissions to manipulate the SharePoint environment. In this amazing session we look at the new SharePoint 2013 authentication flow based on the OAuth protocol and the server-to-server trust model. We look at how developers should configure their app to request the set of permissions required.
  • 19:30 - 19:45 ... Break
  • 19:45 - 20:45 ... Visio Services in SharePoint Server 2013 ( Speaker: Thomas Browet ) - Presentation of the Visio Services JavaScript API what is possible and what's not. Using SVG in SharePoint to solve real world problems. Building an interactive treasure map using SharePoint, Visio, SVG, and JavaScript
  • 20:45 - …      ... SharePint!

Location: CTG, 140/A Woluwelaan, 1831 Diegem

Monday, January 20, 2014

SharePoint Saturday 2014 Belgium – Call for speakers

The BIWUG board is proud to announce a new edition of SharePoint Saturday Belgium. This year’s SharePoint Saturday will take place on April 26th at the same location of previous years – Xylos, Sint-Lendriksborre 8, 1120 Brussels.

A great SharePoint Saturday is however only possible with a great lineup of speakers – so if you want to be a speaker at this year’s event – fill out this survey - https://www.surveymonkey.com/s/CPFP97N  . It is possible to submit multiple sessions. We will close the call for speakers on February 14th EOD. You will get a confirmation of your session on February 22th at the latest.

Monday, January 13, 2014

10 things which might surprise end users in SharePoint Server 2013

SharePoint Server 2013 has made a lot of great changes to the user interface – including the new metro style - which make it easier and more fluent to use. While most of these changes make life a lot easier for end users there are some things which might surprise/confuse users who have worked with previous versions of SharePoint – here is my top 10 list (not necessarily in order of importance). If you think there are some other things, just leave a comment.



  • Another menu which has moved is the Create subsite option – it is now visible under site contents at the bottom of the page. This might be a good thing though since SharePoint sites are created quite frequently whereas a simple extra document library might be a better option.
  • In a multilingual setup for SharePoint with language packs installed – it is quite complex to change your language settings – check out  Multilingual User Interface and Language Packs for SharePoint Server 2013
  • The log on as a different user is not visible anymore – see KB2752600 Sign in as different user menu option is missing in SharePoint Server 2013
  • In SharePoint Server 2013 you can only create a blank site using Powershell or the Object model – the option to create a blank site has been removed from the SharePoint user interface.
  • SharePoint Server 2013 use a new date format which does not use the traditional MM/DD/YYYY format but outputs the date format in a more extensive format. You can however still switch back to the standard format (See Modified column below)

  • Drag and drop functionality for SharePoint document libraries not working in Internet Explorer 8.0 and 9.0 if you don’t have Office 2013 installed – but  it works in most versions of Firefox and Google Chrome (See SharePoint Server 2013: Drag and drop contents to library ) . Consider tying a SharePoint Server 2013 together with a Windows 8 or Office 2013 roll-out.

Saturday, January 11, 2014

Automatically updating User Profile properties in SharePoint Online/Office 365 not working

This might seem a common business scenario – you are using SharePoint Online and you want to automatically import some information from a third party system into the SharePoint Online user profiles. Unfortunately you are out of luck – in most cases – at this moment there is no option available to do this. This blog post explains the different scenarios and what is possible and what is not.

Option 1 – Using the SharePoint Client Side Object Model (CSOM)

As outlined in Work with user profiles in SharePoint 2013 , you have to use the server object model to create or change user profiles because they're read-only from client APIs (except the user profile picture).

Option 2 – Using the SharePoint Server Side Object Model

Not possible for SharePoint Online – you are out of luck here.

Option 3 – Using the (deprecated) SharePoint UserProfileService.asmx web service

For those of you who have been working with SharePoint Server 2007 might remember the UserProfileService.asmx webservice which provides a user profile interface for remote clients to read and create user profiles. This web service is still available in SharePoint Online (although considered deprecated). One thing which is a little trickier though in SharePoint Online is passing the correct credentials to your webservice to authenticate.

Luckily I found this blog post – Connecting to Office 365 using Client Side Object Model and Web Services which helped quite a lot.  To authenticate when connecting to your web service, you need to create an authentication cookie and pass it directly to the web service as well as make sure that login is correctly formatted. The next code snippet shows how to do this

static void AuthenticateUser(string login, string password)
{
//Reference - http://tomaszrabinski.pl/wordpress/2013/03/18/connecting-to-office-365-using-client-side-object-model-and-web-services/
var targetSite = new Uri(siteUrl);
var securePassword = new SecureString();

foreach (char c in password)
{
securePassword.AppendChar(c);
}


var onlineCredentials = new SharePointOnlineCredentials(login, securePassword);

ups = new UserProfileServiceRef.UserProfileService();
ups.UseDefaultCredentials = false;
string authCookieValue = onlineCredentials.GetAuthenticationCookie(targetSite);
ups.CookieContainer = new CookieContainer();
ups.CookieContainer.Add(new Cookie(
"FedAuth",
authCookieValue.TrimStart("SPOIDCRL=".ToCharArray()),// Remove the prefix from the cookie's value
String.Empty, targetSite.Authority));
}



To actually update a user profile property you can use the following code snippet.

static void UpdateProfileProperty(string login, string password, Dictionary<string, string> dictProperties)
{
var claimsLogin = "i:0#.f|membership|" + login;

try
{
//Provide login and password to UPS webservice - there is no global admin user who can
//update profile properties for other users
AuthenticateUser(login, password);

//Update Email
foreach (var pair in dictProperties)
{
UserProfileServiceRef.PropertyData[] newdata = new UserProfileServiceRef.PropertyData[1];
newdata[0] = new UserProfileServiceRef.PropertyData();
newdata[0].Name = pair.Key;
newdata[0].Values = new ValueData[1];
newdata[0].Values[0] = new ValueData();
newdata[0].Values[0].Value = pair.Value;
newdata[0].IsValueChanged = true;
ups.ModifyUserPropertyByAccountName(claimsLogin, newdata);
}
}
catch (Exception ex)
{
//Do something intelligent with your error :-)
}
}



Unfortunately when you try to update the user profile property from another user you will get an “Operation Failure ---] Attempted to perform an unauthorized operation” even when the user is a global administrator on your Office 365 environment.


So for the moment there is no option available for automatic updating SharePoint Online user profile properties from a third party system in a automated fashion without you having the user name and password of every single user.


References:



 


Thursday, January 09, 2014

Lessons learned about patching SharePoint Server 2013

I recently wanted to install SharePoint Server 2013 October 2013 Cumulative Update (see Understanding the title information shown in SharePoint 2013 search and how to make it work better) and I was a little surprised to see that the Cumulative Updates for SharePoint 2013 requires you to install the SharePoint Server 2013 March 2013 Public Update (KB2767999) first.

If you install this update on a single server setup or on servers running search components, follow the steps outlined in How to install updated packages on a SharePoint farm where search component and high availability search topologies are enabled because this will help you speed up installation or use the PowerShell script shown in Why SharePoint 2013 Cumulative Update takes 5 hours to install? (Thanks Thomas Vochten for the tip :-) )

Remember though that Cumulative Updates typically contain fixes to address product and security defects as well as minor design change requests and are released every other month (on even months). Cumulative Updates are not tested as extensively as Service Packs and don’t typically undergo broad external testing, so they should always be tested in a non-production environment (but the same also applies to Service Packs). For the latest available updates see Update center for Office, Office Servers and related products .

Happy patching ….

References: 

BIWUG session – Provider-hosted and autohosted SharePoint apps

 

On January 21th, BIWUG (www.biwug.be) is organizing the first session of 2014 about SharePoint provider hosted and autohosted apps apps as well as a deep dive session on SharePoint 2013 search – don’t forget to register for BIWUG2101.

Agenda:

  • 18:00 - 18:30 ... Welcome and snacks
  • 18:30 - 19:30 ... What about Provider-hosted and auto-hosted SharePoint apps  ( Speaker: Lieven Iliano )
  • 19:30 - 19:45 ... Break
  • 19:45 - 20:45 ... Apps,apps and apps  ... ( Speaker: Andy Van Steenbergen)
  • 20:45 - …      ... SharePint!

Location: RealDolmen, A. Vaucampslaan 42, 1654 Huizingen (Plan)

Hope to see you all there. For those of you who want to be  a speaker at one of the next BIWUG events, don’t hesitate to contact me on twitter or at joris.poelmans@biwug.be . We are still looking for speakers for the next sessions.

Monday, January 06, 2014

Understanding title information shown in SharePoint 2013 search results and how to make it work better

The title field which is shown in the SharePoint 2013 search results is by default mapped to the crawled properties as outlined in the table. There is however a hidden mechanism present in SharePoint 2013 which is called  title metadata extraction which overwrite the “Title” managed property with a value SharePoint extracts from parts of Word and PowerPoint documents (See SharePoint 2013 Ceres Shell – down the search rabbit hole for more details). In SharePoint 2010 you could override this behavior by changing the EnableOptimisticTitleOverride registry key but unfortunately this does not work in SharePoint Server 2013.

Crawled Property Origin Description
TermTitle SharePoint According to the documentation this is the title of an item in SharePoint but in my environment it is not filled in for any item. In my experience you can move this crawled property down in the priority for the managed property
Office:2 Office Office:2(Text) crawled property maps onto Title property which is used in the Word document itself as part of the summary information
ows_BaseName SharePoint Name of the SharePoint page
Title DocParser Title as picked up by the content processing component
MailSubject DocParser The subject of an email file as picked up by the content processing component
Mail:5 Mail Subject line of an email file
People:PreferredName People PreferredName property in the SharePoint user profile
Basic:displaytitle Basic Filename of Office document
ows_Title SharePoint Maps to SharePoint list field Title
Basic:10 Basic Mapped to Title,FileName
Basic:9 Basic Path metadata
If you install the SharePoint Server 2013 October 2013 Cumulative Update, you will notice that a new property is added called MetadataExtractorTitle. This property is filled in by the Microsoft.MetadataExtractorSubFlow.dll processing flow.



So if you want to be sure that the title of the an item is used in SharePoint search result, you can move the ows_Title crawled property before the MetadataExtractorTitle property. If one of the crawled properties is empty, the next crawled property will be used. This means that if the user does not specify a title in SharePoint, SharePoint will try to use metadata extraction for Word and PowerPoint files to give a an alternative for the title.
Unfortunately, you will need to perform an index reset first and afterwards you will need to do a full crawl to see the result of your changes.
References:

Saturday, January 04, 2014

Quick tip: debugging SharePoint 2013 search display templates

The easiest way to debug your SharePoint 2013 search display templates is to just to put in a debugger; statement in the first Javascript part of your search display template.
First you will however need to uncheck the  “Disable script debugging (Internet Explorer) option in your browser (Go to Internet Options>Advanced>Settings – Browsing category). This will allow you to break in Visual Studio and view all the necessary variables which will help you to debug your display templates.


Monday, December 30, 2013

SharePoint 2013 Ceres Shell – down the search rabbit hole

When preparing for the BIWUG Session – Everything you always wanted to know about SharePoint Search Relevance  I came across a number of blog posts about the Ceres shell. For those of you interested about the inner workings of SharePoint search, keep on reading.

The Ceres shell is a set of PowerShell cmdlets which allow you to control the internal workings of SharePoint Server 2013 search. It is a remnant of the FAST search engine which provided a set of very powerful tools to tweak the search engine inner working (but also to completely tear down you search :-)) and which is now integrated in SharePoint Server 2013.

As Christoffer Vig outlined in his blog post Making synonyms visible in SharePoint 2013 search results  modifying the settings in the Ceres engine can completely ruin your SharePoint install, so be careful and I’m not really sure if modifications are even supported.
In this post we will explore how the different content processing pipeline components work using the Ceres shell. The Ceres shell script is located underneath C:\Program Files\Microsoft Office Servers\15.0\Search\Scripts\ceresshell.ps1.  The script listed below allows you to connect to Ceres engine and list all the different flows.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
& "C:\Program Files\microsoft office servers\15.0\search\Scripts\ceresshell.ps1"
Connect-System -Uri (Get-SPEnterpriseSearchServiceApplication).SystemManagerLocations[0] -ServiceIdentity hpw\spfarm
Connect-Engine
Get-Flow



To look at the configuration of one specific flow you can specify the flow name as a  parameter.

Get-Flow Microsoft.MetadataExtractorSubFlow



One of the things I had been struggling with in SharePoint 2013 is the title field which is shown in the search results. By default SharePoint 2013 contains a mechanism which will override the title managed search property with some extracted text from PowerPoint and Word documents – this is similar to the EnableOptimisticTitleOverride functionality in SharePoint 2010. The Microsoft.MetadataExtractorSubFlow.dll contains some mechanism which determines that the some line of text in a header of a document is a more suitable title for the document and overwrites all of your other properties (The title filled in the Word document properties or the title in SharePoint, etc…). However, this does not always work as expected.

If you look at the flow details, you will see that extractedTitleField maps onto the Title managed search property and that the Author and LastModifiedTime fields use the same mechanism.



I guess that if you update this flow in a similar fashion as here Making synonyms visible in SharePoint 2013 search results you will be able to display the metadataextraction but I think there is a better way to do this after installing the SharePoint Server 2013 October 2013 Cumulative Update  - stay tuned for another update on this in a next  blog post.

If you have found great blog posts or other uses of the Ceres engine – please leave a comment.

 References: