Hi MCF community,

I have recently done a few modifications on 3 connectors to solve some clients 
issues, and I think that they might be useful for the community :

MCF JCIFS connector :
Some users may need to preserve the last access time of crawled files. This can 
be achieved thanks to a modification of the JCIFS lib that Google has already 
done :
https://github.com/googlegsa/filesystem.v3/tree/master/projects/jcifs
So I have modified the JCIFS connector to detect if the provided JCIFS Library 
implements the methods allowing to preserve the last access time of files and 
use them if the user wants to. Based on this, a new option has been added to 
the configuration UI to preserve or not the last access time (of course if the 
feature is not available, the option is disabled and prefixed by 
‘[UNAVAILABLE]’)
Of course you can modify by your own any JCIFS release to add the required 
methods. You have to implement (along with the other involved modifications) 
the two methods ‘public long lastAccess()’ and ‘public void setLastAccess( long 
time )’ in the java class ‘jcifs.smb.SmbFile’ based on Google’s code : 
https://github.com/googlegsa/filesystem.v3/commit/3362a0e3802498ae98dab86753df663ef73a6c6c#diff-8be324616083b8a5d95af3b83ed62634


MCF Active Directory Authority Connector :
For debugging reasons or for people who work with ACL group names instead of 
SIDs (bad idea) or both, it might be useful that the Active Directory Authority 
Connector returns the group names. So I did some modifications to this 
connector to have the option in the configuration UI to return or not the group 
names in addition of the SIDs.


MCF JDBC Connector :
We recently had the bad surprise of a query serving to retrieve document’s data 
from an Oracle database, to fail after a certain amount of time when used with 
the JDBC connector. The reason was not obvious to find, but actually simple : 
The query was creating locks without ever releasing them, and when it was used 
massively in a single session, Oracle was raising an exception when the number 
of maximum locks was reached. Without any solution to release locks on query 
side, the only alternative was to re-init sessions on the JDBC connector side 
by closing and re-opening connections after each bunch of queries.
Again, I added the option in the configuration UI of the JDBC connector, to 
choose between keeping alive the connections in the connections pool or to 
close them and recreate new ones. Of course, when the last option is selected, 
the crawling performances are lowered so  it has to be wisely used.
   

You can find the 3 patches corresponding to these modifications as attachment 
pieces of this mail. They are based on the MCF 2.7-dev

Regards,
Julien Massiera


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel 
antivirus Avast.
https://www.avast.com/antivirus

Attachment: mcf-active-directory-authority.patch
Description: Binary data

Attachment: mcf-jcifs-connector.patch
Description: Binary data

Attachment: mcf-jdbc-connector.patch
Description: Binary data

Reply via email to