The SharePoint 2013 App store

OOTB (Out Of The Box) SharePoint doesn’t always offer all the functionality that a company or organisation requires. This is why sometimes add-ons and extensions are used or custom web-parts are developed to add new functionality which is not already available in OOTB SharePoint.

In SharePoint 2013 they have extended this idea to something called apps, and a centralized place to access and manage these apps – The App Store. Users can connect to the store from within SharePoint and they can search and browse for apps to download and install to the SharePoint environment.

They have also introduced the idea of an App catalog so access to these apps can be controlled by administrators. The App catalog will contain only the Apps that have been selected and approved by the administrator.

All apps in the app store have been approved by Microsoft and the end user process of installing and managing the apps has been made really easy with the SharePoint 2013 user interface.

SPapp pic

If you would like to have a look at of some of the apps available in the SharePoint 2013 App store you can browse the store using this link –

http://office.microsoft.com/en-us/store/apps-for-sharepoint-FX102804987.aspx

Troubleshooting UPS in SharePoint explained!

Lots of people are looking at or in the process of migrating to SharePoint 2013, but there are still lots of SharePoint 2010 systems that still need maintenance.

In the world of SharePoint, the function of moving user information from AD to SharePoint is usually referred to as “User Profile Synchronization”

We recently had an issue with a client who had a problem with the UPS in SharePoint 2010 and needed some help to get it working again.

A little bit of background, this client had extended their Active Directory Schema with some custom attributes, which were mapped into SharePoint, also when a new employee started they added information into a SharePoint profile that was stored in the Profile Database and nowhere else, so a key requirement was to ensure we could get the UPS working again with no data loss.
Within the SharePoint platform a number of components are used to provide this function, some are in the ‘core product’, some are outside of the ‘core product’ but are still key to the function.

Within the ‘core product’ there is:
User Profile Service Application – This is the container within SharePoint for everything to do with Users and profiles

The Synchronization Connection – This tells SharePoint which AD to connect to and allows for the credentials of the AD Sync Account to be entered

The User Profile Service – Deals with internal SharePoint requests for user profile information.
The User Profile Synchronization Service – Deals with the flow of profile information from and potentially to AD

 

NKUPSimage 1

The FIM (Forefront Identity Manager) Windows Services – these deal with the actual talking to AD.

nkups image 2

The FIM Client Tool –or manager tool can be used to review the sync Logs
Outside of the ‘core’ product we have the User Profile and Synchronization databases

nkupsimage3

AD Sync Account – The account is configured with special permissions within Active Directory allow the profile sync to work.

Looking at SharePoint we could see that all the components in SharePoint are running, but the sync log was showing connection failures when trying to talk to AD with the error “Invalid Credentials”

nkupsimage4

Which means “Authentication is not possible using the supplied credentials.”, This suggests that the AD sync account credentials need to be refreshed in the AD connection string.
When trying to open the AD connection we are getting the following, no AD connection is showing.

 

nkupsimage5

We used information in the original Design Document to create a new AD connection

nkupsimage6

Trying to Save the connection gave this error, and the connection was not saved.

nkupsimage7

Generally this means that the Windows Forefront Identity Manager Service is not running, but it was in this instance, so we restated this service but received the same error.

The next step is to re-provision or redeploy the FIM configuration, this is simply a case of stopping and starting the User Profile Synchronization Service, starting this service is a common problem and it often gets stuck in either the “stopping” or “starting” status, As a precaution we deleted all the Forefront certificates from the local certificate store as this is a common restart problem as new certs will be added by the FIM tool.

nkupsimage8

The User Profile Synchronization Service failed to restart (Provision the FIM) the following is the ULS Log showing the failure, the FIM will have 4 retries then stop.

nkupsmissing

The matching error in the event log seems to be this

nkupsimage10

Referring to the article below, step 13 appears to be failing, trying to update the Management Agents that have been created in the Sync database.
http://blogs.msdn.com/b/spses/archive/2010/12/02/guide-to-user-profile-service-application-upa-part-2-setting-up-the-user-profile-service-application.aspx
This indicates that the we need to reset the Sync database, I used this article http://technet.microsoft.com/en-us/library/ff681014(v=office.14).aspx#resetSync
To reset the Sync database, this has allowed the User Profile Synchronization Service to re-provision

nkupsimage11

Trying to create new AD connection gives this error

nkupsimage12

An IIS Reset brought the screen back.
We were now able to create a new connection and kick off a Sync.

nkupsimage13

nkupsimage14

Embedding Videos in SharePoint 2013

In SharePoint 2010 if you want to embed external content, like YouTube videos for example, you need to use an HTML from web part or some other special part. However in 2013 you can embed directly to the HTML content on an article page.

To use this feature just click video and audio under INSERT and then click Embed.

BLOGfmApril 1

 

Paste the embed code of the YouTube video (or any other web content you would like to embed)

BLOGFMAPRIL 2

You will notice that SharePoint automatically shows a preview of the video.

Click insert and this video will now be displayed on the page.

blogfmapril 3

It is saved as a snippet which can be moved and positioned on the page as required.

This is a really cool feature of SharePoint 2013 which makes it easy to embed external content on your site.

 

 

 

Using ULS viewer to troubleshoot errors in SharePoint 2010

As a SharePoint administrator you or an end-user may have been presented with an error message in SharePoint like the one below.

imageFM

The correlation ID in these errors correspond to an entry in the ULS log which by default in SharePoint 2010 can be found at

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS

These logs can be opened and viewed in notepad but are very hard to navigate when trying to find what you are looking for, however there is a tool called ULS viewer which can be very useful in this instance.

The log file can be opened in ULS viewer and it will be displayed in a user-friendly format. You can then perform advanced functions such as searching, filtering, sorting, highlighting etc and single out the data that is important.

image2FM

The ULS Viewer can also be run in different modes. If you run ULS viewer on a machine running SharePoint 2010 the logs will be shown in real-time. You can then filter message level by clicking the icons in the middle and it will tell you what is going on inside SharePoint.

Image3FM

Another very useful feature is the Toggle Correlation Tree button. This allows you to select the correlation ID from a tree on the left panel and all entries for this ID will be displayed.

Image4FM

You can also set up notifications to pop up for critical messages.

IMAGEFM5

As you can see this tool is very useful for troubleshooting errors in SharePoint. It can be downloaded for free so give it a try.

http://sharepointlogviewer.codeplex.com/

Let us know how you get on!

SharePoint 2013 Continuous Crawl

What is it?

In SharePoint 2010 you have Full Crawls and Incremental Crawls. You can schedule both crawls and often the Incremental Crawl is scheduled more i.e. multiple times through-out the day. With Incremental Crawl all content changed since last crawl is retrieved and indexed but the results may not be as accurate as anticipated.

SharePoint 2013 introduces a new continuous crawl feature to improve content freshness. While the crawl is still set for a fixed interval, this “3rd” crawl mechanism does help to keep SharePoint content significantly more up to date. Continuous crawls are only available for content sources that use the SharePoint Sites content source type.

Full Crawl

A “Full crawl” crawls entire content under a content source. This is dependent upon two settings specified at the time of creating the content source “Content Source type” & “Crawl Settings”.

Incremental Crawl

An “Incremental crawl” crawls the content which has been added/modified after the last successful crawl; therefore you can have this set to crawl multiple times a day.

Why is it better than previous crawler’s?

Unlike “Full” and “Incremental” crawls, multiple “continuous” crawls can run at the same time. Also, a continuous crawl does not process or retry items that return errors in order to improve speed.  This means that you still need an incremental crawl to update any items that return errors. The incremental crawl will retry items and postpone crawling the item if the error persists.

 To enable continuous crawl on an existing Content Source:

  • Open Central Administration
  • Then Application Management >Manage Service Applications > Search Service Applications
  • On the Search Administration page click “Content Sources” on the left side navigation
  • Hover over the Content Source you want to manipulate and click “Edit” from the drop down

image DC

  • Then select the “Enable Continuous Crawls” radio button

ImageDC1

How can it help?

Crawlers are running in parallel and due to this the crawler can get changes from the SharePoint sites every 15 minutes. This is the default setting and it can be changed using PowerShell. When a crawl is executed and finished it continues to crawl immediately in spite of the length. When a crawl is taking more than 15 minutes to handle the content set another crawler is started.

It is even possible that a second crawl is started only a few minutes after the first crawl, this way the newly added or changed data is almost immediately available through the search.

With continuous crawling; data is almost immediately ready for searching. There are no more issues with incremental schedules and big data which can cause missing schedule windows. Using continuous crawls and the content by search web parts now give us opportunities to build exciting search driven solutions within your environment.

Site Policies in SharePoint

For anyone who has used SharePoint for a while will be familiar with the issue of site and content sprawl, without strong governance rules SharePoint can quickly become a mess of sites and sub-sites with varying degrees of content quality. Some might be old and some might be current, it can be hard to tell.

With SharePoint 2007 & 2010 the only option we had to help with this issue was the Site Use Confirmation and Deletion tool. This is quite a blunt instrument that can be used to delete an entire site collection after a configurable number of emails are sent to the site collection owners after a period of non-use. However this can only be configured within SharePoint Central Administration, an area of SharePoint that most information workers would not have access to.

With SharePoint 2013 we now have a new site collection feature “Site Policies” which is available to help with site governance and can be controlled at Site collection level, by business owners assigned as Site Collection owners.

To access this feature we go to Site Actions (gear symbol) > Site Settings > Site Collection Administration and select the Site Policies link.

pic 1

Once inside the Site Policies page we can edit any existing Site Policies or create a new policy from the Create link.

pic 2

Setting up a new Site Policy is simply a case of adding a name and description and selecting the Policy setting for site closure and deletion events.

pic 3

With Site Policies we have a couple of options, Site Deletion and Site Closure.

 Let’s take a look at these options in more detail

Site Deletion

pic4

Quite simply this allows for a site to be automatically deleted according to 2 event dates, Site created or Site closed.

The site owners that the policy applies to can be notified by email of the site deletion event, and can choose to postpone the event, SharePoint also shows the deletion date on the site home page.

pic 5

The site policies are controlled by the same timer job as all other SharePoint expiration jobs, the Expiration Policy timer job.

pic 6

By default this timer job is scheduled to run once a week per web application, so your target site might not be deleted for up to week after its target date.

pic 7

Once the Expiration Policy timer job runs your target site is deleted, in the SharePoint 2010 world that would be it your site has gone, however as this is SharePoint 2013 deleted sub sites are now available in the site collection recycle bin if the inevitable happens and you are asked to recover content from the deleted site.

pic 8

Be aware that unlike SharePoint 2010 there is no longer link to the Site Collection Recycle Bin from the End User view. You now have to go to Site Settings > Site Actions > Site Collection Administration > Recycle bin > Deleted from end user Recycle Bin

pic 9

pic 10

Site Closure

This is a new concept in SharePoint 2013, a closed site is one that is available to be deleted by a site policy.

pic 11

A closed site will not appear in any locations where site membership is aggregated, but the site is still fully available and can be accessed via its URL, once closed a site owner can if needed reopen a site.

pic 12

What are the differences between Remote BLOB Storage and External BLOB Storage

Introduction

SharePoint stores everything related to an object in SQL Server, this includes the:  

  1. Metadata (the object’s title, project number, format, etc.)
  2. Context (which site it came from, the folder location, security details, etc.)
  3. Content (PDF’s, PPT’s, Zip files, etc.)

Metadata and context belong in SQL Server because they are represented by structured content. Storing content in a database is not ideal due to the high amount of data it will hold within a database. Due to this the binary objects will need to be removed from the database (not necessarily out of SharePoint but out of SQL Server).

This is where RBS and EBS become a method of performing such a task.

RBS (Remote BLOB Storage)

RBS is implemented by SQL Server (only SQL Server 2008 and later) and is nothing to do with SharePoint directly. When you enable RBS, all BLOB streams that SQL Server would normally be forced to store internally are moved to the file system.

EBS (External BLOB Storage)

EBS is implemented by MOSS 2007. The EBS provider lives at the very bottom of the SharePoint stack, just above the interface in to SQL Server. Just before the BLOB is passed to SQL server the EBS provider gives your process the opportunity to optionally take ownership of the BLOB.  You give SharePoint a token in exchange so it knows how to get the object back from you at a later date. 

IMAGE 1

How External Blob Storage and Remote Blob Storage Works 

Pros and Cons

Remote BLOB Storage (RBS)

Pros:

  • RBS is implemented in SQL Server. If you turn RBS on then all BLOB objects from any SQL Server-based application will be externalised. If that’s what you require then that will work but if you need to be able to apply business logic to what is externalised and where it goes then you are severely restricted.
  • Content is simply stored on to the local file system if you turn RBS on. If you have some kind of file system virtualisation software in place then you can do some basic management tasks but only based on the file system attributes of the object.
  • If you want access to the context and metadata of the object then you are going to have to look in to SQL Server and start locating SharePoint based reference information in which isn’t a recommended practice by Microsoft as this could be potentially dangerous.
  • It is likely that RBS might have more performance, as it is likely that EBS will fade out over time.

Cons:

  • Getting the content out of SQL Server only solves a small amount of the real issues. Placing the BLOBs out of SQL Server gives you scalability but it does not deliver any of the IT efficiencies or benefits of managing the externalised content.
  • If you need to have the BLOB, the metadata, the context and the ability to manage the object then intelligent archiving is the key to getting this right. The RBS model only provides the BLOB i.e. no context and no ability to manage the object.
  • RBS is all or nothing; you get all BLOBs all of the time without any business rule mapping. EBS is not much better but does support certain rules. As an example; in theory you could configure EBS to not externalise content from certain sites or content less than 100KB in size.
  • SQL Server 2008 is required

 

External BLOB Storage (EBS)

Pros:

  • EBS is provided by the SharePoint team. Due to this it does understand the context of the BLOB that it exposes. In other words; we do know what the BLOB object is and we can track changes on the object.
  • The architecture allows us to provide an intelligent process for capturing the BLOB and just as importantly for returning the BLOB on demand i.e. when you want to view it from SharePoint.
  • Due to the interacting directly with the SharePoint processes we can perform more intelligent operations e.g. if the BLOB was deleted from the store then we could cascade that delete back up to SharePoint.
  • It does not require SQL Server 2008.

Cons:

  • The only con is that EBS will probably not continue in the long term. A transition to RBS in the future, from EBS, should be seamless.

 A thought…

Therefore, in the question of EBS vs RBS, neither is a “better” option. It does appear that RBS seems likely to stay longer but EBS does have an existence for the time being.