Technical Details: Difference between revisions

From Lawries Tunes Archive
Jump to navigationJump to search
(Note on copyright on these.)
(More extensions & hook details)
Line 5: Line 5:
* [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
* [https://www.mediawiki.org/wiki/Extension:Newest_Pages Newest_Pages] - to display the latest pages (mostly tunes) added to the site
* [https://www.mediawiki.org/wiki/Extension:Newest_Pages Newest_Pages] - to display the latest pages (mostly tunes) added to the site
* [https://www.mediawiki.org/wiki/Extension:Replace_Text Replace_Text] - to let admins do bulk page edits when we change our mind on format :-)


It also relies very much on:
It also relies very much on:
* [http://abcjs.net ABC Javascript (abcjs)] - an open source javascript engine for rendering abc formatted tunes as sheet music entirely in the browser
* [http://abcjs.net ABC Javascript (abcjs)] - an open source javascript engine for rendering abc formatted tunes as sheet music entirely in the browser


Integration of the [http://abcjs.net abcjs] package required coding an [https://www.mediawiki.org/wiki/Manual:Hooks/BeforePageDisplay onBeforePageDisplay()] hook to include and configure the required <code>abcjs_plugin_2.1-min.js</code> javascript package.
Integration of the [http://abcjs.net abcjs] package required a custom [https://www.mediawiki.org/wiki/Manual:Hooks/BeforePageDisplay onBeforePageDisplay()] hook to include and configure the required <code>abcjs_plugin_2.1-min.js</code> javascript package.

And management of the Tune classification tags is assisted by a custom [https://www.mediawiki.org/wiki/Manual:Hooks/EditPage::attemptSave 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.
Copyright on these various packages is as shown on their respective sites.

Revision as of 00:07, 9 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:

  • 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.