372 Matching Annotations
  1. Last 7 days
  2. Nov 2022
  3. Oct 2022
  4. Sep 2022
    1. https://mleddy.blogspot.com/2005/05/tools-for-serious-readers.html

      Interesting (now discontinued) reading list product from Levenger that in previous generations may have been covered by a commonplace book but was quickly replaced by digital social products (bookmark applications or things like Goodreads.com or LibraryThing.com).

      Presently I keep a lot of this sort of data digitally myself using either/both: Calibre or Zotero.

    1. dstillman May 27, 2020 You don't need to use callbacks if you're doing this programmatically. translate() returns a promise with the items, so you'll have an empty array when it didn't import anything.
      • ok
    1. you can get the XPath for any element by finding it in the browser's Inspector tool, right-clicking on the element, and choosing Copy → XPath.
      • OK
      • CHROME: Inspect, r-c, Copy->XPath
      • Paste in notepad: expression XPath to get that value
    2. Many older web translators rely on XPath to extract information from HTML or XML
      • see
    3. Web translators generally use querySelector and querySelectorAll to extract content from web pages. Your browser likely provides an inspector tool to help you understand pages' structure. You can access it by right-clicking and selecting Inspect (Firefox) or Inspect Element (Chrome).
      • SEE
    4. lastUpdated The date and time when the translator was last modified (format “YYYY-MM-DD HH:MM:SS”). For the metadata to be read correctly, this line must be the last line in the JSON block.
      • IMPORTANT: modificar en cada cambio para que Zotero DETECTE el cambio
    1. Zotero can automatically create COinS from items in your library. Select the items in Zotero, right click, and choose “Export Items…”. Then choose COinS from the dropdown menu. Open the exported file to see the COinS metadata. Copy and paste this code into your web page editor. You can also set Zotero to use COinS as your default “Quick Copy” export format. Open the Export pane of Zotero preferences and select “COinS” as the Default Format. Then, you can drag and drop items from your library to your web page editor to insert COinS code. You can also copy COinS to your clipboad by pressing Ctrl/Cmd-Shift-C.
      • INTERESTING
    1. Zotero Web Translators Exposing bibliographic metadata through an open standard is very powerful (and also benefits non-Zotero users!). However, if you have little control over the way your website is built, you may have to create a Zotero web translator for Zotero-compatibility. Translators have some downsides: apart from the fact that they are a Zotero-specific solution, translators can break easily if the structure of the targeted website changes.
      • ok
    2. Alternatively, Zotero can be used to create COinS from references in your library, and these can dragged-and-dropped into your website or blog;
      • SEE
    3. Zotero users will be eternally grateful if you expose bibliographic metadata on your website.
      • ok
    1. /** * Get a promise for a HTTP request * * @param {String} method The method of the request ("GET", "POST", "HEAD", or "OPTIONS") * @param {String} url URL to request * @param {Object} [options] Options for HTTP request:<ul> * <li>body - The body of a POST request</li> * <li>headers - Object of HTTP headers to send with the request</li> * <li>debug - Log response text and status code</li> * <li>logBodyLength - Length of request body to log</li> * <li>timeout - Request timeout specified in milliseconds [default 15000]</li> * <li>responseType - The response type of the request from the XHR spec</li> * <li>responseCharset - The charset the response should be interpreted as</li> * <li>successCodes - HTTP status codes that are considered successful, or FALSE to allow all</li> * </ul> * @return {Promise<XMLHttpRequest>} A promise resolved with the XMLHttpRequest object if the * request succeeds, or rejected if the browser is offline or a non-2XX status response * code is received (or a code not in options.successCodes if provided). */ this.request = async function(method, url, options = {}) { // Default options options = Object.assign({ body: null, headers: {}, debug: false, logBodyLength: 1024, timeout: 15000, responseType: '', responseCharset: null, successCodes: null }, options); throw new Error(`Zotero.HTTP.request(): not implemented`); }; /** * Send an HTTP GET request via XMLHTTPRequest * * @deprecated Use {@link Zotero.HTTP.request} * @param {String} url URL to request * @param {Function} onDone Callback to be executed upon request completion * @param {String} responseCharset * @param {N/A} cookieSandbox Not used in Connector * @param {Object} headers HTTP headers to include with the request * @return {Boolean} True if the request was sent, or false if the browser is offline */ this.doGet = function(url, onDone, responseCharset, cookieSandbox, headers) { Zotero.debug('Zotero.HTTP.doGet is deprecated. Use Zotero.HTTP.request'); this.request('GET', url, {responseCharset, headers}) .then(onDone, function(e) { onDone({status: e.status, responseText: e.responseText}); throw (e); }); return true; }; /** * Send an HTTP POST request via XMLHTTPRequest * * @deprecated Use {@link Zotero.HTTP.request} * @param {String} url URL to request * @param {String|Object[]} body Request body * @param {Function} onDone Callback to be executed upon request completion * @param {String} headers Request HTTP headers * @param {String} responseCharset * @return {Boolean} True if the request was sent, or false if the browser is offline */ this.doPost = function(url, body, onDone, headers, responseCharset) { Zotero.debug('Zotero.HTTP.doPost is deprecated. Use Zotero.HTTP.request'); this.request('POST', url, {body, responseCharset, headers}) .then(onDone, function(e) { onDone({status: e.status, responseText: e.responseText}); throw (e); }); return true; };
      • doGET no es async
      • llama a request() sin await
  5. Aug 2022
  6. Jul 2022
    1. dstillman January 23, 2017 Just to note, it's better not to store the Zotero data directory in the Documents folder, which might be synced to the cloud (now or in the future), resulting in database corruption. Zotero 5.0 will use a "Zotero" directory at the root of your home directory, so that's what I'd recommend.
      • ok
    2. a combination of "Reset Translators" from the Advanced tab of the Zotero preferences followed by update now.
      • RESET translators
      • 1-Reset=included with installer
      • 2-Update now=last versiones
    1. Thanks for all the fantastic literature tips! Added to the list 😊

      If these are the types of things that are interesting, you might also try a shared bibliography that a handful of readers/researchers share and contribute to: https://www.zotero.org/groups/4676190/tools_for_thought

  7. Jun 2022
    1. Recommended preliminary reading  Antonini A., Benatti F., Blackburn-Daniels S. ‘On Links To Be: Exercises in Style #2’, 31st ACM Conference on Hypertext and Social Media (July 2020): 13–15. https://dl.acm.org/doi/10.1145/3372923.3404785   Grafton, Anthony. Worlds Made by Words : Scholarship and Community in the Modern West (Harvard UP, 2011).  Jackson, H. J. Marginalia: Readers Writing in Books (Yale UP, 2001).  –––. Romantic Readers: The Evidence of Marginalia (Yale UP, 2005).  Ohge, Christopher and Steven Olsen-Smith. ‘Computation and Digital Text Analysis at Melville’s Marginalia Online’, Leviathan: A Journal of Melville Studies 20.2 (June 2018): 1–16.  O’Neill, Helen, Anne Welsh, David A. Smith, Glenn Roe, Melissa Terras, ‘Text mining Mill: Computationally detecting influence in the writings of John Stuart Mill from library records’, Digital Scholarship in the Humanities 36.4 (December 2021): 1013–1029, https://doi.org/10.1093/llc/fqab010  Sherman, William. Used Books: Marking Readers in Renaissance England (U of Pennsylvania P, 2008).  Spedding, Patrick and Paul Tankard. Marginal Notes: Social Reading and the Literal Margins (Palgrave Macmillan, 2021). 

      An interesting list of readings on annotation.

      I'm curious if anyone has an open Zotero bibliography for this area? https://www.zotero.org/search/?p=2&q=annotation&type=group

      of which the following look interesting: - https://www.zotero.org/groups/2586310/annotation - https://www.zotero.org/groups/2423071/annotated - https://www.zotero.org/groups/2898045/social_annotation

      This reminds me to revisit Zocurelia as well: https://zocurelia.com

  8. May 2022
    1. adamsmith October 8, 2021 How are you renaming? Don't use Manage Attachments --> Rename (that's the Zotfile one). Instead use "Rename using parent metadata" which is the Zotero native option. That works for me.For the other question, no other wildcards like %j aren't currently available andyes, '{%y_}{%c_}{%t{50}}' would remove spaces and use underscores
      • ZOTERO rename
    1. bwiernik March 25, 2019 If you leave the location field empty in Zotfile Preferences, the files should rename without moving. elenahe March 25, 2019 edited March 25, 2019 Thank you for the tip! I got it halfway working but I'm still doing something wrong. When I click on "Manage attachement" - "Rename attachment" then it renames the linked file in zotero but not in my actual folder where the file is stored.
      • ZOTFILE: rename WITHOUT move
  9. Apr 2022
    1. seeingtheforest March 14, 2020 edited March 14, 2020 Is there any way to have a library full of items, collections, tags, etc... but have the linked file be online somewhere? The reason I ask is I'm putting together a library that I would like to share widely, but dont expect most people to want or be able to download all of it (will likely be 20+GB and targeted to people in the developing world). It would be great if they could just download a copy of the database, be able to browse and search it (especially using tags) and then download files as needed. I have come across the plugin for creating a website based on a Zotero library, which I suppose could be hosted and used for searching and downloading, but I really would love to have an "offline catalog" .I suppose it would be something akin to Microsoft OneDrive's functionality of Files On-Demand - you can see "shadow" versions of the files in your OneDrive folder, but have to download them in order to use them. Is there something like this that is compatible with Zotero?
      • GOOD IDEA
    2. - Devs have indicated that they're hoping to release a docker container that would make deploying Zotero server locally much easier.
      • ok
    1. // Hidden browser, which requires a browser window, needed for charset detection // (until we figure out a better way) win = await loadBrowserWindow(); fooItem = await importFileAttachment("search/foo.html"); foobarItem = await importFileAttachment("search/foobar.html"); bazItem = await importFileAttachment("search/baz.pdf"); userLibraryID = fooItem.libraryID; let group = await getGroup(); fooItemGroup = await importFileAttachment("search/foo.html", { libraryID: group.libraryID }); foobarItemGroup = await importFileAttachment("search/foobar.html", { libraryID: group.libraryID }); bazItemGroup = await importFileAttachment("search/baz.pdf", { libraryID: group.libraryID }); }); after(function* () { if (win) { win.close(); }
      • IDEA
      • abrir browser para cookie?
      • antes de importfrom url
    1. /** * @param {Object} options * @param {Integer} options.libraryID * @param {String} options.url * @param {Integer} [options.parentItemID] * @param {Integer[]} [options.collections] * @param {String} [options.title] * @param {String} [options.fileBaseName] * @param {Boolean} [options.renameIfAllowedType=false] * @param {String} [options.contentType] * @param {String} [options.referrer] * @param {CookieSandbox} [options.cookieSandbox] * @param {Object} [options.saveOptions] - Options to pass to Zotero.Item::save() * @return {Promise<Zotero.Item>} - A promise for the created attachment item */ this.importFromURL = Zotero.Promise.coroutine(function* (options) { var libraryID = options.libraryID; var url = options.url; var parentItemID = options.parentItemID; var collections = options.collections; var title = options.title; var fileBaseName = options.fileBaseName; var renameIfAllowedType = options.renameIfAllowedType; var contentType = options.contentType; var referrer = options.referrer; var cookieSandbox = options.cookieSandbox; var saveOptions = options.saveOptions; Zotero.debug('Importing attachment from URL ' + url); if (parentItemID && collections) { throw new Error("parentItemID and collections cannot both be provided"); }
      • IMPORTANT
      • an attachment can NOT be 1-inside a Item AND 2-outside, in a Collection.
      • its XOR
    1. dstillman October 10, 2017 Linked files have never been available in group libraries, and won't at least until there's support for a per-library base directory setting. (It's a bug that the dialog recommends that function in group libraries, but it's not a new problem — file: URIs have been rejected with that message since 4.0.25.1 in January 2015. I've created an issue to remove that line in that case.) SiGi October 11, 2017 @dstillman: "Linked files have never been available in groups" is not correct. In my group lib I have added an Link to URI using the file:// protocol on Oct 2016. And it works fine for our local group. (Perhaps it was possible with the firefox-version of Zotero4.x at that time, and is now missing in the stand alone version of Zotero5). dstillman October 11, 2017 "Linked files have never been available in groups" is not correct. It is. "Attach Link to URI" creates a linked URL attachment, not a linked file attachment.The code that should block file: linked URL attachments via "Attach Link to URI" existed in 4.0.29.15 in January 2015, but it's possible it was/is accidentally allowed via some other method (e.g., bibliographic file import). It's not meant to be supported, both for the same reasons that linked files aren't supported in groups and because file: URLs are much more awkward and limited than linked files.
      • SEE
    1. dstillman March 7, 2021 edited March 7, 2021 getFilePath() only returns cached paths. Use await item.getFilePathAsync() in general.
      • EXAMPLE
    1. Open prefs.js in the Zotero profile directory in a text editor and delete the lines containing extensions.lastAppBuildId and extensions.lastAppVersion. Save the file and restart Zotero. This will force Zotero to read the 'extensions' directory and install your plugin from source, after which you should see it listed in Tools → Add-ons. This is only necessary once.
      • DOESNT WORK
    1. doesn't actually address finding the right pdf for the right item, which really is the main task here.
      • OK
    1. dstillman May 11, 2020 You can see JavaScript API, but there's not much documentation currently.Not tested, but running this from Tools → Developer → Run JavaScript will probably work:var items = await Zotero.Items.getAll(Zotero.Libraries.userLibraryID, true);for (let item of items) { if (!item.isRegularItem()) continue; let ids = item.getAttachments(); for (let id of ids) { let attachment = await Zotero.Items.getAsync(id); let tags = attachment.getTags(); for (let tag of tags) { item.addTag(tag.tag); } attachment.setTags([]); await item.saveTx({ skipDateModifiedUpdate: true }); await attachment.saveTx({ skipDateModifiedUpdate: true }); }}
      • EXAMPLE
    1. johnmy April 27, 2021 I tried this Zotero.Items.trashTx(id), however, after the zotero trash was empty, the attachment file still remains in the linked folder.
      • TRASH(id) instead ERASE
    1. dstillman November 30, 2017 I'm flux meaning "don't bother for a while"? I'm fine with that. Yeah, not sure when I'll get to it, but I'm planning to update some of the existing import translators to use async/await, so those should be able to serve as examples (and possibly prompt additional modernization of the translator architecture).
      • ASYNC
    1. zuphilip February 2, 2020 I already provide a MARC21XML export translator at https://github.com/UB-Mannheim/zotkat and happy to collaborate on that, if that suits your use case. For yes/no decisions I used some uncommon displayOptions.You can also use the (hidden) Zotero preferences and create some customized fields there, or it should be possible to read a JSON file which can be placed besides the translator file.It is also possible to look up data within Zotero, e.g. for author data from a authority file, and append this information to the entries. However, at some point I guess that making a Zotero cataloguing plugin would be the way to go.
      • SEE
    1. If you're able to load that URL but the Zotero Connector shows Zotero as unavailable, try these steps until the problem is resolved: Uninstall and reinstall the Zotero Connector. Temporarily disable any browser extensions that may block network requests, such as AdBlock, uBlock Origin, NoScript, EFF Privacy Badger, or Request Policy. If the Connector stops saying that Zotero is offline, reenable each extension one at a time and, if the problem recurs, whitelist 127.0.0.1 port 23119 in the extension's settings. Temporarily disable any other installed extension. Try in another browser. Create a new profile in your original browser. If this fixes the problem, something is wrong with your original profile, and you'll need to either identify the problem or transfer your bookmarks, history and other data to the new profile.
      • PROBLEMS
    1. Always assume original resource — instructs Zotero Robust Links to ignore whether or not the URL in the URL field of an item comes from a web archive and always create a new memento from the URL — do not modify this setting unless you fully understand its implications
      • DEFAULT???
      • RECOMMENDED??
      • TEST
    1. Paste item type (‘Paste-type’): Paste the item type of the source item to the target items. This will not change item field values. However, changing the type of a Zotero item modifies the list of its valid fields. It's important to realize that data in invalid fields will be lost!
      • INDEPNEDENT FUNCTION: change itemType!
      • WARNING: could lose data
    2. Paste all item fields (‘Paste-all’): Paste all item fields from source, even if they are empty. To edit specific item fields, select a source item and use "Copy item fields". Paste to a text editor, edit the JSON text, then copy the modified text back to the clipboard. Finally, select the target items and use "Paste all item fields". The itemType name/value pair needs to be kept in the JSON text because Zutilo uses its presence to decide whether to use the paste JSON commands in the context menu; its value is irrelevant for this function. You can, e.g., clear the URL field in multiple items by pasting {"itemType": "book", "url": ""}, which will not change any item types.
      • GOOD IDEA:
      • REQUIRED; field "itemType", but doesnt replace it!
    3. Paste into empty item fields: (‘Paste-into-empty’) paste where source has value and target has none/empty. Authors from the source are merged in even if the target already has authors.
      • WARNING: exception= authors, are merged
    4. Copy child items: Copy the child items of a selected item to an internal Zutilo clipboard (not the desktop clipboard). This function is meant to be used in conjunction with the "Relocate child items" function. Relocate child items: Move all items stored in Zutilo's internal clipboard (put there by the "Copy child items" function) to the currently selected item.
      • TEST
      • IMPORTANT: IT MOVES items!
    5. Item menu functions
      • DOC MENU
    1. Copy + edit + Paste-all: Clearing certain item fields in a large number of records You are creating a public library B from a library A. In this process, you want to clear some fields from a set of items in library B. For example, you may wish to remove a set of archive locations, or extras, or similar. Create a blank item (of the same type), copy it. Edit the JSON on the clipboard to keep only fields to be cleared. Then use Paste-all to clear those fields in a number of source items.
      • GOOD IDEA
    1. retorquere commented on Sep 27, 2017 Can you walk me through what the async importers do, conceptually? I'm looking at the Zotero CSL-JSON translator as that seems the simplest translator that does async import, but I'm not fully grokking what is going on. I think that if async is set to true in the config options, item.complete will return a promise. Is that correct? Is Promise.coroutine available in the translators? Would I be mostly set by just wrapping doImport with Promise.coroutine and yielding on item.complete()?
      • WITHOUT ANSWER!
      • SEE CSL-JSON translator
    2. dstillman commented on Jul 5, 2017 • edited Import and search translators in 5.0 should account for the possibility of an item.complete() that returns a promise. This allows for items to be saved to disk individually using the asynchronous database access in 5.0. These translators should also return a promise from doImport(). Translators can indicate that they support asynchronous saving with an "async": true property in the configOptions. For translators that haven't been updated, items will be added to a queue and saved together at the end of the import process, which for large imports can hang the UI for an extended period. The native Promise object is available in all modern browsers, but native promises aren't currently available in child sandboxes or in some older browsers (e.g., Safari under 10.8), so translators should use typeof Promise == 'undefined' to determine whether doImport can return a promise. (I don't think we can use a polyfill because setTimeout() also isn't available in the sandbox.) For now, this won't affect web translators, including web translators that call import translators. Those will still queue items and save them at the end. I'll post a PR shortly with an updated BibTeX translator as an example.
      • SEE
    1. for (const lib of Zotero.Libraries.getAll()) { for (const item of await Zotero.Items.getAll(lib.id)) { if (!item.isRegularItem()) continue await item.loadAllData() await Zotero.BetterBibTeX.KeyManager.pin(item.id) } }
      • ALL items
    1. Rintze December 5, 2011 With regard to broken translators, do the Zotero clients phone home any details on save failures? (there is a preference checkbox "Report broken site translators" which suggests they do)I don't mind fixing up a few more translators, but it would be nice to know which translators fail most often. ajlyon December 5, 2011 It does phone home, but I'm afraid those reports are going into a black hole for now; I've noticed the requests in various logs, but I've never been notified of a failing translator by the Zotero team. It'd be great if the translator list / status page integrated explicit tests and such error reports. adamsmith December 5, 2011 there is, of course, also a good number of translators who don't trigger any errors, because they don't detect. Rintze December 5, 2011 Yes, but I would argue that non-detecting translators are less frustrating to users. dstillman December 7, 2011 Here's a start:https://repo.zotero.org/errorsThe actual error reports aren't public for privacy reasons (and we're not displaying absolute numbers), but we can provide example error strings and URLs on request. We also might be able to have this automatically display error strings that show up across many reports (e.g., "TypeError: scisig is null" for Google Scholar), since short of major site breakages it will probably be hard to debug many of these without examples.Note that the Google Scholar results are greatly skewed by Retrieve Metadata attempts, and DOI is also showing mostly "could not find DOI" errors. I'm hoping detection can be tightened on those (e.g., to remove the folder icon on a Google Scholar search with no results), which would allow this to better show actual error frequency. ajlyon December 7, 2011 I'll try to work on detection. Automatic display of common error strings would be very useful, as well as some general idea of how many errors we're talking about-- for something like ScienceDirect, are we talking about 10 errors? 100? 1000?Also, does this filter out data from clients with out-of-date translators or Zotero versions?Thanks for putting this up! It's sure to be useful in the coming weeks and years. Rintze December 7, 2011 Like ajlyon, I think some indication of the number of errors per translator would be very useful. And could the list be expanded to show more than the top 10 translators (say the top 50)?Also, would it be possible to create somewhat comprehensive reports with, say, 10 error strings and URLs for each translator to send to ajlyon, adamsmith and me, so we don't have to submit individual requests per translator? I'd hope we have established ourselves as at least somewhat trustworthy (and I assume all three of us would be more than willing to sign any privacy agreement). ajlyon December 8, 2011 Thanks for upping the number visible.What's going on with the outdated translators? There are people out there with three different ScienceDirects, two DOIs... Is that just people with updating off? Or something else? dstillman December 8, 2011 OK, updated again with absolute numbers and per-error breakdowns. Hover over each segment for error details. I don't think any page data will make it into the errors, but to be safe I'm displaying only errors coming from at least three addresses that don't include the string "http" in them—the rest get lumped together at the end in blue. If you notice anything that shouldn't be in there, let me know.We might be able to display URLs that show up across enough addresses, though there may not be enough of those. What's going on with the outdated translators? Those are all <2.1.9. Not much we can do for those folks.
      • ABOUT property "Report broken translators"
    2. adamsmith October 19, 2011 great! the spreadsheet can be edited by anyone - I don't expect vandalism (although you never know what Thompson/Reuter is up to after sunset).
      • HAHAHA!!!
    1. let items = await this.Zotero.Items.getAsync(results);The Javascript API page (https://www.zotero.org/support/dev/client_coding/javascript_api) tells me to use 'await', like in the example above. However I get a JS SyntaxError: await is only valid in async functions and async generators.If I look at the source code (https://github.com/zotero/zotero/blob/master/chrome/content/zotero/xpcom/data/search.js)I get the following SyntaxError: yield is a reserved identifier.What am I missing? bm_nomis December 19, 2020 I just found the answer myself. The calling function had not been defined as async.
      • IMPORTANT: await needs function defined with async
    1. adamsmith April 9, 2014 I don't think so. You're aware Zotero can do this, though?
      • BUT I WANT ZOTFILE RULES TO RENAME!
    2. shivams April 9, 2014 Using Zotfile, whenever you rename an attachment, it is also moved by default. If the "Location of Files" in Zotfile preferences is set to "Attach stored copy of files", it will move the attachment from its original location and save it as a copy in Zotero. If the option is set to a "Custom Location", it will move the file to the given custom location. What I want is that while renaming an attachment, it should not be moved. Is their any way to do this? Is their any setting that I can change to do this?
      • I WANT THE SAME
    1. emilianoeheyns September 23, 2018 I think ZotFile does what you want. 01baftb September 24, 2018 @emilianoeheyns You're correct, I must configure the "Linked Attachments Base Directory" before zotero-link-local-files plugin can silently make imports as a "Link to file".
      • link ONLY if location inside Base dir
    2. emilianoeheyns September 23, 2018 I can't comment on what should or should not be part of baseline Zotero. I haven't worked on that plugin in a long while but I think it only links files that live in the folder selected in "Linked Attachments Base Directory". No idea how that came about, but that's how it is. I think.
      • WHAT FOR?
      • dstillman says that Zotero saves relative paths in sqllite DB if location inside Base Dir
    1. adamsmith July 30, 2013 ZotFile can convert attachments stored in Zotero to linked attachments in a target folder. It can do so in batch.That would effectively mean moving files in and out of Zotero, though, rather than just linking to existing ones.
      • OK, but ALSO moves links to external locations
      • I DONT WANT to move these
      • I WANT to move ONLY internal files
    1. dstillman June 6, 2020 It's a misunderstanding.The Linked Attachment Base Directory setting doesn't affect where files get stored — it just affects how the paths for linked files are saved in the database (absolute vs. relative). Read the documentation for an explanation.If you want to use linked files, the ZotFile plugin can help convert stored files to linked files in a location of your choosing (which you'd generally want to be the same as the Linked Attachment Base Directory so that the files could be accessible on other computers even if the path was different).
      • VERY LIMITED
      • I have got PDFs in different locations!
      • I WANT to link to the absolute location at import
    2. but files are still imported under the data directory (storage folder)
      • ITS A BUG!
      • Zotero 6: menu Import, option Link to original location

      • Example: export with files:

      • If path is relative: creates link to original

      • Example: export without files:

      • BUT if path is absolute: copy into storage!!!
    1. Discovered via Nate

      I was a bit surprised to see how many entries there were for #DoOO in the collaborative Opening Knowledge Practices bibliography. You could probably do worse than to start with the first two entries, A brief history parts 1&2 by Jess Reingold et al: https://t.co/CkhgaHgb0E

      — Nate Angell (@xolotl) March 8, 2022
    1. Groups allow structuring of bibliographic libraries in a tree-like way that is similar to organizing files on disk in directories and sub-directories. The two main differences are:While a file is always located in exactly one directory, an entry may be contained in more than one group.Groups may use certain criteria to dynamically define their content. New entries that match these criteria are automatically added to these groups. This feature is not available in common file systems, but in several Email clients (e.g. Thunderbird and Opera).
      • GROUP jabref -- similar-- COLLECTION zotero
    1. // Connect to (and create, if necessary) helloworld.sqlite in the Zotero directory this.DB = new Zotero.DBConnection('helloworld');   if (!this.DB.tableExists('changes')) { this.DB.query("CREATE TABLE changes (num INT)"); this.DB.query("INSERT INTO changes VALUES (0)"); }
      • IDEA: create DB sqlite with relations data
    1. You can install this plugin via the Obsidian "Third-party plugin interface." It requires Obsidian 0.9.20 or higher. Once the plugin is installed, you must provide it with a bibliography file: If you use Zotero with Better BibTeX: Select a collection in Zotero's left sidebar that you want to export. Click File -> Export library .... Select Better BibLaTeX or Better CSL JSON as the format. (We recommend using the BibLaTeX export unless you experience performance issues. The BibLaTeX format includes more information that you can reference from Obsidian, such as associated PDF attachments, but loads more slowly than the JSON export.) You can optionally choose "Keep updated" to automatically re-export the collection -- this is recommended!
      • BBT: export + keep updated
    1. https://forums.zotero.org/discussion/8014/no-doi-field-for-books/p2 Someone wanted to use DOI from the extra field for books where they provide it explicitly, I thought we did this but if not, should be easy enough...
      • ZOTERO
      • DOI for book
    1. Really need that option of a DOI field in books as it is essential to being able to properly use the Scite plug-in as well. It requires a DOI to update the citations and provide a report. Without an actual DOI field for it to read, it just won't work. I have tried adding a DIO to extra and URL and Scite just won't read it, unfortunately.
      • ZOTERO
      • DOI for Book
  10. Mar 2022
    1. https://github.com/stefanopagliari/bibnotes

      This plugin generates literaure notes from the source stored in your Zotero library, including both the metadata and the annotations that are stored within Zotero (extracted using the native PDF Reader or the Zotfile plugin). The settings of the plugin provide different tools to customize the format of the literature notes, as well as to perform different transformations to the text of the annotations.

      See also: https://forum.obsidian.md/t/bibnotes-formatter-new-plugin-to-export-and-format-annotations-from-zotero-into-obsidian/29920

    1. https://www.zotero.org/blog/zotero-6/

      Starting in version 6, Zotero will allow you to view annotations previously made in Adobe software. It will also let one extract all the annotations from within a text and save them into a note in Zotero and then export them as markdown into Obsidian or other tools.

    1. I already have several highlights made by external pdf applications like ocular. These annotations are being detected by the pdf viewer used by this plugin. I wanted a way to add the existing annotations to markdown instead of having to repeat the process. As you can see, the highlights' metadata is being detected upon clicking the highlights. What can be done is add 2 options - Either import all existing annotations and highlights Import the selected annotation/highlight I would love to see this feature being added

      The work to add this particular feature to the plugin may be quite a lot, but for those who want it in the erstwhile and for the developers as an example, one might try looking at https://forum.obsidian.md/t/zotero-zotfile-mdnotes-obsidian-dataview-workflow/15536.

    1. Publicaciones
      • chequear información de las publicaciones. Hay algunos NA
      • Tuve problemas con :La educación ciudadana escolar de Chile "en acto". Prácticas docentes y expectativas de participación política de estudiantes (no está en el sitio)
      • Chequear las publicaciones "uncategorized" y revisar si están bien en Zotero, corregir si es necesario.
    1. Does mdnotes work with the Zotero beta? Short answer: No. The old workarounds might have stopped working with some of the latest upstream changes
      • PLUGIN MDNOTES
      • WHAT???
      • STOPPED WORKING
    2. others have mentioned categorization, but I found no way to do that
      • WHY?
    3. individual tagging of the annotations, I however couldn't get Zotero to show my annotations by filtering tags
      • BUG?
    4. The extracted annotations when saved as a note don't have the zotero:// link to the page. They have added something similar that works within Zotero, but that makes it useless right now if you want to export/copy-paste that note somewhere else.
      • OK
      • USELESS
    1. Features Lost And there’s unfortunately a feature lost in notes: the new note system does not allow for HTML editing, nor does it currently have the old highlighting. Looking at the comments in the Zotero forum, HTML editing is not coming back, since the notes won’t use HTML.
      • BAD!
    2. But there’s more – the pasted material has a citation at the end, allowing me an option to “Go To Page.” Clicking on that citation does what it says – it jumps to the page of the PDF. In addition, I tested this feature without a PDF open: clicking on it opens the PDF associated with the note in a new tab and jumps to the page. That’s a fantastic feature.
      • NOTES WITH REFERENCE
    3. This feature is great, and it makes me want more: could I eventually open search folders in a new tab? Group libraries? If so – managing my library will get so much easier.
      • REQUESTED MANY YEARS AGO!
      • SEE FORUM
    1. The note editor is built on ProseMirror, a powerful open-source framework for building rich-text editors (used in Zotero's sibling project, Tropy) that enables us to enhance notes with all sorts of Zotero-specific functionality. You can quickly jump back from annotations and citations in a note to the original location in the PDF or to the item in your library. You can edit a citation in a note using the same citation dialog used for the word processor plugins.
      • ZOTERO 6
      • NOTE EDITOR changed
    1. 3/8/2021: Zotero 6 will be coming out some time in 2022, and it makes some major changes. You will now be able to view and annotate PDFs inside of Zotero,and have multiple tabs of PDFs open. This is *amazing* - its more integrated than Zotfile (although Zotfile pdf annotation still has its uses) - and you can read more here and install the beta if you want to (I'm using it now). It makes one major change that will require some adjustment however - the Notes menu will look completely different, and offer some cool new functionality (i.e., embed citation in a note). However, it's going to move from its current tool menu to something different, and to do things beyond basic things like bullets or numbered lists or block quotes you will need to use a markup system called Markdown. It's actually not that complicated and some of it is built into Zotero Notes directly (i.e., control-I turns on italics) but other functionality is a bit hidden and more will take Markdown syntax. Markdown Cheatsheet example - here's another one (A side note - learning MarkDown will also open some additional opportunities to you in terms of note-taking software, etc. I'm going to be experimenting with this over the summer and will be offering workshops in late summer/early fall).  a review (not from me yet) - note, Zotfile would have solved some of his pre-Zotero problems!
      • ZOTERO 6
  11. Feb 2022
    1. https://www.zotero.org/save?type=

      URL for adding URL, ISBN, DOI, PMID, or arXiv IDs to one's Zotero account.

      I've created a mobile shortcut using the URL Forwarder app to accomplish this with a share functionality after highlighting an ISBN.

      Might also try using https://play.google.com/store/apps/details?id=com.srowen.bs.android&hl=en with the added custom search query custom search URL https://www.zotero.org/save?q=%s to see if that might work as well. This should allow using a scanner to get ISBN barcodes into the system as well. Useful for browsing at the bookstore.

      I should also create a javascript bookmarklet for this pattern as well.

      See also: - https://forums.zotero.org/discussion/77178/barcode-scanner - https://forums.zotero.org/discussion/76471/scanning-isbn-barcode-to-input-books-to-zotero-library

      Alternate URL paths for this: - https://www.zotero.org/save?type=isbn - https://www.zotero.org/save?q=

    1. A third introduced me to an app that allowed us to upload bibliographic data to our personal databases just by scanning a book’s ISBN number with a phone camera.

      I'm pretty sure I can wire up something simple to do this to dovetail with Zotero.

  12. Jan 2022
    1. I've not seen any doing sessions on Obsidian or Research Rabbit yet, but many (college/university) libraries have group sessions, usually at the outset of quarters/semesters, that walk through the functions in citation managers like Zotero, etc. This might be a useful way of offloading some of the teaching of the technology as well as helping to make it more commonplace across institutions.

    2. https://danallosso.substack.com/p/three-basic-elements-of-taking-notes

      Allosso outlines a bit about how he dovetails Research Rabbit (discovery), Obsidian (writing, linking), and Zotero (citations, reading).

    1. adamsmith October 15, 2018 Add Item by Identifier will work for any DOI registered in Crossref or a half-dozen other DOI registrars Really? I thought we currently "just" covered CrossRef, DataCite, and Airiti? - which does still mean it almost always works; that's probably 95%+ of active DOIs, but if there's code already that covers others, that'd be good to know as I was just going to put some work towards that. dstillman October 15, 2018 We also have DOI translators for EIDR and mEDRA.
      • DOI agencies
      • Zotero probes them, when search for a DOI
    1. HughP commented on Sep 26, 2018 • edited I feel a bit foolish, but yes there is a Preference Pane. I found it now. Note that Zotfile puts menu item in the Tools menu for the preference. This was where I was looking, and therefore didn't see it.
      • TOOLS MENU: doesnt appear
      • PLUGINS: dosnt exist Preferences button!!!
    1. Work{institution#/definitions/WorkInstitutionWorkInstitution{...}indexed*#/definitions/DateDate{...}posted#/definitions/DatePartsDateParts{...}publisher-locationstringupdate-to[...]standards-body[...]edition-numberstringgroup-title[...]reference-count*integer($int64)publisher*stringissuestringisbn-type[...]license[...]funder[...]content-domain*#/definitions/WorkDomainWorkDomain{...}chair[...]short-container-titlestringaccepted#/definitions/DatePartsDateParts{...}content-updated#/definitions/DatePartsDateParts{...}published-print#/definitions/DatePartsDateParts{...}abstractstringDOI*stringThe DOI identifier associated with the work type*stringcreated*#/definitions/DateDate{...}approved#/definitions/DatePartsDateParts{...}pagestringupdate-policystringsource*stringis-referenced-by-count*integer($int64)title*[...]prefix*stringvolumestringclinical-trial-number[...]author*[...]member*stringcontent-created#/definitions/DatePartsDateParts{...}published-online#/definitions/DatePartsDateParts{...}reference#/definitions/ReferenceReference{...}container-title[...]review#/definitions/WorkReviewWorkReview{...}original-title[...]languagestringlink[...]deposited*#/definitions/DateDate{...}score*integer($int64)degreestringsubtitle[...]translator[...]free-to-read#/definitions/WorkFreeToReadWorkFreeToRead{...}editor[...]component-numberstringshort-title[...]issued*#/definitions/DatePartsDateParts{...}ISBN[...]references-count*integer($int64)part-numberstringjournal-issue#/definitions/WorkJournalIssueWorkJournalIssue{...}alternative-id[...]URL*stringarchive[...]relation#/definitions/WorkRelationWorkRelation{...}ISSN[...]issn-type[...]subject[...]published-other#/definitions/DatePartsDateParts{...}published#/definitions/DatePartsDateParts{...}assertion[...]subtypestringarticle-numberstring}
      • SEE: FIELDS
      • COMPARE: with Zotero fields
    1. Tip 8 You can click the DOI and URL field labels to open the field link:
      • OK: click on Label
    2. Tip 5 You can convert the contents of the "Title" and "Publisher" fields to either sentence or title case by right-clicking the field and using the Transform Text menu.
      • CASE: Title or Sentence
    3. Tip 3 To see the number of items in the selected library or collection, click an item in the middle column and use the Select All shortcut:  Command + A on Mac OS X or Control + A on Windows and Linux  A count will appear in the right column:
      • SELECT ALL: "CTRL" + "a"
    4. "Control" key on Windows
      • WHICH COLLECTION?
    5. Tip 2 Press "Shift" and “+” (plus) on the keyboard within a collections list or items list to expand all attachments, and “-” (minus) to collapse them.
      • ME: ONLY with "+"/"-" keys, WITHOUT "Shift"
    1. Questions Still have questions? Check the following FAQ entries, or, if these don’t answer your question, use the Zotero forums: Can I use Zotero in one language and create bibliographies in another? DOI format in APA style Does Zotero support label/authorship trigraph styles, like [ddb98]? How can subsequent occurences of the same author replaced by a fixed term/symbol? How do I prevent title casing of non-English titles in bibliographies? How do I use rich text formatting, like italics and sub/superscript, in titles? How do you cite a secondary source in Zotero? How does Zotero parse things in the name fields? I need to use Chicago style. Which of the three versions that come with Zotero should I use? I'm the publisher/editor of a journal. What can I do to have Zotero support our style? Journal Abbreviations Missing Italics (or Italics-Only) in Word Bibliographies References appear in the wrong font in Word/LibreOffice Standard Citation Styles What are these DOIs doing in my bibliography? What is the official Harvard style? Why do some citations include first names or initials, and how can I prevent this from happening? Why don't titles show up in sentence case in bibliographies? Why isn't the first letter of a subtitle in uppercase in bibliographies?
      • LINKS to Zotero doc!
      • GOOD!
    2. You can also install CSL styles (with a “.csl” extension) from local files on your computer (e.g., styles that you edit yourself or that you download from another website). In the Zotero Style Manager, click the '+' button, then find the style file on your computer.
      • CSL styles
    1. Zotero currently uses the title, DOI, and ISBN fields to determine duplicates. If these fields match (or have no information entered), Zotero will also compare the years of publication and author/creator lists (if at least one author last name plus first initial matches) to determine duplicates.
      • DUPLICATED ITEMS
      • Merge them
    1. Debug Output Logging: To help diagnose a problem, the Zotero developers may ask you to submit a Debug Log ID. This is different from an Error Report ID above. To submit a debug log, check “Enable Logging”, then complete the sequence of steps neeeded to produce your error. Then, click “Submit Debug Report” and post the Debug ID number to the Zotero forums. Try to avoid performing unrelated actions when making a debug log.
      • DEBUG ID in Forums
    2. Automatic File Importing: By default, the Zotero Connector will offer to import RIS, BibTeX, and Refer/BibIX bibliographic files when you open them in your browswer. You can disable this feature or manage the sites from which data is imported here.
      • ???
    3. Save to Zotero.org: When the Zotero desktop client is closed, the Zotero Connector will save directly to the zotero.org servers. These settings let you reauthorize your broswer to save to your zotero.org account or clear your account credentials. You can also control whether PDF attachments and web page snapshots are automatically saved when importing to zotero.org.
      • ZOTERO LIB
    1. the-solipsist commented on Mar 9, 2019 • edited Unfortunately, %g adds a ,, which doesn't work in those cases where there is not first name / surname (for instance, institutional authors). In those cases, %g ends up adding a comma in the end of the name. Additionally, %g provides a "Surname, Firstname" format, and there is no expression for "Firstname Surname", which some would prefer.
      • PROBLEM
    2. QingQYang commented on Aug 11, 2015 I have solved this problem by adding wildcard %g for author's full name as the style of Zotero's two fields display. Please check the pull request #193, thanks.
      • %g works!
    1. target
      • TARGET: for Search translators???
      • no sense
    2. Search translators: can look up and retrieve item metadata when supplied with a standard identifier, like a PubMed ID (PMID) or DOI.
      • OK, IMPORTANT:
      • "official" arXiv translator: espera campo { arXiv: }
    3. dataMode For import translators, this sets the form in which the input data is presented to the translator. If set to “rdf/xml”, Zotero will parse the input as XML and expose the data through the Zotero.RDF object. If “xml/dom”, Zotero will expose the data through the function Zotero.getXML().
      • IMPORTANT to import target: xml
    4. browserSupport A string containing one or more of the letters g, c, s, i, representing the connectors that the translator can be run in – Gecko (Firefox), Chrome, Safari, Internet Explorer, respectively. b indicates support for the Bookmarklet (zotero-dev thread) and v indicates support for the translation-server. For more information, see Connectors. Warning: Compatible with Zotero 2.1.9 and later only.
      • browserSupport : [2021-12] it seems obsolete (?)
    5. translatorType An integer specifying to which type(s) the translator belongs. The value is the sum of the values assigned to each type: import (1), export (2), web (4) and search (8). E.g. the value of translatorType is 2 for an export translator, and 13 for a search/web/import translator, because 13=8+4+1.
      • import + export = 1+2=3
      • MUST READ
      • metadata tags
      • functions
    1. open a specific profile from the command line with the -p flag (e.g., -p Work),

      -OK: shortcut

    2. To create an additional profile, start Zotero from the command line and pass the -P flag to open the Profile Manager:
      • OK, as in Firefox
      • zotero.exe -P
    1. acortinois April 16, 2021 Well, it looks like we all need multiple windows but this forum has been active for four years and nothing seems to have changed... :)
      • OK
    1. Old papers in archives where the archive name matches the primary subject classification (e.g. hep-th) do not have the square brackets with primary subject classification
      • OK, exception in zotero translator
    1. adamsmith 20 days ago DOI: in extra works for citations. We'll get a preprint item type and DOI added to all item types, but in the meantime that'll just work
      • WAINTING for this PREPRINT type
    2. dmilton 20 days ago The problem with using "Report" type for preprints is that it does not keep the doi -- only if it is imported as a journal article does the doi get saved. Please add doi to the "Report" fields -- I find myself having to change to type "Journal Article" to perserve the doi.
      • HERE!
      • THIS IS "THE" REASON to type=journal fro arxiv
      • Workaround: DOI: in Extra
    1. When I said "migrated automatically", I was referring to the item becoming Zotero Preprint items when that type is added in the future.
      • OK, UNERSTOOD AT FIRST!
    2. bwiernik June 18, 2021 Zotero will get a Preprint type in an upcoming version. For now, the appropriate way to enter them is as a Report with this at the top of Extra:Type: articleThat will be migrated automatically to Preprint when the type is added.
      • HERE!
      • upcoming??? WHEN???
    3. stared June 18, 2021 This function is useful for numerous reasons. Primarily for listing preprints (e.g. arXiv, biorXiv) and PubMed codes.See "eprint" as officially listed in an arXiv instruction (https://arxiv.org/help/hypertex/bibstyles) and Getting DOI / arXiv links with BibTeX (https://www.math.cmu.edu/~gautam/sj/blog/20171114-bibtex-doi.html), as well as some older approaches e.g. mine for giving link to arXiv for Mendeley exports https://gist.github.com/stared/5473014.Yes, it is a pity that proprietary Mendeley owned by Elsevier provides better support for open archives.
      • SEE
    4. emilianoeheyns September 27, 2020 Since Better BibLaTeX is already omitting Zotero's Publication field for arXiv preprints, it should probably export as '@misc' or '@online', not '@article'. That is a good point. Could you open an issue for it on BBTs github tracker? Therefore, a BBT postscript should better not depend on Publication being empty or on the presence of an arXiv ID If BBT detected an arXiv entry in any way you, in the postscript item will have an attribute item.arXiv which looks like { id: <arXiv ID>, category: <arXiv category, if found> }
      • BBT
      • If BBT detected an arXiv entry in any way you, in the postscript item will have an attribute item.arXiv which looks like { id: <arXiv ID>, category: <arXiv category, if found> }
    5. adamsmith September 23, 2020 Here's the history on why we're importing arXiv preprints as journal articles:https://github.com/zotero/translators/issues/616If things has changed (e.g. if sites like ADS and INSPIRE are handling this differently now) we can change this on the import end of things, too, but it's really not so clear cut as to say it's wrong.
      • SEE
    6. emilianoeheyns September 23, 2020 The bibtex entry recommended by arXiv for example, asks for preprint items to be @misc Where do they ask this? If this is how arXiv items should appear generally, I could adjust BBT to change the entry type. Right now, BBT will add the eprint fields if you either: Set the Library Catalog to arXiv or arXiv.org and the Journal name to the arXiv ID Add arXiv: <arXiv ID> to the extra field on a line of its own
      • BBT:
      • example: journaltitle = {{arXiv}}, shortjournal = {{arXiv}-2005.14432v1 [quant-ph]}, eprinttype = {arxiv}, eprint = {2005.14432v1 [quant-ph]},
    7. adamsmith September 23, 2020 There will almost certainly be a Zotero preprint item type added the next time any item types are added. No ETA, but the hope is that this isn't too far off (i.e. months not years)
      • now: 2022-01: no field
    1. tdegeus November 2, 2021 +100 on this. It would be great though to simply have a field arxivid (that could be potentially activated on request). This would catch the case that the same article is on multiple preprint servers (which could happen I guess). dougwyu November 27, 2021 yes please add a preprint category. biologists use BioRXiv a lot!, and i have to hand-edit every downloaded article.
      • many request, but no response!
    1. dstillman October 11, 2018 edited October 11, 2018 I've added support for the former in the latest beta.zotero://select/library/collections/:collectionKeyzotero://select/groups/:groupID/collections/collectionKey
      • HOWTO use?
    1. emilianoeheyns
      • emilianoeheyns
      • BBT author
    2. adamsmith May 8, 2018 I don't think that's possible for technical reasons at this time because the citekey is generated & stored by the BetterBibTeX extension and not Zotero itself. It's likely going to be possible in the future. bwiernik May 8, 2018 Yes, the BBT developer had to disable citekey searching because it was interfering with other parts of Zotero. You can show the citekey as a column in the center pane and sort on that.
      • In 2018, and now? [2022-01]