Select Page

Schema Validation for Joomla 3.1 Extensions

Schema Validation for Joomla 3.1 Extensions


Full support for Joomla 3.1 has been added to the project “Schema Validation for #Joomla Extensions” (GitHub), tested with all 113 manifests of Joomla 3.1.5! (components, modules, plugins and templates)

Without them, #Joomla accept any entry in manifest xml and never complains about

  • Mistyping, like a valid xml but that the #Joomla installer do not understand or only partially,
  • Wrong constructs, xml tag child misplaced,
  • Invalid data type, like a path not being a valid path, an expected integer being a text and so on…

Joomla just silently die during install or install only partially extensions. These days are over and all developers with any decent IDE will be able to

  • Validate while typing,
  • Enjoy auto completion.
  • Have an up to date documentation of all possibilities in #Joomla’s manifest.

What’s new


component / module / plugins

  • add in <menu> support for attribute value img="class:banners">
  • add in <menu> support for attribute value view="anyString"
  • add in <menu> support for attribute value alt="anyString"
  • add to type="cmsVersionType" version 3.1
  • add support for <menu link="option=com_finder">COM_FINDER</menu> (finder.xml)
  • In <extension> attribute valuemethod="" is now optional
  • add new <help key="ANY_STRING" />
  • add in <field> support for attribute value first="anyNumber"
  • add in <field> support for attribute value last="anyNumber"
  • add in <field> support for attribute value step="anyNumber"
  • add in <field> support for attribute value published="" (mod_articles_category.xml)
  • add in <field> support for attribute value format="%Y-%m-%d %H:%M:%S"
  • add in <field> support for attribute value disable="separator" (mod_login.xml)
  • add in <fields> support for attribute value addfieldpath="validPath" (mod_finder.xml)
  • in <field> validate css class names class="btn-group" or class="btn-group btn1 blue" orclass=""
  • Allow empty without fieldset (vote.xml) <fields name="params"> </fields>
  • In <authorEmail> consider N/A as a valid email
  • Attribute 'label' now optional on element 'field'. <field name="spacer3" type="spacer" hr="true" />
  • Support for validate <field> type="url" (sef.xml)
  • in <fieldset> allow Attribute value label="" to appear in element (debug.xml)
  • allow <field> to have type attribute value category (contactcreator.xml)
  • allow <field> to have new attribute extension=com_* (contactcreator.xml)
  • In <media> attribute destination value is now optional
  • In <fieldset> add optionaladdfieldpath="" and validate that it is a valid path
  • In “`<option value="" empty values are now allowed
  • <updateservers> is now available in plugins manifests
  • In <field> type now support type="modal_article" or from enum (using xsd union)

Plugins only

  • in <file plugin="weblinks">weblinks.php</file>

Template only

  • In <extension> attribute value method="" is now optionnal
  • In <extension> addattribute value client=""
  • add <languages></languages>

These files will be hopefully soon merged into Joomla CMS  (GitHub project) and officialy supported by #Joomla

About The Author

Cédric Walter

I worked with various Insurances companies across Switzerland on online applications handling billion premium volumes. I love to continuously spark my creativity in many different and challenging open-source projects fueled by my great passion for innovation and blockchain technology.In my technical role as a senior software engineer and Blockchain consultant, I help to define and implement innovative solutions in the scope of both blockchain and traditional products, solutions, and services. I can support the full spectrum of software development activities, starting from analyzing ideas and business cases and up to the production deployment of the solutions.I'm the Founder and CEO of Disruptr GmbH.