quick toggle of libraries
Zotero gets a lot of things right, but there is one thing that I'd really like to see - a quick way to change libraries. I have several zotero libraries that I switch between (a great feature), but there has to be a way to make that transition more seamless. As it stands, I have to go to "add-ons" then "zotero" then choose the library I want then restart firefox. Theoretically I could keep all of my references in one library, but I have several thousand items, which slows the library down substantially. Additionally, one of my libraries is just for my video collection; my citation for the entire collection of Monty Python's Flying Circus doesn't need to be in the same place as my references for my doctoral dissertation. So, I've settled on multiple libraries, but switching between them is a pain. Thoughts?
Perhaps you can have another crack at convincing the zotero folks?
For those of you who want this, how do you see it working?
One option I could perhaps see would be a submenu in the Actions menu that restarted Firefox with the Zotero data directory setting set to the specified directory. There'd be a section in the Advanced pane of the Zotero prefs that let you specify multiple directories (by restarting into each and clicking something like "Remember this location"). The submenu in the Actions menu would only appear if you had "remembered" more than one.
The major drawback I find is that Firefox has to be restarted every time when I move from one library to another. If I'm not mistaken, your option seems to imply a Firefox restart as well. Secondly, citations also prove to be problematic: once I change the library location to any of the three zotero folders or libraries, the Zotero plugin does not any longer recognise the citations in a Word document that come from a previously selected library (and asks, for each reference, whether I want to delete it).
Ideally, I would like to put the different zotero folders that I use now into one folder, to which I then direct Zotero in the advanced preference menu. In the collection pane on the left, I would then see instead of "My Library" more than one brown folder (according to the number of sub-folders). They are named after the different Zotero libraries or folders that I use now.
When I click on one of them, all the references in that library will be loaded. But this would add another hierarchical level in the collection pane, which could be avoided as follows: once a given library is selected, the other ones disappear in the background. An arrow next to the "new collection" icon allows to toggle between the "collection view" and the "library view."
I'm not a programmer, so I imagine all this might be outrageous.
Thanks
One other possibility - a customizable key combination that pulls up a list of your "remembered" libraries. You could then choose which one you want and - voila, it reboots into the new one. (again, two-clicks - once on the key combination, once on the library).
Either of these would work great if you ask me.
(I'm assuming the reboot of firefox is necessary and always will be. I don't know enough about computer programming to know the reasons, but it makes sense.)
The fact that a FF restart is needed makes me want to stop for a moment however and rethink the purpose of using multiple libraries. Two themes seem to emerge from peoples comments in this thread and others: keeping sets of items logically separate, and keeping zotero faster. I'd be inclined to ignore the latter (because performance is too much a moving target to design an app around) and focus on the former.
So here's my personal take: The main problem for me with having entirely unrelated sets of items in one library is that it contaminates search. I originally found Zotero so useful for 'academic' references that I wanted to start putting all other kinds of notes and URLs in there also. But this very promiscuity started to make zotero's search decreasingly useful. So I wanted two libraries, one each for 'academic' and 'personal/misc' uses. Because I found the idea of separate FF profiles, plus a restart, cumbersome, I settled for the time being on using other tools for the personal stuff.
I still find the idea of an FF restart cumbersome, so less than optimal; but still worth doing if it's the only feasible option.
I'm wondering though if there is another option, like perhaps an added superordinate level of organisation *within* a library. What about separate 'cabinets' above 'collections' in the hierarchy, each of which would be entirely separate for search purposes? I realise this would be a bigger thing altogeter, involving schema changes, but in my relative naivety about Zotero's innards, I'm free to suggest such things.
I have a feeling that something *like* this is going to be requested more as Zotero's audience increases (remembering how Onenote's developers were eventually almost forced by shrill choruses of users into implementing multiple notebooks for Onenote 12).
My experience so far has been as follows (using it as an academic). The first thing I did was load one of my smaller biobliographic databases - currently managed by Reference Manager - about 6,500 entries. My largest is around 23,000. I guess you could say that's beyond Zotero's design specs, but I'd like to think not.
Collections are one of the great features of Zotero - Bibus implements it too I guess. In my scenario with a relatively large main library, I experience significant slowing, particularly when switching between collections and to a lesser extent when inserting new entries. Although I tend to agree in part with CB, speed is central to usability and therefore cannot be ignored.
How about loading only a subset of records, sufficient to fill the visible number of rows with some to spare, into a buffer and managing row display like a LIFO or FIFO stack? Even though SQLite is not a speed demon the queries involved might be faster than filling the list with large numbers of entries.
Anyway, one of the stand out features of Zotero to me is its utility as a trawl and capture tool. There's nothing like it. So I figured I'd use it just for that and keep multiple small databases to keep speed up. However I don't know of a way to use multiple data sources in the same manuscript using Zotero, and I need to keep continuity going, so a single main library appears to be a necessity when writing grants, papers etc.
Moving the content between Zotero and Bibus or Endnote via import/export (I'm trying this approach with Bibus at the moment) works just fine, but some of the great features you've brought to the table (I'm thinking in particular of snapshots) are lost in the process. Being able to copy records between Zotero libraries (with duplicate detection - not an exact science I know!!) would be perfect, particularly to feed a larger library that is not the active one.
While in the comfortable armchair quarterback position I find myself in, I'd also like to raise the MySQL option. I know you've addressed it in other threads, and there are likely "inner workings issues" I am completely unaware of, but one can dream right? It's faster for sure. Although more complex to setup perhaps, it would certainly facilitate developing multi-user libraries. You cover the "lower end, simple setup" option already. In this collaborative, multi-institution research age we find ourselves in it sure would be neat to benefit from the trawling work of one's colleagues! One could access the same library from different locations, intranet and globally I guess. CiteULike reflects this need but has much grander aspirations it seems. I'd like to share records with my co-conspirators, not the entire planet...
It seems to me that such an approach to organization would address most of the concerns on this thread that have led people to request multiple library support (and it would avoid all the problems). The only thing it doesn't address is speed, but that's an optimization issue, not a design issue.
Other than that, what you're talking about would mostly work, I think. For those of us who want items truly segmented between different (quasi)-libraries, it might still be a bit disconcerting that when you hit the delete key on an item when a collection is selected, that item goes back into the 'soup' (ie. the Library). This means there's still a risk of severing the connection between an item and the quasi-library. Would it be possible to have a property of a collection as 'sticky' -- ie. so that items within it are deleted rather than removed? Perhaps items in sub-collections would be removed into top level of the quasi-library when 'deleted'.
How about a property combing the above two: ie. (1) recursive quicksearch without recursive browsing, and (2) where contained items within are deleted rather than removed. Such collections could have a slightly different icon to denote them as 'uber-collections'.
That sounds like more work than just implementing library switching, admittedly. Agreed. I can see that people might want to segment their libraries as a temporary expedient for speeding things up, but I don't think you should design anything in Zotero around this.
I do not want to move the more personal databases to work...
So, the issue for me is copying a set of data to move back and forth, whilst not copying other data.
I regularly work on 3 computers - one at work, 1 work laptop and one at home that are a mixture of mac and windows. With endnote I've become accustomed to accessing my endnote libraries wherever I am (network, ftp or thumbdrive). I usually develop multiple libraries - I often have a library for each paper I write as well as master libraries for different subjects.
The ability to load a library whenever I want gives me a huge amount of flexibility in terms of multiple libraries and portability. It doesn't seem easy for Zotero to do this (I hate the idea of having portable firefoxes, etc). I know different programs have different approaches and I may simply not be up to speed, but wouldn't it be a simple solution for both problems if Zotero allowed the user to load a library from any destination they choose?
Can some one please set me straight if I'm on the wrong track.
Thanks I will have a look at doing that. My only concern is that I cannot access my work network from home as a network - only ftp. I think anyway. I might try it on a thumbdrive.
My point was - wouldn't it be easier (especially for people who don't have networks or are too sophisticated) if we could choose to lug libraries around with us as files or folders that we could just open on need? This wouldn't prevent the shared collections being great, it might just suit some people better!
Anyway that is just my comment on the issue that I've been trying to overcome in the last week. Zotero is great and I think it has amazing potential.
Now, if you want to carry around smaller collections you can always export them as Zotero RDF and then import them on a different machine.
If I understand you correctly then there are 2 options. One is to keep the library on the desktop (or somewhere easily located or a thumb drive or a network drive) and then it is possible to get Zotero on another computer to use that library.
Or to save the library as a RDF, which would allow you to import it on another computer edit it, export it as an RDF, and then import it back into Zoreto on the original computer (assuming that duplicates can be removed).
I'm not sure that either of these are quite as easy as the idea of being able to 'open' and 'save' libraries as in endnote, but they do provide ways of making Zotero more portable. It might be worthwhile adding something to the help pages on portability about these options. Thanks I appreciate your help.
Aside from that: Why is this not set by default? Why else would you have hierarchical collections? Maybe someone can enlighten me.
Thinking of collections as nested containers, akin to filesystem directories, they become incoherent and confusing when recursiveCollections is enabled. There are also one or two real oddities, like the fact that if an item exists in a parent and child collection at once, this fact is nowhere visible in the UI. So when you delete the one in the parent collection, which one is being removed? (Actually you have to delete from both, but there's no way of knowing this just by looking).
I don't think it should be the default, because recursiveCollections is just too foreign to the container or file/folder metaphor. Can't see why it shouldn't be in the prefs, though.
My - naive - knowledge of Zotero's innards suggests that it wouldn't be a massive switch to introduce this extra layer and have Zotero move between libraries.
Any idea when this function will be added to Zotero?!