400 Matching Annotations
  1. Jan 2022
    1. Generate testCases (with Scaffold).
    2. An overview of the currently installed translators, giving the option of running their tests, can be accessed by entering the following into the address bar: chrome://zotero/content/tools/testTranslators/testTranslators.html
      • URL NDF!
    3. In most cases, it is not necessary or desirable to write these tests by hand– they can and should be generated by the testing framework using Scaffold; see below.
      • HOWTO?
    1. Generate test cases[edit] Once the code of a translator is prepared, it is recommended to create test cases. These test cases are run daily and help the community to figure out if a translator fails in future and needs any update or complete rewriting. We will generate test cases for MediaWiki translator through Scaffold. Open mediawiki in a new tab. Launch Scaffold and open the translator we have created. Open the "Testing" tab of Scaffold. We need to give a web page as input. For example, open citoid's page. Keeping this web page as the active tab, simply click on the "New Web" button. It will load the web page in the Input pane as a new unsaved test. Select the input entry and click the save button to have the output of test be saved as JSON data. Similarly lets create a test case for a search page. Open this link in a new tab as the active one and then click on "New Web". Once it is loaded, save it. You can see the saved test cases in the "Test" tab of Scaffold. For this search page, you can notice a JSON object as follows.var testCases = [ { "type": "web", "url": "https://www.mediawiki.org/w/index.php?search=Zotero+&title=Special:Search&go=Go&searchToken=2pwkmi9qkwlogcnknozyzpco1", "items": "multiple" } ]
      • SEE
    1. htmlSpecialChars Function description https://www.zotero.org/trac/browser/extension/branches/1.0/chrome/content/zotero/xpcom/utilities.js#L153 Zotero.Utilities.prototype.htmlSpecialChars = function(str) @type String Escapes several predefined characters: & (ampersand) becomes &amp; “ (double quote) becomes &quot; ' (single quote) becomes &#039; < (less than) becomes &lt; > (greater than) becomes &gt; and <ZOTEROBREAK/> becomes <br/> <ZOTEROHELLIP> becomes &#8230;
      • HERE!
      • UTIL: htmlSpecialChars
    2. parseMarkup Function description https://www.zotero.org/trac/browser/extension/branches/1.0/chrome/content/zotero/xpcom/utilities.js#L206 Zotero.Utilities.prototype.parseMarkup = function(str) @return {Array} An array of objects with the following form: { type: 'text'|'link', text: “text content”, [ attributes: { key1: val [ , key2: val, …] } }</pre> Parses a text string for HTML/XUL markup and returns an array of parts. Currently only finds HTML links (<a> tags)
      • UTIL: parseMarkup
    1. Zotero.Translate/translators Added Zotero.Utilities.processAsync(sets, callbacks, onDone) – this can be used to make it easier to correctly chain sets of asynchronous callbacks
      • HOWTO? processAsync
    1. The functions Zotero.Utilities.HTTP.doGet and Zotero.Utilities.processDocuments run asynchronously. In order to allow them to complete before moving along, follow either function with Zotero.wait() and include Zotero.done() as the onDone in order to signal the translator that it has completed its asynchronous operations.
      • IMPORTANT:
      • BUT: wait() and done() EXAMPLES???
      • SEE: DEPRECATED annotation
    2. Don't forget to turn off debug logging
      • IDEA: if (BDG) Z.debug("log");
      • let DBG;
      • let DBG = "yes";
    3. use the debug log accessible through the Zotero preferences pane, under “advanced”.
      • ok
    1. zuphilip commented on Feb 2, 2018 • edited Here is a list of the most common used functions from Zotero.Utilities and Zotero: grep -E -o -h "(ZU|Zotero\.Utilities)\.[^\(]+\(" *.js | sort | uniq -c | sort -nr $ grep -E -o -h "(ZU|Zotero\.Utilities)\.[^\(]+\(" *.js | sort | uniq -c | sort -nr 1533 ZU.xpathText( 831 ZU.xpath( 382 ZU.trimInternal( 272 ZU.processDocuments( 201 ZU.cleanAuthor( 190 Zotero.Utilities.cleanAuthor( 155 Zotero.Utilities.processDocuments( 124 Zotero.Utilities.trimInternal( 98 ZU.doGet( 84 Zotero.Utilities.capitalizeTitle( 81 Zotero.Utilities.trim( 79 ZU.capitalizeTitle( 70 Zotero.Utilities.unescapeHTML( 53 Zotero.Utilities.HTTP.doGet( 47 ZU.strToISO( 30 ZU.unescapeHTML( 27 ZU.cleanISBN( 26 ZU.doPost( 24 ZU.trim( 24 ZU.cleanDOI( 24 Zotero.Utilities.superCleanString( 20 ZU.fieldIsValidForType( 17 Zotero.Utilities.cleanTags( 16 Zotero.Utilities.getItemArray( 14 ZU.cleanISSN( 14 Zotero.Utilities.doGet( 13 ZU.cleanTags( 13 Zotero.Utilities.xpathText( 13 Zotero.Utilities.xpath( 11 Zotero.Utilities.HTTP.doPost( 9 ZU.strToDate( 8 ZU.removeDiacritics( 7 ZU.lpad( 7 ZU.getItemArray( 6 ZU.HTTP.doGet( 6 Zotero.Utilities.strToDate( 5 ZU.superCleanString( 5 Zotero.Utilities.parseContextObject( 4 ZU.formatDate( 4 Zotero.Utilities.getVersion( 4 Zotero.Utilities.getCreatorsForType( 3 ZU.XRegExp( 3 ZU.parseContextObject( 3 ZU.itemTypeExists( 3 ZU.deepCopy( 2 ZU.XRegExp.replace( 2 ZU.quotemeta( 2 ZU.arrayDiff( 2 Zotero.Utilities.text2html( 2 Zotero.Utilities.strToISO( 2 Zotero.Utilities.lpad( 2 Zotero.Utilities.loadDocument( 2 Zotero.Utilities.itemTypeExists( 2 Zotero.Utilities.getLocalizedCreatorType( 2 Zotero.Utilities.createContextObject( 1 ZU.xpathText ( 1 ZU.itemToCSLJSON( 1 ZU.itemFromCSLJSON( 1 ZU.isEmpty( 1 ZU.getCreatorsForType( 1 ZU.doHead( 1 ZU.arrayUnique( 1 Zotero.Utilities.htmlSpecialChars( 1 Zotero.Utilities.getPageRange( 1 Zotero.Utilities.formatDate( 1 Zotero.Utilities.doPost( 1 Zotero.Utilities.composeDoc( grep -E -o -h "(Z|Zotero)\.[^\(\.]+\(" *.js | sort | uniq -c | sort -nr $ grep -E -o -h "(Z|Zotero)\.[^\(\.]+\(" *.js | sort | uniq -c | sort -nr 517 Z.debug( 426 Zotero.selectItems( 371 Zotero.debug( 351 Zotero.Item( 315 Zotero.loadTranslator( 117 Zotero.done( 99 Zotero.wait( 43 Zotero.write( 39 Zotero.read( 31 Z.selectItems( 21 Zotero.getOption( 17 Zotero.nextItem( 15 Z.monitorDOMChanges( 14 Z.Item( 13 Z.getHiddenPref( 7 Zotero.getXML( 5 Zotero.setCharacterSet( 5 Zotero.monitorDOMChanges( 5 Zotero.Collection( 3 Zotero.setProgress( 3 Zotero.nextCollection( 3 Zotero.getHiddenPref( 3 Z.loadTranslator( 2 Zotero.addOption( 2 Z.done( 1 Zotero.doGaleWeb( 1 Zotero.detectGaleWeb( 1 Z.write( 1 Z.wait( 1 Z.setProgress( 1 Z.read( 1 Z.nextItem( 1 Z.getXML( 1 Z.debug ( 1 Z._]*/( 1 Z. ( Thus, maybe we can concentrate on this and divide them into some groups, e.g. CSS path: text, attr xpath: ZU.xpath, ZU.xpathText call websites: ZU.doGet, ZU.processDocuments, ZU.doPost special cleaning functions: ZU.cleanAuthor, ZU.strToISO, ZU.cleanISBN, ZU.cleanDOI, ZU.cleanISSN clean text strings: ZU.trimInternal, ZU.capitalizeTitle, ZU.unescapeHTML, ZU.superCleanString, ZU.cleanTags, ZU.removeDiacritics debug: Z.debug specialized functions: Z.monitorDOMChanges, Z.selectItems, Z.loadTranslator, ...
      • VERY IMPORTANT: zotero "public" functions
    1. for each item, an item ID and label should be stored in the object as a property/value pair.
      • EXAMPLE (arXiv):
      • items[row.id] = row.title;
      • where row: {
            title: title,
            id: id
          }
        
    2. Passing the object to the Zotero.selectItems function will trigger the selection window, and the function passed as the second argument will receive an object with the selected items, as in this example: Zotero.selectItems(getSearchResults(doc, false), function (items) { if (!items) return; ZU.processDocuments(Object.keys(items), scrape); }); Here, Zotero.selectItems(..) is called with an anonymous function as the callback. As in many translators, the selected items are simply loaded into an array and passed off to a processing function that makes requests for each of them.
      • SEE TO UNDERSTAND
    3. Saving Multiple Items Some webpages, such as those showing search results or the index of a journal issue, list multiple items. For these pages, web translators can be written to a) allow the user to select one or more items and b) batch save the selected items to the user's Zotero library. Item Selection To present the user with a selection window that shows all the items that have been found on the webpage, a JavaScript object should be created. Then, for each item, an item ID and label should be stored in the object as a property/value pair. The item ID is used internally by the translator, and can be a URL, DOI, or any other identifier, whereas the label is shown to the user (this will usually be the item's title). Passing the object to the Zotero.selectItems function will trigger the selection window, and the function passed as the second argument will receive an object with the selected items, as in this example: Zotero.selectItems(getSearchResults(doc, false), function (items) { if (!items) return; ZU.processDocuments(Object.keys(items), scrape); }); Here, Zotero.selectItems(..) is called with an anonymous function as the callback. As in many translators, the selected items are simply loaded into an array and passed off to a processing function that makes requests for each of them. Batch Saving You will often need to make additional requests to fetch all the metadata needed, either to make multiple items, or to get additional information on a single item. The most common and reliable way to make such requests is with the utility functions Zotero.Utilities.doGet, Zotero.Utilities.doPost, and Zotero.Utilities.processDocuments. Zotero.Utilities.doGet(url, callback, onDone, charset) sends a GET request to the specified URL or to each in an array of URLs, and then calls function callback with three arguments: response string, response object, and the URL. This function is frequently used to fetch standard representations of items in formats like RIS and BibTeX. The function onDone is called when the input URLs have all been processed. The optional charset argument forces the response to be interpreted in the specified character set. Zotero.Utilities.doPost(url, postdata, callback, headers, charset) sends a POST request to the specified URL (not an array), with the POST string defined in postdata and headers set as defined in headers associative array (optional), and then calls function callback with two arguments: response string, and the response object. The optional charset argument forces the response to be interpreted in the specified character set. Zotero.Utilities.processDocuments(url, callback, onDone, charset) sends a GET request to the specified URL or to each in an array of URLs, and then calls the function callback with a single argument, the DOM document object. Note: The response objects passed to the callbacks above are described in detail in the MDC Documentation. Zotero.Utilities.processAsync(sets, callbacks, onDone) can be used from translators to make it easier to correctly chain sets of asynchronous callbacks, since many translators that require multiple callbacks do it incorrectly [text from commit message, r4262]
      • Item selection:
        • each item: only ID+Title; no permite mas: eg: "tipo"
    4. Notes Notes are saved similarly to attachments. The content of the note, which should consist of a string, should be stored in the note property of the item's notes property. E.g.: let bbCite = "Bluebook citation: " + bbCite + "."; newItem.notes.push({ note: bbCite });
      • WARNING: notes are stored as HTML code
      • use ZU.text2html
      • use
         + text + 
        , to avoid \n missing
    5. Zotero will automatically use proxied versions of attachment URLs returned from translators when the original page was proxied, which allows translators to construct and return attachment URLs without needing to know whether proxying is in use. However, some sites expect unproxied PDF URLs at all times, causing PDF downloads to potentially fail if requested via a proxy. If a PDF URL is extracted directly from the page, it's already a functioning link that's proxied or not as appropriate, and a translator should include proxy: false in the attachment metadata to indicate that further proxying should not be performed:
      • SEE
    6. In the very common case of saving the current page as an attachment, set document to the current document, so that Zotero doesn't have to make an additional request: newItem.attachments.push({ title: "Snapshot", document: doc });
      • TIP: Snapshots, save without call URL again
    1. 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
    2. 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 (?)
    3. 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. adamsmith September 8, 2017 OK -- your translators are coffeescript too, right? Or do you have a code snipet I could just copy over? emilianoeheyns September 8, 2017 They are at this moment; after the port I'm moving everything to ES6. Anyhow, BBT has externalised the bibtex parser to https://github.com/fiduswriter/biblatex-csl-converter (most of the work having been done by Johannes) for my import parsing, and it takes care of this in the parse phase. It's not as simple as copying a piece of the code, unfortunately.For the stock Zotero translators, wouldn't something like this do the trick? text.replace(/\n+/, function(match) { return match.length == 1 ? " " : "\n\n"; }) (or, if you want HTML) text.replace(/\n+/, function(match) { return match.length == 1 ? " " : "<p>"; }) (which is cheating because it's not valid HTML, but most HTML parsers will deal fairly well. <br><br> is less-cheaty)
      • TEST
  2. Dec 2021
    1. // necessary because hlib now uses fetch, which does not allow access to custom headers, // and zotero returns total-results in a custom header
      • !!!
    1. The URL of the search page must start with the same characters as the URL for the single entry pages. For example: http://mywebsite.com/search and http://mywebsite.com/article is good. http://search.mywebsite.com/ and http://mywebsite.com/article is bad.
      • is BAD for RegEx
    2. see

    1. Scaffold Download Scaffold Scaffold is what's known as a "Sandbox." Using a sandbox essentially means you can muck around with the code without worrying about really messing anything up, since all the important code is kept hidden. In this guide, all code will be written, tested and retested in Scaffold. The makers of Zotero created Scaffold specifically for writing translators. Once installed, launch Scaffold by navigating to the "Tools" menu in your Firefox window and select "Scaffold."
      • OBSOLETE!
      • Zotero 5.0:Scaffold is integrated
    1. Exporters Exporters also rely on a website providing certain information. In this case, we need a link that allows us to download a citation. For the most part, there are very few export formats. You may have come across them before, labeled as "MARC display" buttons, or a "RefWorks" button. These options are most common in library catalogues and on academic journal databases. This type of translator actually uses two translators, one embedded in the other. This can get quite complicated so we will not cover it in detail in this guide. However, if you do need to write one of these and need a few hints to get started, here are a few (rather technical) pointers. If you do not need to write an exporter please feel free to ignore this section. Use an XPath to grab the link URL of the citation download. Use HTTP get to download the page found at that URL. Call the translator for that type of citation (ie, MARC, Bibtex, etc) to interpret the citation. Save results into Zotero. If you are lost, check one of the many Library Catalogue translators by launching Scaffold and loading the translator code.
      • HERE!
      • "This type of translator actually uses two translators, one embedded in the other"
    2. Metadata Converters These translators take information that a Webmaster has voluntarily embedded in a webpage, known as metadata, and organizes it into the correct Zotero fields. You can think of metadata as invisible ink that only appears if you know how to find it. Obviously the catch here is that the Webmaster must have included this information in the first place. The practice of including metadata is becoming more common, especially in databases. In the past couple of years, how people display metadata has become more standardized. Because of this standardization, Zotero already supports most sites that have it. Some of the most commonly used metadata convensions are: Dublin Core Metadata Initiative unAPI COinS Embedded RDF If you are a website administrator and want your site to automatically be Zotero compliant, it is best to use one of these systems rather than writing a translator; they are standardized and reliable. Let me repeat that. If you are an administrator and can include standardized metadata, stop reading this guide and add the data! If you are not a website administrator, you might make this recommendation to the site in question.
      • "Let me repeat that."
    1. Using this idea, it is easy to include some javascript generated by a server-side process (eg. JSON object). var e = document.createElement("script"); e.src = 'http://myserver.com/servlet/getfeed?url=http://realhowto.blogspot.com'; e.type="text/javascript"; document.getElementsByTagName("head")[0].appendChild(e);
      • IDEA: probar con hlib
    1. mixer•last monthIt's a pity you didn't mention Zotero. It's such a great tool for many purposes. Also Calibre now supports highlighting in .djvu and .pdf files. It works well and covers all of my book/research papers related highlighting needs. Check it out!

      OK

    1. def format_converted_note(annotation): """Format an annotation so that it translates properly into Zotero note markup.""" annotated_text = extract_exact(annotation) annotation_text = annotation["text"] return """<p style="color: green; text-align: center;">{}</p> <br> <p>{}</p>""".format(annotated_text, annotation_text)

      formato para notas zotero (HTML)

    1. The userID for your Zotero API usage, available here. A developer API key for Zotero, you can make one here. Your Hypothesis username, which should just be the username you use to access the service. Your Hypothesis Developer API key, available here.

      necesita usuarios (zotero y hypothes.is) y API keys de cada uno

    2. This program scans through a Zotero library and checks each URL for Hypothesis annotations. If annotations are found it imports them into the Zotero library as note objects with their associated tags.

      INCREIBLE PERO CIERTO! THANK YOU!

    1. Bibcure - keeps bibtex up to date and normalized, and allows you to download all papers inside your bibtex

      bibcure

    1. What’s interesting however, is that we can also pass an arbitrary string value (e.g. ”| ” ) to be used as an indentation:

      In Zotero translator: to create note (html), use JSON.stringify(,,"

      ); no indenta, pero respeta saltos de linea

    1. if (!item.notes) continue for (note of item.notes.filter(note => note.note.includes(Zotero.getHiddenPref('note-search.term')))) { Zotero.write(`<h1>${escapeHtml(item.citationKey)}</h1>\n`) Zotero.write(note.note)

      bucle para recorrer notas

    2. function escapeHtml(unsafe) { return unsafe .replace(/&/g, '&amp;') .replace(/</g, '&lt;') .replace(/>/g, '&gt;') .replace(/"/g, '&quot;') .replace(/'/g, '&#039;');}

      no existe en ZU, crear dentro del Translator

    1. dstillman June 29, 2020 Close Zotero, make a backup of zotero.sqlite in your Zotero data directory, temporarily disable auto-sync in the Sync pane of the preferences (if you're using syncing), and then run this from Tools → Developer → Run JavaScript:var s = new Zotero.Search();s.addCondition('note', 'contains', '&lt;i&gt;');var ids = await s.search();for (let id of ids) { let item = Zotero.Items.get(id); let note = item.getNote(); item.setNote(Zotero.Utilities.unescapeHTML(note)); await item.saveTx();}return ids.length + " item(s) updated";This will convert all notes that have a double-encoded <i>. If there are other notes, you could change it to check for '&lt;b&gt;' for <b> or similar.If you're happy with the results, you can re-enable auto-sync. jmgmbl June 29, 2020 This worked perfectly—thank you so much! I wished I'd asked years ago now.

      TRUCO: (PERO HACIENDO BACKUP): ejecutar JS que modifica

    1. DWL-SDCA: That's not the issue here. All notes in Zotero are HTML already, and copied HTML output (not HTML code) should be properly handled. Their concern is that report view isn't interpreting these particular notes as HTML when it displays them

      me lo "temia", una nota genera codigo HTML

    1. Zotero recommends storing titles in sentence case. Right-clicking on an item’s title, allows you to convert that title to sentence case.

      sentence case

    1. Zotero Item URI Say you want to send a friend a link to an item in your public Zotero library or in a group on zotero.org. Right now this is  a cumbersome process: Go online, search for the item, copy the link from the URL bar… With the “Item URI” Translator, you can simply drag and drop a link to the online version of the item. Setting this up takes three steps Download the file “Item URI.js” from here and place it in the directory “translators” in your Zotero data folder. Restart Firefox/Zotero In the Zotero Preferences go to the “Export” and set the Default Output Format to “Item URI” (this will be towards the bottom of the list) You can now take advantage of Zotero’s quick copy functionality and drag&drop links from the item in your client right into an email or a blogpost. You can also use the shortcut for “Copy Selected Items –  ctrl+alt+c on Linux/Windows, cmd+shift+c on Mac – to copy the URI to you clipboard. It will look something like this: http://zotero.org/users/76252/items/UUKSSZVK

      see translator: URI.js

    1. zotero translators development

    2. dstillman September 2, 2019 Does the target regexp pass in the Metadata pane after you load the URL in the Browser tab? The current version of Scaffold will run detectWeb even if the target doesn’t match, but the target needs to match for detectWeb to run in the Connector. (We’ve fixed that for the next version.)

      in 2021-12-25???

    1. adam3smith commented on May 6, 2018 @zuphilip theoretically "update translators" from the Connector should be all that's needed

      boton "update translators" en Options

    2. zotero translators development

    1. translator programming

    2. the callback function with Zotero.done() isn't actually necessary here anymore - it is a relic from Zotero before version 3. The above could be rewritten as ZU.processDocuments(URIs, scrape)

      TIPS

    1. Gabriel_p March 16, 2017 Thank you for taking the time to work on this @BBUCommander! Hopefully you can address the concerns raised at the pull request so it can be included as soon as possible.

      LAST COMMENT!!! WAITING... NOW: 2021-12-23 (;-D)

    2. BBUCommander March 16, 2017 edited March 16, 2017 I have created a work-in-progress pull request which implements my take on this: https://github.com/zotero/zotero/pull/1199Currently the displayed format is always the ISO date because this is the format I prefer, but a final solution would probably create a user setting to toggle between ISO or locale dates with locale being the default. Alternatively users could choose a custom date format. I am fine with any solution that allows ISO dates.

      REQUEST: OK

    3. Gabriel_p March 15, 2017 Too bad. If I could write code in JS I'd get right to it. Hopefully we won't have to see another 7 years go by before this is implemented :(

      ME TOO!!! FRUSTRATING!!!

    4. adamsmith February 9, 2014 edited February 9, 2014 yeah, I'd be against ISO dates, too,

      WHY???

    5. YYYY-MM-DD is a format for computers.

      NOT ONLY!!!

    6. bwiernik February 9, 2014 To add a different perspective to this discussion, I personally hate the YYYY-MM-DD standardized format for reading. Unless it is can be preferenced, I definitely would not want a standardized display of dates to be implemented.

      WTF??? hate???

    7. I'll echo the comments above that the center pane date column can be very hard to read if I have sorted by something other than date (which I know it sorts correctly). I have dates appearing as "2013", "October 24, 2013", "October 2013", "2013/10", "2013/10/24", "10/24/2013", and "2013-10-24". Reading these is manageable, but it does slow me down. Is there any way for the center pane's date column to display dates in a consistent format?

      ok, good request!

    1. YaYaTurre June 4, 2018 edited June 4, 2018 I want to produce footnotes and bibliographical references for citations i.e. newspaper articles, reports, manuscripts, etc. that are in the DD MM YYYY format. Preferably like DD/MM YYYY. (26/4 1998).So this: "Nobelpristagaren Alfvén Kämpar Med Centern Mot Kärnkraftsamhället,” Norrköpings Tidningar, June 10, 1976, 8.Becomes this: "Nobelpristagaren Alfvén Kämpar Med Centern Mot Kärnkraftsamhället,” Norrköpings Tidningar, 10/6 1976, 8.Please let me know if you need any additional info. Thank you! damnation June 4, 2018 edited June 4, 2018 1. go here: https://raw.githubusercontent.com/citation-style-language/styles/master/chicago-fullnote-bibliography.csl2. Copy all that code3. Go here: http://editor.citationstyles.org/codeEditor/4. Paste all the code in the box in the bottom over the code in there5. Switch to the visual editor (on top)6. Top right: click on "Example citations"7. Untick anything and tick the "article-newspaper" one8. You should now see "Lisa W. Foderaro, “Rooftop Greenhouse Will Boost City Farming,” New York Times, April 6, 2012."9. click on the "April 6, 2012" part10. .... follow the video I made for you: https://www.youtube.com/watch?v=TOor64T4RvY&feature=youtu.be (note I'm using a different style as the chicago note style is huge and is lame; you just need to wait though!)make sure to change the file ID, self link and filename all to the same new name (like in the video). otherwise your new style will get overwritten with the next update. YaYaTurre June 4, 2018 Whoa! Thank you so much! You have really saved my hide. Thanks again!

      SEE

    1. Personally I'd want Zotero to have it's own field for setting the output datetime format, rather than pick it up from the OS

      OK

    1. If you don't have plans to fix this bug, then I must admit, I will stop having plans to use Zotero.

      hahaha!

      no more responses!

    2. If you mean the actual Date field, that's always displayed in the format used by the original source,

      CUIDADO: lo "fuerzan" los translators!

    1. As @CoNsTaN5foz said in 2020, there is a local language setting in Zotero/Preferences/Advanced that when set to "English (UK)" will give you dd/mm/yyyy 24-hour time. I used to have my Zotero with that setting. But somehow with my switch to the beta stream [probably my own fault] I lost that setting and until your question I had not tried to find it again until today. I still cannot get YYYY-MM-DD + 24h time but I'd love to have that format available.

      request!

    1. Fields like date published are very flexible and depends on how the item was imported

      see translators!!! eg: Crossref-REST.js;

              if (year) {
                  if (month) {
                      if (day) {
                          item.date = year + "-" + month + "-" + day;
                      }
                      else {
                          item.date = month + "/" + year;
                      }
                  }
                  else {
                      item.date = year;
                  }
              }
      
    2. RadialThing October 16, 2018 Hi, thanks for responding.Steps to reproduce:Windows OS regional settings are set to to English (UK) and date settings adjusted to yyyy-MM-dd HH:mm. Zotero (/Juris-M) is set to Automatic (English). Expected behaviour:Zotero displays dates in lists as per the Windows OS settings, which is yyyy-MM-dd HH:mm.Actual behaviour:Zotero displays dates in dd/MM/yyyy HH:mm format.Preferred resolution is that Zotero follows the OS wide settings. Work around would be to be able to correct the date format in Zotero.

      ok, me too!

    3. dr_avk February 12, 2018 I have the same problem.Zotero 5.0.35.1And I can not understand, why it is impossible to add Date-Time format option in the Preferences? Let users decide what format they want to use in the User Interface.Am I right?

      ok

    1. emilianoeheyns September 27, 2021 I didn't account for spaces in the key field; the current version of BBT would have picked up keys without spaces like [extra=ADSBibcode], the next version of BBT will also support [extra=ADS\ Bibcode]

      plugin BBT;

    2. jspilker September 22, 2021 Thanks so much for this, very much appreciated!If any astros from the future find this thread, you can use Better Bibtex to swipe the ADS Bibcode from the Extra field and use that as your cite key. This assumes that the format in the Extra field remains as "ADS Bibcode: xxxxxx", but you can also alter it if things change in the future. Go to Zotero -> Preferences -> Better Bibtex -> Citation keys (tab), and in the Citation key format box, enter:[Extra:transliterate:select=3] | [auth:lower:alphanum][shortyear]To break that down:- the [Extra:transliterate:select=3] part will search the Extra field, remove any unsafe characters ('transliterate'), and return all words starting with the 3rd. This removes the first two words, "ADS Bibcode:", from the full string so only the bibcode itself is used for the citekey.- In case there is no text in the Extra field, the cite key will revert by default to lastnameYY, which is what the [auth:lower:alphanum][shortyear] produces.

      HERE!!! HOWTO use Extra fields in Citation

    3. dstillman September 22, 2021 We've pushed out this change. Your Zotero Connector should auto-update within 24 hours, or you can update manually by clicking Update Translators in the Advanced pane of the Zotero Connector preferences.

      BUT...is translator "ADS Bibcode.js"; 1-date: 2021-09-22---->dstillman

      Sin embargo, "NASA ADS.js" sigue poniendo los dos campos en Extra!

    4. dstillman September 21, 2021 I think there's virtually no scenario where the citekey should be imported from the web Oh, OK. This was done on purpose, with the idea being that some astronomers might want to use a different citation key but that this would be a reasonable default.

      cambio "a proposito"

    5. As Zotero is planning for a Citekey field in the futre

      !!!

    6. my suggestion is that when importing from ADS, the Extra field should contain only the "ADS Bibcode: bibcode" line, and the "Citation Key: bibcode" line should be removed.

      ok

    7. The issue is that BBT uses that same "Citation Key: usertext" format to override the citation keys that it generates by default according to the user's preferences

      HERE!

    8. However in recent Zotero versions when I add a new reference from ADS with the Firefox connector, all entries are auto-populated with text in the "Extra" field. The extra text consists of two lines that list the ADS bibcode, for example:Citation Key: 1965ApJ...142..419PADS Bibcode: 1965ApJ...142..419P

      ok, Citation Key: es usada por plugin Better BibText

    9. jspilker September 21, 2021 Another astronomer here - I think this update may have broken the way that Zotero interfaces with some extensions, specifically Better BibTeX.

      ok

    10. ADS Bibcode lookup has been added

      WHERE? 1-In /translators, exists "NASA ADS.js" 2-Date: 2021-08-19.created: 2021-05-03

    1. M B October 30, 2014 Maybe somehow I can include "http://www.ncbi.nlm.nih.gov/pmc/utils/idconv/v1.0/?ids={z:DOI}&format=json&versions=no" to use Zotero DOI field to convert to PMID?

      TIP: 1-call PubMed with {z:DOI}; 2-save to zotero, informs PMID in Extra field; 3-copy extra in original item!!!; 4-merge or trash the new item (worse metadata from PubMed)

    2. M B November 1, 2014 edited November 1, 2014 But maybe there some workaround? I see, that PMID is stored in Zotoro "extra" field. So I could use "_urlTemplate": "http://www.ncbi.nlm.nih.gov/pubmed/{z:extra}", but how to strip/replace/remove "PMID: " string in the begining of {z:extra} value inside json script? How to strip/replace/remove "PMCID: [0-9]*" at the end?

      2021-12-22: me too! No response since 2014!!! How to extract field from Extra???

    1. With the exception of Item Type (CSL Type) and Date variables (CSL Issued, etc.), variables entered in Extra will not override corresponding values entered in proper Zotero fields.

      CSL override, but "custom" dont

    2. Enter each variable on a separate line at the top of the Extra field

      At the TOP???

    3. Citeable Fields not Included in Zotero These item fields are not yet formally supported in Zotero. For citation purposes, you can convert an item of a different type to one of these types by entering them in the Extra field in this format: CSL Variable: Value For example: PMID: 123456 Status: in press Original Date: 1886-04-01 Director: Kubrick || Stanley Field CSL Variable PMID PMID The PubMed identifier. PMCID PMCID The PubMed Central identifier. Status Status The publication status of an item (e.g., “forthcoming”, “in press”, “advance online publication”). Submitted Date Submitted The date an item was submitted for publication. Reviewed Title Reviewed Title The title of a reviewed work. Chapter Number Chapter Number The number of the chapter within a book. Archive Place Archive Place The geographic location of an archive. Event Date Event Date The date an event took place. Enter in ISO format (year-month-day). Event Place Event Place The geographic location of an event. Original Date Original Date The original date an item was published. Enter in ISO format (year-month-day). Original Title Original Title The original title of a work (e.g., the untranslated title). Original Publisher Original Publisher The publisher of the original version of an item (e.g., the untranslated version). Original Publisher Place Original Publisher Place The geographic location of the publisher of the original version of an item (e.g., the untranslated version). Original Author Original Author A type of Creator. The original creator of a work. Director Director A type of Creator. The director of a film, recording, or broadcast. In Zotero, “Director” is mapped to CSL author. If you need special labels for directors—“(Dir.)”, enter the Director label in Extra. Editorial Director Editorial Director A type of Creator. The managing editor of a publication (“Directeur de la Publication” in French). Illustrator Illustrator A type of Creator. The illustrator of a work.

      CSL Variables in Extra field

    4. For citation purposes, you can convert an item of a different type to one of these types by entering them in the Extra field in the following format: Type: CSL Type For example: Type: dataset Item Type CSL Type Dataset dataset A raw dataset. Figure figure A figure included in a scientific or academic work. Musical Score musical_score The written score for a musical work. Pamphlet pamphlet An informally-published work. Typically smaller and less technical than a Report. Book Review review-book A review of a book. Enter these as Journal, Magazine, or Newspaper Article, depending on where they were published, by providing a “Reviewed Author” creator. Treaty treaty A legal treaty between two nations.

      item Types not included in Zotero; Para "forzar" en las citas, usar en Extra (Type: xxx)

    5. Library Catalog The catalog or database an item was imported from. This field is used, for example, in the MLA citation style. Uses of this field are broader than actual library catalogs. Call Number The call number of an item in a library. For citing archival sources, also include the Call Number in Loc. in Archive (if applicable).

      Entender utilidad

    6. Archive Mainly for archival resources, the archive where an item was found. Also used for repositories, such as government report databases, institutional repositories, or subject repositories. Loc. in Archive The location of an item in an archive, such as a box and folder number or other relevant location information from the finding aid. Include the subcollection/call number, box number, and folder number together in this field. For additional tips on citing archival sources in Zotero, see here.

      Entender utilidad

    1. You might find using a JSON validator helpful (e.g., https://jsonformatter.curiousconcept.com/).

      TOOL: JSON formatter

    2. after adding to engines.json any of the engines listed in http://egh.github.io/zotero-lookup-engines/ (say. e.g. the LOC engine),

      ok, incluir LOC==Library of Congress; 1-En el enlace indicado, buscar LOC; 2-abrir pagina; 3-copiar json e incluir en engines.json

    3. i modified the engines.json adding the isidore engine with the script given by m.pouyllau (https://gitlab.huma-num.fr/pouyllau/ISIDORtero).

      ISIDORE: French repository

    1. I tried {z:issn},but the lookup engine won't show up in the UI. I also tried {z:pulisher} or {z:pulication}, and they won't work too.

      TIP: sintax: {z:field1} == required field; {z:field2?} == optional field;

      Si un item no tiene informado un campo obligatorio, no sale el engine en la lista!

    2. the filename for attached pdfs and links, I did some exploration in the data structures, and it seems they are obtainable simply by {z:title}.

      ???

    3. item.getField(param);

      WHERE TO FIND?: field names for sintax {z:name}

    4. [itemOpenURL["rft.date"][0].substr(0, 4)]

      PROBLEM: openurl waits parameter "year" with format "YYYY", BUT {frt:date} (o {z:date}) devuelve el valor completo (eg: 2021-12-22) and crossref api doest work good: retrieves year=202 (???)

    1. egh June 29, 2019 Also see http://egh.github.io/zotero-lookup-engines/

      library lookup

    2. bwiernik April 20, 2019 Currently the only way to add engines is to edit the engines.json file in the “locate” folder in your Zotero data directory: https://zotero.org/support/zotero_dataSee here for some example additional engines:https://raw.githubusercontent.com/bwiernik/zotero-tools/master/engines.json

      zotero-tools; example file uses "fields" without prefix "_"

    1. bwiernik September 16, 2017 edited May 7, 2018 It’s in your Zotero data directory. This defaults to C:/Users/:username:/Zotero You can also open the folder from the Advanced pane of the Zotero preferences.

      Edit.Preferences/Advanced/Files and Folders: section Data Directory Location; button Show Data Directory; open; subdirectory: locate; engines.json

    2. Does anything like this still work with 5.0?

      it seems it DOESNT WORK in Zotero 5

    1. You may be able to automatically detect the OpenURL resolver for your institution by clicking the “Search for resolvers” button.

      button not found!

    2. By default, Zotero uses the OpenURL service of WorldCat.org

      Library: default=WorldCat (for Books)

    3. Library Lookup - looks up the items in your library of choice using OpenURL

      configure in Preferences

    1. The citation style determines whether these abbreviations will appear with or without periods

      1-Tip: store with periods! 2-style: removes the periods when needed

    2. At the top of the screen, your items are placed on three bands. By default the top layer shows items per month, the middle band by years, the bottom band by decades. The white areas in the bottom two bands show the area currently shown in the top band. You can move along the timeline using click & drag or by entering a year into the “Jump to Year” field and pressing enter. Clicking on an item in the top band of the timeline select that item in your Zotero library.

      help about timelines

    3. Zotero automatically generates journal abbreviations using the information in the Publication field of items. It first compares them to a list of journal titles from PubMed, then a list of words, and finally an algorithm for abbreviations according to ISO norms

      ISO 4

    4. Zotero automatically embeds bibliographic information with the bibliography in COinS format. This way, anyone browsing the site using Zotero (as well as several other reference managers) will be able to import the items from the bibliography.

      WHAT site? Request: No funciona con ficheros (file://bib.html)

    1. Go to the Simple Text Query form and enter a reference or list of references into the search box. Optional: select List all possible DOIs per reference to return multiple results select Include PubMed IDs in results to include PubMed IDs

      THANK YOU!!! IDEA: from PDF, copy reference list, paste into Crossref, generated list: copy and create note in Zotero, similar to opencitations plugin result

    1. When items are merged, the fields of each item prior to the merge are added to a note.

      probar: 1-"Interfiere" con Zotfile: no renombra attachment!!! 2-DISABLED!!!

    2. use these plugins (for Zotero, at the EdTech Hub)

      ZOTERO "KIT"

    1. Select an item in the center column and hold Ctrl

      Request: Another mechanism NEEDED!

    1. Up to six tags can be assigned colors

      zotero 5 permite 9 colores! MUY POCO!!! Request: concepto de "Categoria", los tags son los "values"

    2. press Shift + Enter when you have selected a tag

      lista multiple

    1. paste a multi-line list of identifiers in the unexpanded text field. It is not possible to add mixed lists of identifiers, i.e. you cannot add a list containing some ISBNs and some DOIs.

      lista de IDs, pero del mismo tipo!

    1. Rename and move existing files This step is necessary if you already have digital files in your Zotero library and want them to be renamed and moved to the same location as any future files. To rename and move existing files: Sort your Zotero library using the paperclip icon, so all the references with attachments are at the top. Select all the references with attachments. Right-click on the selected files. Choose Manage Attachments → Rename Attachments. This should both rename those files and move them to your new preferred location.

      Al renombrarlo, lo mueve!

    2. these useful features (among others): Standardizes your file naming conventions Changes the destination folder of your Zotero files to the location of your choice Extracts your annotations from PDF files

      ZOTFILE

    1. bwiernik May 8, 2020 @floriand The Zutilo plug-in add the ability to relate all selected items together in the right click menu.

      zutilo

    1. emilianoeheyns May 17, 2019 It relies on there being lines of the form cites: citationkey in the extra field.

      claves en Extra!

    1. MDnotes+Zotfile use the Zotero URI Scheme to deeplink to the PDF on the respective page

      this is a "must"

    2. BibDesk and JabRef can automatically rename and move PDFs. This means either of them are basically equivalent to Zotero + BetterBibTex + Zotfile.

      ok

    3. Zotero with the BetterBibTeX Plugin

      WARNING! cuando hay "muchos" (=miles) de items en Zotero, se vuelve "MUY LENTO" abrir Zotero!

    1. You export the citations only, NOT the PDFs or notes, etc. You have to add those afterward to each record.

      HOW TO do it?

    1. I am surprised that once it is in my library the date is well retrieved, but when it is in the feed there is no date appearing

      ME TOO!

    1. For Vancouver users, be aware that the version of Vancouver used at WNE is slightly different than the official style. The main difference is in the number of authors -- at WNE we list up to three authors, while in Vancouver style the number is seven. 

      all?

    2. Vancouver and APA are included in Zotero by default. When using APA Style, make sure you select American Psychological Association 7th Ed.

      estilos

    3. Sentence Case In both APA and Vancouver formats, article titles are written out in sentence case. However, sometimes Zotero gets confused and imports titles in Title Case. To fix this, start from the Zotero library and right click on the article title in the right-hand pane --> Transform Text --> Sentence Case. You may need to fix the capitalization of proper nouns

      title: Sentence Case, pero "corregir" nombres, siglas!

    1. but most importantly, put 'Type: article' at the top of Extra. That will get cited correctly as a preprint for styles that support it and will be migrated to a Preprint item when that type is added.

      Tip: values in Extra

    1. the capitalization on titles in your bibtex file should match what's on the paper. The bib style should enforce capitalization, not your bibliography—your bib should faithfully represent what's printed on the paper.

      advice

    1. citeproc.js is the part of Zotero that takes the data in Zotero, and the citation style you pick, and then formats the citations and bibliography the way you need them to.

      def

    1. “Verify DOIs” tries to connect to publishers’ websites (rather than to doi.org only)

      ok

    2. activate citeproc-js’s Extra parsing function and override the value stored in the DOI field

      how to activate this?

    3. Unfortunately, without Long DOI being saved, there isn’t a way to look it up—the shortdoi.org API doesn’t provide a way to reverse lookup Long DOIs from shortDOIs.

      warning

    1. bwiernik June 17, 2018 Although you will still get the best metadata by using the Zotero browser button at the publisher website, Zotero's PDF metadata retrieval has been much improved since January and should now get abstracts and DOIs for most articles.

      test

    2. However, the Retrieve Metadata function relies primarily on Google Scholar's full-text database, which doesn't include DOI information, so this function will rarely yield the best metadata

      HERE! Google Scholar: bad metadata!

    1. Only some DOI registration agencies support content negotiation, which is what Zotero uses to retrieve metadata.

      how Zotero retrieve?

    1. Adding by DOI will often give better results than, say, importing from Google Scholar or using the “Retrieve Metadata for PDF” function

      3-Retrieve metadata from PDF: it depends on text within the PDF! 4-Google Scholar: bad metadata!

    2. Adding by DOI using the magic wand tool is very fast if you already have the DOI (e.g., if you are copying from a reference list), and it will give very good metadata (though it won’t have abstracts), but it won’t automatically download the PDF.

      2-Add tool: without abstract, without PDF!

    3. The best way to add items to the library is using the Zotero browser button from the item page on the publisher website. This will get the best metadata and often the PDF if available

      1-from publisher page: +download PDF available

    1. dstillman April 17, 2020 Metadata updating is planned, but for now the easiest way to do this is just to use Add Item by Identifier and then select the two items and merge them.

      see

    1. I respectfully disagree about the advantages. "Add Item by Identifier + Merge Items" requires a copy/paste plus about 8 clicks per item, including a lot of hand-eye movement

      HERE!

    2. the possibility of overwriting current metadata, and the fixes suggested are 1) showing the conflict resolution window and 2) implementing an undo mechanism

      good options

    1. Zotero uses currently populated information to do a search

      request

    2. you delete the duplicated pdf file in Zotero but this doesn't remove the file from the Zotero storage folder and there seems to be no simple way to remove unused attachments from the zotero storage folder

      ?? 1-move to trash; 2-empty trash

    3. One of the biggest issues I have with the workaround of adding a new entry then merging, is that it often results in doubling up of the PDF files

      re-download: added problem

    4. If you have hand-edited your record and you blindly accept the new metadata you risk overwriting good information

      HERE!

    5. the best way to handle updates [re-download and merge] given the current status of available metadata from CrossRef, PubMed, journal publishers,

      how to update better

    6. the experts (adamsmith, bwiernik) and lead developer (dstillman)

      zotero users

  3. Nov 2021
    1. Zotero can also export in (English) Wikipedia citation template format.

      Using: Open Zotero's preferences dialogue on macOS, choose Zotero > Preferences… on Windows, it's at the bottom of the Edit menu Select the "Export" tab Either Change the "Default Format" to "Wikipedia Citation Templates"

  4. Jul 2021
  5. Jun 2021
    1. Enjoy Reading in Distributed Communities Zocurelia supports reading together, especially when your community is spread all over the world, your school, your university or your city.

      Demo'd at I Annotate 2021 by creator Axel Dürkop.

    1. Likewise, do not include URLs from these academic research databases in reference list entries because these URLs will not resolve for readers

      EndNote X9 acts mistakenly on this as including the URL (not DOI) after the page range! Zotero acts correctly.

  6. May 2021
    1. Extracting .pdf annotations using [[Zotfile]]

      Go to Settings > Advanced > Config Editor and then filtering by pdfExtraction.

      The end section on templates was rushed and make take some more time to properly configure Zotfile and the notes exports to get what I want.

    1. 🔗 Eleanor's amazingly awesome website: https://eleanorkonik.com/ 📟 Research Rabbit referral code: l17JvlK ——— THINGS TO DOWNLOAD 1🔗 Zotero: https://www.zotero.org/ 2🔗 Zotfile: http://zotfile.com/ 3🔗 Better Bibtex: https://retorque.re/zotero-better-bib... 4🔗 MD Notes: https://github.com/argenos/zotero-mdn... 5🔗 Obsidian: https://obsidian.md/ 6🔗 Citations plugin: Install it through the Obsidian community plugins ——— LEARN EVEN MORE ABOUT ZOTERO WORKING WITH OBSIDIAN 🔗 Argentina's in-depth video tutorial on Zotero 101: https://www.youtube.com/watch?v=9SzGx... 🔗 Cat's in-depth tutorial on Zotero » zotfile » mdnotes » obsidian » dataview Workflow: https://forum.obsidian.md/t/zotero-zo...

      Resources for implementation.

    2. dataview plugin - check in on this for queries and MOC

      citations plugin - zotfile

      • cat's walkthrough shows all this stuff

      A somewhat useful overview, but skips some of the detailed specifics which we'll need to pull up elsewhere.

    1. A Zotero plugin to export item metadata and notes as markdown files

      Could be of potential use with respect to Obsidian.

  7. Apr 2021
  8. Mar 2021
    1. Annotations are stored in the Zotero database, not in the PDF file, which allows for much more advanced functionality as well as fast syncing.

      It would be nice to have Zotero support the same shared annotations that Hypothes.is does so that it would be easier to share them across the web.

      The tough part of this equation is that most people would probably prefer to keep their annotations private rather than open.

  9. Feb 2021
  10. Jan 2021
  11. Dec 2020
    1. resources written down with the context added of how I found them and why I was interested

      I might also use Zotero to capture the original resource, with a few notes alongside it to explain why I kept it.

    1. También recomiendo encarecidamente Unpaywall . Este no es un complemento de Zotero, pero se agrega a su navegador y buscará automáticamente archivos PDF de acceso abierto en cada página web de la revista que visite. Si encuentra un PDF de acceso abierto, Zotero generalmente lo tomará cuando haga clic en el botón.

      Un complemento que se llama Unpaywall que busca automáticamente PDFs libres que poder asociar.

    2. Double-clicking on a reference will open the associated file in default PDF viewer (I highly recommend PDF X-Change Editor for Windows users).

      Se propone un visor para los archivos PDF en Windows que se llama PDF X-Change Editor

    3. Zotfile is an excellent add-on for Zotero that helps to manage your PDFs.  It can automatically rename, organize, and extract annotations.

      Esta es una utilidad para poder dejar los PDF's fuera de lo que es Zotero como tal. Tiene el inconveniente de que cuando hay que borrar la referencia de Zotero, primero hay que borrar el PDF.

  12. Oct 2020
  13. Aug 2020
  14. Jul 2020
    1. usaremos la exportación en BibTex, lo que genera un archivoque podemos incluir mediante Pandoc

      Para quien desconoce esta terminología pueden parecer confuso: pandoc? bibtex?

  15. May 2020
  16. Jun 2019
  17. Apr 2019
    1. I recommend the FireTray extension to you.https://addons.mozilla.org/en-US/firefox/addon/firetray/But some modification is necessary to make it installable for zotero 5.0:1. Download the the extension as an xpi file.2. Open the xpi file with archive manager.3. Edit the file install.rdf to make it installable for zotero 5.0. (Change the maxVerision from 4.* to 5.* in the Zotero section)4. Save the file and archive manager will ask you to update the file (choose update, of course).Install the modified xpi file and restart zotero if needed. Then you can change the preference of FileTray and check the option "start application hidden to tray".

      Worked with Zotero 5 on Ubuntu 18.04

  18. Dec 2018
    1. Android Apps Zandy, by Avram Lyon View and edit your Zotero library on your Android phone ZotDroid, by Benjamin Blundell View your Zotero library on your Android device Download and read attachment files
    2. Zotero plugin to sync PDFs from your Zotero library to your (mobile) PDF reader (e.g. an iPad, Android tablet, etc.) and extract annotations to Zotero notes
  19. Nov 2018
  20. Oct 2018
  21. Apr 2018
  22. Jul 2017
  23. Sep 2016
  24. Jul 2016
    1. Zotero

      Zotero is my go-to academic info database. It gathers meta-tags so that it can automatically create citations, bibliographies, and reports. Unlike its competitor Mendeley, it is open source and free. It works as a standalone and as an extension.

  25. Jun 2016
    1. If the RRID is well-formed, and if the lookup found the right record, a human validator tags it a valid RRID — one that can now be associated mechanically with occurrences of the same resource in other contexts. If the RRID is not well-formed, or if the lookup fails to find the right record, a human validator tags the annotation as an exception and can discuss with others how to handle it. If an RRID is just missing, the validator notes that with another kind of exception tag.

      Sounds a lot like the way reference managers work. In many cases, people keep the invalid or badly-formed results.

  26. Feb 2016
    1. 9. Annotation as Annotated Bibliography

      I'm going to work this into their research this term as my writers begin their research project. I wonder if there's a way to integrate this with Zotero? I also

  27. Jan 2016
  28. Feb 2014
    1. As far as I know, the major concerns of Zotero are: Storing and searching items in a library Assigning user-supplied metadata to these items Exporting the metada in some common bibliogaphic formats Additional, it appears Zotero allows to store notes. So what's the relationship to h? To the extent notes in Zotero can accommodate the richness of an annotation, it could be a storage backend for h. Notes are page-level annotations, at least. We could allow Zotero users with existing libraries to import their notes as annotations.

      The question "So what's the relationship to h?" is a good one here; in particular, where does h end and other services/apps begin? I have quite a few thoughts in this area, including possible h spin-off companies, but my first interest in thinking about integrating it with other services is more from a strategic engineering perspective: what are the best places to focus h development so that it fits that composable unix-y philosophy of "do one thing well"; and I translate that thinking from tool to person... how can h help me do one thing well? As an end-user, even though I am admittedly a power-user with a lot of tools, I actually want to use as few tools as possible. The browser-extension part of h is the single most important part of the project from my end-user perspective-- the back-end infrastructure is there to support the browser-extension doing one thing well.

      The one thing I want h to do for me that I can't do with any other tool that I know of is to allow me to rapidly track my reading and thinking and note-taking habits together. I want to be able to quickly select multiple portions of text and apply commentary and tags to the text within particular activity-based or goal-based contexts. The last part of that thought is the essential element I need that is missing. Speeding up the text selection would be very helpful in making it a tool I want to use on a daily basis for everything I do, but the contexts feature is what will make h a killer app for me.