[ 
https://issues.apache.org/jira/browse/CONNECTORS-1203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14559427#comment-14559427
 ] 

Karl Wright commented on CONNECTORS-1203:
-----------------------------------------

Hi Dale,

There is only one place that the string "ows_" is mentioned in the connector, 
and that's when it's trying to look up field values in SPSProxyHelper:

{code}
  public Map<String,String> getFieldValues( String[] fieldNames, String site, 
String docLibrary, String docId, boolean dspStsWorks )
    throws ManifoldCFException, ServiceInterruption {

....
        // Look for all the specified attributes in the record
        for (Object attrName : fieldNames)
        {
          String attrValue = doc.getValue(o,"ows_"+(String)attrName);
          if (attrValue != null)
          {
            result.put(attrName.toString(),valueMunge(attrValue));
          }
        }
...
{code}

There are a number of different ways ManifoldCF uses to get field values, but 
these vary by the version of SharePoint you select rather than randomly, as you 
suggested.  The name of the metadata (for SharePoint 2010) always comes from 
the XML tag pair that encloses the value.  That, in turn, is set by the 
ManifoldCF 2010 Plugin, which is directly querying an internal SharePoint API 
to get that information.  So any inconsistencies must be coming from SharePoint 
itself.  Not sure how we can possibly deal with that.

If there has been a migration from an earlier version of SharePoint, I would 
suspect that the data migration process might well have left the older schema 
intact and just entered it that way into the newer SharePoint.  From your 
description, it even looks like there may have been a migration from SharePoint 
2003 to 2008, and thence to SharePoint 2010, all without fully migrating the 
schema?  Just guessing here...

At any rate, what I'd like to see to fully get a handle on the problem is 
actual log data showing XML requests/responses for all four cases you list.  
Feel free to redact sensitive strings.  Let's see what that tells us and we can 
make a plan.

Thanks!



> Erratic handling of Sharepoint 2010 _ModerationStatus metadata
> --------------------------------------------------------------
>
>                 Key: CONNECTORS-1203
>                 URL: https://issues.apache.org/jira/browse/CONNECTORS-1203
>             Project: ManifoldCF
>          Issue Type: Bug
>          Components: SharePoint connector
>    Affects Versions: ManifoldCF 1.7.2
>            Reporter: Dale Dreiske
>            Assignee: Karl Wright
>             Fix For: ManifoldCF 1.10, ManifoldCF 2.2
>
>
> The ManifoldCF Sharepoint 2010 connector handles the Approval Status metadata 
> inconsistently. In some cases it does not provide access to Approval Status 
> at all.
> On /mcf-crawler-ui/execute.jsp#metapathwidget :
> * The field name appears in the drop down list as "Approval Status" when 
> adding a new rule.
> * The field name is NOT available in the drop down list for top level sites.
> * The field name is listed as "_ModerationStatus" for existing rules.
> With connector debug turned on, the ManifoldCF logs show the field coming 
> from Sharepoint as "ows__ModerationStatus". This is consistent across all 
> pages, even when the the field is not added to the metadata rules.
> When sent to Solr, it appears in one of these 4 forms:
> * "ows__ModerationStatus"
> * "_ModerationStatus"
> * "_moderationstatus"
> * In some cases it does not get passed at all.
> This issue is most troublesome when this field is not displayed for creating 
> new metadata rules. It appears it is only available when creating rules for 
> pages in low level sites. Example paths:
> * /abc  - does not work for top level sharepoint sites
> * /abc/xyz  - works but passes name inconsistently;



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to