Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add linked item URIs to citation metadata #1722

Open
dstillman opened this issue Aug 21, 2019 · 5 comments

Comments

@dstillman
Copy link
Member

commented Aug 21, 2019

https://forums.zotero.org/discussion/78763/importing-another-users-zotero-library

If you cite an item in your personal library, drag the item to a group library, and click Refresh in the document, shouldn't the uris field in the citation metadata be updated to include the item in the other library? That would let you start sharing a document in the middle of a project or transfer the document to someone else.

One problem is that I'm not sure what should happen if 1) you cite from My Library, 2) you drag the item to a group, 3) you refresh to update the doc with the group URI, and 4) someone else in the group refreshes with the same document. Is the original My Library URI removed, since it can't be found? Or do we just leave all libraries that were ever associated with the item?

This would also technically expose how many libraries an item was in in someone's library, as well as which public libraries it was in.

But it seems like a problem that you can't cite from a personal library and then share or transfer the document without the other person no longer being able to edit those citations.

Document collections could potentially help here, though there are problems there too. (E.g., if you can edit document collection items, what happens to the original DB item, which might not even be in the current user's database?)

@adomasven

This comment has been minimized.

Copy link
Member

commented Aug 21, 2019

If you cite an item in your personal library, drag the item to a group library, and click Refresh in the document, shouldn't the uris field in the citation metadata be updated to include the item in the other library? That would let you start sharing a document in the middle of a project or transfer the document to someone else.

Is the relation between library and group items that were added by dragging to the group stored somewhere?

Document collections could potentially help here, though there are problems there too. (E.g., if you can edit document collection items, what happens to the original DB item, which might not even be in the current user's database?)

I actually haven't thought of this before, but it will be a problem once someone can re-link document stored items somehow whether it's via group libraries or document collections, since once you have multiple URIs pointing to an item in multiple libraries you can start having metadata conflicts. Perhaps this is best solved still with document collections and they will have to disallow adding items back to your library and if you edit a stored item's metadata in the document collection it would remove all uris of an item so that there's only one true source of metadata.

@dstillman

This comment has been minimized.

Copy link
Member Author

commented Aug 21, 2019

Is the relation between library and group items that were added by dragging to the group stored somewhere?

Yes. Right now there's a Zotero.Item::getLinkedItem(libraryID), but we could make a Zotero.Item::getLinkedItems() that returns an array with items from all libraries.

But, hmm, yeah, having multiple URIs is actually problematic. Why do we even have the 'uris' property? What do we use that for now? Merged items?

@dstillman

This comment has been minimized.

Copy link
Member Author

commented Aug 21, 2019

It does seem like you should be able to move items between libraries or move items out of document collections back into your library, somehow. It's sort of terrifying to think about, though, since there's both the Zotero side and the document side, and those kind of need to be separate steps. You could drag all items over and then click a button in the plugin and choose the library that's the one true source of the items, but there's no guarantee that linked items will exist in the target library. I think the plugin would instead need to copy any missing items between libraries for you and put all the document items in a new collection in the target library. But then you still get into potential metadata differences between previously dragged items, and all the problems with updating metadata across libraries that have kept us from improving normal cross-library dragging for many years… But if we solve those, separately, maybe this approach would work.

@adomasven

This comment has been minimized.

Copy link
Member

commented Aug 21, 2019

It's still a problem if multiple users want to link an item to a different library. You can allow items to be linked to a library, but as soon as there are multiple users that don't share the library it will be chaos and we will have to unlink the item from them all and rely on the metadata stored in the doc.

@dstillman

This comment has been minimized.

Copy link
Member Author

commented Aug 21, 2019

That's true.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.