134
Plone for Education: Bibliographies Sally Kleinfeldt Plone Symposium Midwest 18 June 2014 CC BY Yuri Levchenko - http://www.flickr.com/photos/i8ipod/9280261014/ Wednesday, June 18, 14

Plone biblio

Embed Size (px)

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 has been 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 we will describe a new add-on (collective.citationstyles) that lets Plone produce formatted bibliographies and citations by using the formatting instructions provided by CSL styles in conjunction with the bibliography content types. we will also discuss the status of plans for upgrading CMFBibliographyAT.

Citation preview

Page 1: Plone biblio

Plone for Education: Bibliographies

Sally KleinfeldtPlone Symposium Midwest

18 June 2014

CC BY Yuri Levchenko - http://www.flickr.com/photos/i8ipod/9280261014/ Wednesday, June 18, 14

Page 2: Plone biblio

Why Plone for Edu?

CC BY Bart Everson - www.flickr.com/photos/editor/6698208975/ Wednesday, June 18, 14

Page 3: Plone biblio

Fundamentals

Wednesday, June 18, 14

Page 4: Plone biblio

Fundamentals• Secure

Wednesday, June 18, 14

Page 5: Plone biblio

Fundamentals• Secure

• Robust permission system

Wednesday, June 18, 14

Page 6: Plone biblio

Fundamentals• Secure

• Robust permission system

• Accessible (Section 508)

Wednesday, June 18, 14

Page 7: Plone biblio

Fundamentals• Secure

• Robust permission system

• Accessible (Section 508)

• Scaleable (users, pages)

Wednesday, June 18, 14

Page 8: Plone biblio

Fundamentals• Secure

• Robust permission system

• Accessible (Section 508)

• Scaleable (users, pages)

• Diazo theming with HTML, CSS

Wednesday, June 18, 14

Page 9: Plone biblio

Fundamentals• Secure

• Robust permission system

• Accessible (Section 508)

• Scaleable (users, pages)

• Diazo theming with HTML, CSS

• Custom types and workflows

Wednesday, June 18, 14

Page 10: Plone biblio

Add-ons

Wednesday, June 18, 14

Page 11: Plone biblio

Add-ons• LDAP/Active Directory

integration

Wednesday, June 18, 14

Page 12: Plone biblio

Add-ons• LDAP/Active Directory

integration

• Subsites for departments, faculties

Wednesday, June 18, 14

Page 13: Plone biblio

Add-ons• LDAP/Active Directory

integration

• Subsites for departments, faculties

• Calendaring tools

Wednesday, June 18, 14

Page 14: Plone biblio

Add-ons• LDAP/Active Directory

integration

• Subsites for departments, faculties

• Calendaring tools

• Fundraising/CRM (Salesforce.com)

Wednesday, June 18, 14

Page 15: Plone biblio

Add-ons• LDAP/Active Directory

integration

• Subsites for departments, faculties

• Calendaring tools

• Fundraising/CRM (Salesforce.com)

• Faculty/Staff Directory

Wednesday, June 18, 14

Page 16: Plone biblio

Add-ons• LDAP/Active Directory

integration

• Subsites for departments, faculties

• Calendaring tools

• Fundraising/CRM (Salesforce.com)

• Faculty/Staff Directory

• Bibliographies

Wednesday, June 18, 14

Page 17: Plone biblio

Bibliographies for Plone since 2005

Wednesday, June 18, 14

Page 18: Plone biblio

CMFBibliographyAT

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

Wednesday, June 18, 14

Page 19: Plone biblio

CMFBibliographyAT• Create and manage

bibliographic references

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

Wednesday, June 18, 14

Page 20: Plone biblio

CMFBibliographyAT• Create and manage

bibliographic references

• Feature complete for its niche

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

Wednesday, June 18, 14

Page 21: Plone biblio

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/

Wednesday, June 18, 14

Page 22: Plone biblio

Details

Wednesday, June 18, 14

Page 23: Plone biblio

Details• Provides 16 different types of references as

AT content types, plus special folder

Wednesday, June 18, 14

Page 24: Plone biblio

Details• Provides 16 different types of references as

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

Wednesday, June 18, 14

Page 25: Plone biblio

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

Wednesday, June 18, 14

Page 26: Plone biblio

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)

Wednesday, June 18, 14

Page 27: Plone biblio

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

Wednesday, June 18, 14

Page 28: Plone biblio

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

Wednesday, June 18, 14

Page 29: Plone biblio

Exampleshttp://www.doaks.org/resources/seals/seals-bibliography

Wednesday, June 18, 14

Page 30: Plone biblio

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

Wednesday, June 18, 14

Page 31: Plone biblio

Editing

Wednesday, June 18, 14

Page 32: Plone biblio

Built-in Search

Wednesday, June 18, 14

Page 33: Plone biblio

Faceted Navigation

Wednesday, June 18, 14

Page 34: Plone biblio

Style Wars!

CC BY Jill Carlson - www.flickr.com/photos/jill_carlson/9704689913/ Wednesday, June 18, 14

Page 35: Plone biblio

Different Discipline Different Style

Wednesday, June 18, 14

Page 36: Plone biblio

Different Discipline Different Style

APA

Wednesday, June 18, 14

Page 37: Plone biblio

Different Discipline Different Style

APA

Wednesday, June 18, 14

Page 38: Plone biblio

Different Discipline Different Style

APA

CSE

Wednesday, June 18, 14

Page 39: Plone biblio

Different Discipline Different Style

APA

CSE

Wednesday, June 18, 14

Page 40: Plone biblio

Different Discipline Different Style

APA

CSE

MLA

Wednesday, June 18, 14

Page 41: Plone biblio

Different Discipline Different Style

APA

CSE

MLA

Wednesday, June 18, 14

Page 42: Plone biblio

Different Discipline Different Style

APA

CSE

MLA

Etc...

Wednesday, June 18, 14

Page 43: Plone biblio

Styles in Plone Bibliographies

Wednesday, June 18, 14

Page 44: Plone biblio

Styles in Plone Bibliographies

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

Wednesday, June 18, 14

Page 45: Plone biblio

Styles in Plone Bibliographies

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

• Python skills required to add new styles

Wednesday, June 18, 14

Page 46: Plone biblio

Examplehttp://www.es.utoronto.ca/Members/anderson/anderson_bib/

Wednesday, June 18, 14

Page 47: Plone biblio

Examplehttp://www.es.utoronto.ca/Members/anderson/anderson_bib/

Wednesday, June 18, 14

Page 48: Plone biblio

Not Enough!

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

Wednesday, June 18, 14

Page 49: Plone biblio

Not Enough!• A few styles is not

enough for serious academic use

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

Wednesday, June 18, 14

Page 50: Plone biblio

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/

Wednesday, June 18, 14

Page 51: Plone biblio

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/

Wednesday, June 18, 14

Page 52: Plone biblio

CSL to the Rescue!

CC BY Scott Feldstein - http://www.flickr.com/photos/scottfeldstein/66034401/ Wednesday, June 18, 14

Page 53: Plone biblio

Citation Style Language

Thank you Lawrence Loewe and Symposium Midwest 2013!

Wednesday, June 18, 14

Page 54: Plone biblio

Citation Style Language

Wednesday, June 18, 14

Page 55: Plone biblio

Citation Style Language

• http://citationstyles.org/

Wednesday, June 18, 14

Page 56: Plone biblio

Citation Style Language

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

styles

Wednesday, June 18, 14

Page 57: Plone biblio

Citation Style Language

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

styles• 6,500+ styles available on crowd

sourced Github repository

Wednesday, June 18, 14

Page 58: Plone biblio

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

Wednesday, June 18, 14

Page 59: Plone biblio

Zotero Style Repository

Wednesday, June 18, 14

Page 60: Plone biblio

CSL Processors

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

Wednesday, June 18, 14

Page 61: Plone biblio

CSL Processors• citeproc-js

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

Wednesday, June 18, 14

Page 62: Plone biblio

CSL Processors• citeproc-js

• citeproc-hs

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

Wednesday, June 18, 14

Page 63: Plone biblio

CSL Processors• citeproc-js

• citeproc-hs

• citeproc-ruby

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

Wednesday, June 18, 14

Page 64: Plone biblio

CSL Processors• citeproc-js

• citeproc-hs

• citeproc-ruby

• citeproc-java

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

Wednesday, June 18, 14

Page 65: Plone biblio

CSL Processors• citeproc-js

• citeproc-hs

• citeproc-ruby

• citeproc-java

• citeproc-py

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

Wednesday, June 18, 14

Page 66: Plone biblio

CSL Processors

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

Wednesday, June 18, 14

Page 67: Plone biblio

CSL Processors• citeproc-py is... fluid

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

Wednesday, June 18, 14

Page 68: Plone biblio

CSL Processors• citeproc-py is... fluid

• Only about 60% complete

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

Wednesday, June 18, 14

Page 69: Plone biblio

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/

Wednesday, June 18, 14

Page 70: Plone biblio

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/

Wednesday, June 18, 14

Page 71: Plone biblio

The Right Solution

Wednesday, June 18, 14

Page 72: Plone biblio

The Right Solution• Standard way to add citation styles

Wednesday, June 18, 14

Page 73: Plone biblio

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

system and Firefox plugin

Wednesday, June 18, 14

Page 74: Plone biblio

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

system and Firefox plugin• Add-ons for Drupal and Wordpress

Wednesday, June 18, 14

Page 75: Plone biblio

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

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

Wednesday, June 18, 14

Page 76: Plone biblio

Thank You to Our Sponsors

Wednesday, June 18, 14

Page 77: Plone biblio

Our Sponsors

Wednesday, June 18, 14

Page 78: Plone biblio

Our Sponsors

• Needed bibliography styling

Wednesday, June 18, 14

Page 79: Plone biblio

Our Sponsors

• Needed bibliography styling • Agreed to pool resources

Wednesday, June 18, 14

Page 80: Plone biblio

Our Sponsors

• Needed bibliography styling • Agreed to pool resources• Jazkarta chipped in too...

Wednesday, June 18, 14

Page 81: Plone biblio

Not Pseudo-APA Style

Wednesday, June 18, 14

Page 82: Plone biblio

But Real APA Style!

Wednesday, June 18, 14

Page 83: Plone biblio

collective.citationstyles

Wednesday, June 18, 14

Page 84: Plone biblio

collective.citationstyles

• Integration of CSL styles into Plone

Wednesday, June 18, 14

Page 85: Plone biblio

collective.citationstyles

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

Wednesday, June 18, 14

Page 86: Plone biblio

collective.citationstyles

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

Wednesday, June 18, 14

Page 87: Plone biblio

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

Wednesday, June 18, 14

Page 88: Plone biblio

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

Wednesday, June 18, 14

Page 89: Plone biblio

collective.citationstyles

Wednesday, June 18, 14

Page 90: Plone biblio

collective.citationstylesIs Usable

• Can import CSL styles• Can select default style• Will render individual references• Will render Bibliography Folders

Wednesday, June 18, 14

Page 91: Plone biblio

Samples

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

Wednesday, June 18, 14

Page 92: Plone biblio

Citation Styles Control Panel

Wednesday, June 18, 14

Page 93: Plone biblio

Bibliography Folder: Selecting a Style

Wednesday, June 18, 14

Page 94: Plone biblio

Bibliography Folder: Displaying a Style

Wednesday, June 18, 14

Page 95: Plone biblio

Individual Reference: CSL + Custom View

Wednesday, June 18, 14

Page 96: Plone biblio

Things We’d Like to Add

Wednesday, June 18, 14

Page 97: Plone biblio

Things We’d Like to Add

• Editor style selection tab• Browser views for collections• Automatic processing of inline citations• Replacement of existing CMFBib views?

Wednesday, June 18, 14

Page 98: Plone biblio

CMFBibliographyATProblems

CC BY Stuart Seeger - http://www.flickr.com/photos/stuseeger/216598424/Wednesday, June 18, 14

Page 99: Plone biblio

CMFBibliographyATProblems

• Big, old fashioned, complicated

CC BY Stuart Seeger - http://www.flickr.com/photos/stuseeger/216598424/Wednesday, June 18, 14

Page 100: Plone biblio

CMFBibliographyATProblems

• Big, old fashioned, complicated

• CMF layer, Archetypes

CC BY Stuart Seeger - http://www.flickr.com/photos/stuseeger/216598424/Wednesday, June 18, 14

Page 101: Plone biblio

CMFBibliographyATProblems

• Big, old fashioned, complicated

• CMF layer, Archetypes

• Grew organically, new features pasted on

CC BY Stuart Seeger - http://www.flickr.com/photos/stuseeger/216598424/Wednesday, June 18, 14

Page 102: Plone biblio

CMFBibliographyATProblems

• Big, old fashioned, complicated

• CMF layer, Archetypes

• Grew organically, new features pasted on

• Not Collection friendly

CC BY Stuart Seeger - http://www.flickr.com/photos/stuseeger/216598424/Wednesday, June 18, 14

Page 103: Plone biblio

CMFBibliographyATProblems

• Big, old fashioned, complicated

• CMF layer, Archetypes

• Grew organically, new features pasted on

• Not Collection friendly

• Major rewrite would be huge

CC BY Stuart Seeger - http://www.flickr.com/photos/stuseeger/216598424/Wednesday, June 18, 14

Page 104: Plone biblio

CMFBibliographyATWay Forward

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

Wednesday, June 18, 14

Page 105: Plone biblio

CMFBibliographyATWay Forward

• Find sponsors

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

Wednesday, June 18, 14

Page 106: Plone biblio

CMFBibliographyATWay Forward

• Find sponsors• Schedule rewrite sprint

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

Wednesday, June 18, 14

Page 107: Plone biblio

Rewrite Sponsors

• Plone Foundation• German University Consortium• Jazkarta• Others?

Wednesday, June 18, 14

Page 108: Plone biblio

Rewrite Architecture• Take advantage of existing standards

• Display layer - use Javascript CSL processor

• Storage layer - use Dexterity types with MODS XML storage, the LOC standard bibutils works from

• Management layer - use Plone

Wednesday, June 18, 14

Page 109: Plone biblio

Rewrite Approach

• Inventory CMFBib + add-ons features• Prioritize features to re-implement• Implement each feature in the

appropriate layer

Wednesday, June 18, 14

Page 110: Plone biblio

Rewrite is Essential

• Archetypes is going away• Many academic sites use this tool

Wednesday, June 18, 14

Page 111: Plone biblio

Demo

Wednesday, June 18, 14

Page 112: Plone biblio

Discussion?

Wednesday, June 18, 14

Page 113: Plone biblio

The Moving Parts

Wednesday, June 18, 14

Page 114: Plone biblio

The Moving Parts

• Iterator

Wednesday, June 18, 14

Page 115: Plone biblio

The Moving Parts

• Iterator• An adapter

Wednesday, June 18, 14

Page 116: Plone biblio

The Moving Parts

• Iterator• An adapter• Iterates over context

Wednesday, June 18, 14

Page 117: Plone biblio

The Moving Parts

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

Wednesday, June 18, 14

Page 118: Plone biblio

The Moving Parts

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

Wednesday, June 18, 14

Page 119: Plone biblio

The Moving Parts

Wednesday, June 18, 14

Page 120: Plone biblio

The Moving Parts• Renderer

Wednesday, June 18, 14

Page 121: Plone biblio

The Moving Parts• Renderer

• a utility

Wednesday, June 18, 14

Page 122: Plone biblio

The Moving Parts• Renderer

• a utility• pass in

IBibliographicReference

Wednesday, June 18, 14

Page 123: Plone biblio

The Moving Parts• Renderer

• a utility• pass in

IBibliographicReference• extracts values

Wednesday, June 18, 14

Page 124: Plone biblio

The Moving Parts• Renderer

• a utility• pass in

IBibliographicReference• extracts values

• CMFBib -> CSL

Wednesday, June 18, 14

Page 125: Plone biblio

The Moving Parts• Renderer

• a utility• pass in

IBibliographicReference• extracts values

• CMFBib -> CSL• returns python dict

Wednesday, June 18, 14

Page 126: Plone biblio

The Moving Parts• Renderer

• a utility• pass in

IBibliographicReference• extracts values

• CMFBib -> CSL• returns python dict

Wednesday, June 18, 14

Page 127: Plone biblio

The Moving Parts

Wednesday, June 18, 14

Page 128: Plone biblio

The Moving Parts

• @@citations-json browser view

Wednesday, June 18, 14

Page 129: Plone biblio

The Moving Parts

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

Wednesday, June 18, 14

Page 130: Plone biblio

The Moving Parts

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

Wednesday, June 18, 14

Page 131: Plone biblio

The Moving Parts

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

Wednesday, June 18, 14

Page 132: Plone biblio

The Moving Parts

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

Wednesday, June 18, 14

Page 133: Plone biblio

The Moving Parts

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

Wednesday, June 18, 14

Page 134: Plone biblio

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

Wednesday, June 18, 14