You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@manifoldcf.apache.org by "Fran Alvarez (JIRA)" <ji...@apache.org> on 2014/01/16 10:53:21 UTC

[jira] [Created] (CONNECTORS-859) Authority Group and Authority Connection problem when querying results

Fran Alvarez created CONNECTORS-859:
---------------------------------------

             Summary: Authority Group and Authority Connection problem when querying results 
                 Key: CONNECTORS-859
                 URL: https://issues.apache.org/jira/browse/CONNECTORS-859
             Project: ManifoldCF
          Issue Type: Bug
    Affects Versions: ManifoldCF 1.4
            Reporter: Fran Alvarez


I have the following scenario, although I think it's regardless the output connector chosen.

1. Alfresco authority connector (developed by Zaizi)
2. Solr Output connector from current Manifold trunk
3. Alfresco repository connector with ACL extraction enabled

Currently, for defining an Authority Connector you need to assign it to an Authority Group.

I create an Authority Group named AuthorityGroup. I create an Authority Connector named AuthorityCon and mapped to AuthorityGroup.

I set that AuthorityGroup to Alfresco repository connector, define a Solr output connector and create a Job for both of them. When I run the following query:

http://localhost:8345/mcf-authority-service/UserACLs?username=admin

I get the following values:

AUTHORIZED:AuthorityCon
TOKEN:AuthorityCon:GROUP_ALFRESCO_ADMINISTRATORS
TOKEN:AuthorityCon:GROUP_EMAIL_CONTRIBUTORS
TOKEN:AuthorityCon:GROUP_EVERYONE
TOKEN:AuthorityCon:GROUP_site_movies-site
TOKEN:AuthorityCon:GROUP_site_movies-site_SiteManager
TOKEN:AuthorityCon:GROUP_site_swsdp
TOKEN:AuthorityCon:GROUP_site_swsdp_SiteManager
TOKEN:AuthorityCon:ROLE_ADMINISTRATOR
TOKEN:AuthorityCon:admin

Note it's taking the AuthorityCon (Authority Connector) and adding as a suffix (makes sense because there might be another Authority Connection under Authority Group with a same named authority which could cause duplication conflicts.

However, when a document is indexed in Solr (I changed allow_token_document and other to be stored as well), I get the following values:

"allow_token_document": [
          "AuthorityGroup:GROUP_EVERYONE",
          "AuthorityGroup:guest"
        ]

Note it's adding Authority Group name instead of Authority Connector name, so when querying results, nothing is found since prefixes do not match.

Inspecting the code, when documents are indexed, if you look at WorkerThread class in mcf-pull-agent project, yo see that in line 1747:

ingester.documentIngest(job.getOutputConnectionName(),
        job.getConnectionName(),documentIdentifierHash,
        version,outputVersion,parameterVersion,
        connection.getACLAuthority(),
        data,currentTime,
        documentURI,
        ingestLogger);

Where connection.getACLAuthority() is AuthorityGroup in this case. That's the reason why documents gets indexed with such value rather than AuthorityCon value (which is the one returned by AuthorityConnector) causing no documents are returned when Manifold plugin for Solr is set.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)