Additional Installation Steps

Restart SharePoint TimerJob Service and IIS

MatchPoint's timer job engine uses functionality of the SharePoint TimerJob service. Therefore, after the solution files have been deployed, the service has to be restarted:

net stop sptimerv4
net start sptimerv4

This has to be repeated after a MatchPoint update was applied to the system and whenever custom solutions are deployed/upgraded that use the MatchPoint API.

Also, it is recommended to restart the IIS after solutions have been deployed or upgraded on every frontend server:

iisrest

After the MatchPoint managed properties have been created, it is required to restart the IIS.

Create a Tagging Service Application

If you plan on using the tagging functionality of MatchPoint in your SharePoint environment, you have to create a "Tagging Service application". This service application provides access to the tag metadata model.

The Tagging Service application can either be created by using the command New-MPTaggingServiceApplication (see "Administrating MatchPoint Tagging Service Applications" in the "PowerShell CmdLets"-section for detailed description) or by using the Central Administration:

  1. Navigate to the central administration site of your SharePoint farm.
  2. Select "Application Management" and "Manage Service Applications".
  3. Select "New" and "MatchPoint Tagging Service Application".
  4. Specify the parameters for your service application according to the requirements of your SharePoint environment.

If a timeout exception occurs during the provisioning of a tagging service application ("The timeout period elapsed prior to completion of the operation or the server is not responding. ALTER DATABASE statement failed"), the following SQL command can be used:
ALTER DATABASE [MatchPointDataBase] SET READ_COMMITTED_SNAPSHOT ON
Afterwards, please repeat the configuration of a tagging service application.

Create Additional Web Application Associations

If your SharePoint farm contains more than one web application and if you plan on using MatchPoint for these additional web applications, you need to add them to your MatchPoint instance.

Naturally, if you use MatchPoint functionality on multiple web applications, you have to ensure that the MatchPoint solutions are deployed to each of these web applications. You can use both the MatchPoint Installer or the manual installation to do this. If you are using the Installer, please only select the installation options "Install Tag Inheritance" and 'Install Server Infrastructure'.
Please note that you have to create the instance associations BEFORE deploying the feature "Colygon.MatchPoint.Server.Infrastructure".

To create a web application association, please open the Manage MatchPoint Configurations form, either from the MatchPoint Instance Administration site or by pressing Ctrl + M on any MatchPoint enabled site. Select the button Web Application Associations:

Additional web app associations
Figure 1: Additional web app associations

Here you can select any web application within your farm and create an association to the current MatchPoint instance:

Assosciate to additional web app
Figure 2: Assosciate to additional web app

In a SharePoint least privilege environment, the "Add Web Application" button is not available within the SharePoint GUI. Instead you need to create web application associations using a PowerShell CmdLet.

Configure Logging and Exception Handling

SharePoint ULS log

MatchPoint uses the SharePoint ULS logging mechanism. To configure logging, please navigate to your farm's central administration site, select "Monitoring" and "Configure diagnostic logging". Within the "Event Throttling" section you can configure the logging level for the various features of MatchPoint.

It is strongly recommended to select MatchPoint's logging level according to the application scenario. For productive environments it is suggested to use the log level 'Error' to avoid performance impacts.

Create Event Log Source

If you used the MatchPoint installer (automated installation), the event log source "MatchPoint" should already exist and you can skip this chapter.

In order to log to the Windows event log you have to create an event log source called "MatchPoint". A PowerShell Command can be used to create the source. Open the SharePoint Management Shell and enter:

New-EventLog -Source MatchPoint -LogName MatchPoint_Log

The source has to be created on every web front-end and application server of the SharePoint farm.

Error Codes

When an error, warning or info is logged try to identify it using the tables below. If the issue could not be resolved by following the instructions, please contact your MatchPoint solution partner for further assistance.

Warning # Description Instructions
1000 User account resolve failed Extract the user name that is affected from the log files. Verify if the user is removed or disabled in the AD. Remove disabled or removed users from MatchPoint configuration files and SharePoint security settings such as Site groups. Check if an author of a SharePoint item that does not exist anymore could not be resolved.
1001 Tagging languages exceeded Amount of possible tagging languages is limited to 10. Reduce the amount of your tagging languages.
1002 Update of inherited tags failed Tags of an item could not be updates. Check if the item still exists and ensure that it is not locked.
1003 Missing parent tag in tag importer A configured parent tag in the import configuration is missing. Check the configuration and change the parent tag. Check if a dependent tag import job failed.
1004 Missing workspace worker job If the worker job is missing try to disable and re-enable the MP administration feature. This feature ensures the worker job.
1005 Missing parent term in term importer Ensure that the specified parent term exists in the term store. Check the configuration and change the parent term. Check if a dependent term import job failed.
1006 Uninstall of component failed in feature deactivate or uninstall Ensure that you have farm admin rights and retry to deactivate the feature.
1007 Assembly is missing Check if the correct version of the assembly is deployed in the GAC. Maybe a referenced solution is missing.
1008 Type cache could not be initialized Ensure that the assembly in in the GAC.
1009 General timer job exception Follow the detailed instructions in the error message.
1010 Configuration failed to load Ensure that the configuration file still exists. Reassign another configuration to the Web Part if the configuration was deleted or renamed.
1011 Custom context menu failed to initialize Check the log for further information. Custom code failed during the initialization of the context menu.
1xxx Error Codes
Info # Description Instructions
2000 Adding Web Part was denied

A user tried to add a Web Part although uploading custom .DWP files with referenced MP configurations are not allowed. Change LocalWebPartConfigurations setting in the MatchPoint configuration in order to allow adding custom .DWP files.

2001 Configuration is missing The configuration manager could not find the specified configuration file, therefore a default configuration is used.
2002 Tag inheritance job could not find en-queued item Check if the en-queued item still exists and is not locked.
2003 Tagging service is installed The tagging service was successfully installed.
2004 Tagging service is uninstalled The tagging service was successfully uninstalled.
2005 Workspace worker job could not find web Check if the web is still existing. Probably is was deleted and therefore the worker job cannot find it anymore.
2006 Tag inheritance failed, the worker job will retry later This is only for information. A next retry is rescheduled. Ensure that the item exists and is not locked. If the all attempts fail an error 3010 is logged.
2007 Crawler error

The crawler failed but you decided to ignore crawl errors. Re-enable the IgnoreCrawlErrors setting, fix the crawl issues or ensure that the index is up to date anyway (because an index that is not current leads to unintendedly deleted tags).

2xxx Error Codes
Error # Description Instructions
3000 Feature deactivation failed Ensure that you have farm admin rights and retry.
3001 Tag import failed Check diagnostics log for more information and correct tag import configuration.
3002 Term import failed Check diagnostics log for more information and correct term import configuration.
3003 Type load failed Ensure that the assembly containing the type is in the GAC.
3004 Failure during object dispose Check diagnostics log for further information. Monitor memory consumption over time.
3005 Invalid configuration An invalid, renamed or deleted configuration is referenced in a Web Part or provisioning configuration.
3006 Retry action failed Check if the item still exists and is not locked.
3007 Timer job status / schedule update failed Ensure that timer job service runs with correct privileges and has permissions on the SP configuration database.
3008 Tagging service invoke failed Web service call from web front to tagging service application failed. Check network connectivity and firewall settings.
3009 Tag inheritance job failed to process work item Check diagnostics log for further information. Ensure that the item still exists and is not locked.
3010 Tag inheritance failed Check diagnostics log for further information. Try to initiate inheritance again by adding / removing tag on container element.
3011 Tagging service start failed Ensure that you have farm admin rights when creating a new service instance.
3012 Tagging service application failed Call to tagging service application failed. Check diagnostics log for further information.
3013 Process data item during tag import failed During the import an item could not be processed. Check the import configuration and resolve issues like wrong expressions and start the import again.
3014 Workspace event handler failed Check custom event handler code in your custom solutions.
3015 Workspace delete tag failed Check if the tagging service application is available and the workspace tag was not already deleted by another user.
3016 Workspace delete item failed Check if the workspace item has not already be deleted by another user and is not locked.
3017 Workspace rollback failed The web and list item created during provisioning process that failed could not be rolled back correctly. Delete the web and the list item manually.
3018 Workspace creation failed Check diagnostics log for further information. Check target URL expression or other configuration options for errors.
3019 Workspace archiving failed Workspace deleted event handler could not archive a workspace. Check diagnostics log for further information.
3020 Workspace deletion failed Workspace deleted event handler could not delete a workspace. Check diagnostics log for further information.
3021 Workspace permissions update failed Workspace worker job could not update the permissions of a specific workspace item and tag. Check diagnostics log for further information. Ensure that the item is not locked. Try again to update parent workspace permissions and verify if the permissions could be updated on child elements.
3022 Workspace process work item failed Check diagnostics log for further information. Ensure correct permissions for timer job service account.
3023 Tag synchronization update failed Tag synchronization job could not update tags on specific item. Ensure that the item is not locked or deleted.
3024 Term deprecation failed A term that was deleted during imported could not be set to deprecate.
3025 Feature activation failed Check diagnostics log for further information and resolution instructions.
3026 Create instance failed A registered expression variable, header control, list item event handler, server context menu provider or workspace event handler could not be initialized. Ensure that the constructor is parameter less (except for expression variables) and that no exception is thrown in the constructor.
3027 Workflow missing parent tag The specified parent tag in the workflow configuration could not be loaded. Ensure that the tag exists. Correct the workflow configuration.
3028 Office template failure The office document could not be generated. Ensure that the template exists and the URL does not exceed 240 characters.
3029 Workspace list creation failed The workspace list could not be created. Check diagnostics log for further information and resolution instructions.
3030 Process data item failed during term import During the import an item could not be processed. Maybe a term could not be found because another user just deleted it. Check the import configuration and resolve issues like wrong expressions and start the import again.
3031 Feature installation failed Check diagnostics log for further information and resolution instructions.
3032 Feature uninstallation failed Check diagnostics log for further information and resolution instructions.
3xxx Error Codes

Debugging Settings

MatchPoint implements the following "default" exception handling mechanism:

If an exception occurs within a MatchPoint control (i.e. a Web Part) this control will display only the exception message to the end user. The full stack trace is available within the SharePoint ULS log (if the trace level has been configured accordingly). That way, end users are not confused with detail information in case an exception occurs. For debug scenarios, the stack trace can be enabled for a web application within the web.config file:

<configuration>
  <!-- ... -->
  <appSettings>
    <add key="MatchPoint.ShowCallStack" value="true" />
  </appSettings>
</configuration>

The following setting controls whether the expression text (debug hint) is included in the exception message when the evaluation of an expression fails. When set to true the text of the failing expression is included in the exception message. By default the details of the failing expression is not shown (false).

<configuration>
  <!-- ... -->
  <appSettings>
    <add key="MatchPoint.ShowExpressionDebugHint" value="true" />
  </appSettings>
</configuration>

Configure Self Service Site Creation

If MatchPoint Workspace is used to create sites or site collections, self-service site creation has to be enabled for all web applications that use this functionality:

$webApp = Get-SPWebApplication -Identity <WebAppUrl>
$webApp.SelfServiceSiteCreationEnabled = $True
$webApp.Update()

<WebAppUrl> is the URL of the web application which uses MatchPoint Workspace.

Add MatchPoint Search Content Enrichment Web Service

MatchPoint provides a mechanism to enhance SharePoint Search's support of MatchPoint Tags. The Web Services allows splitting the MatchPointTags managed property to a multi value managed property which results in more accurate/better refiner results. Furthermore, Tag names can optionally be resolved and stored in the index to allow full text search queries against tags. This feature is described in detail in the Tagging chapter in the concepts section.

The MatchPoint Search Content Enrichment Web Service can only be installed when you have a SharePoint Server Enterprise Edition, since Custom Content Enrichment ("Extensible content processing") is a feature of SharePoint Server Enterprise Edition.

To use this feature the following steps are required on your SharePoint environment:

  • Modify the managed property MATCHPOINTTAGS by setting "Allow Multiple Values" to true
    Add-MPContentEnrichmentManagedProperties -SearchServiceApplication "<NameOfSSA>" -CreateMatchPointTagRefiners

  • Optionally: Create a searchable, multi value managed property called MATCHPOINTTAGNAMES of type TEXT (note that MATCHPOINTTAGNAMES is optional here and working only, when it is activated in the web.config by setting ResolveTagNames to true!) Add MATCHPOINTTAGNAMES managed property
    Add-MPContentEnrichmentManagedProperties -SearchServiceApplication "<NameOfSSA>" -CreateMatchPointTagNames

  • Deploy the MatchPoint SearchContentEnrichment Web Service to a WebServer that is part of your SharePoint Farm (the general deployment of a WCF service is described here):
    1. Optionally: Create a new application pool
      Please be aware that anonymous access has to be enabled!
    2. Optionally: Create a new site
    3. Create a new application in a site of your choice
    4. Extract the "Colygon.MatchPoint.SearchContentEnrichment.zip" to the directory of the newly created application
    5. Verify that the service is deployed correctly by accessing: http://<hostname>:<port>/<applicationAlias>/MatchPointContentEnrichmentService.svc Note that you may need additional (read) permissions to the service with the account you're currently logged in, else you may get an access denied page.
      If you want to resolve tag names the application pool user requires at least the following permissions/roles:
      • "SPDataAccess" role on the "SharePont Configuration" database
      • "SPDataAccess" role on the "SharePoint Content" database (where the "MatchPoint Instance" site collection is stored)
      • "Read Access" on the MatchPoint Tagging Service Application
  • Adjust the web.config of the web server according to your needs:
    <configuration>
      <!-- ... -->
      <appSettings>
        <!-- ... -->
        <add key="MatchPoint.Instance.URL" value="http://<hostname>/<MPInstance>" />
        <add key="ResolveTagNames" value="false" />
        <add key="CreateTagRefiners" value="true" />
      </appSettings>
      <!-- ... -->
    </configuration>
    
    • MatchPoint.Instance.Url: the Url of the MatchPoint instance (i.e. the result of MPUtility.GetMatchPointInstanceUrl())
    • ResolveTagNames: whether the web service should resolve tag names to e.g. allow fulltext search for tags
    • CreateTagRefiners: whether the splitted tags should be written to the MATCHPOINTTAGREFINERS. This is true by default.

      You might also want to adjust the location of the log file and the log level, according to your needs. Note that the application pool user needs write access to the log file path.

  • Register the web service in the SharePoint Search
    $config = New-SPEnterpriseSearchContentEnrichmentConfiguration
    $config.Endpoint = "http://<hostname>/MatchPointContentEnrichmentService.svc"
    $config.InputProperties = "MATCHPOINTTAGS"
    # note that the trigger condition is optional here; it is used to avoid unnecessary calls
    # to the service. In this example the service is called when an item has tags:
    $config.Trigger = "!(IsNull(MATCHPOINTTAGS))"
    # note that MATCHPOINTTAGNAMES is optional here and working only,
    # when it is activated in the web.config by setting ResolveTagNames to true!
    $config.OutputProperties = "MATCHPOINTTAGREFINERS", "MATCHPOINTTAGNAMES"
    $config.SendRawData = $false
    $ssa = Get-SPEnterpriseSearchServiceApplication
    Set-SPEnterpriseSearchContentEnrichmentConfiguration -SearchApplication $ssa
                                                         -ContentEnrichmentConfiguration $config
    
  • Start a full crawl

SharePoint Search Center with MatchPoint Tags

As of MatchPoint 4.0.10 it is possible to show MatchPoint Tags in the SharePoint Search Center. This includes showing an item's Tags in the HoverPanel as well as a Refiner for Tags. To use this feature, the following prerequisites are necessary:

  • MatchPoint version >= 4.0.10
  • A site with SharePoint Enterprise or Basic Search Center
  • MatchPoint Content Enrichment Web Service
    • MATCHPOINTTAGREFINERS
    • (optional) MATCHPOINTTAGNAMES with an alias "Tags" and configured as Queryable (to be able to search Tags)

To use this feature, following steps have to be performed:

  • Activate "MatchPoint Enterprise Search Center Integration"-feature on the Search Center site (Colygon.MatchPoint.Server.EnterpriseSearchCenter)
  • Execute Add-MPResultTypes -Web <SearchCenterSite> CmdLet to reference MP display templates
  • Update Result Types on the Search Center site (Site Settings > Manage Result Types)
  • Add tag refiner (Edit Page > Refiner Web Part Properties > Choose Refiners)
    • Property: MATCHPOINTTAGREFINERS
    • Display Template: MatchPoint Tag Refinement

Groups can be configured in the filter template (Display Templates > Filters > edit the options-object in Filter_MPTags.html > Publish).

For more information on Search Center customization please refer to MSDN.

Allow Searching for Tags containing stopwords or noisewords

In case you are using special characters in tag names, tag lookup fields will not behave as expected, i.e. they won't find the tag you are searching for. Since MatchPoint uses SQL fulltext queries to lookup tags, this can be fixed by adjusting or creating a SQL fulltext stoplist and associate it with the "TagName" table. Refer to the MSDN article Configure and Manage Stopwords and Stoplists for Full-Text Search for instructions on how to create and use a stoplist.

Note that after changing a stopwords list, a rebuild of the full text index is required. This is done by right clicking the "TagName" table and choosing "Full-Text index --> Start Full Population / Start Incremental Population".

Execute a Full Crawl on the Search Service Application

Depending on your application scenario and whether you created managed properties during the installation process, it might be required to execute a full crawl on the search service application.

$contentsource = Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchCrawlContentSource
$contentsource.StartFullCrawl()

This step should not be required in most environments. However, if you are experiencing problems with search related functionality after adding the managed properties, a full crawl will rebuild the SharePoint search indices and thereby fix the problem.

Install the MatchPoint MUI Package

If you are using MatchPoint in a multi-language SharePoint environment, you need to install the MatchPoint MUI package. It is currently available for the following languages:

  • German
  • French
  • Italian

To install the package using the installer application, ensure that Colygon.MatchPoint.MUI.wsp is located in the installation directory before starting the installed. To install the package manually, please add the Colygon.MatchPoint.MUI.wsp solution file to your solution store and deploy it globally:

Add-SPSolution -LiteralPath C:\Colygon.MatchPoint.MUI.wsp
Install-SPSolution -Identity Colygon.MatchPoint.MUI.wsp

After the solution has been installed, the UI elements of MatchPoint will display any text information that is visible to "end users" either in the language that is configured as the default language of the system or in the language the user has selected as his/her display language.

Activate MatchPoint Features

Depending on your application scenario, you might need to activate different MatchPoint features within your SharePoint farm. The following features (with scope site collection or web) are available after you have completed the installation of MatchPoint:

  • Colygon.MatchPoint.Core.WebParts
  • Colygon.MatchPoint.WorkflowKit
  • Colygon.MatchPoint.Workspace
  • Colygon.MatchPoint.Tagging.Infrastructure
  • Colygon.MatchPoint.Provisioning.SaveSiteAsTemplate
  • Colygon.MatchPoint.Server.PageLayouts
  • Colygon.MatchPoint.Server.SendTo
  • Colygon.MatchPoint.Server.WebParts

Please refer to Architecture Planning for a description of the functionality of those features.

You can activate the features using the following interfaces:
  • The SharePoint GUI: Select "Site Settings" and
    • for the "Workspace" feature: "Manage site features"
    • for all other features: "Site collection features"
  • The "SharePoint 2013 Management Shell":
    • Enable-SPFeature –Identity <FeatureName> -Url <SiteUrl>
    • The STSADM utility: stsadm –o activatefeature –name <FeatureName> -url <SiteUrl>

Modify the web.config File

If you are using inline code within ASP.Net pages (ASPX) or within custom user controls (ASCX), you have to modify the web.config file of any web applications where you use this functionality:

Using Assemblies

Depending on the usage of standard Microsoft/SharePoint classes within inline code, it might be required to add assemblies to the following configuration section:

/Configuration/system.web/compilation/assemblies

<add assembly="System.Core,
     Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />

The System.Core assembly contains functionality for using Linq extensions. If Linq is used within custom code, the assembly has to be added as shown in the example. Naturally, any other assemblies that are used have to be added as well.

Compilation Settings

For compiling inline code, please specify following settings within the /Configuration/ section:

<compiler language="c#;cs;csharp" extension=".cs"
  type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
  warningLevel="4">
  <providerOption name="CompilerVersion" value="v3.5" />
  <providerOption name="WarnAsError" value="false" />
</compiler>

results matching ""

    No results matching ""