Mar 06
Continuously Searching for Continuous Crawling

Most content sources in SharePoint 2013 are crawled exactly the same way they were in SharePoint 2010 (Full and Incremental Crawls). If you happen to be crawling a SharePoint Site, however, there is a new crawl type called "Continuous Crawls".

Enabling this functionality is pretty straightforward – simply click the radio button for "Enable Continuous Crawls" and you're good to go. By the way, you can choose Incremental or Continuous Crawls, but not both. Full crawls and Continuous crawls can both work together just fine.

Timing the Crawls

Continuous crawls can overlap, meaning that two or more can run at the exact same time. This is useful for environments where search freshness is paramount. If you start one crawl and it has passed a piece of content (but not completed), another crawl may start before the first has completed and add the new content to the index. This interval is set to every 15 minutes, by default.

So, what's the problem?

Well, it's really not a problem, more of a rant. There is guidance on several sites (apparently all copied from Microsoft – plagiarism is rampant) that states that the interval for continuous crawls can be set via the Set-SPEnterpriseSearchCrawlContentSource.

Well, I'm here to tell you, it ain't – the previous statement is a load of hoo-ha (that's a self-editing Texas-ism, by the way).

Click the link to see the contents of this cmdlet – there are exactly two switches which include the word "interval" for this cmdlet – both of these are used with the "Full" and "Incremental" crawl types only:

  • -CrawlScheduleRepeatInterval is used to specify the number of minutes between each repeat interval for the crawl schedule
  • -CrawlScheduleRunEveryInterval specifies the interval between crawls, and its meaning depends on either the DailyCrawlSchedule parameter (specifies days between crawls) or the WeeklyCrawlSchedule parameter (specifies weeks between crawls).

"These are not the droids you're looking for. Move Along…"

After spending a little quality time "BINGing" the internet, I found the correct information on the SharePoint IT Pro Blog. It's covered in Bella Engen's article called the "Stage 4: Set up search and enable the crawling of your catalog content" article, part of her "How to set up a product-centric website in SharePoint Server 2013" series.

HOORAY!!!

So, per this article (in the section "How to set continuous crawl interval"), the continuous crawl interval is a property of the enterprise service application that you specify:

$ssa = Get-SPEnterpriseSearchServiceApplication

$ssa.SetProperty("ContinuousCrawlInterval", 1)

The Result?

Adapting this to my need, I set the search app variable and then altered the property of the service application – All Good!

$searchapp = Get-SPEnterpriseSearchServiceApplication "Search Service Application"

$searchapp.SetProperty("ContinuousCrawlInterval", 1)

Mar 04
Slide Deck from SharePoint Saturday Austin 2013

This last weekend, I had the privilege of presenting at SharePoint Saturday Austin. The topic of my presentation was "Zero to High Availability in 60 minutes (Building a SQL 2012 HA Solution for SharePoint in under an hour)".

First Things First

The demo and presentation took every bit of an hour, but we made it through, eventually showing a completed Availability Group in SQL Server 2012 which would be suitable for use with a SharePoint 2013 server installation.

You can find the slide deck for this presentation HERE. Within each slide is a comments section, showing the actions I took at each stage of the configuration. If I missed anything or you just need to talk about it, feel free to drop me a line (it's in the deck).

And Now for the Tourism

One of the best parts of conferences is the travel.

In Austin's case, the hotel for the conference was AWESOME. We stayed on the 15th floor, facing east; the good news is you get a great view of the sunrise, the bad news is that you may not have intended to get up that early J

Sunrise over Austin

One of the cool things about our room was the visual effect given by the side window. Austin suddenly became Tatooine with dual suns – phew, bet that would be tough in the summer.

Austin - A Wretched Hive of Scum and Villainy???

The view from breakfast was even better – these windows faced west, showing off some of some of Austin's new and old architecture…

Austin Architecture

And finally, the Texas Capitol – interestingly enough, Google maps said that this was where the hotel was located. I don't think so... J

The Texas Capitol Building in Austin

Feb 10
Breaking the Law – Viewing Health Reports in SharePoint 2013

SharePoint 2013 provides the usage and health data collection services (this functionality is also present in SharePoint 2010). Using these services, you can utilize a series of SQL queries and stored procedures to view, examine, and report on SharePoint metrics from within SQL.

Whoa – hold up for a minute! You're not supposed to even open a SharePoint database in SQL Server Management Studio, right?

The answer is a definitive, "Yes, but." All databases within SharePoint are off limits to SQL queries/manipulation except the SharePoint Server Logging database (the default name of this database is WSS_Logging if you are looking for it in SQL Server Management Studio).

This database excels at capturing events in a farm-wide fashion. Event Viewer, IIS Logs, even our beloved ULS Viewer – none of them can match this ability. Simply put, this database is a clearinghouse of information about your farm, soup-to-nuts.

(If you'd like to look at this further, by the way, check out this Technet article).

From File System to Database

Once this service is activated, the system takes information from the log file location of each server in the farm (usually "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\LOGS\") and sends this information to the Logging database for the farm, where it is processed and stored in a series of tables which are partitioned by category on a daily basis (dbo.AccessServicesMonitoring_Partition1, _Partition2, and so on).

Figure 1 - Partitioned Tables by Category

The View is GREAT from here

Contained within this database is a series of database views that are already assembled for us non-SQL SharePoint people to consume. Each of these views works with a particular category's partitioned tables to generate a picture of a particular functionality within SharePoint 2013 (works in 2010 also, like I said before).

Here's the rub – one of these bad boys isn't working in SharePoint 2013 RTM (that I know of, haven't tried them all).

Enabling Usage and Health Data Collection

Sounds good so far, let's turn this on!

There's really not much to making this work with the defaults:

  1. Open Central Administration à Monitoring à Reporting à Configure usage and health data collection
  2. Leave the "Enable usage data collection" checkbox selected
  3. Look at all the Events that are logged to this database by default (already preselected)

Figure 2 - Configure usage and health data collection

  1. Scroll down to the bottom of the page and click OK – Simple!

Let's See Some Magic

Now that we have this all configured, we should be able to look at one of the built in reports.

  1. Open Central Administration à Monitoring à Reporting à View health reports
  2. When the "Slowest Pages" screen appears, select the server, web application, number of items and time range you'd like to view, then select the Go button.

 

Figure 3 - Selecting items to view 

  1. Aww man – what does THIS message mean? "You can only specify the READPAST lock in the READ COMMITTED or REPEATABLE READ isolation levels."

Figure 4 - Something Went Wrong

So, How Do We Fix It?

Sounds like we're gonna have to put our DBA hat on. Doing a little digging on the web, I found this article by Jason Lee that sounded like the solution (and it was).

His blog post indicates that the proc_GetSlowestPages stored procedure doesn't work as expected (in SQL Server Management Studio, expand the database, then in the Programmability section, expand Stored Procedures to see dbo.proc_GetSlowestPages).

To modify the stored procedure, right click it and select Modify. Jason's post calls for you to remark out the WITH (READPAST) section of the SELECT TOP(@maxrows) query, as shown below.

Figure 5 - The Culprit

Adding /* and */ characters before and after this selection remarks it out.

Figure 6 - Remarked Out

All Better Now

All that remains is to deploy the fix and try the report again.

To deploy the fix, simply execute it (this saves the modification to the stored procedure). When the "Command(s) completed successfully" prompt appears in the Messages window, you are ready to try out the fix.

Let's run the Report again and see what the result was supposed to look like:

  1. Open Central Administration à Monitoring à Reporting à View health reports
  2. When the "Slowest Pages" screen appears, select the server, web application, number of items and time range you'd like to view, then select the Go button.

The Report appears, as shown below.

Figure 7 - Corrected Report

Again, for technical details about how this problem was captured, see Jason Lee's blog – some amazing SQL sleuthing…

Apr 03
Word Viewer in Sandbox

So, I was working with a client's farm this evening. They had recently asked me to install Office Web Apps to the farm, and I had obliged, verifying that the Word Viewer had worked without issue.

Yesterday, I get a call from the same client. He states that some of his documents won't render in the browser.

Doing a mild bit of browsing/troubleshooting, I ran across a blog entry that seemed to indicate that non-DOCX versions of Word documents would not display properly. Sounds plausible, so I passed that along.

The next day, I get a call that DOCX documents are also misbehaving. Checking back in with my site that I had previously visited, I see that all appears to be well. Going to the site where the client is having issue, I found that all was indeed NOT well.

When I tried to access the document via the browser, Word Viewer responds with the most generic error message possible, "Word Web App cannot open this document for viewing due to an unexpected error" – UGH. And of course, there is the obligatory Correlation Error ID; good, I'll use that in a bit.

I don't know if you've ever gone looking for this error (remember, I said it _is_ generic), but causes of this particular symptom range from misconfigured Service Applications to Database Access. Not wanting to believe either of these were my issue, I went to the ULS for answers.

Keying the Correlation ID into ULSViewer, I see the following issue:

An image from the ULS log which shows several Silverlight errors.

[By the way, if you admin a SharePoint Farm and you haven't tried ULSViewer, you're working WAY too hard – here's the URL, make sure to click the download tab – it's FREE]

OK, back to our issue/screenshot. What the heck does that mean?!? I went digging and found this post by James Boman. He explains that the Word Viewer runs in the sandbox (no, I don't know why it would either), and that this limitation causes the Silverlight conversion of Word documents to sometimes fail outright.

Per Boman and several other sources, you can set the WordServerIsSandboxed property to "false" by running a simple set of PowerShell commands. Before you begin this process, you need to know that completing this change will require an IISRESET (brief outage for your farm):

First, set a variable for your Word Viewing service application:

$e = Get-SPServiceApplication | where {$_.TypeName.Equals("Word Viewing Service Application")}

Next, check the existing sandbox status of your service by reviewing the WordServerIsSandboxed property:

$e.WordServerIsSandboxed

Change the existing sandbox status of your service (set the value of the property to "false"):

$e.WordServerIsSandboxed = $false

Verify the changed property:

$e.WordServerIsSandboxed

And finally, perform an IISRESET to have this change take effect:

IISRESET

At this point, your document should successfully display within the web browser using Word Viewer; if not, check the TechNet articles and see what you may have misconfigured.

Jan 20
Android and Microsoft Lync? You’re Pulling My Leg!

Nope – I’m not. My GUIO intranet BPOS site is being converted to Office 365 this weekend. I can finally get busy on an internet-facing GUIO site as part of my E1 Office 365 Site.

As part of this transition, Microsoft asks that some preparations be made in advance – one of these preparations is loading Microsoft Lync on the client desktops to replace Live Meeting and Office Communicator, while another is making domain DNS changes for your SIP services (Lync).
 
While I was getting all of this set up, my trusty Samsung Galaxy (First Generation) died. Specifically, it won’t Bluetooth anymore. So I bought a Samsung Galaxy Nexus to replace it -
 
Hold on there, wait a minute - before you toss those rotten tomatoes at me, you should know that I’m a dyed-in-the-wool Microsoft guy (I had Windows Mobile since it was Palm-sized PC), but Verizon only has one [not kidding here] Windows Mobile phone, the HTC Trophy.
  • It won’t tether or act as a Wi-Fi router, and
  • It isn’t 3G – deal killer
 
And now, back to our regular story. So I was sitting here playing with the Android Market, and searched for “Microsoft”; I am a hopeless Microsoft Tag fiend, and have this on my business card (If you don’t, I highly recommend it – no one will ever lose your contact if they can scan it immediately).
 
I found Microsoft Tag, as expected, but was absolutely _floored_ by the fact that I can get Microsoft Lync on an Android. Wow, Awesome!
 
I load it up, using the same credentials that work on my laptop, and – nothing. Try keying in my password again – still nothing. The Android refuses to connect.
 
I spent a few moments searching for why I might be having a connectivity issue when I found an article on Microsoft Support, entitled “How to use and troubleshoot issues with Lync Mobile on Google Android mobile devices”.
 
Sweet. In the “Troubleshoot Auto-Detect” section is everything I need.
  • Add a CNAME Alias, “lyncdiscover” and point it to “webdir.online.lync.com” – that’s it.
An Android device with a Microsoft program to extend Office 365 – here’s to getting the entire Office Mobile suite. I’d pay for Android-based Office Mobile, no doubt – but only if it has SharePoint Workspace…Pretty please, Microsoft?

 

Jan 20
An Easy Way To Locate SharePoint 2010 Patches

Updating SharePoint to the latest Service Pack or Cumulative Update (or both) can be challenging. Your organization may have something as simple as a SharePoint Foundation install, or something as complex as a SharePoint Server + Project Server install.

There are several guides out there for installing the patches, but I've always found it to be a (small) challenge to locate the latest Service Packs or Cumulative Updates in a single location. While I was browsing the Microsoft TechNet site today, I stumbled across a site under the SharePoint Product site that I thought was VERY useful:

Updates for SharePoint 2010 Products

This one link makes getting your SharePoint installation update a whole lot easier by providing:

  • Tutorials on best practices for applying SharePoint software updates
  • Links to Documentation for updating SharePoint installations
  • And my personal favorite, the Latest Software Updates section

As I maintain several farms for different clients (each with its own patch level), I thought this last section was interesting simply because it provides links to all of the Service Packs and Cumulative Updates (CUs) since the product was released.

By the way, if you have a larger installation which includes other SharePoint-related gems, such as:

  • Office 2010 (client)
  • Office Web Apps
  • Search Server 2010
  • FAST Search Server 2010 for SharePoint

You might consider going to the main site for updates, the aptly named "Update Center for Microsoft Office, Office Servers, and Related Products" site. Don't forget to get a good backup before you start patching, and read the docs thoroughly.

Jan 18
What If There Were No Internet…

Update: The battle isn't over yet, but Congress seems to be having some indigestion with SOPA and PIPA per USA Today...

I have been in the technology industry for more years than I care to count – I remember life before the internet…

I remember things like having to make long distance phone calls to Microsoft and describe the things that were occurring on my computer because there was no way for us to visually share information.

I remember having to send away (yes, send a letter) to Hewlett Packard or other vendors requesting drivers on floppy disks and waiting days for the driver to arrive.

I remember having to read software manuals that were poorly written and full of flaws because only a few authors and reviewers had laid eyes on them before they went to print.

I remember only being able to find solutions to technical problems via word of mouth or small user groups.

Now imagine that you are sitting at your breakfast table, reading your newspaper, when suddenly and without explanation, the article you were reading simply disappeared. Or worse yet, you find that you did not receive a paper that morning (and never would again), because they had printed something that someone had found offensive.

As an American, you would immediately begin calling people to find out where your constitutional freedoms went. We believe in things like freedom of speech and freedom of the press, but we have to be willing to protect those freedoms.

Piracy in all forms is bad, no doubt about it – I firmly believe people should get paid for the fruits of their labor, whether the labor involves rebuilding a car, building a house, manufacturing a bridge, flying a plane, or producing intellectual property (something I do and am passionate about).

We, as a nation, are facing a serious issue – large corporate interests are pressing Congress and the nation at large to accept legalized censorship in a couple of broad, sweeping laws known as SOPA (Stop Online Piracy Act) and PIPA (Protect Intellectual Property Act). Content and web sites could simply vanish from the internet just because large corporations say so – instantly, without recourse. Even the President of the United States has come out against this legislation.

Several web sites all over the internet are going dark today – in essence, their content is being removed, albeit temporarily. As a sign of solidarity with the internet community, the content of this BLOG will be replaced with this article – and the links shown below. If you like a free and open internet, now is your chance. Call or write your congressman and tell him or her what the internet means to you – heck, fill out the petition (in the link below) to stop this legislation and they'll get it.

Read about SOPA and PIPA here.

Sign the petition to stop these initiatives here.

Oct 01
Why IT Conferences Matter

Here we go again! I am packing my bags to go to the 2011 Microsoft SharePoint Conference in Anaheim, California (#SPC11, if you want to follow along on Twitter). For the last week, there's been a flurry of activity – phone calls, printing confirmations, and wrapping up items at my client site so that there will (hopefully) be no surprises that arise during my week away.

Last night, I was thinking about just how busy this last year has been, and how many different conferences Marlene and I have attended. Obviously, the Microsoft SharePoint Conference is a big one for us, as it does not happen that often. We have also attended or presented at SharePoint Saturdays in Virginia, San Antonio, Houston, and New Orleans.

I am an independent consultant, with my own little consulting firm (GUIO). At this point in GUIO's existence, there are currently only two employees, myself and Marlene Lanphier. As "Indies", every hour away from the office is non-billable – in other words, if we aren't working, we aren't getting paid. Additionally, going to these conferences has additional costs such as hotel, airfare, and other expenses.

So, why go?

Training

Unlike a formalized training class, which focuses on a particular topic for the duration of the class, conferences present more of a "cafeteria" opportunity for training. I would challenge you to go to classes that are not only specific to your experience range, but also to go to classes that are outside your normal realm of expertise. I cannot tell you how many times I've met Infrastructure and Development experts that did not understand each other's roles in a SharePoint deployment, much less what SharePoint is capable of from an End User/Information Worker standpoint.

Experience

A lot of times, the people presenting at these conferences have been in your shoes. Whether your focus is on Infrastructure, Development, Information Worker, or Executive skills, odds are that (a) there is someone who is presenting a topic specific to your skillset and (b) that they may be at your experience level, working through the same issues you are on a daily basis.

Networking

This is probably the most valuable part of a conference – getting to know others in your field can be extremely valuable in the long run. Without exception, every person I have ever worked with in SharePoint knows something I don't. Meeting and interacting with these people results in new acquaintances and friendships – put this together with social media such as Twitter, Blogs, and Facebook and you've got a solid network of people who are experiencing the same trials and tribulations that you are.

So, are you convinced yet? If you have a tight travel budget, there's likely a conference near you. Here are a list of SharePoint conference providers that you can check out (in no particular order):

Aug 20
Where Were You This Last Weekend?

This last weekend, I got the opportunity to attend SharePoint Saturday: The Conference in Washington, D.C. This conference was a large gathering of both Technical and Information Workers who work with a myriad of technologies, including:

  • Microsoft SharePoint Foundation 2010 / Windows SharePoint Services 3.0
  • Microsoft SharePoint Server 2010 / Microsoft Office SharePoint Server 2007
  • InfoPath Forms Designer
  • SharePoint Designer
  • and more…

This was a three day presentation track, with full-day workshops on the Thursday, and regular 1-hour long sessions on Friday and Saturday. I noticed early on how smoothly the overall conference went, considering the size of the event and the fact that it was largely staffed by local volunteers.

On Thursday, I attended the "SharePoint IA Design 101" session put on by Richard Harbridge (@rharbridge) and Virgil Carroll (@vcmonkey) – A completely awesome session, it addressed some of the traditional shortcomings of not planning your SharePoint IA and Navigational structure.

Friday and Saturday, I went to a myriad of sessions as I was able (nothing like last minute technical preparations for a Saturday session). Good stuff all around and I really wish I could have attended more.

If you missed the event and want to catch up with a lot of the speakers (and free slide decks!), go to Twitter and look up the hash tag for the event, #SPSTCDC. Or, if you just want to see slides from my session on SharePoint and mobile devices, entitled "SharePoint To Go", the link for the slides is here.

Aug 20
I Can See The Finish Line – We’re Almost There!

"Part of the issue of achievement is to be able to set realistic goals, but that's one of the hardest things to do because you don't always know exactly where you're going, and you shouldn't." – George Lucas

This is a really good quote that has pretty much summed up the past few months. For the last year or so, I've been a technical editor for Microsoft Press / O'Reilly Media on a few projects (My personal favorite so far is "Microsoft SharePoint 2010 Plain & Simple", written by Jonathan Lightfoot (@exnav29) and Chris Beckett (@sharepointbits).

Technical editing is fun work – but I have a strange idea of fun (ask anyone who knows me!). This type of editing, involves three distinct steps:

  1. Read a chapter
  2. While reading, look for omissions or errors
  3. Run through any instructions shown to check that they are correct, clear, and accurate

Like I said – FUN!

I mean, how else do you get to see a book that no one (outside of the authors and editors) has gotten to read?

After I had completed my last book edit, I was invited to write a few chapters in an upcoming Microsoft book, entitled: Microsoft SharePoint Foundation Inside Out. I was excited to hear that I would be a co-author with people whose work I had previously read:

The last few months, I have had the privilege to be both a writer and a technical editor on this book, although a lot of chapters (including mine) were edited by Marlene Lanphier (@MarleneLanphier, and my better half).

I was excited to hear that portions of this book have now made it into Rough Cuts, which gives readers the opportunity to purchase the early version of the book (electronic, paper, or both) and then receive the completed book when it is published.

Microsoft SharePoint Foundation 2010 Inside Out

Go have a look, tell us what you think!

1 - 10Next

 Author of

Exam Ref 70-331: Core Solutions of Microsoft® SharePoint® Server 2013 Exam Ref 70-331: Core Solutions of Microsoft® SharePoint® Server 2013
by Troy Lanphier
Microsoft® SharePoint® Foundation 2010 Inside Out Microsoft® SharePoint® Foundation 2010 Inside Out
by Errin O'Connor, Penelope Coventry, Troy Lanphier, Johnathan Lightfoot, Thomas Resing, Michael Doyle