Books and Book Sections: Avoiding Input of Duplicate Info
It would be great if there was some way to avoid the input of duplicate information when adding a "book section" of a book that is already in your library. Also, I'd love it if books with associated book sections were expandable, like items with notes are. As it is, I'm manually reentering publication information each time I add a book section, and manually indicating that they are related.
Perhaps a UI element that allows you to add a book section for the currently viewed book. Also, perhaps Zotero could detect when the "publication" field of a book section matches the "title" field of a book, and offer to fill in everything else for you.
Otherwise I'm really enjoying Zotero so far and I look forward to following its development!
Perhaps a UI element that allows you to add a book section for the currently viewed book. Also, perhaps Zotero could detect when the "publication" field of a book section matches the "title" field of a book, and offer to fill in everything else for you.
Otherwise I'm really enjoying Zotero so far and I look forward to following its development!
In a normalized design, a chapter would be linked to the book it is part of, much like an article is linked to a periodical, a book to a series, and so forth.
However, the Zotero data model is more flat; a publication is just a field. There's thus no way from the database perspective to avoid duplication.
That said, as jverber suggests, absent fixing the database design (unlikely), they could do something clever at the GUI level like when a user enters a chapter, the publication title auto-completes. If the user selects an existing title, then, perhaps the rest of the relevant fields get populated.
I agree this is a frontier that would be really nice to handle. I just stored a bunch of edited books for putting together a syllabus for a seminar next term, and I'd really like if Zotero could somehow automatically break out all 36 chapters from the 4 books, rather than me having to manually do this (a royal PITA).
The way I see it, there are really two issues here: duplication of data entry and duplication of data in the database. Duplication of data entry is, I think, more important in the end because it more directly affects users. However, avoiding duplication of data in the DB could be part of the solution to avoiding duplicate data entry.
I'm not too familiar with how the dev team has set up the DB, but couldn't a simple change--that is, the addition of a "parent_id" field--make it easier to link chapters to books, etc? Insert a little logic that checks for "parent_id": if it's set, get additional publication info from that publication; if not, get the info from the book chapter, etc. Of course, some additional logic would be needed as well: if a parent publication was going to be deleted, Zotero would have to either a) prompt if children should be deleted as well, b) copy "book" publication data to each "book section" that have that book as a parent, or c) both.
All that being said, I'm not sure whether there's enough of an advantage to be gained from changing the DB in that way to make it all worth it. Maybe simply doing something "clever at the GUI level" makes sense. In additional to automagically completing form fields of book chapters, Zotero could also check for changes that should be propagated throughout the DB; if I change the publication date of a book, book sections with the same publication title/publisher/pub. date could be updated as well (with or without a prompt.)
I guess as a (spare-time) coder, I lean towards the DB-side solution, but as a user, if it "just works" I'll be happy.
The suggestions for more descriptive relations are good ones, however, and we'll try to incorporate those soon. Further ideas for what other sorts of relations you'd like to see and any special characteristics/behaviors they might have are welcome.
On the relations, an important one is version relations, which encompass all of jverber's examples. I want to store the 2004 version of Marx's Capital, say, but also need to include the original publisher and publication date (and perhaps title in the original language). Same with any generic kind of translation.
Reprints are another kind of version relation (a work first published as a journal article and then later in an edited book), though they're less critical because that metadata is seldom if ever included in citation formatting (not so with the other examples).
Beyond that, the only other relation that might make some sense to recognize is that between an item and an event: a paper presented at a conference, testimony presented at a hearing or trial, and so forth.
The latter type of relationship seems to be "sets": a set of papers presented at a particular conference, a set of testimonies at a particular trial, a set of books from a particular series.
Anyway, I just have to say, the most frustrating thing for me about EndNote is its stagnation... and unlike OpenOffice's tool, I can use Zotero now... so everyone keep up the good work/suggestions/discussions...
Finally, I hope my reference to OpenOffice wasn't taken as a dig at Zotero. It's already a beautiful piece of software, and I'm sure it'll only continue to improve.
In fact, if I had my druthers, we'd just remove the bibliographic support from OOo and make it drop-dead easy for tools like Zotero to serve as data sources for it. It ought to be possible, in fact, to have a common API to integrate these apps into not only OOo, but also any other word processor/editor, including Word. In that case, the part that is specific to document formats and editors is the citation encoding, and maybe the (real-time) formatting of the citations and bibliographies. I was just talking to the KWord lead about this very issue.
Going back to the RDF, the structure of the format I've been working on (which Zotero partly borrows from) is all based on this sort of flexible modeling. So there are a set of standard properties, including the most important relations, as well a hierarchical class system. Creating new kinds of "types" is really just a question of putting together the pieces in different ways. But, for example, a conference paper gets modeled as a "Paper" presentedAt a "Conference." More flexible, and more robust.
Second it would be nice if these pasted entrys would automagically be related.
And last I second the wish for a relational or hierarchical databank design. I wished for this when I used endnote. Therefore Zotero needs record templates for journals (not only articles), series (not only books) and so forth.
Cartesian: The next beta will give you much better feedback when switching between item types and tell you exactly which fields would be lost, and it'll also preserve more of the equivalent fields (e.g. 'network' to 'studio,' since they're both essentially 'publisher').
Also, it is customary in Philosophy (my discipline) when using Name-Date referencing to have the book (published collection of articles, say) only once in the bibliography, and for the individual articles / chapters to appear in the bibliography as
Bloggs (1998) "Article Title" in ed. Smith (2006).
i.e. cross-referencing the book, not duplicating all the citation info for it.
The ability to cross-reference can be important where an article originally appeared in one place, but is reprinted in another, and where the author's page references are to the latter.
LaTeX with BibTeX can do all of this, simply by including a citation for the book in the citation for the chapter/article. This makes it very flexible (in that respect).
I really do think there should be some functionality like this built in.
1) Go to my library web site, find the book, download the book item to Zotero.
2) Click on the new item in Zotero. Click on item type, select "book section"
3) Click on title, hit ctrl-x, select book title, hit ctrl-v
4) Change current "contributor"('s) or "author"('s) to "editor"('s) (is this something only my library does, listing almost everyone as a generic "contributor"?)
5) Add new field for author, and fill it in
6) Fill in (now empty) title
7) Modify page numbers
It is steps three and four that I want a UI function to cut out, or at least simplify. How about a shift-click when changing from book to book section that will move the title for you, and turn any listed author or contributor into an editor? Come to think of it, how about simply making this the default behavior (does anybody commonly confuse books and book sections, and need to switch between them for a reason other than the one I'm describing?!)
1. Save the book (container) from some repository, e.g. Worldcat, Google Scholar, or Library of Congress Catalog. (Check whether editors are listed as editors, &c. — for the library of congress they currently get saved as contributors.)
2. Right-click on the item, 'Duplicate selected item'
3. Copy Title into 'Book title' field. Insert chapter title in Title field.
4. Add chapter authors (editors remain)
5. Add page numbers.
If I've got a whole lot of chapters from the same book, I first create a 'template' book section item with all common information filled out, and I generate individual chapters from that. I also make sure that the first duplicate is related to the container volume (the book), so that all subsequent duplicates also neatly appear on the 'Related tab' of the container volume.
Compliments to all Zotero developers for there excellent work despite this missing must-have feature.
(1) supporting book sections properly, in the data model via hierarchical items. This feature has apparently been planned for a long time but I don't know when it might be implemented.
(2) making it easier to work around this by duplicating a book and changing it to a book section. One way to do this would be, when changing book to book section, move title to book title.
Number 2 would be better than nothing.
(At least the only one to affect me - I am starting from scratch. If I was importing data I think a quick and easy way of eliminating duplicates would also be rather desirable)
Anyway, I gather this is somehow in the pipeline, but just in case anyone out there is making a list of "things people are asking for" I figured you could add another vote to the list for prioritizing this one.