blob: eee55a66b2c3b776180573b062ccbf9508f85fb4 [file] [log] [blame]
#summary frequently asked questions with answers
= Developer FAQ =
* How should one handle repository being unavailable during init()?
It is OK for init() to error if repository is unavailable, as the
!GsaCommunicationHandler will retry init() using exponential backoff
(starting at some seconds and maxing out at an hour) until it is interrupted, shutdown, or successful.
* How do I get a reference to the D!ocIdPusher?
Use !AdaptorContext.!getDocIdPusher() that you get in init.
* How do I feed document that has changed?
Send a Record for that !DocId with crawl-immediately being true.
* How do I feed a document that has been deleted?
Tell the GSA to crawl the document, which will result in 404, which will result in a deletion. If you'd like you can set delete to be true in Record, but that's not necessary.
* How do I make an !ACL?
Use !Acl.!Builder
* Can I represent multiple !ACLs for same document?
Yes.
Consider: some/path/Folder and some/path/Folder/File
Acls:<br>
some/path/Folder (sent via retriever)<br>
generated/inherit_file/some/path/Folder (sent via pushNamedResources)<br>
generated/inherit_folder/some/path/Folder (sent via pushNamedResources)<br>
some/path/Folder/File inherits from generated/inherit_file/some/path/Folder (sent via retriever)<br>
To send using pushNamedResources, create the other ACLs and then spawn a new thread that calls pushNamedResources.
* I'm getting interruption exception, what am I doing wrong?
The adaptor has 30 seconds to start sending content, and 3 minutes to complete sending content. The config values are adaptor.docContentTimeoutSecs and adaptor.docHeaderTimeoutSecs.