For what purpose? The best format is typically the item URI, which you can copy using the Zutilo (https://github.com/wshanks/Zutilo), which also lets you copy item select links (another form of ID)
Thanks very much, adamsmith. I'm the colleague tirelanduwaterloo referred to. I'm still a bit of a newbie, though. What is the URI in Zotero and why would it be superior to the specific item ID?
As for what purpose, I have a db of instances of language, and we are keeping track of the sourcing through zotero. We thought the item ID would be a convenient way to match the source to the instance and we have been trying to find an efficient way to harvest it (currently we are doing it manually--clicking on the source in the z web app and plucking the ID out of the URL that shows up in the address bar; getting it through the desktop app, which is what my RAs prefer to use, is apparently possible as well through a plug-in (is Zutilo a plug-in?), but that looks at least as cumbersome). It's easier to get the URI? The URI can serve the same purpose (as a unique ID for the source)? It's possible through the desktop app?
The URI is a globally unique ID that includes the item ID as the last element and is used throughout Zotero (API, word processor integration) as an identifier, that's why I'd recommend it, yes. Because it's particularly useful, it's also built into add-ons like Zutilo. Programatically, it's easy to get either the ID or the URI or you can convert the later into the former with a simple regex (as you've done for the online URL, which is similar to the URI).
Zutilo works on the desktop app and gets you the item URI via configurable shortcut. For the item ID you'd have to write an export translators -- also not *hard*, but obviously harder than using an existing solution.
@RandyAllenHarris further to the second part of your question "What is the URI in Zotero and why would it be superior to the specific item ID?" ... Zotero does not really have item IDs say in the same way as Endnote's simple sequential auto-assigned record number. I wish it did.
I used to use the Endnote number to indicate that a hard copy PDF paper was in my library by just writing its Endnote record number on it. My PDF collections were stored in my filing cabinet ordered by Endnote number. The same could be done by adding the record number to a digital PDF file's name, where you store your PDFs external to Zotero (ie as linked files). I also found it to be the best method for entering unformatted citations when writing (much faster than using the word processor plugins).
Zotero does not really have item IDs say in the same way as Endnote's simple sequential auto-assigned record number. I wish it did.
Zotero is a distributed tool. It's not possible to use sequential integers as global ids without the possibility of conflicts.
(None of the discussion above is actually about "item ids". Every item in a Zotero database has an itemID, which is a sequential integer, but those are for internal use in the local database. The 8-character string that's exposed to users and synced between devices is the "item key".)
Thanks for the help. I think we'll be going with the URIs. As I said, Newbie. But what we've been taking to be the z 'item ids' are the (we assumed) unique alphabetic sequences we pulled from the URIs. For instance, we would isolate this: https://www.zotero.org/groups/4374923/before_construction/items/CTWMWEZM/library and pull out this, CTWMWEZM, through a laborious copy-paste-copy-paste sequence, and then use it to reference the source.
yes, that's what I was referring to as well, so we were talking about the same thing.
dstillman points out (and I had forgotten) that those are technically (i.e. if you look them up in the Zotero database directly or access them via the API) item keys, not itemIDs.
Right. I've got it now. Bit of a mystery why there would be a need for 'internal' and 'external, identifiers, and also why Zotero wouldn't make either or both more readily available, but I think I understand the situation.
Tim
As for what purpose, I have a db of instances of language, and we are keeping track of the sourcing through zotero. We thought the item ID would be a convenient way to match the source to the instance and we have been trying to find an efficient way to harvest it (currently we are doing it manually--clicking on the source in the z web app and plucking the ID out of the URL that shows up in the address bar; getting it through the desktop app, which is what my RAs prefer to use, is apparently possible as well through a plug-in (is Zutilo a plug-in?), but that looks at least as cumbersome). It's easier to get the URI? The URI can serve the same purpose (as a unique ID for the source)? It's possible through the desktop app?
Zutilo works on the desktop app and gets you the item URI via configurable shortcut. For the item ID you'd have to write an export translators -- also not *hard*, but obviously harder than using an existing solution.
I used to use the Endnote number to indicate that a hard copy PDF paper was in my library by just writing its Endnote record number on it. My PDF collections were stored in my filing cabinet ordered by Endnote number. The same could be done by adding the record number to a digital PDF file's name, where you store your PDFs external to Zotero (ie as linked files). I also found it to be the best method for entering unformatted citations when writing (much faster than using the word processor plugins).
(None of the discussion above is actually about "item ids". Every item in a Zotero database has an
itemID
, which is a sequential integer, but those are for internal use in the local database. The 8-character string that's exposed to users and synced between devices is the "item key".)https://www.zotero.org/groups/4374923/before_construction/items/CTWMWEZM/library
and pull out this, CTWMWEZM, through a laborious copy-paste-copy-paste sequence, and then use it to reference the source.
dstillman points out (and I had forgotten) that those are technically (i.e. if you look them up in the Zotero database directly or access them via the API) item keys, not itemIDs.