SharePoint Integration v2.5.x & v3.0.0

    The SharePoint integration plugin gives your users the ability to search for SharePoint content, add links to SharePoint content from their Clearspace content, and view the contents of SharePoint locations. Please read the installation instructions before installing this plugin.

     

    Deploying the Plugin

    Use the Admin console to install the plugin as usual, it will require a restart of your Clearspace instance to complete the installation.

    Configuring the Plugin

    Setting up SharePoint and Clearspace

    Before the Jive Clearspace SharePoint Integration plugin can be used, both the Clearspace and SharePoint administrators must set up their respective sites to accommodate the search utility.

     

    SharePoint Installation Requirements:

    The Jive Clearspace SharePoint Integration plugin supports the following installations of SharePoint:

    • WSS 3.0 with SP1 v12.0.06219
    • MOSS 2007 v12.0.0.6219

     

    Web Services

    Search Services needs to be be enabled in SharePoint for the plug-in to work.

     

    Configuring SharePoint for Clearspace

    Clearspace relies on SharePoint's indexing feature to provide direct links to SharePoint documents (used when adding links).  If a file type isn't indexed, Clearspace returns the SharePoint page the file is linked from, instead of the file itself.  In order to allow Clearspace to directly return all file types stored on SharePoint, the SharePoint admin should configure SharePoint to index all the file types stored on the SharePoint site.

     

    See this article for more information: http://sharepointsearch.com/cs/blogs/notorioustech/archive/2007/07/17/the-sp-indexing-process-and-how-it-works.aspx

     

    Setting up Search User Roles

    Clearspace Search Results are gathered on behalf of a Clearspace Search User set up by the SharePoint Administrator.  All Clearspace users will search at the security permissions level of this User.

     

    The Set-Up Process
    1. The SharePoint Admin receives from the Clearspace Admin a request to make a SharePoint site searchable.
    2. The SharePoint Admin sets up a User Role called ClearspaceSearchUser
    3. The SharePoint Admin gives the appropriate level of permission (usually Read, which provides read-only access to the site) to the User Role.
    4. The SharePoint Admin then sets up a User in that role with a login name and password.
    5. This login name and password are provided to Clearspace Admin, along with a URL to the SharePoint site and search webservices.
    6. The Clearspace Admin uses that info to add a SharePoint location (see below).

     

    SHAREPOINT SECURITY WARNING:  Make sure to inform the SharePoint Administrator of the lowest security permissions level among your Clearspace user base, so that the SharePoint Admin can set the permissions for the ClearspaceSearchUser Role appropriately.  Sub-sites by default inherit the permission levels of the parent site, and should be adjusted separately as needed.

     

    However, there is no user role in SharePoint that can prevent a user from viewing a file's indexed content.  Sensitive files, while they can be set not to be opened, will still be indexed, and as a result sensitive information could be viewable by people not cleared to view it.  The only way to guarantee that a file is not viewed is to avoid linking that SharePoint site to Clearspace!

     

    Setting Up a SharePoint Location

    Once you've installed the plugin, you'll need to configure Clearspace to be aware of SharePoint locations. With these connections made, users will have access to SharePoint from within Clearspace.

     

    For each SharePoint location you add, Clearspace configures an OpenSearch engine. While you can change the OpenSearch settings, you should leave them unchanged -- instead, make all your SharePoint changes on the SharePoint Integration page.

     

    1. Log in as admin, go to System > Settings > SharePoint Locations. 
    2. Add a SharePoint location. For example, if the SharePoint instance is available on a server called example-location, it would look something like the following:

      Nameexample-location
      IconURLhttp://localhost:8080/clearspace/plugins/spintegration/logo_small.png
      SharePoint URLhttp://example-location/
      Site Webservices URLhttp://example-location/_vti_bin/webs.asmx
      Search Webservices URLhttp://example-location/_vti_bin/spsearch.asmx (for WSS 3.0)
      http://example-location/_vti_bin/search.asmx (for MOSS 2007)
      Query Test TermDocument
      (Pick something you know will return results from SharePoint search)
      Usernamedomain\username
      (Username must be in this format to be able to talk to a Windows SharePoint Server)
      PasswordPassword for the domain\username specified for the Username value.
      EnabledSelected
      SearchableSelected
      Maximum Number of Results15
      Content TypeAtom (this is only option available)
    3. Click Update.
    4. Make sure this entry shows up in the locations table with both "Enabled" and "Searchable" set as "Yes".
    5. To test the new location, press the "Test" button to the right of the new entry in the "SharePoint Locations" page.

     

    Testing OpenSearch Engine Interaction

    For each SharePoint location you add, Clearspace configures an OpenSearch engine. After adding your SharePoint locations, you can test the configuration by entering search terms that you know can be found in SharePoint content.

     

    Note: While you can change the OpenSearch settings, you should leave them unchanged -- instead, make all your SharePoint changes on the SharePoint Integration page.

     

    1. Go to System > Settings > OpenSearch Engines.
    2. Make sure there is an OpenSearch engine entry by the same name as the SharePoint location name and it has "Results Inline", "Requires Authentication", "Enabled" properties set to "Yes".
    3. Click Test for this OpenSearch engine entry to check that it can fetch the results using the keyword "test".
    4. Log into Clearspace as another user and search. Make sure results from this OpenSearch engine provider show up under the "More Results" sidebar.

     

    Using the Plugin

    General Clearspace users have three ways of interfacing with the Jive Clearspace SharePoint Integration Utility: Searching, Browsing, and Adding Links to SharePoint Content.

     

    To Search SharePoint Content:
    1. Type in your search terms in the Clearspace search field in the upper-right hand corner.
    2. The results from SharePoint sites appear in the "More Results" section on the right side of the page.

     

    To Browse SharePoint Sites:
    1. Add the SharePoint Sites widget to your homepage (or a community/project/group homepage).  You can now view the available top level SharePoint sites.

     

    To Add A Link to SharePoint Content:
    1. In the Document Editing window, click on the Add A Link icon (a linked chain).
    2. Click the "SharePoint Content" tab.
    3. Type in the search term, specify the site(s) to search ("Where to search"), the timeframe ("When to search"), and the maximum number of results to give ("Max Results").
    4. Click the plus (+) sign  to the right of the entry name to view additional information (author, file name, location in the SharePoint site).
    5. Click the radio button next to the item you wish to add as a link, and click "Insert" to add it.

     

    Copyright and License

    Copyright 2008 Jive Software

    Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

     

    http://www.apache.org/licenses/LICENSE-2.0

     

    Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

     

    Source Code

    You can check out the source code from the svn repository.

     

    What's Inside

    • pom.xml -- Maven build file.
    • resources/
           content-picker.ftl -- Template for adding SharePoint search to Link Picker UI
           sample_sharepoint_opensearch.xml -- Sample files
           sample_splocatin_settings.txt -- Sample Files
           sp-sites-tree.css -- Style sheet for Sites Widget
           sp-sites-tree.ftl -- Template Sites Widget
           splocation-debug.ftl -- Debugging Information
    • src/main/java
           com/jivesoftware/clearspace/plugin/spi
               AdminSharepointLocation.java -- Interface for Admin SharePoint Location
               action/AdminSharepointLocationAction.java -- Admin SharePoints Locations Action
               action/SharepointContentPicker.java -- SharePoint Link Picker Action
               action/SpLocationDebug.java -- Debugging Code
               action/SpSearchAtomFeed.java -- Syndicate Feed generatoarot for OpenSearch Action
               impl/AdminSharepointLocationImpl.java -- SharePoint Location Object
               impl/dao/DbSharepointLocationDAO.java -- SharePoint Location DAO
               widget/SpSitesTreeWidget.java -- SharePoint Sites Widget
               ws/NtlmAuthenticator.java -- Basic Authentication object
               ws/SpLink.java -- SharePoint Link Object
               ws/SpSearchProvider.java -- Interface for OpenSearch Implementation
               ws/SpSearchProviderImpl.java -- Class responsible for making the SOAP call to SharePoint Search Web Service
               ws/SpSearchResultsAnalyzer.java -- Analyzes the raw Soap Response and parse the data into Syndicated Entries
               ws/SpSite.java -- SharePoint Site Object
               ws/SpSiteProvider.java -- Interface to get sites from SharePoint Site Web Service
               ws/SpSiteProviderImpl.java -- Class responsible for getting sites from SharePoint Site Web Service
               ws/SpSiteResultsAnalyzer.java -- Analyzes the raw Soap Response
               ws/SpSoapUtil.java -- Utility class for using SharePoint WebServices
               ws/SpSqlSearchQueryText.java -- Utility class
               ws/SpWebServiceCallResult.java --  WebService Result wrapper
               ws/SpWebServices.java -- WebServices wrapper
    • src/main/resources
           plugin_i18n.properties -- User interface strings.
           struts.xml -- Struts file mapping actions to action classes.
           plugin.xml -- Plugin configuration file.
           schema.xml -- Database schema description.
    • src/main/web
           license.html -- License information for plugin
           logo_large.gif -- Large Logo for plugin
           logo_small.gif -- Small Logo for plugin
           readme.html -- Readme available from Admin Plugins UI
    • src/main/web/resources
           content-picker.ftl -- Template for SharePoint search on Link Picker UI
           sharepoint-icon-site-16x16.png -- Logo image used to represent SharePoint integration in the UI.
           sample_sharepoint_opensearch.xml -- Sample File
           sample_splocatin_settings.txt -- Sample File
           settings-splocations.ftl -- Template for Admin SharePoint Locations UI
           sp-sites-tree.css -- Style sheet for Sites Widget
           sp-sites-tree.ftl -- Template Sites Widget
           splocation-debug.ftl -- Debugging Information
    • src/main/web/scripts
           spopensearch.js -- JavaScript for testing SharePoint Locations in Admin page

    Building the Code

    You can build this project using Maven.  From the command line, type mvn package.  It will generate target/spintegration.jar.