I have been experimenting with OJS 3 and have tried to update my plugins to support it.
One of my plugins connects the CrossRef funder information via their API to the Sponsors field in OJS 2. It is a relatively simple plugin but since OJS 3.0 is already loading tagit to the new Agencies field I can not use my plugin anymore.
After doing some searching in the code I found this template: templates/submission/submissionMetadataFormFields.tpl (https://github.com/pkp/pkp-lib/blob/master/templates/submission/submissionMetadataFormFields.tpl)
Now I can set “source” here and give it the value “http://api.crossref.org/funders”. However, this is all the customization I can do as far as I understand? The problem is that the API is indeed called when writing to the field but instead of the correct form http://api.crossref.org/funders?query=searchedword the request is http://api.crossref.org/funders?term=searchedword&_=1473416294687 and the API of course returns an error.
I do not know where the “term” is hardcoded or if it could be changed? Furhermore, I would like to change some other tagit settings as well, for example the label that is returned by tagit, but that seems to be very difficult using the in-built tagit? In my plugin the returned value from CrossRef is “Name of the agency [DOI]” (I use the DOI elsewhere and my plugin is collecting that data separately). I also could not find any way of adding a tagit source to a metadata field via a plugin? The only way of doing it was to hardcode it to the template file mentioned above which is of course very problematic.
If you have any suggestion on how to customize tagit in specific metadata fields I would be happy to hear.
The simplest solution would probably be to disable tagit in some fields alltogether, but I do not know whether this is possible via a plugin?