You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@manifoldcf.apache.org by "David Morana (JIRA)" <ji...@apache.org> on 2013/05/14 16:47:16 UTC

[jira] [Created] (CONNECTORS-689) Add Personal Workspaces to the Livelink connector

David Morana created CONNECTORS-689:
---------------------------------------

             Summary: Add Personal Workspaces to the Livelink connector
                 Key: CONNECTORS-689
                 URL: https://issues.apache.org/jira/browse/CONNECTORS-689
             Project: ManifoldCF
          Issue Type: Improvement
    Affects Versions: ManifoldCF 1.2, ManifoldCF 1.1.1, ManifoldCF 1.3
            Reporter: David Morana
            Priority: Minor
             Fix For: ManifoldCF 1.1.1


Currently, the Livelink connector only crawls the Enterprise workspace.
Can we add each users personal workspace to the crawl?
First you would have to enumerate all the users (and get the users object ID) and then use ListObjects to enumerate all of the files and folders.
Initially, I was testing to see if deleted users appeared; fortunately they don't. You could also test to exclude login disabled users but that's probably not necessary.
here's some prototype code:
{code}
// list all users test
LLValue uu = new LLValue();
LLValue children = new LLValue();
int stat = users.ListUsers(uu);

//add test status for errors

LLValueEnumeration valEnum = uu.enumerateValues();

while (valEnum.hasMoreElements())
{
	elem = (LLValue) valEnum.nextElement();	
	//int t = elem.toInteger("DELETED");
	//if (t == 1)
	//{
		System.out.println("OwnerID = " + elem.toString("ID"));
		System.out.println("Name = " + elem.toString("NAME"));				
		System.out.println("Deleted = " + elem.toString("DELETED"));
	//}
		// exclude the Admin account - objectID 1000, 1001
		// enumerate all objects in the Users PersonalWS, see and see contents at the very least 
		int objID =  elem.toInteger("ID");
		if (objID != 1000 || objID != 1001)
			stat = documents.ListObjects(0, objID, null, null, 2 + 36865, children);
		
		// loop through children to get files and folders
		children.enumerateValues();
		...
}
{code}

We're really only after files and folders. There are other Livelink objects, like LiveReports, that you can probably exclude. Some users have the ability to create and use LiveReports which are stored in their PersonalWS. LiveReports are just glorified oracle stored procedures.

Exclude the Admin account. You can't enumerate that in lapi.

Thanks,

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira