RefDB also has an option to create extended notes and link these notes to just about any object in the database - references, keywords, authors, you name it. You could of course create an extended note, link it to a handful of references, and call it a personal reference list. However, this possibility was far from apparent to most users.
Why not combine the best of both worlds, and implement personal reference lists on top of extended notes, while maintaining the simplified interface of the pickref and dumpref commands? Well, this is just what the current svn version (and the soon-to-be-released prerelease 0.9.8-pre1) offer. I'll tell you real quick how to work with this feature.
There is no command to create personal reference lists. Instead, they're created automatically as soon as you add references to them. All the same, they magically disappear as soon as you've removed the last reference from such a list. That is, you don't have to fiddle with extended notes unless you want to. As an additional simplification, every user has a default personal reference list, which essentially behaves like the one in 0.9.7 and earlier. Let's see how this works.
refdbc: pickref 13
This command will add the reference with the ID 13 to your default list. If this list does not exist yet, it will be created on the fly. If you're curious, run the following command:
refdbc: getnote :NID:>0
The output should contain a note with the citation key <username>-<username>. This is your default list. Why this funny key? All personal reference list keys are prefixed with the username to create separate namespaces. Otherwise you'd run into problems in a multi-user installation if your favourite list name is already taken.
To create a second list, you need to specify a name:
refdbc: pickref -b newlist 15
If you now repeat the abovementioned getnote command, you should see a second list called <username>-newlist.
Retrieving references from your personal lists is almost the same as in previous releases. However, we can't use the -P switch of the getref command anymore. As this letter is used as a switch without a value in other commands too, we can't specify a list name if we need to. Instead, getref now uses the "-b listname" option:
refdbc: getref -b newlist :ID:>0
This command will display all references contained in the second list you created above. To display references from your default list, you need to specify its name:
refdbc: getref -b <username> :ID:>0
Removing references from your personal lists is just about the same as adding them:
refdbc: dumpref 13
This command will remove the reference with the ID 13 from your default list.
refdbc: dumpref -b newlist 15
This command will remove the named reference from your list with the name "newlist".
What else can you do with personal reference lists? As outlined above, lists are nothing but extended notes in disguise. If you want to add some convenience to your lists, feel free to edit the notes which represent your lists. You can give them a more meaningful title (the default title is the same as the listname, i.e. the key), add a description, and add keywords to organize lists if you intend to have many of them. The only thing you shouldn't touch is the key (the citekey attribute of the xnote element) as this is used to update the note and to associate the references that constitute the list with the note. Keep in mind that the citekey attribute is made up of the username prefix, a dash, and the list name:
refdbc: getnote :CK:=<username>-newlist
This will retrieve the note that represents your list "newlist". You can save the note to a file, edit it, and use the updatenote command to update the note.
That's about all you need to know to start using multiple personal reference lists.