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?
«1
  • I and others have been through this one with Dan in this thread, but he wasn't convinced, on the basis that this would just be 'reimplementing' something that already exists in firefox, ie. using multiple profiles. I still think that's inadequate, as if you use lots of extensions, firefox is more like an entire operating environment than just a browser. Switching profiles in that case becomes tantamount to rebooting. In fact it's really not a practical option for me, so I've resorted to the unsatisfactory expedient of using different apps for my different purposes.

    Perhaps you can have another crack at convincing the zotero folks?
  • I agree for more or less the same reasons.
  • At the time of the previous discussion, Zotero didn't support custom library locations. It now does, which makes the request somewhat less necessary but also easier to implement.

    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.
  • raf
    edited February 18, 2008
    Dan: I'm not sure whether I understood the option you outlined. I use the custom library location a lot via the preference menu (the advanced tab). At the moment, I use three different Zotero folders (or libraries) and it makes perfect sense to me not to have all these references in one and the same Zotero library or folder. Therefore, I toggle.

    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
  • edited February 18, 2008
    The reason I like the idea of multiple libraries is to have somewhere to offload some collected content that I want to keep, but don't want cluttering up my main library (mainly to keep search/sort/tagging/collection-changing from slowing down). From that point of view, a mechanism to copy or move items to the archival library would be nice. Based on your suggestion above, Dan, this could perhaps be implemented with another option on the Actions menu something like: "change to /newlibrary/ and move/copy selected records there." This would just export selected items to a temp directory, and load them into the new library when it is opened.
  • edited February 19, 2008
    Dan, you're option would work great. Then it becomes a "one-click" switch to a new library. (technically two-clicks - once on "action", once on the library)

    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.)
  • I have 3 different libraries that i run through the 3 different Firefox 2 based browsers. By running Netscape Navigator 9 and Flock you can actually have multiple libraries open at the same time each tweaked out with the addons that supplement the purpose of the given collection. This is particularly neat when you take into account the added features that something like Flock brings to the table. Might not work for everyone but it works quite nicely for my needs.
  • Dan, UI-wise, your suggestion sounds good to me.

    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).
  • edited February 19, 2008
    Dan - you've got a superb tool going here. I'm seeking true cross-platform solutions like this one.

    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...
  • 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.
    How does this differ from creating a few top-level collections with subcollections under them? If you want the quicksearch to be able to find all items underneath such a collection, you can enable extensions.zotero.recursiveCollections in about:config (with the standard caveat that we don't test in that mode).

    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.
  • 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.
    It's definitely not beyond Zotero's design specs—just larger than Zotero can comfortably support at the moment.
    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.
    SQLite's speed isn't really the problem. As I've said elsewhere in these forums, the issue is that currently the sorting happens in JS instead of SQLite, which is necessary to properly sort Unicode characters. I believe Firefox 3 adds support for user-defined functions to mozStorage, which may let us implement custom collation sequences in the database. And even without that, there are more optimizations that we can and intend to make.
    While in the comfortable armchair quarterback position I find myself in, I'd also like to raise the MySQL option.
    If there were support for MySQL in Firefox, we could certainly consider it, but until then, I'm afraid it's not going to happen.
    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.
    You'll be able to do all that in the not-too-distant future. No need for MySQL.
  • How does this differ from creating a few top-level collections with subcollections under them? If you want the quicksearch to be able to find all items underneath such a collection, you can enable extensions.zotero.recursiveCollections in about:config (with the standard caveat that we don't test in that mode).
    The only practical problem with this is that for collection *browsing* purposes I don't want recursive collections enabled (it's just too foreign to the usual folder/item metaphor). What about some means of having collections that limited quicksearch to their contents when selected in the collection pane, but were not otherwise recursive?

    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.
    The only thing it doesn't address is speed, but that's an optimization issue, not a design issue.
    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 like the delete-not-remove idea. When I forget what context I'm in and notice a duplicate, and then accidentally remove the item instead of deleting it, it can take a lot of steps to correct the mistake (switch to Main Library, search for item, make sure it's the one I wanted to delete, then really delete it). But perhaps it would work to just *always* use CTRL-Delete instead of just delete, except when you know you only want "remove from current collection"? That has the effect of a full item delete, with prompt, wherever context you're in.
  • I like the ideas here, of using multiple libraries. Maybe my issue is a bit more simpler than what's being discussed. I'm working on a project with colleagues and we can keep a Zotero library for the project on the network. But I have my own library on my computer, I just want to be able to use my library at the same time as working with the group library. This way when I find things on the internet, I can easily add it to the group and/or personal library.
  • The coming ability to create and access shared collections should fill this requirement.
  • I too have 3 separate libraries. The issue is partly that they are logically separate, but more important to me, I want to move one of the databases from my home machine to my work machine on a regular basis (and share it with colleagues)...
    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.
  • dpat, these are exactly the kinds of use cases that make the upcoming shared collections particularly exciting. For the time being there are a few ways to work around these. (Using different profiles, carrying your collection in portable firefox on a USB key, importing and exporting, using a remote folder, etc.) But they will all be moot in the near future when with shared collections.
  • I came across this discussion (among a few others) looking for information about how to make Zotero portable and I think the 2 issues are very related.

    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.
  • Hi sirrahn, you can change the storage location for Zotero to a remote drive. Check out some of the information here http://www.zotero.org/documentation/zotero_over_a_network In a future release Zotero will make this kind of syncing much simpler but for the time being this is an option that works well for many people.
  • Hi Tjowens,

    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.
  • 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?
    I think I see what you are saying. You are saying that you would like to be able to move collections around like you do with Endnote. It may not be as intuitive right now but you can do this with Zotero. From the advanced pane of the preferences you can chose a custom location for your Zotero library. So for example you can store the Zotero folder on your desktop, then it is much easier to move around. This is still of course moving the entire library.

    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.
  • Hi,

    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.
  • And be warned that, given the way the word processor plugins currently work, if you use Zotero RDF, any links to those references in existing documents will be lost after an export/import. So generally just moving the data directory is better.
  • That "enable extensions.zotero.recursiveCollections in about:config" option should really be configurable inside the Preferences dialog. I spent about an hour Googling trying to figure out if there was support for this. This scratches my itch about not having recursive tags.

    Aside from that: Why is this not set by default? Why else would you have hierarchical collections? Maybe someone can enlighten me.
  • mdekrujif: I use hierarchical collections for temporary tactical organisation of items, ie. for me they're just containers as opposed to tags which I generally think of as strategic and permanent attributes of the items.

    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.
  • Does anyone know if there have been any more recent conversations about this topic on the forums? I'm considering right now whether to have two different Firefox Profiles or just two different data directories and making sure to switch which one Zotero is pointing at depending on what I am doing.
  • I just use two (of more) firefox profiles. This works well for me.
  • @ dperkel I prefer the multiple profile approachn as well. As an added plus you can set up different profiles for different collections with other different addons. You can also run multiple Firefox profiles at the same time. So if you go with profiles you can actually have multiple distinct libraries up at the same time.
  • edited August 1, 2009
    I'm coming late to the party, but I'd like to add my two cents regarding multiple library support, a feature that seems very obvious to me. I'm frankly amazed to find it was ever absent. Tagging and web 2.0 connectivity are novel, even trendy, but does that make them better than other time-tested organizational solutions? Not everyone thinks the same way: personally, I find tagging tedious, and it has a very low priority in my workflow. Please just look at Endnote and see how that works: exactly like every other computer program we've grown up with. Want two libraries? Make two libraries. Save them wherever you want. Move them. Keep one on a flash drive. Whatever you want. Simple. I would add that it also lets you manage, and insert references from, more than one library simultaneously. Keeping multiple Firefox profiles seems like an awful lot to ask of people--if we want to maintain existing productivity in other web applications, we need to either run two browsers (as some do), or duplicate all our passwords, bookmarks, etc. Simplicity and inuitiveness are Zotero's strengths, especially compared to Endnote. Being able to open separate library files is far simpler and more intuitive--not that we shouldn't have all the other ideas, too, for those who want them. But I am very confident that multiple library support is something most people would expect to find. Users shouldn't have to change the ways they already think and work to suit a piece of software. Thank you!
  • I have just switched to Zotero from Endnote and am amazed that the multiple library option is not possible yet. The switch was promoted by a job change into a slightly different area. I would like to be able to go in and out of my previous library and a new one. The previous library is large - 3000+ references - and importing this has slowed Zotero down a lot. It isn't functional like this. It seems logical to me to be able to switch in and out of Zotero libraries in the way you can with Endnote.

    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?!
Sign In or Register to comment.