manifoldcf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karl Wright (JIRA)" <>
Subject [jira] [Commented] (CONNECTORS-1203) Erratic handling of Sharepoint 2010 _ModerationStatus metadata
Date Tue, 26 May 2015 17:18:20 GMT


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:

  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)

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.


> Erratic handling of Sharepoint 2010 _ModerationStatus metadata
> --------------------------------------------------------------
>                 Key: CONNECTORS-1203
>                 URL:
>             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
> * 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
> * /abc  - does not work for top level sharepoint sites
> * /abc/xyz  - works but passes name inconsistently;

This message was sent by Atlassian JIRA

View raw message