uchicago-library / vufind

A library resource discovery portal designed and developed for libraries by libraries
GNU General Public License v2.0
1 stars 0 forks source link

Add fields for Syndetics tables of contents #55

Open johnjung opened 5 years ago

johnjung commented 5 years ago

We currently don't display the author or page numbers from Syndetics tables of contents. Check in with Discovery Tools to see how we'd like to display this information. Since we wrote this code originally and contributed it to VuFind, and it hasn't been updated, it seems reasonable to contribute enhancements back to the project.

Here are some sample records with different combinations of titles, page numbers, authors, etc.:

Can liberal pluralism be exported? https://catalog.lib.uchicago.edu/vufind/Record/11186491 http://syndetics.com/index.aspx?isbn=9780199248155/toc.xml&client=chicagoh&typ=rn12

(author) (chapter, part) (title) Max-Plus linear stochastic systems and perturbation analysis https://catalog.lib.uchicago.edu/vufind/Record/8877579 http://syndetics.com/index.aspx?isbn=9780387352060/toc.xml&client=chicagoh&typ=rn12 (chapter, part)

(page) (title) Labour and the political economy in Israel https://catalog.lib.uchicago.edu/vufind/Record/1308571 http://syndetics.com/index.aspx?isbn=0198285132/toc.xml&client=chicagoh&typ=rn12 (chater, part) (title) TRANSactions : contemporary Latin American and Latino art https://catalog.lib.uchicago.edu/vufind/Record/6166282 http://syndetics.com/index.aspx?isbn=0934418659/toc.xml&client=chicagoh&typ=rn12 (author)

(page) (title) Social accounting matrix for India https://catalog.lib.uchicago.edu/vufind/Record/6215167 http://syndetics.com/index.aspx?isbn=0761933840/toc.xml&client=chicagoh&typ=rn12 (chapter, part) (title) Data structures and algorithm analysis in C https://catalog.lib.uchicago.edu/vufind/Record/2526581 http://syndetics.com/index.aspx?isbn=0201498405%20/toc.xml&client=chicagoh&typ=rn12 (chapter, part) (title) The authors of the deuteronomistic history : locating a tradition in ancient Israel https://catalog.lib.uchicago.edu/vufind/Record/10123281 http://syndetics.com/index.aspx?isbn=1451469969%20/toc.xml&client=chicagoh&typ=rn12 (chapter, part)

(page) (title) Psychoanalysis and discourse https://catalog.lib.uchicago.edu/vufind/Record/9526220 http://syndetics.com/index.aspx?isbn=0422610305/toc.xml&client=chicagoh&typ=rn12 (chapter, part) (title)

todolson commented 5 years ago

Here's some documentation about what is available in the data:

Fld520 : summaries Fld980 : Author notes Fld970 : ToC entries

Indicators within ToC entries: I1 says whether the entry indexed. E.g. "Preface" might have I1 = 0 I2 gives the level for hierarchical display, levels 1-6

Subfields: l (lower case "L") (Not repeatable) Chapter labels (PART 1 or Ch. 5, etc.) t (Not repeatable) Chapter title p (Not repeatable) Page number c (Repeatable) Chapter author Personal Name d (Repeatable) Chapter author Non-Personal Name e (Repeatable) Chapter Editor f (Repeatable) Chapter author Personal Name - (inverted order)

That should support whatever complexity of nesting we want.

Nesting aside, I would make an initial suggestion something like:

[Chapter Label] [Chapter title] [author/editor] [page no.]

johnjung commented 5 years ago

After talking to the Discovery Tools group, I'd like to get some feedback on accessibility and design from @kzadrozny . As a starting point, could this be organized into columns like this?

column one | column two | column three [chapter label] | [chapter title] / [author] (, [author] ...) | [page (right justified)] (title and author information may contain more than one line of text)

Is a table an appropriate HTML element here? Ideally there should be a literal slash between the chapter title and list of authors. Emma recommended zebra striping as a way to help people associate page numbers with chapters. The data includes heirarchy for chapters that are nested, and if possible the group would like chapters to be indented. Section titles should be bold, or more visually emphasized somehow. It is also fine for us to omit bullets from the display.

Kathy, could you produce a mockup of this so I can show the VuFind developers, to get their feedback as well? Here is an example of how Syndetics outputs a table of contents: http://syndetics.com/index.aspx?isbn=9780387352060/toc.html&client=chicagoh&typ=rn12. If you'd like more samples please just let me know.

kzadrozny commented 5 years ago

After some research, I believe an html table would best fit the needs of this project. Since this is tabular data to begin with, this is the way the data should be shown anyway.

There are two pain points. I have listed them below with the possible resolution:

Parts and/or Sections with nested chapter titles

Repeatable fields

If these resolutions are OKed by DiscTools, I'd be happy to move forward with an html mock.

kzadrozny commented 5 years ago

After some discussion to John about the multiple variables that he would have to account for in a table, we decided a list formation would be best. This allows for a less delicate solution where items like page and author can be added or removed easily based on the data from Syndetics.

The two mocks can be seen here:

  1. TOC with Parts (Based on bib 9526220)
  2. TOC with author and pages (Based on bib 6166282)
todolson commented 5 years ago

It's a little disappointing that the table layout is not going to work out. But these look pretty reasonable. I do have a couple questions:

  1. What is the reason for separating the authors with 'and' rather than a comma?
  2. How would it be to replace 'Author(s):' with 'by'? Or even omit the label entirely, as many book ToCs do?
kzadrozny commented 5 years ago

Firstly - I'm unsure why the Catalog's CSS isn't loading, so I'm sorry you aren't getting the full effect. I'm going to try to fix that before it goes with DiscTools.

  1. The way the authors are connected is entirely dependent on the way Syndetics has that data. For example, the authors in the mock are given as a complete string:

    <Fld970 I1="0" I2="1">
    <t>Works in the Exhibition</t>
    <p>p. 31</p>
    <c>
    Spring deBoer and Miki Garcia and Monica Garza and Stephanie Hanor and Toby Kamps and Albert Park and Lauren Popp and Jillian Richesin and Rachel Teagle
    </c>
    </Fld970>

    I'm sure there will be some cases where the data will be comma separated.

  2. The label before author is for ADA purposes to give context to those names when someone has a screen reader. The label can change as long as it makes sense and gives that data context to the connected chapter title.