cccs-web / core

CCCS' customized django web application
4 stars 11 forks source link

BibTeX preview window #181

Open cccs-ip opened 9 years ago

cccs-ip commented 9 years ago

this is an idea for an auto-reporting feature, showing the compiled BibTex read-out compiled from the meta-data. It would be cool if the display box showed required vs. optional fields (e.g. with asterisk ) to indicate to users which additional meta-data is needed to complete a standard bibliographic entry

document-manager-presentation-concept

Reference Article : this website lists out required and optional fields per entry type.

pwhipp commented 9 years ago

Looks good.

Under the search we have the option to include more fields for matching so I'm thinking a checkbox display might be better with the search being applied to each checked item.

The results will need pagination and the selected file will open the BibTex viewer. The viewer will display the citation and its LaTeX form at the top (or 'Citation incomplete') and only the fields relevant to the type. Thus, until the type is filled in, no fields appear. When it is filled in, the relevant type fields are presented.

The need for nice interaction is pushing me toward doing some javascript so I've built a demo page using AngularJS for you to review: https://staging.crossculturalconsult.com/documents/bibtex/

As I've updated some of the css and javascript to achieve these effects, you will need to clear your browser caches to be sure of seeing it as it is intended.

You can play around with it. It is just using some dummy data to show off the capabilities of Angular for making these sorts of interaction more effective.

This style of working is somewhat more labour intensive because I'll need to build an API on the server to supply the data as json to javascript utilities that present parts of the page. Then I need to write the Javascript... I'm getting a bit happier with writing Javascript and I cannot come close to matching the UX with Python and html alone.

The angular stuff is fun. Be sure to have a play with the searching and changing the data values. Notice the instant updates and the presentation of the related data as soon as you make changes. AngularJS uses 'double binding' so that changes are reflected across the page while you make them.

In practice the searching will not be able to do this because it will require the Javascript to pull down substantial numbers of documents and paginate them but it will still work faster than fetching entire pages every time.

What do you think?

cccs-ip commented 9 years ago

Hi, Paul.

Overall this sounds great. Thanks for taking on the JavaScript work. Please let me know if we can support you. I am still open to bringing you onto the CCCS elance account to allow you to try to source some help.

I have some minor feedback with regard to presentation. I'm attaching an image to help to clarify.

  1. One immediate thing is that no object can have more than one BibTex entry type, so we don't need or want a drop-down toggle to show the entry type; we just want to tell the viewer how it is classed and whether it has the necessary data to complete a citation (or otherwise to indicate what is missing). Each BibTex Type has a specific series of 'required' and 'optional' values, so we'd want to indicate them in some way.
  2. Another request is to have the BibTex preview only show BibTex fields. We would thus exclude the reporting of 'tags' and 'categories' in the BibTex viewer, and instead present that in a "Complete Reference" viewer section, such as could be stacked below the BibTex report section. This is where we'd want to show, for example, notes on the document, information about who received it and when it was accessed, etc.
  3. With regard to the 'search' button, your approach about using checkboxs to narrow the search is reasonable. I would like, however, to explore other design options to avoid dropdown element where possible. I find that dropdowns 'hide' the options from users and force people to have to interact with elements that can be difficult to navigate eithier with a mouse or using a touch screen. Also, I would like the search button just to say 'Search'. Perhaps a solution is to have an initial search of everything, and after the search button is pressed the user can toggle on or off options (like tags, categories, etc) that are presented in a section of the page underneath the search bar.

Let's talk over any questions.

Thanks!

revised-named

bib-article

bib-book

PLEASE NOTE In the image above, author and editor are highlighted because BibTeX needs either one or the other for a complete entry (but can accept when both are provided).

bib-techreport