Technical Details: Difference between revisions

From Lawries Tunes Archive
Jump to navigationJump to search
(More extensions & hook details)
(Add link to Html5mediator extension)
Line 2: Line 2:
* [http://www.mediawiki.org/ Mediawiki] - for the core wiki infrastructure that allows collaborative editing and viewing of the content
* [http://www.mediawiki.org/ Mediawiki] - for the core wiki infrastructure that allows collaborative editing and viewing of the content
with the following extensions added:
with the following extensions added:
* [https://www.mediawiki.org/wiki/Extension:Html5mediator Html5mediator] - support embedded HTML5 audio (and video) players
* [https://www.mediawiki.org/wiki/Extension:Multi-Category_Search MultiCategorySearch] - to support searching for tunes over multiple categories
* [https://www.mediawiki.org/wiki/Extension:Multi-Category_Search MultiCategorySearch] - to support searching for tunes over multiple categories
* [https://www.mediawiki.org/wiki/Extension:NewArticleTemplate NewArticleTemplate] - to support inclusion of template content into the editor when creating new pages
* [https://www.mediawiki.org/wiki/Extension:NewArticleTemplate NewArticleTemplate] - to support inclusion of template content into the editor when creating new pages

Revision as of 14:24, 13 August 2015

This site is constructed using:

  • Mediawiki - for the core wiki infrastructure that allows collaborative editing and viewing of the content

with the following extensions added:

  • Html5mediator - support embedded HTML5 audio (and video) players
  • MultiCategorySearch - to support searching for tunes over multiple categories
  • NewArticleTemplate - to support inclusion of template content into the editor when creating new pages
  • Newest_Pages - to display the latest pages (mostly tunes) added to the site
  • Replace_Text - to let admins do bulk page edits when we change our mind on format :-)

It also relies very much on:

  • ABC Javascript (abcjs) - an open source javascript engine for rendering abc formatted tunes as sheet music entirely in the browser

Integration of the abcjs package required a custom onBeforePageDisplay() hook to include and configure the required abcjs_plugin_2.1-min.js javascript package.

And management of the Tune classification tags is assisted by a custom EditPage::attemptSave hook that scans the abc notation of a tune page being saved, and automatically adds/updates the required Category tags at the end of the page.

Copyright on these various packages is as shown on their respective sites.