Document version history
Version number | Modified by | Modifications made | Date modified | Status |
1.0 | Shelf | Initial release of the document. | 05 Oct 2023 | Expired |
1.1 | Shelf | The document has been updated to include the description of providing Read access to specific collections on SharePoint. New imagery and text descriptions have been added. The existing figure numbering has been updated. | 23 Aug 2024 | Active |
Document purpose
This document has been developed for those customers’ end users who are using Shelf Knowledge Management System (Shelf KMS) with the Content Integration Layer feature to manage and handle various content both stored in Shelf KMS and in external platforms integrated via CIL. The document’s goal is to answer the following questions:
- What is the Shelf Content Integration Layer?
- What purposes does this feature serve?
- What is a Microsoft SharePoint Connector?
- How is it configured?
- How is it used in practice?
If you require further assistance, feel free to contact us at support@shelf.io or from the in-app chat support within the Shelf platform.
Glossary
Prior to starting to learn about the SharePoint connector and its configuration and usage, you need to learn the terminology used by Shelf.
Shelf NextGen KMS (Next Generation Knowledge Management System) is a knowledge management platform that employs AI capabilities to create, edit, process, store, export/import, and otherwise handle various content. The platform sports multiple AI-enabled features such as Search Copilot, Analytics Copilot, Semantic Search, Content Intelligence etc., all of which are intended to optimize and centralize customer organizations’ knowledge and provide fast, accurate, and consistent answers.
The Content Integration Layer (CIL) in Shelf Knowledge Management System (Shelf NextGen KMS) is a feature that allows for the seamless integration of various types and formats of content into the system. It enables users to sync content from various sources and knowledge repositories.
A connector is an entity that defines which external Content Management System Shelf NextGen KMS needs to connect to via Content Integration Layer (e.g. the SharePoint connector is a set of API parameters to define how to connect Shelf to Microsoft SharePoint). Shelf NextGen KMS has a set of preconfigured connectors (SharePoint, Contentful, Zendesk, Confluence connectors, etc.) but also allows for creating the custom ones.
A connection profile is a feature that allows users to establish a connection to various external applications or sources. It enables seamless integration and collaboration between Shelf NextGen KMS and other platforms such as external content repositories. Using Shelf’s connection profiles, users can import and synchronize various content and generally streamline workflows between Shelf NextGen KMS and external systems. This feature enhances the overall efficiency and effectiveness of knowledge management processes by enabling easy access to relevant information from different sources within the Shelf platform.
A sync flow is a feature that is responsible for the synchronization of content from external sources to Shelf NextGen KMS. Shelf’s sync flows can work on schedule or on demand, making it a versatile tool for content synchronization and prompt knowledge delivery.
Prerequisites
For proper operation of your SharePoint connector and successful synchronization of your content from the Microsoft SharePoint platform into Shelf NextGen KMS, the following preconditions must be met:
- Admin Panel must be accessible on your Shelf NextGen KMS account
- All preliminary configurations must be performed for your SharePoint account
- Content items (articles, documents, etc.) must be available on your SharePoint account
- Docker needs to be installed and configured to set up required permissions for SharePoint via PowerShell.
Content Integration Layer and its purpose
The Content Integration Layer feature makes it possible to integrate various content types and formats into a single platform, Shelf NextGen KMS, from where users can further derive useful information to deliver accurate and relevant answers to their clients.
The Content Integration Layer ensures that content is indexed, tagged, and categorized appropriately, making it easily searchable and accessible to users within the knowledge management system. It provides capabilities for content mapping, transformation, and synchronization, enabling the consolidation and synchronization of data from multiple sources.
CIL also ensures that the latest version of content is always available to users and facilitates efficient content updating and maintenance.
Overall, the Content Integration Layer plays a crucial role in providing a centralized repository of relevant and up-to-date information, making it easier for users to find and access the knowledge they need.
The detailed information about the CIL feature can be found in the relevant chapters of the Shelf Content Integration Layer Feature User Guide.
Understanding the Content Integration Layer workflow
In-depth configurations and use cases of the Shelf Content Integration Layer are described in the dedicated Shelf Content Integration Layer Feature User Guide mentioned above, but the short example of the CIL workflow is as follows:
- You access the Content Integration Layer feature in your Shelf NextGen KMS (Admin Panel).
- You select one of Shelf-preconfigured connectors or create your custom one (based on the external content repository from which you need to sync content)
- You create a connection profile that uses the selected or created connector, and configure it: indicate credentials (username/password/API key/token/etc.) to access your external repository. All these credentials and access details can be taken from that external platform, and in the respective section below we will show you how to get them on Microsoft SharePoint.
- You create a sync flow that uses the created connection profile and configure this sync flow to run either on some specific schedule or on demand. It is here where you can apply filters to tell CIL which exactly content needs to be synced.
- You run the created sync flow manually (if set to run on demand) or wait for the scheduled run, and get your content from the needed external source right in Shelf NextGen KMS.
For the proper operation of the SharePoint connector to sync your content from Microsoft SharePoint into Shelf NextGen KMS, you need to do certain actions in Microsoft SharePoint, Azure and in Shelf. Read the chapters below to learn what exactly you need to do.
Configurations on the Microsoft SharePoint side
Before making the configurations described below, make sure you have the Microsoft SharePoint Admin permissions. If you have such a permissions level, you can expect to see the following window after logging in to your Microsoft SharePoint account.
Figure 1. Verifying the SharePoint Admin permissions
If you do not have such a role, contact your organization’s SharePoint administrators and consult with them on this matter.
Registering and configuring SharePoint application in Azure and SharePoint
The next stage of configurations on the Microsoft side is to register your SharePoint application with Azure. This step is needed not only to make your SharePoint application a trusted one but also to set up a proper authentication method Shelf NextGen KMS will use to access the Microsoft SharePoint platform and sync content from it.
To complete this stage, follow the below procedure.
Figure 2. Finding and selecting the App registrations menu in Azure
3. In the App registrations window, find and click + New registration.
Figure 3. Starting to register your SharePoint application in Azure
4. In the next window, enter the desired name for your SharePoint application and select the account type based on your organization’s configurations. In our case, we use a single tenant account type. Following that, click Register.
Figure 4. Setting the app’s name and account type
Once you see the below toast message, your application has been successfully registered with Azure but requires some additional configurations that are described below.
Figure 5. Accessing your application’s certificates and secrets and creating new secret
Figure 6. Viewing and copying the secret for your SharePoint application
Figure 7. Viewing and copying your SharePoint Application ID and Directory ID
https://<your_domain>-admin.sharepoint.com/_layouts/15/appinv.aspx
where <your_domain> needs to be replaced with your real SharePoint domain
Figure 8. Finding your app and creating its permissions
<AppPermissionRequests AllowAppOnlyPolicy="true"> <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="Read" /> </AppPermissionRequests> |
if you want users to have read access to all collections stored on the Microsoft SharePoint account
<AppPermissionRequests AllowAppOnlyPolicy="true"> <AppPermissionRequest Scope="http://sharepoint/content/tenant" Right="Read" /> </AppPermissionRequests> |
Figure 9. Confirming that you trust SharePoint app - Read All collections case
Figure 10. Confirming that you trust SharePoint app - Read Specific Collection case
📢 | It may occur that when selecting the needed collection from the dropdown list you will see instead of the correct collection names some odd ones, like shown in the figure below. To fix this issue and see the correct names, you need to remove the -admin suffix in the URL address of your SharePoint domain. This action will navigate you to the old design of the app creation and permission granting page. Populate the needed fields as described above and click Create. Now the collection names in the dropdown list should have the correct look. |
---|
docker
docker run --rm -it m365pnp/powershell |
16. After running this command, you can expect to see the below response:
Connect-PnPOnline -PnPManagementShell |
Set-PnPTenant -DisableCustomAppAuthentication $false |
Once you have successfully completed all the above steps and configurations laid down in them, you are done with registering and configuring your SharePoint application in Azure and on Microsoft SharePoint platform. You can now use your SharePoint site as a source from which Shelf NextGen KMS can sync content. Make sure to add the needed content to the site.
Configurations on the Shelf side
This chapter and its subsections describe the steps you need to take to get your SharePoint connector configured and ready for use.
Accessing Content Integration Layer
From the standard workflow described above you see that to start configuring and using your SharePoint connector you need to access the Content Integration Layer feature. To do so, perform the following steps:
- Log into your Shelf NextGen KMS account using valid credentials.
- Once logged in, go to the Admin Panel by selecting the respective option in the dropdown menu.
Figure 11. Accessing Admin Panel in Shelf NextGen KMS
Figure 12. Accessing CIL modules in Admin Panel
Configuring SharePoint connector
In fact, no configurations are needed for your SharePoint connector. It is prebuilt and preconfigured by Shelf. You can see it in the connector list that appears once you select the Connectors option in the Content Integration Layer section.
Figure 13. Viewing the SharePoint connector in CIL
What you need to do next is to create and configure a connection profile dedicated to work with the external content source such as your Microsoft SharePoint instance.
Configuring SharePoint connection profile
The SharePoint connection profile is a feature that uses the prebuilt SharePoint connector and allows Shelf NextGen KMS to access, authenticate on Microsoft SharePoint, and communicate with it to find and sync content stored there. But to enable its proper operation, you need to create and configure it as described in the procedure below.
- In the Admin Panel in Shelf NextGen KMS, go to the Content Integration Layer section, find and select the Connection Profiles option.
- In the Connection Profiles window that appears, you see the list of available connection profiles. Neither the prebuilt nor other custom connection profiles can be used for communicating with SharePoint, so you need to create a new connection profile. Click the Create Connection Profile button to start.
Figure 14. Accessing CIL connection profiles and starting creating a new connection profile
Figure 15. Configuring the SharePoint connection profile in Shelf
In the Runtime Settings section, you need to enter your SharePoint Instance URL which is the address of your SharePoint site - https://<your_domain>.sharepoint.com.
In the Credentials section, there are 3 fields to be populated:
- Client ID
- Client Secret
- Realm
All these details you already have on hand as you have copied Application (client) ID and Directory (tenant) ID from the Overview page and created and copied the client secret in the Certificates and secrets page in Azure.
Paste the Application (client) ID value into the Client ID field, the Directory (tenant) ID value into the Realm field, and, finally, the client secret value into the Client Secret field.
📢 | Fields with the asterisk symbol (*) are mandatory. If they are left blank, you are not able to save the connection profile you are creating. |
---|
Configuring SharePoint sync flow
Now that you have configured the SharePoint connector and connection profile, you need to create and configure the SharePoint sync flow. Sync flows are basically sets of instructions telling Shelf NextGen KMS what content and when it needs to pull from external sources, in our case - SharePoint.
To create and configure the SharePoint sync flow, perform the following steps.
- In the Admin Panel in Shelf NextGen KMS, go to the Content Integration Layer section, find and select the Sync Flows option.
Figure 16. Starting creating SharePoint sync flow
Figure 17. Configuring the SharePoint sync flow
Figure 18. Configuring the scheduled run of SharePoint sync flow
Once done, click the Create button to finish your SharePoint sync flow creation.
Running SharePoint sync job
Once you have created the SharePoint sync flow, you can either wait until it performs the content sync per schedule (if you have selected the On-schedule option for the sync flow run type), or start the sync manually at any time (if you have selected the On-demand option for the run type).
To manually start syncing your content from SharePoint into Shelf, follow the below steps.
- Open the newly created SharePoint sync flow, find and go to the Jobs tab in its window.
- In the tab window, find and click the Trigger Now button to start syncing content.
Figure 19. Manually running content syncing from SharePoint into Shelf
Figure 20. Confirming the sync start
Figure 21. Viewing the running SharePoint sync job
📢 | The sync job can be triggered manually both for the on-schedule and on-demand sync flows, unless there is a sync job running at that time. In the first case, the manually triggered job overrides the schedule set for the sync flow. At the same time, the sync flow execution will resume to occur per schedule after the manually triggered sync job is finished. If you manually trigger the sync flow job, it starts immediately. If there is a running sync job in this sync flow when you attempt to start a new job, this new job will not be created and, respectively, the content sync will not be started. In this case you will see the error message informing that the job is already running. If there are no other sync jobs running in this sync flow, the Jobs tab window refreshes, and a new job with the IN PROGRESS status appears in the table grid. |
---|
Figure 22. Stopping the sync job
Checking syncing results
Once the sync job triggered manually or on schedule is finished, you will see it to change the status to SUCCESS (if the sync was successful) or FAILED (if some issues occurred during the sync). In the latter case, check your configurations in the SharePoint connection profile and sync flow and rerun the sync job.
If the sync was successful, you can see the recently sync content directly from this window. To do so, open the Recent Sync tab and check the content items synced from SharePoint into Shelf.
Figure 23. Viewing the recently synced content from SharePoint
Note that the tab shows not more than 50 content items, so if you have synced more items, you will see them only after going back to the Shelf NextGen KMS Homepage and selecting the respective source - SharePoint.
Configuring SharePoint permissions in User Groups
Even when you successfully configured the SharePoint connector, connection profile, sync flow, run the sync job and pulled the content from your SharePoint repository, you need to add SharePoint collections to the permitted sources via Shelf’s User Groups feature. Otherwise, you will not be able to search for the synced content and otherwise manage it in Shelf NextGen KMS.
To set the mentioned collection permissions, go back to the Admin Panel where find and select the User Groups option in the left sidebar menu. Select the needed user group from the list to open it.
Figure 24. Accessing User Groups in Shelf
In the selected user group window that opens, go and select the Collection Permissions tab. Once it opens, click the Add Collection button.
Figure 25. Starting to set SharePoint collection permissions in Shelf
In the form that opens, find and select the needed SharePoint collections you want to allow.
Figure 26. Selecting SharePoint collections
Confirm your choice by clicking the Add button. Once the collections are added, they appear in the list.
Figure 27. Viewing the added SharePoint collections
Once done, you are finished with all the configurations needed to sync content from SharePoint into Shelf NextGen KMS using the SharePoint connector.
Viewing SharePoint resources in Shelf
After completing all the configurations on your SharePoint connector and associated features and options, you can now view and work with the content synced into Shelf NextGen KMS from your SharePoint repository.
Go back to Shelf NextGen KMS homepage and select SharePoint as the needed source in the navigation panel.
Figure 28. Viewing content synced from SharePoint into Shelf
Note that if you select any content item synced from SharePoint it will open in SharePoint not in Shelf NextGen KMS.
Figure 29. Viewing content item in SharePoint
Now, you can enjoy all the benefits, including the AI-enabled features such as Search and Analytics Copilots, of Shelf NextGen KMS in relation to your content synced from SharePoint.
In particular, you can filter this content using the Collections filter in Shelf NextGen KMS’s advanced search, as shown in the figure below.
Figure 30. Searching the synced content using the Collections filter in Shelf NextGen KMS search
You can also search across the articles synced from SharePoint by title, description, and content (keyword(s) or phrase(s)). Generally, you can use virtually all the capabilities of Shelf NextGen KMS in relation to searching, viewing, and managing content synced from SharePoint.
Figure 31. Viewing the search results for SharePoint articles