Feature Request: Author View/List

edited December 31, 2020

I migrated to Zotero from Papers 3 (and previously Mendeley) and I've been very happy with the change. One feature I do miss from those other applications is a list of all the authors in my library, and a way to see what publications they are associated with. I don't believe Zotero or any existing plugin does this, but it'd be great to have in a future release.

  • +1

    This would be—oh so useful. There is already a panel with the list of tags and search capability. Is there a specific difficulty to do the same for authors? Maybe journals as well? Can someone provide some guidelines on how that could be implemented? Thanks!
  • +1 Please. I also recently migrated from Mendeley. I would like to see a list of the papers I have by the same author. This is the only feature I miss from Mendeley.
  • @Miasjien: Just to be clear, you can of course just sort by the Creator column to see all the papers by a given author next to each other.
  • Thank you @dstillman for responding. But let's say I have multiple authors with the surname Smith, all I see in this creator colum is "Smith et al." , "Smith et al.", "Smith", etc. listed below each other. I cannot see what the initials are of the Smith. Or is there some other way to view the initials?
  • edited July 15, 2022
    No, that's fair, though note that it will by default actually sort by the full names, not just by what's shown in the field. So all the items by a given first author will be next to one another.
  • I think it is still not possible :( This would be great!
  • +1
    Please, it makes so much sense to have it along with the tags panel.
  • This and adding author identifier like ORCiD and additional information like author email would be great. Further, through ORCiD, other identifiers or email, authors coul be grouped/identified, so one could look for all the papers of a concrete unique author (e.g., a John Smith, which is distinct from another John Smith, because they don't share an identifier or email...)
  • Regarding getting a list of all authors in your library, the following code run under Tools\Developer\Run Javascript will do that:
    var names = await Zotero.DB.columnQueryAsync("SELECT DISTINCT TRIM(lastName || ', ' || firstName) AS creator FROM creators WHERE creatorID IN (SELECT creatorID FROM itemCreators JOIN items USING (itemID) WHERE libraryID=1) ORDER BY lastName");
    return names.join('\n');

    Variations on that are possible, for example limiting the list to the current selected collection and adding a count of the number of items each author is listed for:
    var CurrentCollection = Zotero.getActiveZoteroPane().getSelectedCollection();
    var sql = "SELECT TRIM(lastName || ', ' || firstName) AS author, COUNT(*) AS num FROM items JOIN itemCreators USING (itemID) JOIN creators USING (creatorID) JOIN collectionItems USING (itemID) JOIN collections USING (collectionID) WHERE collectionName=? GROUP BY author ORDER BY lastName ASC";
    var rows = await Zotero.DB.queryAsync(sql,CurrentCollection.name);
    var lines = [];
    for (let row of rows) {
    lines.push(row.author + '\t' + row.num);
    return lines.join('\n');

    Similarly, the following gets a list of all journals in the selected collection, and their item counts:
    var CurrentCollection = Zotero.getActiveZoteroPane().getSelectedCollection();
    var jnltitleFieldID = Zotero.ItemFields.getID('publicationTitle');
    var sql = "SELECT value AS jnltitle, COUNT(*) AS num FROM itemData JOIN itemDataValues USING (valueID) JOIN collectionItems USING (itemID) JOIN collections USING (collectionID) WHERE fieldID=? AND collectionName=? GROUP BY jnltitle ORDER BY UPPER(jnltitle) ASC";
    var rows = await Zotero.DB.queryAsync(sql,[jnltitleFieldID,CurrentCollection.name]);
    var lines = [];
    for (let row of rows) {
    lines.push(row.jnltitle + '\t' + row.num);
    return lines.join('\n');

    A list of tags/counts is described here:

    It would be nice if such code snippets could be saved from within Zotero, so that they could be re-run easily from time to time, without having to cut and paste code from elsewhere.
Sign In or Register to comment.