Plone for Education: Bibliographies Sally Kleinfeldt, Cris Ewing, Carlos de la Guardia Plone Conference Brasilia 2 October 2013 CC BY Yuri Levchenko - http://www.flickr.com/photos/i8ipod/9280261014/
Plone for Education: Bibliographies
Sally Kleinfeldt, Cris Ewing, Carlos de la GuardiaPlone Conference Brasilia
2 October 2013
CC BY Yuri Levchenko - http://www.flickr.com/photos/i8ipod/9280261014/
Why Plone?
CC BY Bart Everson - www.flickr.com/photos/editor/6698208975/
Fundamentals
Fundamentals• Secure
Fundamentals• Secure
• Robust permission system
Fundamentals• Secure
• Robust permission system
• Accessible (Section 508)
Fundamentals• Secure
• Robust permission system
• Accessible (Section 508)
• Scaleable (users, pages)
Fundamentals• Secure
• Robust permission system
• Accessible (Section 508)
• Scaleable (users, pages)
• Diazo theming with HTML, CSS
Fundamentals• Secure
• Robust permission system
• Accessible (Section 508)
• Scaleable (users, pages)
• Diazo theming with HTML, CSS
• Custom types and workflows
Add-ons
Add-ons• LDAP/Active Directory
integration
Add-ons• LDAP/Active Directory
integration
• Subsites for departments, faculties
Add-ons• LDAP/Active Directory
integration
• Subsites for departments, faculties
• Calendaring tools
Add-ons• LDAP/Active Directory
integration
• Subsites for departments, faculties
• Calendaring tools
• Fundraising/CRM (Salesforce.com)
Add-ons• LDAP/Active Directory
integration
• Subsites for departments, faculties
• Calendaring tools
• Fundraising/CRM (Salesforce.com)
• Faculty/Staff Directory
Add-ons• LDAP/Active Directory
integration
• Subsites for departments, faculties
• Calendaring tools
• Fundraising/CRM (Salesforce.com)
• Faculty/Staff Directory
• Bibliographies
Bibliographies for Plone since 2005
CMFBibliographyAT
CC BY Moyan Brenn - http://www.flickr.com/photos/aigle_dore/6365101775/
CMFBibliographyAT
• Create and manage bibliographic references
CC BY Moyan Brenn - http://www.flickr.com/photos/aigle_dore/6365101775/
CMFBibliographyAT
• Create and manage bibliographic references
• Feature complete for its niche
CC BY Moyan Brenn - http://www.flickr.com/photos/aigle_dore/6365101775/
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/
Details
Details
• Provides 16 different types of references as AT content types, plus special folder
Details
• Provides 16 different types of references as AT content types, plus special folder
• Personal and aggregated lists
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
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)
Exampleshttp://www.weigelworld.org/research/publications
Exampleshttp://www.weigelworld.org/research/publications
Exampleshttp://www.doaks.org/resources/seals/seals-bibliography
Exampleshttp://www.upress.umn.edu/ (staging site)
Editing
Built-in Search
Style Wars!
CC BY Jill Carlson - www.flickr.com/photos/jill_carlson/9704689913/
Different Discipline Different Style
Different Discipline Different Style
APA
Different Discipline Different Style
APA
Different Discipline Different Style
APA
CSE
Different Discipline Different Style
APA
CSE
Different Discipline Different Style
APA
CSE
MLA
Different Discipline Different Style
APA
CSE
MLA
Different Discipline Different Style
APA
CSE
MLA
Etc...
Styles in Plone Bibliographies
Styles in Plone Bibliographies
• Products.ATBiblioStyles adds support for Chicago, Harvard, APA, MLA styles
Styles in Plone Bibliographies
• Products.ATBiblioStyles adds support for Chicago, Harvard, APA, MLA styles
• Python skills required to add new styles
Examplehttp://www.es.utoronto.ca/Members/anderson/anderson_bib/
Examplehttp://www.es.utoronto.ca/Members/anderson/anderson_bib/
Not Enough!
CC BY Cherry Ride - http://www.flickr.com/photos/cherryride/5466972761/
Not Enough!• A few styles is not
enough for serious academic use
CC BY Cherry Ride - http://www.flickr.com/photos/cherryride/5466972761/
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/
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/
CSL to the Rescue!
CC BY Scott Feldstein - http://www.flickr.com/photos/scottfeldstein/66034401/
Citation Style Language
Citation Style Language
• http://citationstyles.org/
Citation Style Language
• http://citationstyles.org/
• XML syntax for defining bibliographic styles
Citation Style Language
• http://citationstyles.org/
• XML syntax for defining bibliographic styles
• 6,500+ styles available on crowd sourced Github repository
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
Zotero Style Repository
CSL Processors
CC BY Ray Larabie - http://www.flickr.com/photos/27117620@N06/6243443814/
CSL Processors
• citeproc-js
CC BY Ray Larabie - http://www.flickr.com/photos/27117620@N06/6243443814/
CSL Processors
• citeproc-js
• citeproc-hs
CC BY Ray Larabie - http://www.flickr.com/photos/27117620@N06/6243443814/
CSL Processors
• citeproc-js
• citeproc-hs
• citeproc-ruby
CC BY Ray Larabie - http://www.flickr.com/photos/27117620@N06/6243443814/
CSL Processors
• citeproc-js
• citeproc-hs
• citeproc-ruby
• citeproc-java
CC BY Ray Larabie - http://www.flickr.com/photos/27117620@N06/6243443814/
CSL Processors
• citeproc-js
• citeproc-hs
• citeproc-ruby
• citeproc-java
• citeproc-py
CC BY Ray Larabie - http://www.flickr.com/photos/27117620@N06/6243443814/
CSL Processors
CC BY Ray Larabie - http://www.flickr.com/photos/27117620@N06/6243443814/
CSL Processors• citeproc-py is... fluid
CC BY Ray Larabie - http://www.flickr.com/photos/27117620@N06/6243443814/
CSL Processors• citeproc-py is... fluid
• Only about 60% complete
CC BY Ray Larabie - http://www.flickr.com/photos/27117620@N06/6243443814/
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/
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/
The Right Solution
The Right Solution• Standard way to add citation styles
The Right Solution• Standard way to add citation styles
• Used by Zotero, reference management Firefox plugin
The Right Solution• Standard way to add citation styles
• Used by Zotero, reference management Firefox plugin
• Add-ons for Drupal and Wordpress
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!
Thank You to Our Sponsors
Our Sponsors
Our Sponsors
• Needed bibliography styling
Our Sponsors
• Needed bibliography styling
• Agreed to pool resources
collective.citationstyles
collective.citationstyles
• Integration of CSL styles into Plone
collective.citationstyles
• Integration of CSL styles into Plone
• Control panel to upload style xml files
collective.citationstyles
• Integration of CSL styles into Plone
• Control panel to upload style xml files
• Allow selection of site-wide “default” style
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
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
the moving parts
the moving parts
• Iterator
the moving parts
• Iterator
• An adapter
the moving parts
• Iterator
• An adapter
• Iterates over context
the moving parts
• Iterator
• An adapter
• Iterates over context
• yields IBibliographicReferences
the moving parts
• Iterator
• An adapter
• Iterates over context
• yields IBibliographicReferences
the moving parts
the moving parts• Renderer
the moving parts• Renderer
• a utility
the moving parts• Renderer
• a utility
• pass in IBibliographicReference
the moving parts• Renderer
• a utility
• pass in IBibliographicReference
• extracts values
the moving parts• Renderer
• a utility
• pass in IBibliographicReference
• extracts values
• CMFBib -> CSL
the moving parts• Renderer
• a utility
• pass in IBibliographicReference
• extracts values
• CMFBib -> CSL
• returns python dict
the moving parts• Renderer
• a utility
• pass in IBibliographicReference
• extracts values
• CMFBib -> CSL
• returns python dict
the moving parts
the moving parts
• @@citations-json browser view
the moving parts
• @@citations-json browser view
• in any context
the moving parts
• @@citations-json browser view
• in any context
• builds iterator
the moving parts
• @@citations-json browser view
• in any context
• builds iterator
• renders references
the moving parts
• @@citations-json browser view
• in any context
• builds iterator
• renders references
• returns JSON
the moving parts
• @@citations-json browser view
• in any context
• builds iterator
• renders references
• returns JSON
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
Samples
CC-BY BartEverts: http://www.flickr.com/photos/barteverts/3068747619
collective.citationstylesStatus
collective.citationstylesStatus
collective.citationstylesStatus
Usable
collective.citationstylesStatus
• can import CSL styles
Usable
collective.citationstylesStatus
• can import CSL styles
• can select default style
Usable
collective.citationstylesStatus
• can import CSL styles
• can select default style
• will render individual references
Usable
collective.citationstylesStatus
• can import CSL styles
• can select default style
• will render individual references
• will render Bibliography Folders
Usable
collective.citationstylesStatus
collective.citationstylesStatus
Not Feature Complete
collective.citationstylesStatus
• adding default styles (ootb)
• adding editor style selection tab
• adding browser views for collections
Not Feature Complete
collective.citationstylesStatus
collective.citationstylesStatus
Things We’d Like to See
collective.citationstylesStatus
• dynamic style selection for viewers
• automatic processing of inline citations
• replacement of existing CMFBib views?
Things We’d Like to See
CMFBibliographyATProblems
CC BY Stuart Seeger - http://www.flickr.com/photos/stuseeger/216598424/
CMFBibliographyATProblems
• Big, old fashioned, complicated
CC BY Stuart Seeger - http://www.flickr.com/photos/stuseeger/216598424/
CMFBibliographyATProblems
• Big, old fashioned, complicated
• CMF layer, Archetypes
CC BY Stuart Seeger - http://www.flickr.com/photos/stuseeger/216598424/
CMFBibliographyATProblems
• Big, old fashioned, complicated
• CMF layer, Archetypes
• Not Collection friendly
CC BY Stuart Seeger - http://www.flickr.com/photos/stuseeger/216598424/
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/
CMFBibliographyATWay Forward
CC BY Dave Bleasdale - http://www.flickr.com/photos/sidelong/4564071208/
CMFBibliographyATWay Forward
• Find sponsors
CC BY Dave Bleasdale - http://www.flickr.com/photos/sidelong/4564071208/
CMFBibliographyATWay Forward
• Find sponsors
• Schedule rewrite sprint
CC BY Dave Bleasdale - http://www.flickr.com/photos/sidelong/4564071208/