Hi Mark,

I just noticed that the log output for the list item URL was incorrect in the CONNECTORS-813 patch; it was outputting the old url value into the log, even though the NEW url was being sent to the output connector.  Can you confirm that you did in fact not just look at the ManifoldCF log to determine whether or not the patch worked?

Karl



On Wed, Nov 20, 2013 at 4:13 PM, Karl Wright <daddywri@gmail.com> wrote:
I was trying to read the value as metadata, but clearly, then, it is not available, and we will need to construct it ourselves, probably according to this formula:
// Display form full url
string.Format("{0}{1}?ID={2}", item.Web.Url, item.ParentList.Forms[PAGETYPE.PAGE_DISPLAYFORM].ServerRelativeUrl, item.ID)

The problem is that when I included this in the plugin code, the plugin failed to work properly.
No doubt it threw an exception of some kind, but we have no idea what that was.
Constructing it in Java is fine except I'm missing whatever the item.ParentList.Forms[] array would have
contained.  Can you confirm that this is the plugin you tried:

11832 Nov 20 17:35 MetaCarta.SharePoint.MCPermissionsService.wsp

If the size differed it is possible you were using the wrong one - let's just rule that out first.

Karl



On Wed, Nov 20, 2013 at 3:09 PM, Mark Libucha <mlibucha@gmail.com> wrote:
Still getting list item URIs that look like this: http://myhost/test3/Lists/Greg/1_.000


On Wed, Nov 20, 2013 at 10:43 AM, Mark Libucha <mlibucha@gmail.com> wrote:
Excellent! I was writing up a response to tell you the 2nd plugin change also did not work. I'll revert and apply the patch and report back.

Thanks,

Mark


On Wed, Nov 20, 2013 at 10:41 AM, Karl Wright <daddywri@gmail.com> wrote:
Hi Mark,

I found another way to do it - I think - that doesn't involve changes to the plugin.

I've attached a patch to the the ticket accordingly.  (CONNECTORS-813).

So you should be able to revert back to the distributed plugin and that will make things tons easier.

Karl



On Wed, Nov 20, 2013 at 12:19 PM, Karl Wright <daddywri@gmail.com> wrote:
Ok, I've uploaded another try - this time using a different suggestion from the same page.  Can you verify that it does not fail for both documents in libraries and for list items?

Thanks,
Karl



On Wed, Nov 20, 2013 at 12:06 PM, Karl Wright <daddywri@gmail.com> wrote:
Well, so much for StackOverflow suggestions.  It seems to be relying on an undocumented feature anyhow.

Let me try one other thing - will get right back to you.

Karl




On Wed, Nov 20, 2013 at 12:02 PM, Mark Libucha <mlibucha@gmail.com> wrote:
Karl,

It did not work. In fact, the SharePoint crawler never sent anything to my output connector, except for the Job Completed callback.

Log excerpt:

DEBUG 2013-11-20 11:56:26,683 (Worker thread '34') - SharePoint: Getting version of '/test3/Links///'
DEBUG 2013-11-20 11:56:26,684 (Worker thread '34') - SharePoint: Checking whether to include list '/test3/Links'
DEBUG 2013-11-20 11:56:26,684 (Worker thread '34') - SharePoint: List '/test3/Links' exactly matched rule path '/*'
DEBUG 2013-11-20 11:56:26,684 (Worker thread '34') - SharePoint: Including list '/test3/Links'
DEBUG 2013-11-20 11:56:26,685 (Worker thread '34') - SharePoint: Processing: '/test3/Links///'
DEBUG 2013-11-20 11:56:26,685 (Worker thread '34') - SharePoint: Document identifier is a list: '/test3/Links'
DEBUG 2013-11-20 11:56:26,768 (Worker thread '26') - SharePoint: The page at http://myhost/test3 did not exist; assuming library deleted
DEBUG 2013-11-20 11:56:26,768 (Worker thread '26') - SharePoint: No list found for list '/test3/Calendar' - deleting
DEBUG 2013-11-20 11:56:26,958 (Worker thread '34') - SharePoint: In getFieldList; site='/test3', listName='{A6631841-0251-46C1-86F0-B1B049B2F659}'
DEBUG 2013-11-20 11:56:27,360 (Worker thread '35') - SharePoint: The page at http://myhost/test3 did not exist; assuming library deleted
DEBUG 2013-11-20 11:56:27,360 (Worker thread '35') - SharePoint: No list found for library '/test3/SitePages' - deleting

Mark


On Tue, Nov 19, 2013 at 2:13 PM, Karl Wright <daddywri@gmail.com> wrote:
Hi Mark,

So I've created a new version of the MCPermissions.asmx plugin for SharePoint 2010.  You can download the .wsp for it from:

http://people.apache.org/~kwright/MetaCarta.SharePoint.MCPermissionsService.wsp

Install it by replacing the file of the same name in the plugin installation package.  Or, if you prefer, I can build the complete package - please let me know.

The point of doing this now is to make sure that this plugin works for both list items and for files, with getting exceptions or whatnot.  If it fails, then we are back to the drawing board, but if it seems to work OK then I will make appropriate modifications to the SharePoint connector to correspond to it.

In order to know whether it is working, you will need to crawl both lists and libraries, and make sure that MCF discovers the list items and files within without errors.

Please let me know if you are able to do this.

Thanks,
Karl





On Tue, Nov 19, 2013 at 4:59 PM, Karl Wright <daddywri@gmail.com> wrote:


On Tue, Nov 19, 2013 at 4:51 PM, Karl Wright <daddywri@gmail.com> wrote:
Hi Mark,

First - have you installed the ManifoldCF SharePoint 2010 plugin?  Have you selected SharePoint 2010 in your connection definition?

If you have, then ManifoldCF is communicating with the MCPermissions.asmx plugin to perform this activity.  Please see this page:

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitem_members%28v=office.14%29.aspx

The field the plugin is returning is the "Url" field of the item.  There is no "ListItemURL" member that I can see.  So, are inspecting the results from the Lists web service?  I wonder how the Lists webservice translates the FileRef URL into a ListItemURL, in C#?

Karl



On Tue, Nov 19, 2013 at 4:35 PM, Karl Wright <daddywri@gmail.com> wrote:
Ok; to fix this problem then we will need a new release of the SharePoint 2010 plugin.

Karl



On Tue, Nov 19, 2013 at 4:32 PM, Mark Libucha <mlibucha@gmail.com> wrote:
Ah, I think it's this: LISTITEMURL

That works for me.

Mark


On Tue, Nov 19, 2013 at 1:25 PM, Karl Wright <daddywri@gmail.com> wrote:
Hmm, okay.

The URL we use is what comes back in the "FileRef" field of the Lists.asmx getListItems response.  It is possible that there's a better choice for list items.  I'll create a ticket and look into what the options are.

Karl



On Tue, Nov 19, 2013 at 3:46 PM, Mark Libucha <mlibucha@gmail.com> wrote:
That doesn't work either.

In the SharePoint UI, the Task List is presented as a table, with each of the individual items in the list presented as a URL. When you click on an item, it raises a pop up...

The links on the page look like this...

http://myhost/_layouts/listform.aspx?PageType=4&ListId={1BD4F07D-A210-45A7-9C91-D296B1AB73EE}&ID=2&ContentTypeID=0x010800DE3D7FC80C8CFC4BA00DFEC40120E795

Nothing like the URIs they are handing back to MCF...

Thanks for the info.

Mark



On Tue, Nov 19, 2013 at 12:25 PM, Karl Wright <daddywri@gmail.com> wrote:
Hi Mark,

SharePoint indeed uses URLs of this form.  The one you provided describes a List in the root site called "Tasks", and references the second item in that list.  I'm surprised SharePoint doesn't give something better than a 404 when you go to it, though.

Can you go to http://myhost/Lists/Tasks#2_.000 without it giving a 404?  because that's something the connector could certainly do.

Karl



On Tue, Nov 19, 2013 at 3:21 PM, Mark Libucha <mlibucha@gmail.com> wrote:
When I crawl a list, I get back URLs that look like this:

http://myhost/Lists/Tasks/2_.000

This URL returns a 404, but I think that's a SharePoint issue. I don't believe there's a way to point directly to an item in List (is there?).

My question then is, is SharePoint returning this URL in this form, or is MCF creating the URL based on the name of the list?

Thanks,

Mark