Macron support in open source web applications
February 7th, 2008 by Ghim Hock Lee
We examine support for the macronised vowels ā, ē, ī, ō, and ū required by the Māori alphabet in leading open source web applications MediaWiki, Wordpress, Drupal, Joomla, Silverstripe and Plone and discover mixed results.
The objective of this project was to examine support for macron characters in a number of common web applications. A set of tests was designed to evaluate common usage situations across the applications.

Summary of Results
| WordPress | Silverstripe | Drupal 5.4/6.0 | Joomla 1.0 | Joomla 1.5 | MediaWiki | Plone 2.5/3.0 | |
|---|---|---|---|---|---|---|---|
| Banner/Heading | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Browser title bar | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Sub-headings | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Search engine friendly URLs | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Comments, replies and posts | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Taxonomy and Tags | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Rich Text Editors | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Any editable content areas | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Editable Footers | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| RSS feeds | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Character-set | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Search functionality | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Detailed Explanation of Tests
Test 1: The “Banner” or “Heading” section – where the name of the website is contained.
| WordPress | Silverstripe | Drupal 5.4/6.0 | Joomla 1.0 | Joomla 1.5 | MediaWiki | Plone 2.5/3.0 | |
|---|---|---|---|---|---|---|---|
| Banner/Heading | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
This test establishes how the applications handle macrons in their respective display areas for the heading of their web sites. We used the applications’ respective editing tools to display “Macron Project ā, ē, ī, ō, and ū for Māori” in the header of the generated web page. The desired result is for the web page to render the header including the macrons as we had entered them.
Test 2: The application writing to the browser title box.
| WordPress | Silverstripe | Drupal 5.4/6.0 | Joomla 1.0 | Joomla 1.5 | MediaWiki | Plone 2.5/3.0 | |
|---|---|---|---|---|---|---|---|
| Browser title bar | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
This test involves checking the title bar at the top of the browser, to establish how the application interacts with the browser to display the page’s title if it includes macrons. The application should be set to display the title “Macron Project ā, ē, ī, ō, and ū for Māori” in the browser. The desired result is for the web browser to render the same title in its title bar.
Test 3: The sub-heading sections – where the ’slogan’ or ‘taglines’ are displayed.
| WordPress | Silverstripe | Drupal 5.4/6.0 | Joomla 1.0 | Joomla 1.5 | MediaWiki | Plone 2.5/3.0 | |
|---|---|---|---|---|---|---|---|
| Sub-headings | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
This test focuses on areas where the applications may allow slogans or taglines to be published on the web page. The phrase “ā, ē, ī, ō, and ū for Māori” was entered in the application. The resulting slogan/tagline should display the same phrase.
Test 4: Search engine friendly URLs.
| WordPress | Silverstripe | Drupal 5.4/6.0 | Joomla 1.0 | Joomla 1.5 | MediaWiki | Plone 2.5/3.0 | |
|---|---|---|---|---|---|---|---|
| Search engine friendly URLs | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
This tests whether the application supports search-engine friendly URLs. If supported, the test should also establish how macrons are handled in this context. The attribute in the application which controls what is written to the smart URL was set to contain all 5 macron characters to test. A desirable outcome would be for the application to successfully translate the macron characters into equivalent non-macron characters, e.g. ‘/māori’ translated into ‘/maori’.
Test 5: Visitor interaction – comments, replies and posts
| WordPress | Silverstripe | Drupal 5.4/6.0 | Joomla 1.0 | Joomla 1.5 | MediaWiki | Plone 2.5/3.0 | |
|---|---|---|---|---|---|---|---|
| Comments, replies and posts | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
This test is to check the macron character support in the visitor interaction functionalities of the various applications. This specifically points to any areas which allow the user to post opinions and comments. The line “Macron Project ā, ē, ī, ō, and ū for Māori” was entered as a test posting by a user. On submission, the message should be displayed with the macrons intact.
Test 6: Taxonomy and Tags
| WordPress | Silverstripe | Drupal 5.4/6.0 | Joomla 1.0 | Joomla 1.5 | MediaWiki | Plone 2.5/3.0 | |
|---|---|---|---|---|---|---|---|
| Taxonomy and Tags | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
This test looks at the tags that the applications allow the user to allocate to pages, and the categories that pages are allowed to be assigned to. These descriptive elements should be able to display macron characters. For categories, “vowels āēīōū” were created to put pages into. For tags, the macrons “āēīōū” and the word “māori” were used as test tags.
Test 7: Rich Text Editors.
| WordPress | Silverstripe | Drupal 5.4/6.0 | Joomla 1.0 | Joomla 1.5 | MediaWiki | Plone 2.5/3.0 | |
|---|---|---|---|---|---|---|---|
| Rich Text Editors | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Each application uses some form of rich text editor to allow content to be published to the web pages. A quick test of the ability of these editors to handle macrons is to enter each one. “āēīōū” was entered into each editor for this test.
Test 8: Any editable content areas.
| WordPress | Silverstripe | Drupal 5.4/6.0 | Joomla 1.0 | Joomla 1.5 | MediaWiki | Plone 2.5/3.0 | |
|---|---|---|---|---|---|---|---|
| Any editable content areas | ![]() |
![]() |
![]() |
![]() |
|
![]() |
![]() |
The main body of a web page, side bars and newsflash boxes are all content areas which need to be tested for any irregularities in handling macrons. A standard phrase “macronised vowels ā, ē, ī, ō, and ū required by the Māori” was used to test each content area’s display of the macron characters. The same test phrase was also used to check titles for these areas.
Test 9: Editable Footers
| WordPress | Silverstripe | Drupal 5.4/6.0 | Joomla 1.0 | Joomla 1.5 | MediaWiki | Plone 2.5/3.0 | |
|---|---|---|---|---|---|---|---|
| Editable Footers | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
The test looks at whether the footer generated at the bottom of the web pages in small print, if editable, is able to handle macron characters. “Macron Project ā, ē, ī, ō, and ū for Māori” was added as a test phrase to check the ability of the footer to handle macron characters.
Test 10: RSS feeds.
| WordPress | Silverstripe | Drupal 5.4/6.0 | Joomla 1.0 | Joomla 1.5 | MediaWiki | Plone 2.5/3.0 | |
|---|---|---|---|---|---|---|---|
| RSS feeds | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
The test is to check if the RSS feeds created when additions are made to the website render macron characters correctly. After performing the above tests, the RSS feeds were checked to ensure the macron characters are displayed properly.
Test 11: The character set the applications utilise.
| WordPress | Silverstripe | Drupal 5.4/6.0 | Joomla 1.0 | Joomla 1.5 | MediaWiki | Plone 2.5/3.0 | |
|---|---|---|---|---|---|---|---|
| Character-set | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
A check is needed to ensure the applications are using the UTF-8 character set and not the legacy ISO-8859-1 character set. This is due to compatibility issues with the handling of macron characters. The source code of the main published page was inspected to check the character set being utilised. The ‘charset’ property should read ‘UTF-8′.
Test 12: Search functionality.
| WordPress | Silverstripe | Drupal 5.4/6.0 | Joomla 1.0 | Joomla 1.5 | MediaWiki | Plone 2.5/3.0 | |
|---|---|---|---|---|---|---|---|
| Search functionality | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
For the applications that provide search functionality, the following test scenario was created. Two pages were made: one with a lack of macron characters called “Maori no macron” and tagged with ‘maori’; one with macron characters called “the macronised vowels ā, ē, ī, ō, and ū” and tagged with ‘ māori’. Searches were made with both tags used as search terms. A desirable outcome is for both pages to turn up as search results each time. This is because it is desirable behaviour for the macronised characters to be processed as interchangable with non-macronised characters, whilst still being displayed completely.
Explanation of Test Failures
Joomla 1.5 content areas - unable to display macron characters.

Silverstripe search results - Maori and Māori do not pick each other out when entered as search terms.


Silverstripe URL - macron characters are replaced by dashes.
![]()
Joomla 1.5 URL - macron characters are replaced by “%20?,”
![]()
Joomla 1.5 page title - macron characters are replaced with ‘?’.
![]()
Joomla 1.0 Character set - does not use UTF-8.

Tags: macrons, Māori, Open Source





crimson says:
April 4th, 2008 at 1:35 pmDid you look into fixing these issues and submitting patches?
Derek Rayner says:
April 8th, 2008 at 10:36 amOur main aim was to alert users, and potential users, to the behaviour of each product. Submitting patches was outside the scope of the project.
Sam Minnée, SilverStripe CTO says:
April 21st, 2008 at 3:28 pmThanks for the bug reports! We have logged these issues in our bug tracker and should have a fix in an upcoming release.
* http://open.silverstripe.com/ticket/2451
* http://open.silverstripe.com/ticket/2452
Jonathan Hunt says:
July 26th, 2008 at 10:32 pmI see Drupal rated an N/A for Test 4 but this should be a successful pass. Drupal’s Pathauto module (http://drupal.org/project/pathauto ) supports transliteration of special characters, converting macronise characters to non-macron equivalents. I have used this successfully.
See the INSTALL.txt file for Pathauto
**Transliteration support:
If you desire transliteration support in the creation of URLs (e.g. the
replacement of À with A) then you will need to rename the file
i18n-ascii.example.txt to i18n-ascii.txt
You can then freely edit the i18n-ascii.txt without worrying that your changes
will be over-written by upgrades of Pathauto.
For details on how to transliterate any UTF8 character, please see the full
i18n-ascii-fill.txt file information at http://drupal.org/node/185664
Thanks for the great resource.