plone for education: bibliographies

128
Plone for Education: Bibliographies Sally Kleinfeldt, Cris Ewing Plone Conference Brasilia 2 October 2013 CC BY Yuri Levchenko - http://www.flickr.com/photos/i8ipod/9280261014/

Upload: jazkarta-inc

Post on 12-May-2015

542 views

Category:

Technology


3 download

DESCRIPTION

Websites targeted at academic audiences can serve a variety of purposes, but no matter what the discipline, bibliographic references are a common theme. Plone has supported online bibliographies for many years, the CMFBibliographyAT add-on supports a number of different export and import formats and 16 different reference types. However Plone's current bibliography toolkit is limited in the ways that references can be styled and used in citations. CSL - citation style language - defines an XML syntax for defining bibliographic styling, which is used by many systems including add-ons for Drupal and Wordpress. In this talk I will explore how Plone can produce formatted bibliographies and citations by using the formatting instructions provided by CSL styles in conjunction with the bibliography content types.

TRANSCRIPT

Page 1: Plone for Education: Bibliographies

Plone for Education: Bibliographies

Sally Kleinfeldt, Cris EwingPlone Conference Brasilia

2 October 2013

CC BY Yuri Levchenko - http://www.flickr.com/photos/i8ipod/9280261014/

Page 2: Plone for Education: Bibliographies

Why Plone?

CC BY Bart Everson - www.flickr.com/photos/editor/6698208975/

Page 3: Plone for Education: Bibliographies

Fundamentals

Page 4: Plone for Education: Bibliographies

Fundamentals• Secure

Page 5: Plone for Education: Bibliographies

Fundamentals• Secure

• Robust permission system

Page 6: Plone for Education: Bibliographies

Fundamentals• Secure

• Robust permission system

• Accessible (Section 508)

Page 7: Plone for Education: Bibliographies

Fundamentals• Secure

• Robust permission system

• Accessible (Section 508)

• Scaleable (users, pages)

Page 8: Plone for Education: Bibliographies

Fundamentals• Secure

• Robust permission system

• Accessible (Section 508)

• Scaleable (users, pages)

• Diazo theming with HTML, CSS

Page 9: Plone for Education: Bibliographies

Fundamentals• Secure

• Robust permission system

• Accessible (Section 508)

• Scaleable (users, pages)

• Diazo theming with HTML, CSS

• Custom types and workflows

Page 10: Plone for Education: Bibliographies

Add-ons

Page 11: Plone for Education: Bibliographies

Add-ons• LDAP/Active Directory

integration

Page 12: Plone for Education: Bibliographies

Add-ons• LDAP/Active Directory

integration

• Subsites for departments, faculties

Page 13: Plone for Education: Bibliographies

Add-ons• LDAP/Active Directory

integration

• Subsites for departments, faculties

• Calendaring tools

Page 14: Plone for Education: Bibliographies

Add-ons• LDAP/Active Directory

integration

• Subsites for departments, faculties

• Calendaring tools

• Fundraising/CRM (Salesforce.com)

Page 15: Plone for Education: Bibliographies

Add-ons• LDAP/Active Directory

integration

• Subsites for departments, faculties

• Calendaring tools

• Fundraising/CRM (Salesforce.com)

• Faculty/Staff Directory

Page 16: Plone for Education: Bibliographies

Add-ons• LDAP/Active Directory

integration

• Subsites for departments, faculties

• Calendaring tools

• Fundraising/CRM (Salesforce.com)

• Faculty/Staff Directory

• Bibliographies

Page 17: Plone for Education: Bibliographies

Bibliographies for Plone since 2005

Page 18: Plone for Education: Bibliographies

CMFBibliographyAT

CC BY Moyan Brenn - http://www.flickr.com/photos/aigle_dore/6365101775/

Page 19: Plone for Education: Bibliographies

CMFBibliographyAT• Create and manage

bibliographic references

CC BY Moyan Brenn - http://www.flickr.com/photos/aigle_dore/6365101775/

Page 20: Plone for Education: Bibliographies

CMFBibliographyAT• Create and manage

bibliographic references

• Feature complete for its niche

CC BY Moyan Brenn - http://www.flickr.com/photos/aigle_dore/6365101775/

Page 21: Plone for Education: Bibliographies

CMFBibliographyAT• Create and manage

bibliographic references

• Feature complete for its niche

• Stable - not much change in 2 years

CC BY Moyan Brenn - http://www.flickr.com/photos/aigle_dore/6365101775/

Page 22: Plone for Education: Bibliographies

Details

Page 23: Plone for Education: Bibliographies

Details• Provides 16 different types of references as

AT content types, plus special folder

Page 24: Plone for Education: Bibliographies

Details• Provides 16 different types of references as

AT content types, plus special folder• Personal and aggregated lists

Page 25: Plone for Education: Bibliographies

Details• Provides 16 different types of references as

AT content types, plus special folder• Personal and aggregated lists• Schema follows BibTeX - LaTeX’s reference

management system

Page 26: Plone for Education: Bibliographies

Details• Provides 16 different types of references as

AT content types, plus special folder• Personal and aggregated lists• Schema follows BibTeX - LaTeX’s reference

management system• Supports several import and export formats,

easy to add new ones (Zope utilities)

Page 27: Plone for Education: Bibliographies

Exampleshttp://www.weigelworld.org/research/publications

Page 28: Plone for Education: Bibliographies

Exampleshttp://www.weigelworld.org/research/publications

Page 30: Plone for Education: Bibliographies

Exampleshttp://www.upress.umn.edu/ (staging site)

Page 31: Plone for Education: Bibliographies

Editing

Page 32: Plone for Education: Bibliographies

Built-in Search

Page 33: Plone for Education: Bibliographies

Style Wars!

CC BY Jill Carlson - www.flickr.com/photos/jill_carlson/9704689913/

Page 34: Plone for Education: Bibliographies

Different Discipline Different Style

Page 35: Plone for Education: Bibliographies

Different Discipline Different Style

APA

Page 36: Plone for Education: Bibliographies

Different Discipline Different Style

APA

Page 37: Plone for Education: Bibliographies

Different Discipline Different Style

APA

CSE

Page 38: Plone for Education: Bibliographies

Different Discipline Different Style

APA

CSE

Page 39: Plone for Education: Bibliographies

Different Discipline Different Style

APA

CSE

MLA

Page 40: Plone for Education: Bibliographies

Different Discipline Different Style

APA

CSE

MLA

Page 41: Plone for Education: Bibliographies

Different Discipline Different Style

APA

CSE

MLA

Etc...

Page 42: Plone for Education: Bibliographies

Styles in Plone Bibliographies

Page 43: Plone for Education: Bibliographies

Styles in Plone Bibliographies

• Products.ATBiblioStyles adds support for Chicago, Harvard, APA, MLA styles

Page 44: Plone for Education: Bibliographies

Styles in Plone Bibliographies

• Products.ATBiblioStyles adds support for Chicago, Harvard, APA, MLA styles

• Python skills required to add new styles

Page 47: Plone for Education: Bibliographies

Not Enough!

CC BY Cherry Ride - http://www.flickr.com/photos/cherryride/5466972761/

Page 48: Plone for Education: Bibliographies

Not Enough!• A few styles is not

enough for serious academic use

CC BY Cherry Ride - http://www.flickr.com/photos/cherryride/5466972761/

Page 49: Plone for Education: Bibliographies

Not Enough!• A few styles is not

enough for serious academic use

• How to easily support hundreds of styles?

CC BY Cherry Ride - http://www.flickr.com/photos/cherryride/5466972761/

Page 50: Plone for Education: Bibliographies

Not Enough!• A few styles is not

enough for serious academic use

• How to easily support hundreds of styles?

• A problem all bibliographic tools have to solve

CC BY Cherry Ride - http://www.flickr.com/photos/cherryride/5466972761/

Page 51: Plone for Education: Bibliographies

CSL to the Rescue!

CC BY Scott Feldstein - http://www.flickr.com/photos/scottfeldstein/66034401/

Page 52: Plone for Education: Bibliographies

Citation Style Language

Page 53: Plone for Education: Bibliographies

Citation Style Language

• http://citationstyles.org/

Page 54: Plone for Education: Bibliographies

Citation Style Language

• http://citationstyles.org/ • XML syntax for defining bibliographic

styles

Page 55: Plone for Education: Bibliographies

Citation Style Language

• http://citationstyles.org/ • XML syntax for defining bibliographic

styles• 6,500+ styles available on crowd

sourced Github repository

Page 56: Plone for Education: Bibliographies

Citation Style Language

• http://citationstyles.org/ • XML syntax for defining bibliographic

styles• 6,500+ styles available on crowd

sourced Github repository• Styles can be browsed, previewed at

Zotero Style Repository

Page 57: Plone for Education: Bibliographies

Zotero Style Repository

Page 58: Plone for Education: Bibliographies

CSL Processors

CC BY Ray Larabie - http://www.flickr.com/photos/27117620@N06/6243443814/

Page 59: Plone for Education: Bibliographies

CSL Processors• citeproc-js

CC BY Ray Larabie - http://www.flickr.com/photos/27117620@N06/6243443814/

Page 60: Plone for Education: Bibliographies

CSL Processors• citeproc-js

• citeproc-hs

CC BY Ray Larabie - http://www.flickr.com/photos/27117620@N06/6243443814/

Page 61: Plone for Education: Bibliographies

CSL Processors• citeproc-js

• citeproc-hs

• citeproc-ruby

CC BY Ray Larabie - http://www.flickr.com/photos/27117620@N06/6243443814/

Page 62: Plone for Education: Bibliographies

CSL Processors• citeproc-js

• citeproc-hs

• citeproc-ruby

• citeproc-java

CC BY Ray Larabie - http://www.flickr.com/photos/27117620@N06/6243443814/

Page 63: Plone for Education: Bibliographies

CSL Processors• citeproc-js

• citeproc-hs

• citeproc-ruby

• citeproc-java

• citeproc-py

CC BY Ray Larabie - http://www.flickr.com/photos/27117620@N06/6243443814/

Page 64: Plone for Education: Bibliographies

CSL Processors

CC BY Ray Larabie - http://www.flickr.com/photos/27117620@N06/6243443814/

Page 65: Plone for Education: Bibliographies

CSL Processors• citeproc-py is... fluid

CC BY Ray Larabie - http://www.flickr.com/photos/27117620@N06/6243443814/

Page 66: Plone for Education: Bibliographies

CSL Processors• citeproc-py is... fluid

• Only about 60% complete

CC BY Ray Larabie - http://www.flickr.com/photos/27117620@N06/6243443814/

Page 67: Plone for Education: Bibliographies

CSL Processors• citeproc-py is... fluid

• Only about 60% complete

• Aimed at Python 3.x

CC BY Ray Larabie - http://www.flickr.com/photos/27117620@N06/6243443814/

Page 68: Plone for Education: Bibliographies

CSL Processors• citeproc-py is... fluid

• Only about 60% complete

• Aimed at Python 3.x

• citeproc-js - JavaScript CSL processor in wide use

CC BY Ray Larabie - http://www.flickr.com/photos/27117620@N06/6243443814/

Page 69: Plone for Education: Bibliographies

The Right Solution

Page 70: Plone for Education: Bibliographies

The Right Solution• Standard way to add citation styles

Page 71: Plone for Education: Bibliographies

The Right Solution• Standard way to add citation styles• Used by Zotero, reference management

Firefox plugin

Page 72: Plone for Education: Bibliographies

The Right Solution• Standard way to add citation styles• Used by Zotero, reference management

Firefox plugin• Add-ons for Drupal and Wordpress

Page 73: Plone for Education: Bibliographies

The Right Solution• Standard way to add citation styles• Used by Zotero, reference management

Firefox plugin• Add-ons for Drupal and Wordpress• Need add-on for Plone!

Page 74: Plone for Education: Bibliographies

Thank You to Our Sponsors

Page 75: Plone for Education: Bibliographies

Our Sponsors

Page 76: Plone for Education: Bibliographies

Our Sponsors

• Needed bibliography styling

Page 77: Plone for Education: Bibliographies

Our Sponsors

• Needed bibliography styling • Agreed to pool resources

Page 78: Plone for Education: Bibliographies

collective.citationstyles

Page 79: Plone for Education: Bibliographies

collective.citationstyles

• Integration of CSL styles into Plone

Page 80: Plone for Education: Bibliographies

collective.citationstyles

• Integration of CSL styles into Plone• Control panel to upload style xml files

Page 81: Plone for Education: Bibliographies

collective.citationstyles

• Integration of CSL styles into Plone• Control panel to upload style xml files• Allow selection of site-wide “default” style

Page 82: Plone for Education: Bibliographies

collective.citationstyles

• Integration of CSL styles into Plone• Control panel to upload style xml files• Allow selection of site-wide “default” style• Allow editor selection of style per-context

Page 83: Plone for Education: Bibliographies

collective.citationstyles

• Integration of CSL styles into Plone• Control panel to upload style xml files• Allow selection of site-wide “default” style• Allow editor selection of style per-context• Handle actual rendering in-browser on

the client side

Page 84: Plone for Education: Bibliographies

The Moving Parts

Page 85: Plone for Education: Bibliographies

The Moving Parts

• Iterator

Page 86: Plone for Education: Bibliographies

The Moving Parts

• Iterator• An adapter

Page 87: Plone for Education: Bibliographies

The Moving Parts

• Iterator• An adapter• Iterates over context

Page 88: Plone for Education: Bibliographies

The Moving Parts

• Iterator• An adapter• Iterates over context• yields IBibliographicReferences

Page 89: Plone for Education: Bibliographies

The Moving Parts

• Iterator• An adapter• Iterates over context• yields IBibliographicReferences

Page 90: Plone for Education: Bibliographies

The Moving Parts

Page 91: Plone for Education: Bibliographies

The Moving Parts• Renderer

Page 92: Plone for Education: Bibliographies

The Moving Parts• Renderer

• a utility

Page 93: Plone for Education: Bibliographies

The Moving Parts• Renderer

• a utility• pass in

IBibliographicReference

Page 94: Plone for Education: Bibliographies

The Moving Parts• Renderer

• a utility• pass in

IBibliographicReference• extracts values

Page 95: Plone for Education: Bibliographies

The Moving Parts• Renderer

• a utility• pass in

IBibliographicReference• extracts values

• CMFBib -> CSL

Page 96: Plone for Education: Bibliographies

The Moving Parts• Renderer

• a utility• pass in

IBibliographicReference• extracts values

• CMFBib -> CSL• returns python dict

Page 97: Plone for Education: Bibliographies

The Moving Parts• Renderer

• a utility• pass in

IBibliographicReference• extracts values

• CMFBib -> CSL• returns python dict

Page 98: Plone for Education: Bibliographies

The Moving Parts

Page 99: Plone for Education: Bibliographies

The Moving Parts

• @@citations-json browser view

Page 100: Plone for Education: Bibliographies

The Moving Parts

• @@citations-json browser view• in any context

Page 101: Plone for Education: Bibliographies

The Moving Parts

• @@citations-json browser view• in any context• builds iterator

Page 102: Plone for Education: Bibliographies

The Moving Parts

• @@citations-json browser view• in any context• builds iterator• renders references

Page 103: Plone for Education: Bibliographies

The Moving Parts

• @@citations-json browser view• in any context• builds iterator• renders references• returns JSON

Page 104: Plone for Education: Bibliographies

The Moving Parts

• @@citations-json browser view• in any context• builds iterator• renders references• returns JSON

Page 105: Plone for Education: Bibliographies

The Moving Parts• citeproc-setup viewlet

• load citeproc-js core javascript• configure rendering engine• get bibliography item JSON via AJAX• replace standard CMFBibAT

representation with rendered view• No-JS and error fallback to standard

Page 106: Plone for Education: Bibliographies

Samples

CC-BY BartEverts: http://www.flickr.com/photos/barteverts/3068747619

Page 107: Plone for Education: Bibliographies

collective.citationstylesStatus

Page 108: Plone for Education: Bibliographies

collective.citationstylesStatus

Page 109: Plone for Education: Bibliographies

collective.citationstylesStatusUsable

Page 110: Plone for Education: Bibliographies

collective.citationstylesStatus

• can import CSL styles

Usable

Page 111: Plone for Education: Bibliographies

collective.citationstylesStatus

• can import CSL styles• can select default style

Usable

Page 112: Plone for Education: Bibliographies

collective.citationstylesStatus

• can import CSL styles• can select default style• will render individual references

Usable

Page 113: Plone for Education: Bibliographies

collective.citationstylesStatus

• can import CSL styles• can select default style• will render individual references• will render Bibliography Folders

Usable

Page 114: Plone for Education: Bibliographies

collective.citationstylesStatus

Page 115: Plone for Education: Bibliographies

collective.citationstylesStatus

Not Feature Complete

Page 116: Plone for Education: Bibliographies

collective.citationstylesStatus

• adding default styles (ootb)• adding editor style selection tab• adding browser views for collections

Not Feature Complete

Page 117: Plone for Education: Bibliographies

collective.citationstylesStatus

Page 118: Plone for Education: Bibliographies

collective.citationstylesStatus

Things We’d Like to See

Page 119: Plone for Education: Bibliographies

collective.citationstylesStatus

• dynamic style selection for viewers• automatic processing of inline citations• replacement of existing CMFBib views?

Things We’d Like to See

Page 120: Plone for Education: Bibliographies

CMFBibliographyATProblems

CC BY Stuart Seeger - http://www.flickr.com/photos/stuseeger/216598424/

Page 121: Plone for Education: Bibliographies

CMFBibliographyATProblems

• Big, old fashioned, complicated

CC BY Stuart Seeger - http://www.flickr.com/photos/stuseeger/216598424/

Page 122: Plone for Education: Bibliographies

CMFBibliographyATProblems

• Big, old fashioned, complicated

• CMF layer, Archetypes

CC BY Stuart Seeger - http://www.flickr.com/photos/stuseeger/216598424/

Page 123: Plone for Education: Bibliographies

CMFBibliographyATProblems

• Big, old fashioned, complicated

• CMF layer, Archetypes

• Not Collection friendly

CC BY Stuart Seeger - http://www.flickr.com/photos/stuseeger/216598424/

Page 124: Plone for Education: Bibliographies

CMFBibliographyATProblems

• Big, old fashioned, complicated

• CMF layer, Archetypes

• Not Collection friendly

• Major rewrite would be huge

CC BY Stuart Seeger - http://www.flickr.com/photos/stuseeger/216598424/

Page 125: Plone for Education: Bibliographies

CMFBibliographyATWay Forward

CC BY Dave Bleasdale - http://www.flickr.com/photos/sidelong/4564071208/

Page 126: Plone for Education: Bibliographies

CMFBibliographyATWay Forward

• Find sponsors

CC BY Dave Bleasdale - http://www.flickr.com/photos/sidelong/4564071208/

Page 127: Plone for Education: Bibliographies

CMFBibliographyATWay Forward

• Find sponsors• Schedule rewrite sprint

CC BY Dave Bleasdale - http://www.flickr.com/photos/sidelong/4564071208/