Hi,
I was trying out the Zotero import and realised it did not work properly for User Items. I have taken a look at the code and think I have found the problem.
The function _import in importProcess.php refers to item ID as $item->itemID() but the feed actually stores the item ID under zapi:key. I have managed to get things working after amending the itemID() to key() instead for the occurrences.
Now I have a question! I am not syncing my file attachments with the Zotero servers due to both monetary (budget for the online storage space!) and privacy/confidentiality issues. I have synced them with a personal server using WebDav instead.
Is there any way I can get this plugin to grab the files from my server instead? Please point me in some general direction as to where I should look at.
Thanks!
In fact the Omeka is setup on the same server space as the file attachments.
Any ideas or advice?
Thank you!
Hi,
The plugin is a mess right now, because of a bug in the Zotero API. We are working on it, here is the latest from another forum post:
http://omeka.org/forums/topic/unexpected-zotero-api-method
Hi,
Just an update on the situation!
I managed to get the plugin to work by changing all the feed type variables function references itemID() to key() in ImportProcess.php.
I have also managed to make the plugin (UGLILY) pull files out from servers other than Zotero, by intercepting the $location variable in the _mapAttachment function in the ImportProcess.php
if(ZOTERO_FILESYNC_METHOD == "webdav"){
$location = FILE_ATT_LOCATION."/{$element->key()}.zip"; }else{
$method = "{$this->_libraryType}ItemFile";
$location = $this->_client->$method($this->_libraryId, $element->key());
}
Very ugly and by brute force, but gets the work done. Can be improved by implementing an auto un-archiving function to store the files nicely in the Omeka server.
But as for now, hope it helps anyone who is looking for such implementations.
Thanks.