Wednesday, April 17, 2013

How Do I Synchronize SharePoint 2013 Contacts, Tasks, Calendar or Document Library With Outlook 2007/2010/2013?


This article explains how to synchronize Microsoft SharePoint 2013 Contacts, Tasks, Calendar or Document Library with Outlook 2007/2010/2013.
Important notes
  • You need to enable the Offline Synchronization for External Lists option, which is disabled by default. To do this SharePoint site owner needs to login to SharePoint site and navigate to Settings > Site Settings > Manage site features. Click Activate next to Offline Synchronization for External Lists.
  • While you can add to, edit or delete items in Contacts, Tasks or Calendar, you can only edit items in the Documents Library. It is not possible to add or remove documents from the SharePoint Document Library via Outlook 2007/2010/2013.
-->

  • Prior to connecting SharePoint Contacts, Tasks, Calendar or Document Library to Outlook 2007/2010/2013, we recommend that you configure a Microsoft Exchange account in Outlook 2007/2010/2013 for the user.
  • Make sure that the user is granted sufficient access permissions to SharePoint Contacts, Tasks, Calendar or Document Library.
To add SharePoint 2013 Contacts, Tasks, Calendar or Document Library to Outlook 2007/2010/2013:
  1. In your web browser, open the SharePoint folder that you would like to connect to Outlook.
  2. Choose List and then click Connect to Outlook in the Connect & Export section:
    .
  3. When prompted to connect the SharePoint list to Outlook, click Yes.
    .
  4. In Outlook 2007/2010/2013, the list is added under a top-level folder called SharePoint Lists.
    .

    You will also see your SharePoint contacts in the Navigation Pane under Other Contacts in Contacts section. The same applies to Calendar or Tasks.
    .

-->

Monday, April 15, 2013

Understanding SharePoint 2013 Application Development Models


-->


The new version of Microsoft’s SharePoint document management platform is the latest SharePoint 2013 App. Well, you might be quite familiar with the recent gossips about this state-of-the-art application development model included in the Microsoft’s release list.
A Brief Introduction to SharePoint Apps
Well, Microsoft is in big plans of moving their discipline to a “Software-as-a-Service” model. It is unpredictable and more so, totally depending on the market conditions as to how quick will Microsoft be able to reach the sky. From what is clearly visible, Microsoft is in process of developing a model which allows its users instant access to SharePoint with a monthly subscription fee. The features like infrastructure, maintenance and upgrades is something that many enterprises have been looking up to. And, talking about SharePoint features, Variation was first introduced in SharePoint 2007. Over a period of time, Microsoft got the opportunity to understand what customers what and expect. Bearing this in mind, the Variations of SharePoint 2013 were developed. This is something that allows creating, translating and managing domain-specific content for various publishing sites on the Internet and Intranet.
Well, who doesn’t want a feature that allows him to build his own solutions minus affecting the already hosted model? This gave rise to a model called SharePoint App. The greatest feature of this App is it doesn’t require a SharePoint server side code.
Really? No Server Side Code?
Yes! You heard it right! This is fundamentally a solution, which includes HTML, JavaScript, CSS, Silverlight XAP files, images, and others. So, ‘how do you develop a useful App without server side code in SharePoint?’
Three SharePoint 2013 App Development Models
You obviously want to know about the possibilities of developing an app minus the server side code. But let us first discuss about the SharePoint App’s 3 development models.
  • SharePoint-hosted
  • Azure Web App
  • Self-Hosted
SharePoint-Hosted App
This app is created solely of inactive files on your instance of SharePoint. Once the app is added to your site, The files in your app are distributed by SharePoint to a specially alloted domain specially in the space where your app resides. When your app is accessed bys a user, It will redirect the user to that page of the App domain from where they can use your App. And more importantly, you will not require any server side code in this model.
Azure Web App
To understand basics of this app, you first need to go through a little bit of it’s history. It is believed that this app is developed to be operated from SharePoint environment hosted by Microsoft. Naturally, its prime audience will be those software- vendors who are dealing with online customers of SharePoint.
Now, this app, basically can be hosted outside of SharePoint and can also run custom code. Even so, once this app is added to a user’s SharePoint instance, he will be given an option of provisioned to Azure. If the user opts for the same, then the Azure instance will be billed to their SharePoint Online account. This app gives you all the capable and flexible server-side code minus the cost associated for hosting.
Self-Hosted App
The third model is a self-hosted app, where the files for the application live on an external server. The users who use your app are redirected to a page on this external server, the place where your app lives. This model allows you to run server-side code; however, it needs to be run on the external server.
There is one advantage, which I am sure all will love. Your external server need not be a Windows server. The process that is followed by SharePoint is simple redirection to another web page. This means, you can use any operating system and app server for fulfilling web requests. One more advantage of this model is that it allows controlled upgrades.
Compatibility of SharePoint 2010 Appli2013/03/scrutinizing-sharepoint-2013-application-development-models/cations With SharePoint 2013
In spite of the advantages each of this model has, you might still have a question – Will the apps of SharePoint 2010 work in SharePoint 2013? Yes is the answer to your valuable question. ‘N’ number of enterprises have invested handsomely in certain custom apps for SharePoint. So, this can be of utmost concern to such organizations. The challenge faced by Microsoft, in case the former app doesn’t work in the latter, is the sales of SharePoint 2013.


Tuesday, April 9, 2013

How to Configure Enterprise Search in SharePoint 2013


In this article we can learn how to configure SharePoint 2013 Search. In SharePoint 2013 the two search engines "SharePoint Search" and "FAST Search Server for SharePoint" was combined into one Search Engine. Much of the search enhancement is due to Analytics moving into search. This will make an Analytics Processing Component in SharePoint Server 2013 run various analytics jobs to analyze content in the search index and user actions that were performed on a site to identify items that users perceive as more relevant than others.

Search components
 Enterprise Search Configuration in SharePoint 1.jpg
Search databases
Enterprise Search Configuration in SharePoint 2.jpg


-->
-->
Crawl component
The crawl component crawls the content sources. You can crawl a wide variety of content sources, for example file shares, SharePoint content, line of business applications and many more. To retrieve information, the crawl component connects to the content sources by invoking the appropriate indexing connector or protocol handler. After retrieving the content, the crawl component passes crawled items to the content processing component.
Content processing component
The content processing component processes crawled items and sends these items to the index component. The content processing component performs operations such as document parsing and property mapping. It also performs linguistics processing such as language detection and entity extraction. The component transforms crawled items into artifacts that are included in the search index. The content processing component also writes information about links and URLs to the link database. In turn, the analytics processing component writes information related to the relevance of these links and URLs to the search index through the content processing component.
Analytics processing component
The analytics processing component analyzes crawled items, which is referred to as search analytics, and how users interact with search, which is referred to as usage analytics. Examples of search analytics are links, anchor texts and metadata. An example of usage analytics is the number of times an item is viewed. The analytics processing component analyzes search analytics and usage analytics. Search analytics information is stored in the link database and usage analytics information in the analytics reporting database.
Index component
The index component is the logical representation of an index replica. In the search topology, you have to provision one index component for each index replica. The index component receives processed items from the content processing component and writes those items to an index file. Index files are stored on a disk in an index replica. The index component receives queries from the query processing component and returns result sets. You can divide the search index into discrete portions, called index partitions. Each index partition holds one or more index replicas. The search index is the aggregation of all index partitions.
Query processing component
The query component analyzes and processes queries and results. When the query processing component receives a query, it analyzes and processes the query to optimize precision, recall and relevance. The processed query is submitted to the index component. The index component returns a result set based on the processed query to the query processing component, which in turn processes that result set, before returning it to the front-end.
Search administration component
The search administration component runs the system processes for search. This component performs provisioning, which is to add and initialize instances of the other search components.
Crawl database
 The crawl database stores tracking information and details about crawled items. For example, it stores information about the last crawl time, the last crawl ID and the type of update during the last crawl.
Link database
The link database stores information extracted by the content processing component. It also stores information about the number of times people have clicked on a search result. The information is stored unprocessed; the analytics processing component performs the analysis.
Analytics reporting database
The analytics reporting database stores the results of usage analytics and extracts information from the link database when it is required.
Search administration database
The search administration database stores search configuration data and the access control list (ACL) for the crawl component. There can be only one search administration database per search service application.
Configure a Search service application in SharePoint Server 2013
In this session, we have to follow the following main tasks:
  1. Create accounts - certain domain user accounts are required specifically for a Search service application.
  2. Create a Search service application - A Search service application provides enterprise search features and functionality.
  3. Configure the Search service application - Basic configuration of a Search service application includes configuring a default content access account, an email contact, and content sources.
  4. Configure the Search service application topology - you can deploy search components on various servers in the farm. You can also specify which instance of SQL Server is used to host the search-related databases.

Create accounts that are required for a SharePoint Search service application

The following table lists the accounts that are required when a Search service application is created.
Enterprise Search Configuration in SharePoint table.jpg


To register a managed account
Use the following procedure to register a managed account:

  1. On the "Central Administration" home page, in the "Quick Launch", click "Security".
Enterprise Search Configuration in SharePoint 3.jpg
  1. On the Security page, in the "General Security" section, click "Configure managed accounts".
  2. On the "Managed Accounts" page, click "Register Managed Account".
Enterprise Search Configuration in SharePoint 4.jpg
  1. On the "Register Managed Account" page, in the "Account Registration" section, type the user name and password that you want to use as credentials for the service account.
Enterprise Search Configuration in SharePoint 5.jpg
  1. If you want SharePoint Server 2013 to manage password changes for this account, select the "Enable automatic password change" check box and configure the parameters for automatic password change.
  2. Click OK.
Create a SharePoint Search service application
Each Search service application has a separate content index. You can create multiple Search service applications if you want to have various content indexes for various sets of content. For example, if you want to segregate sensitive content (such as employee benefits information) into a separate content index, you can create a separate Search service application to correspond to that set of content.
How to create a Search Service application
Use the following procedure to create a Search Service application:
  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group for the farm for which you want to create the service application.
  2. On the "Central Administration" home page, in the "Application Management" section, click "Manage service applications".
Enterprise Search Configuration in SharePoint 6.jpg
  • In the "Manage Service Applications" page, on the ribbon, click "New", and then click "Search Service Application".
Enterprise Search Configuration in SharePoint 7.jpg
On the Create New Search Service Application page, do the following:
  1. Accept the default value for the "Service Application" name, or type a new name for the Search Service application.
Enterprise Search Configuration in SharePoint 8.jpg
In the "Search Service Account" list, select the managed account that you registered in the previous procedure to run the Search service.
In the "Application Pool for Search Admin Web Service" section, do the following:
  1. Select the "Create new application pool" option, and then specify a name for the application pool in the"Application pool name" text box.
Enterprise Search Configuration in SharePoint 9.jpg
  1. In the "Select a security account for this application pool" section, select the "Configurable" option, and then from the list select the account that you registered to run the application pool for the Search Admin Web Service.
Enterprise Search Configuration in SharePoint 10.jpg
  1. In the "Application Pool for Search Query and Site Settings Web Service" section, do the following:
  2. Choose the "Create new application pool" option, and then specify a name for the application pool in the"Application pool name" text box.
  3. In the "Select a security account for this application pool" section, select the "Configurable" option, and then from the list select the account that you registered to run the application pool for the Search Query and Site Settings Web Service.
  4. Click "OK".
Configure the SharePoint Search service application
You configure a Search service application on the Search Administration page for that service application. Use the following procedure to go to the Search Administration page for a particular Search service application.
  1. Go to the Search Administration page
  2. Verify that the user account that is performing this procedure is an administrator for the Search service application that you want to configure.
Enterprise Search Configuration in SharePoint 11.jpg
  1. Please add the administrator account on the next screen.
Enterprise Search Configuration in SharePoint 12.jpg
  1. On the home page of the Central Administration website, in the Application Management section, click Manage service applications.
  2. On the Manage Service Applications page, click the Search service application that you want to configure.
On the Search Administration page, configure the settings as described in the following sections:
  • Specify the default content access account
  • Specify the contact email address 
  • Create content sources
Specify the default content access account
When you create a Search service application, the account that you specify for the Search service is automatically configured as the default content access account. The crawler uses this account to crawl content that does not have an associated crawl rule that specifies a different account. For the default content access account, we recommend that you specify a domain user account that has read access to as much of the content that you want to crawl as possible. You can change the default content access account at any time. If you have to crawl certain content by using a different account, you can create a crawl rule and specify a different account for crawling.  For information about how to create a crawl rule, see "Manage crawl rules" (SharePoint Server 2013 Preview).
Use the following procedure to specify the default content access account.
Specify the default content access account
Use the following procedure to specify the default content access account:
  1. On the "Search Administration" page, in the "System Status" section, click the link in the default content access account row.
  2. In the "Default Content Access Account" dialog box, in the "Account" box, type the account that you created for the content access in the form domain\user name.
  3. Type the password for this account in the "Password" and "Confirm Password" boxes.
  4. Click "OK".
Specify the contact email address
The Search service writes the contact email address to the logs of the crawled servers. The default contact email address, someone@example.com, is a placeholder. We recommend that you change this to an account that an external administrator can contact when a crawl might be contributing to a problem such as a decrease in performance on a server that the search system is crawling.
Specify the contact email address
Use the following procedure to specify the contact email address:
  1. On the "Search Administration" page, in the "System Status" section, click the link for the contact e-mail address.
  2. In the "Search E-mail Setting" dialog box, in the E-mail Address box, type the email address that you want to appear in the logs of servers that are crawled by the search system.
  3. Click "OK".
Enterprise Search Configuration in SharePoint 13.jpg
Configure Content Source
Use the following procedure to configure the content source:
  1. Click on the content source on the right side as shown below:

    Enterprise Search Configuration in SharePoint 14.jpg
  2. Click on the Edit as shown below for the Local SharePoint Sites:

    Enterprise Search Configuration in SharePoint 15.jpg
  3. Please make sure you have added your site URL in the following rectangular space with each site in a separate new line.
  4. Please configure an incremental crawl and a full crawl.

    Enterprise Search Configuration in SharePoint 16.jpg
  5. Once you are done with the steps above, please start a full crawl.
  6. Please wait until the crawl is over. It will take some time to finish the crawl.

    Enterprise Search Configuration in SharePoint 17.jpg
  7. You can click on the Crawl Log and you will see the contents that were crawled, as in:

    Enterprise Search Configuration in SharePoint 18.jpg
  8. Now go to the site which we have added to the content source and enter something to search for as shown below:

    Enterprise Search Configuration in SharePoint 19.jpg
  9. You will see the results once the search button is clicked, as in:

    Enterprise Search Configuration in SharePoint 20.jpg
  10. We even can now apply filters with a progress bar. That's a Great thing. When you wait on a searched element, you will even be prompted by a new great tool where you can: 
  • Open the searched element
  • View the library
  • Send the searched element.

    Enterprise Search Configuration in SharePoint 22.jpg

Monday, April 8, 2013

How to Create a new Search Service Application in SharePoint 2013 using PowerShell


The search architecture in SharePoint 2013 has changed quite a bit when compared to SharePoint 2010. In fact the Search Service in SharePoint 2013 is completely overhauled. It is a combination of FAST Search and SharePoint Search components.
apxvsdik



-->

As you can see the query and crawl topologies are merged into a single topology, simply called "Search topology". Provisioning of the search service application creates 4 databases: 
  • SP2013_Enterprise_Search - This is a search administration database. It contains configuration and topology information
  • SP2013_Enterprise_Search_AnalyticsReportingStore - This database stores the result of usage analysis
  • SP2013_Enterprise_Search_CrawlStore - The crawl database contains detailed tracking and historical information about crawled items
  • SP2013_Enterprise_Search_LinksStore - Stores the information extracted by the content processing component and also stores click-through information
# Create a new Search Service Application in SharePoint 2013
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
# Settings
$IndexLocation = "C:\Data\Search15Index” #Location must be empty, will be deleted during the process!
$SearchAppPoolName = "Search App Pool"
$SearchAppPoolAccountName = "Contoso\administrator"
$SearchServerName = (Get-ChildItem env:computername).value
$SearchServiceName = "Search15"
$SearchServiceProxyName = "Search15 Proxy"
$DatabaseName = "Search15_ADminDB"
Write-Host -ForegroundColor Yellow "Checking if Search Application Pool exists"
$SPAppPool = Get-SPServiceApplicationPool -Identity $SearchAppPoolName -ErrorAction SilentlyContinue
if (!$SPAppPool)
{
    Write-Host -ForegroundColor Green "Creating Search Application Pool"
    $spAppPool = New-SPServiceApplicationPool -Name $SearchAppPoolName -Account $SearchAppPoolAccountName -Verbose
}
# Start Services search service instance
Write-host "Start Search Service instances...."
Start-SPEnterpriseSearchServiceInstance $SearchServerName -ErrorAction SilentlyContinue
Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $SearchServerName -ErrorAction SilentlyContinue
Write-Host -ForegroundColor Yellow "Checking if Search Service Application exists"
$ServiceApplication = Get-SPEnterpriseSearchServiceApplication -Identity $SearchServiceName -ErrorAction SilentlyContinue
if (!$ServiceApplication)
{
    Write-Host -ForegroundColor Green "Creating Search Service Application"
    $ServiceApplication = New-SPEnterpriseSearchServiceApplication -Partitioned -Name $SearchServiceName -ApplicationPool $spAppPool.Name
-DatabaseName $DatabaseName
}
Write-Host -ForegroundColor Yellow "Checking if Search Service Application Proxy exists"
$Proxy = Get-SPEnterpriseSearchServiceApplicationProxy -Identity $SearchServiceProxyName -ErrorAction SilentlyContinue
if (!$Proxy)
{
    Write-Host -ForegroundColor Green "Creating Search Service Application Proxy"
    New-SPEnterpriseSearchServiceApplicationProxy -Partitioned -Name $SearchServiceProxyName -SearchApplication $ServiceApplication
}

$ServiceApplication.ActiveTopology
Write-Host $ServiceApplication.ActiveTopology
# Clone the default Topology (which is empty) and create a new one and then activate it
Write-Host "Configuring Search Component Topology...."
$clone = $ServiceApplication.ActiveTopology.Clone()
$SSI = Get-SPEnterpriseSearchServiceInstance -local
New-SPEnterpriseSearchAdminComponent –SearchTopology $clone -SearchServiceInstance $SSI
New-SPEnterpriseSearchContentProcessingComponent –SearchTopology $clone -SearchServiceInstance $SSI
New-SPEnterpriseSearchAnalyticsProcessingComponent –SearchTopology $clone -SearchServiceInstance $SSI
New-SPEnterpriseSearchCrawlComponent –SearchTopology $clone -SearchServiceInstance $SSI
Remove-Item -Recurse -Force -LiteralPath $IndexLocation -ErrorAction SilentlyContinue
mkdir -Path $IndexLocation -Force
New-SPEnterpriseSearchIndexComponent –SearchTopology $clone -SearchServiceInstance $SSI -RootDirectory $IndexLocation
New-SPEnterpriseSearchQueryProcessingComponent –SearchTopology $clone -SearchServiceInstance $SSI
$clone.Activate()
Write-host "Your search service application $SearchServiceName is now ready"

-->

See the following articles for information about Search Service Application in SharePoint 2013
Enjoy Reading 

Thanks to Praveen Hebbar from Microsoft.