Plone biblio

Post on 12-May-2015

212 views 2 download

Tags:

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.

transcript

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

Why Plone for Edu?

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

Fundamentals

Wednesday, June 18, 14

Fundamentals• Secure

Wednesday, June 18, 14

Fundamentals• Secure

• Robust permission system

Wednesday, June 18, 14

Fundamentals• Secure

• Robust permission system

• Accessible (Section 508)

Wednesday, June 18, 14

Fundamentals• Secure

• Robust permission system

• Accessible (Section 508)

• Scaleable (users, pages)

Wednesday, June 18, 14

Fundamentals• Secure

• Robust permission system

• Accessible (Section 508)

• Scaleable (users, pages)

• Diazo theming with HTML, CSS

Wednesday, June 18, 14

Fundamentals• Secure

• Robust permission system

• Accessible (Section 508)

• Scaleable (users, pages)

• Diazo theming with HTML, CSS

• Custom types and workflows

Wednesday, June 18, 14

Add-ons

Wednesday, June 18, 14

Add-ons• LDAP/Active Directory

integration

Wednesday, June 18, 14

Add-ons• LDAP/Active Directory

integration

• Subsites for departments, faculties

Wednesday, June 18, 14

Add-ons• LDAP/Active Directory

integration

• Subsites for departments, faculties

• Calendaring tools

Wednesday, June 18, 14

Add-ons• LDAP/Active Directory

integration

• Subsites for departments, faculties

• Calendaring tools

• Fundraising/CRM (Salesforce.com)

Wednesday, June 18, 14

Add-ons• LDAP/Active Directory

integration

• Subsites for departments, faculties

• Calendaring tools

• Fundraising/CRM (Salesforce.com)

• Faculty/Staff Directory

Wednesday, June 18, 14

Add-ons• LDAP/Active Directory

integration

• Subsites for departments, faculties

• Calendaring tools

• Fundraising/CRM (Salesforce.com)

• Faculty/Staff Directory

• Bibliographies

Wednesday, June 18, 14

Bibliographies for Plone since 2005

Wednesday, June 18, 14

CMFBibliographyAT

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

Wednesday, June 18, 14

CMFBibliographyAT• Create and manage

bibliographic references

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

Wednesday, June 18, 14

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

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

Details

Wednesday, June 18, 14

Details• Provides 16 different types of references as

AT content types, plus special folder

Wednesday, June 18, 14

Details• Provides 16 different types of references as

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

Wednesday, June 18, 14

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

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

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

Wednesday, June 18, 14

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

Wednesday, June 18, 14

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

Wednesday, June 18, 14

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

Wednesday, June 18, 14

Editing

Wednesday, June 18, 14

Built-in Search

Wednesday, June 18, 14

Faceted Navigation

Wednesday, June 18, 14

Style Wars!

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

Different Discipline Different Style

Wednesday, June 18, 14

Different Discipline Different Style

APA

Wednesday, June 18, 14

Different Discipline Different Style

APA

Wednesday, June 18, 14

Different Discipline Different Style

APA

CSE

Wednesday, June 18, 14

Different Discipline Different Style

APA

CSE

Wednesday, June 18, 14

Different Discipline Different Style

APA

CSE

MLA

Wednesday, June 18, 14

Different Discipline Different Style

APA

CSE

MLA

Wednesday, June 18, 14

Different Discipline Different Style

APA

CSE

MLA

Etc...

Wednesday, June 18, 14

Styles in Plone Bibliographies

Wednesday, June 18, 14

Styles in Plone Bibliographies

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

Wednesday, June 18, 14

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

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

Wednesday, June 18, 14

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

Wednesday, June 18, 14

Not Enough!

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

Wednesday, June 18, 14

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

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

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

CSL to the Rescue!

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

Citation Style Language

Thank you Lawrence Loewe and Symposium Midwest 2013!

Wednesday, June 18, 14

Citation Style Language

Wednesday, June 18, 14

Citation Style Language

• http://citationstyles.org/

Wednesday, June 18, 14

Citation Style Language

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

styles

Wednesday, June 18, 14

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

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

Zotero Style Repository

Wednesday, June 18, 14

CSL Processors

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

Wednesday, June 18, 14

CSL Processors• citeproc-js

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

Wednesday, June 18, 14

CSL Processors• citeproc-js

• citeproc-hs

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

Wednesday, June 18, 14

CSL Processors• citeproc-js

• citeproc-hs

• citeproc-ruby

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

Wednesday, June 18, 14

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

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

CSL Processors

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

Wednesday, June 18, 14

CSL Processors• citeproc-py is... fluid

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

Wednesday, June 18, 14

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

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

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

The Right Solution

Wednesday, June 18, 14

The Right Solution• Standard way to add citation styles

Wednesday, June 18, 14

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

system and Firefox plugin

Wednesday, June 18, 14

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

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

Thank You to Our Sponsors

Wednesday, June 18, 14

Our Sponsors

Wednesday, June 18, 14

Our Sponsors

• Needed bibliography styling

Wednesday, June 18, 14

Our Sponsors

• Needed bibliography styling • Agreed to pool resources

Wednesday, June 18, 14

Our Sponsors

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

Wednesday, June 18, 14

Not Pseudo-APA Style

Wednesday, June 18, 14

But Real APA Style!

Wednesday, June 18, 14

collective.citationstyles

Wednesday, June 18, 14

collective.citationstyles

• Integration of CSL styles into Plone

Wednesday, June 18, 14

collective.citationstyles

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

Wednesday, June 18, 14

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

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

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

collective.citationstyles

Wednesday, June 18, 14

collective.citationstylesIs Usable

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

Wednesday, June 18, 14

Samples

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

Wednesday, June 18, 14

Citation Styles Control Panel

Wednesday, June 18, 14

Bibliography Folder: Selecting a Style

Wednesday, June 18, 14

Bibliography Folder: Displaying a Style

Wednesday, June 18, 14

Individual Reference: CSL + Custom View

Wednesday, June 18, 14

Things We’d Like to Add

Wednesday, June 18, 14

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

CMFBibliographyATProblems

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

CMFBibliographyATProblems

• Big, old fashioned, complicated

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

CMFBibliographyATProblems

• Big, old fashioned, complicated

• CMF layer, Archetypes

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

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

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

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

CMFBibliographyATWay Forward

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

Wednesday, June 18, 14

CMFBibliographyATWay Forward

• Find sponsors

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

Wednesday, June 18, 14

CMFBibliographyATWay Forward

• Find sponsors• Schedule rewrite sprint

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

Wednesday, June 18, 14

Rewrite Sponsors

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

Wednesday, June 18, 14

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

Rewrite Approach

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

appropriate layer

Wednesday, June 18, 14

Rewrite is Essential

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

Wednesday, June 18, 14

Demo

Wednesday, June 18, 14

Discussion?

Wednesday, June 18, 14

The Moving Parts

Wednesday, June 18, 14

The Moving Parts

• Iterator

Wednesday, June 18, 14

The Moving Parts

• Iterator• An adapter

Wednesday, June 18, 14

The Moving Parts

• Iterator• An adapter• Iterates over context

Wednesday, June 18, 14

The Moving Parts

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

Wednesday, June 18, 14

The Moving Parts

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

Wednesday, June 18, 14

The Moving Parts

Wednesday, June 18, 14

The Moving Parts• Renderer

Wednesday, June 18, 14

The Moving Parts• Renderer

• a utility

Wednesday, June 18, 14

The Moving Parts• Renderer

• a utility• pass in

IBibliographicReference

Wednesday, June 18, 14

The Moving Parts• Renderer

• a utility• pass in

IBibliographicReference• extracts values

Wednesday, June 18, 14

The Moving Parts• Renderer

• a utility• pass in

IBibliographicReference• extracts values

• CMFBib -> CSL

Wednesday, June 18, 14

The Moving Parts• Renderer

• a utility• pass in

IBibliographicReference• extracts values

• CMFBib -> CSL• returns python dict

Wednesday, June 18, 14

The Moving Parts• Renderer

• a utility• pass in

IBibliographicReference• extracts values

• CMFBib -> CSL• returns python dict

Wednesday, June 18, 14

The Moving Parts

Wednesday, June 18, 14

The Moving Parts

• @@citations-json browser view

Wednesday, June 18, 14

The Moving Parts

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

Wednesday, June 18, 14

The Moving Parts

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

Wednesday, June 18, 14

The Moving Parts

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

Wednesday, June 18, 14

The Moving Parts

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

Wednesday, June 18, 14

The Moving Parts

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

Wednesday, June 18, 14

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