Difference between revisions of "Technical Details"

From Australian Traditional Music Tunes
Jump to navigationJump to search
(Fix abcjs version & move copyright comment)
(Update ABCjs version to 4.0.0)
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
This site is constructed using:
 
This site is constructed using:
* [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 (currently version {{CURRENTVERSION}})
 
with the following extensions added:  
 
with the following extensions added:  
* ABCjs - custom extension providing support for setting categories and rendering abc music notation on wiki pages (see below)
+
* [{{SERVER}}{{SCRIPTPATH}}/extensions/ABCjs/ ABCjs] - custom extension providing support for setting categories and rendering abc music notation on wiki pages (see below)
* [https://www.mediawiki.org/wiki/Extension:Html5mediator Html5mediator] - support embedded HTML5 audio (and video) players
+
* [{{SERVER}}{{SCRIPTPATH}}/extensions/abcExport/ abcExport] - custom extension providing support for exporting abc tune content from one or more pages as either an abc notation file, or pdf rendered score  (see below)
* [https://www.mediawiki.org/wiki/Extension:Multi-Category_Search MultiCategorySearch] - to support searching for tunes over multiple categories. Note the code for this extension has been customised for use on this site.
+
* [https://www.mediawiki.org/wiki/Extension:Html5mediator Html5mediator] - support embedded HTML5 audio (and video) players, modified locally to use a local javascript file and to work with latest mediawiki
* [https://www.mediawiki.org/wiki/Extension:MultiBoilerplate MultiBoilerplate] - to support inclusion of template content (esp for Tune pages) from drop-down menu into the editor when creating new pages
+
* [https://www.mediawiki.org/wiki/Extension:MultiBoilerplate MultiBoilerplate] - to support inclusion of template content into the editor when creating new pages
 +
* [https://www.mediawiki.org/wiki/Extension:Multi-Category_Search MultiCategorySearch] - to support searching for tunes over multiple categories, modified locally specifically to support tune searching
 
* [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 :-)
 
* [https://www.mediawiki.org/wiki/Extension:Replace_Text Replace_Text] - to let admins do bulk page edits when we change our mind on format :-)
Line 11: Line 12:
 
Copyright on these various packages is as shown on their respective sites.
 
Copyright on these various packages is as shown on their respective sites.
  
== ABCjs Extension ==
+
== ABCjs & abcExport Extensions ==
 
This site very much relies on the [http://abcjs.net ABC Javascript (abcjs)] open source javascript engine for rendering abc formatted tunes as sheet music entirely in the browser.
 
This site very much relies on the [http://abcjs.net ABC Javascript (abcjs)] open source javascript engine for rendering abc formatted tunes as sheet music entirely in the browser.
  
Integration of this [http://abcjs.net abcjs] package required a custom extension ''ABCjs'' that was written specifically to support this site.
+
Integration of this [http://abcjs.net abcjs] package required a custom extension [{{SERVER}}{{SCRIPTPATH}}/extensions/ABCjs/ ABCjs] that was written specifically to support this site.
 +
This extension adds a hook to include and configure the ''abcjs_plugin'' javascript package (currently using v4.0.0),
 +
that renders abc music notation as a score, on all pages that match the required content criteria (see extension documentation for details).
 +
Management of the Tune classification tags is assisted by adding a hook to the page editor that scans the abc notation of a tune page being saved, and automatically adds/updates the required Key, Meter and Rhythm Category tags at the end of the page.
  
This extension adds a [https://www.mediawiki.org/wiki/Manual:Hooks/BeforePageDisplay BeforePageDisplay()] hook to include and configure the ''abcjs_plugin'' javascript package (currently using v2.3),
+
A second extension [{{SERVER}}{{SCRIPTPATH}}/extensions/abcExport/ abcExport] was also written to provide support for for exporting abc tune content from one or more pages, as either an abc notation file, or pdf rendered score. It adds a special page [[Special:AbcExport]] that allows for multiple page titles to be entered, or accessed if previously tagged, along with hooks to include several new toolbox navigation links to export from current page, tag page, or access this special page.
that renders abc music notation as a score, on all pages that match the required content criteria (see extension comments for details).
 
 
 
And management of the Tune classification tags is assisted by adding [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 Key, Meter and Rhythm Category tags at the end of the page.
 
  
 
[[Category:Support]]
 
[[Category:Support]]

Revision as of 16:39, 23 March 2018

This site is constructed using:

  • Mediawiki - for the core wiki infrastructure that allows collaborative editing and viewing of the content (currently version 1.35.1)

with the following extensions added:

  • ABCjs - custom extension providing support for setting categories and rendering abc music notation on wiki pages (see below)
  • abcExport - custom extension providing support for exporting abc tune content from one or more pages as either an abc notation file, or pdf rendered score (see below)
  • Html5mediator - support embedded HTML5 audio (and video) players, modified locally to use a local javascript file and to work with latest mediawiki
  • MultiBoilerplate - to support inclusion of template content into the editor when creating new pages
  • MultiCategorySearch - to support searching for tunes over multiple categories, modified locally specifically to support tune searching
  • 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 :-)

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

ABCjs & abcExport Extensions

This site very much relies on the ABC Javascript (abcjs) open source javascript engine for rendering abc formatted tunes as sheet music entirely in the browser.

Integration of this abcjs package required a custom extension ABCjs that was written specifically to support this site. This extension adds a hook to include and configure the abcjs_plugin javascript package (currently using v4.0.0), that renders abc music notation as a score, on all pages that match the required content criteria (see extension documentation for details). Management of the Tune classification tags is assisted by adding a hook to the page editor that scans the abc notation of a tune page being saved, and automatically adds/updates the required Key, Meter and Rhythm Category tags at the end of the page.

A second extension abcExport was also written to provide support for for exporting abc tune content from one or more pages, as either an abc notation file, or pdf rendered score. It adds a special page Special:AbcExport that allows for multiple page titles to be entered, or accessed if previously tagged, along with hooks to include several new toolbox navigation links to export from current page, tag page, or access this special page.