|
|
#### Harvester logic
|
|
|
### Harvester logic
|
|
|
|
|
|
The logic implements in the `Automaton` class is the following
|
|
|
|
|
|
1. Ask to the store, all the `record_id` satisfying the user request.
|
|
|
2. Reject `record_id` matching the `origin` field of a database entry.
|
|
|
3. Request to the store, the XML description of the publication and decode it.
|
|
|
4. Check that the *oai* of the publication is defined and well formed. Recover it if it is not the case. From time to time, the `id` encoded in the `oai` field is different from the `record` id. This happens when an old record is redirected to new one for obscure reasons. The record is ignore if a database entry is found with the bad OAI.
|
|
|
5. Reject temporarily publication.
|
|
|
6. Check that *authors* are defined. Reject the publication if it is not the case.
|
|
|
7. Check that *my institute* is in the list of the institutes signing the publication. Reject the publication if it is not the case. When the affiliation are not defined, try to recover this case, by finding the author of my institute signing the publication. This recovery procedure uses the *author rescue list*. Reject the record when the recovery procedure failed.
|
|
|
8. Check that the *collaboration*, if defined, is well formed. Reject the publication if it is not the case
|
|
|
10. Several check are applied depending on the publication type.
|
|
|
11. At the end of this process, the publisher, the authors are formatted and the list of signatories of my institute extracted. |
|
|
\ No newline at end of file |