Super user cannot use FTSearch (Java)

Hello,I’m working with Java, CORBA and NCSO.jar (Domino 8.5.1) in order to read users calendars.

To be able to open every calendar (mail files), I’ve chosen to work with a super user : he has all permissions on all tables.

I can open mail files (myDbDirectory.open(“mail/aUser.nsf”));

I can get a view on the calendar (myDatabase.getView(“($Calendar)”)).

I can get all entries (myCalendarsView.getAllEntries()).

After that, I’d like to execute a query in order to get all documents between two dates (myCalendarsView.FTSearch(myRequest)).

The problem : it works with some users, but I have an error with some other users :

“NotesException: Notes error: You are not authorized to perform that operation” => on the FTSearch line.

There is no differences between users, so I don’t understand why I cannot execute my query.

Any idea ? Thanks.

Subject: Something to check

If you are able to access the database then it should not be an ACL issue.

In R8 the admin can lock users from being able to create a full text index. So it is possible that you are searching on a database that does not have an FTI created for it.

Normally the server will attempt to create one on the fly of the first 5,000 documents (IIRC). Then returns the results from that. If the admin has it locked then you would get that error.

Subject: Fixed (create index and it works)

Thx for yout response;

Effectively, I had to create an index. Now it works fine !

It’s strange because it worked on my own account, that is not indexed (but I’m admin, so…). Another Lotus mystery :slight_smile:

Thanks.

Fixed.

Subject: Not fixed

After some tests, as a user in the admins group, I still cannot read some users calendar.All the mail databases have a Full Text index.

In addition, the Lotus Designer 8.5 documentation about FTSearch method says :

“If the database is not full-text indexed, this method works, but less efficiently.”. It’s very strange.

Any idea ? Thx.

Subject: Check the execution rights of the agent.

“NotesException: You are not authorized to perform that operation”.

If the agent is set to run under the person who executes it and it works for you, but not for others then the agent will need the security level raised to 2 or 3. See security properties tab of the agent.

Subject: What happens when there is no index

When there is no index every time the agent runs it creates a temporary index uses it to find the results and deletes the index. So it can really kills the server performance if your agent runs frequently.

The difference between two users are in the level of rights they were given, so compare the server record for both users.