Hi Mark,
This call uses the native SharePoint Lists.asmx web service, not the
MCPermissions.asmx one, via this call:
>>>>>>
ListsWS listsService = new ListsWS( baseUrl + parentSiteRequest,
userName, password, configuration, httpClient );
ListsSoap listsCall = listsService.getListsSoapHandler( );
GetListCollectionResponseGetListCollectionResult listResp =
listsCall.getListCollection();
<<<<<<
The code on the Java side that filters for lists (other than the SPQuery
expression which seems to filter some things even though it isn't supposed
to) is as follows:
>>>>>>
int i = 0;
while (i < nodeList.size())
{
Object o = nodeList.get( i++ );
String baseType = doc.getValue( o, "BaseType");
if ( baseType.equals( "0" ) )
{
// We think it's a list
// This is how we display it, so this has the right path extension
String urlPath = doc.getValue( o, "DefaultViewUrl" );
// This is the pretty name
String title = doc.getValue( o, "Title" );
// Leave this in for the moment
if (Logging.connectors.isDebugEnabled())
Logging.connectors.debug("SharePoint: List: '"+urlPath+"',
'"+title+"'");
// If it has no view url, we don't have any idea what to do with
it
if (urlPath != null && urlPath.length() > 0)
{
// Normalize conditionally
if (!urlPath.startsWith("/"))
urlPath = prefixPath + urlPath;
// Get rid of what we don't want, unconditionally
if (urlPath.startsWith(prefixPath))
{
urlPath = urlPath.substring(prefixPath.length());
// We're at the /Lists/listname part of the name. Figure out
where the end of it is.
int index = urlPath.indexOf("/");
if (index == -1)
throw new ManifoldCFException("Bad list view url without
site: '"+urlPath+"'");
String pathpart = urlPath.substring(0,index);
if("Lists".equals(pathpart))
{
int k = urlPath.indexOf("/",index+1);
if (k == -1)
throw new ManifoldCFException("Bad list view url without
'Lists': '"+urlPath+"'");
pathpart = urlPath.substring(index+1,k);
}
if ( pathpart.length() != 0 && !pathpart.equals("_catalogs"))
{
if (title == null || title.length() == 0)
title = pathpart;
result.add( new NameValue(pathpart, title) );
}
}
else
{
Logging.connectors.warn("SharePoint: List view url is not in
the expected form: '"+urlPath+"'; expected something beginning with
'"+prefixPath+"'; skipping");
}
}
}
<<<<<<
For the Issue Tracking list type, which of these is the reason it doesn't
show up? You can add a System.out.println() of listResp.toString() which
may help. This is in the getLists() method in
connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SPSProxyHelper.java
.
If you are not in a position to make such changes to the code yourself, I
can set up a branch to work on this new ticket, which is CONNECTORS-788.
Karl
On Tue, Oct 15, 2013 at 9:20 PM, Mark Libucha <[email protected]> wrote:
> Hi guys,
>
> Now that I've got ManifoldCF working well with SharePoint 2010 (and thanks
> for all the help!), I'm testing what I can.
>
> One thing I ran across is that one type of list you can create called
> "Issue Tracking" doesn't show up in the auto-populated Lists dropdowns
> under "Paths" and "Metadata".
>
> Minor issue, but thought I'd put it out there.
>
> Screen shot attached.
>
> Mark
>