Author: kwright
Date: Wed Nov 20 18:43:53 2013
New Revision: 1543904
URL: http://svn.apache.org/r1543904
Log:
Tentative fix for CONNECTORS-813.
Modified:
manifoldcf/trunk/CHANGES.txt
manifoldcf/trunk/connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SharePointRepository.java
Modified: manifoldcf/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/manifoldcf/trunk/CHANGES.txt?rev=1543904&r1=1543903&r2=1543904&view=diff
==============================================================================
--- manifoldcf/trunk/CHANGES.txt (original)
+++ manifoldcf/trunk/CHANGES.txt Wed Nov 20 18:43:53 2013
@@ -3,6 +3,10 @@ $Id$
======================= 1.5-dev =====================
+CONNECTORS-813: For list items, obtain the url from the EncodedAbsURL
+metadata field. This should allow list items to be clicked on in search
results.
+(Mark Libucha, Karl Wright)
+
CONNECTORS-812: SharePoint connector needs to ignore constructs
that it doesn't understand when enumerating list contents, because
under some configurations, SharePoint lists things that aren't list items
Modified:
manifoldcf/trunk/connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SharePointRepository.java
URL:
http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SharePointRepository.java?rev=1543904&r1=1543903&r2=1543904&view=diff
==============================================================================
---
manifoldcf/trunk/connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SharePointRepository.java
(original)
+++
manifoldcf/trunk/connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SharePointRepository.java
Wed Nov 20 18:43:53 2013
@@ -803,6 +803,7 @@ public class SharePointRepository extend
metadataDescription.add("Created");
metadataDescription.add("ID");
metadataDescription.add("GUID");
+ metadataDescription.add("EncodedAbsUrl");
// The document path includes the library, with no leading
slash, and is decoded.
String decodedItemPathWithoutSite =
decodedItemPath.substring(cutoff+1);
Map<String,String> values = proxy.getFieldValues(
metadataDescription, encodedSitePath, listID, "/Lists/" +
decodedItemPathWithoutSite, dspStsWorks );
@@ -810,6 +811,7 @@ public class SharePointRepository extend
String createdDate = values.get("Created");
String id = values.get("ID");
String guid = values.get("GUID");
+ String absURL = values.get("EncodedAbsUrl");
if (modifiedDate != null)
{
// Item has a modified date so we presume it exists.
@@ -831,6 +833,7 @@ public class SharePointRepository extend
packDate(sb,createdDateValue);
pack(sb,id,'+');
pack(sb,guid,'+');
+ pack(sb,absURL,'+');
// The rest of this is unparseable
sb.append(versionToken);
sb.append(pathNameAttributeVersion);
@@ -1370,6 +1373,11 @@ public class SharePointRepository extend
startPosition = unpack(guidBuffer,version,startPosition,'+');
String guid = guidBuffer.toString();
+ // List item URL
+ StringBuilder absURLBuffer = new StringBuilder();
+ startPosition = unpack(absURLBuffer,version,startPosition,'+');
+ String absURL = absURLBuffer.toString();
+
// We need the list ID, which we've already fetched, so grab
that from the parent data.
String[] listIDs =
activities.retrieveParentData(documentIdentifier, "guids");
@@ -1484,7 +1492,7 @@ public class SharePointRepository extend
}
data.addField("GUID",guid);
- activities.ingestDocument( documentIdentifier, version,
itemUrl , data );
+ activities.ingestDocument( documentIdentifier, version,
absURL , data );
}
finally
{