MIRACLE integration

MIRACLE and age.xml

MIRACLE logo

MIRACLE is a data format for interoperability of age classification data. The age.xml label system is based on MIRACLE. What’s the difference?

  • MIRACLE labels describe specific content like individual movies or games and maybe websites with one age rating for the entire website.
  • age.xml is a label to bring age classification to websites. This may be websites with one age rating for the entire website (the easy way), but also websites with potentially thousands or millions of different content items (single pages) each with different age ratings. Examples might be e.g. video portals with videos from kids-friendly to adult or gaming websites with browser games of any kind and age rating. In fact, age.xml covers all types of websites from small to large.

MIRACLE and age.xml work perfectly together as you can include MIRACLE datasets in the age.xml system. If you for example have a video portal and interoperable age ratings for each movie in a database in MIRACLE format – that’s great! Use the data for your age.xml to provide Parental Control Systems with more information for each content item than just the numerical age rating.

More information about MIRACLE:  miracle-label.eu

 

How can you include MIRACLE data in age.xml?

If you have MIRACLE datasets in a database you can link to them from every single page of your website. If you do so, Parental Control Systems can fetch this data and show it to parents or kids to let them know more about the background of your age rating of individual content items.

With a MIRACLE database you are able to provide content descriptors and feature descriptors about individual content items (if on one page) to Parental Control Systems for every single page. You can also inform about the rating body that did the rating, e.g. for a movie or a game, and give them more information.

You can best learn about the structure and formats of MIRACLE data and also its APIs on miracle-label.eu.

Here is how to include a MIRACLE data from your database to age.xml (for more details, see the age.xml definition on this website):

 

MIRACLE integration using HTTPHEADER in age.xml for single page age rating

To make it work you need to have two elements:

  • Provide a link to your database in the age.xml and maybe country-specific in age-xx.xml. This link needs a variable to be added, leading to the specific dataset for the individual page.
  • Provide an HTTPHEADER with the content of the variable for each page.

Example: Link to the MIRACLE dataset of a certain movie in your database is http://example.com/miracle/?set=123456

If a Parental Control System requests this link, there should be an XML output in the MIRACLE label standard.

In this example, the first part of the URL (http://example.com/miracle/?set=) is defined in the age.xml or country-specific in age-xx.xml. The last part (12345) is the individual number (or any other characters allowed in URLs) of the single page, containing e.g. one certain movie. The 2nd part is provided via the HTTPHEADER of each single page.

Example of how to include the first part in age.xml / age-xx.xml:

<ageblock-labeltype-definition>
   <labeltype-httpheader-definition>
      <label class="name1">
         <scope>*.example.com/*</scope>
         <httpheader-link class=”xml”>http://example.com/miracle/?set=
         </httpheader-link>
      </label>
   <labeltype-httpheader-definition>
</ageblock-labeltype-definition>

The class indicates to the Parental Control Systems wether the output is in XML (class="xml") or in JSON (class="json") format. You can also add a locale variable (e.g. locale=en_GB).

The HTTPHEADERs of each single page providing the 2nd part looks like this (for content from 12 years):

'X-content‐age: 12'
'X-content‐age‐value: 123456'

 

MIRACLE integration using HTMLMETA in age.xml for single page age rating

The integration of a MIRACLE database using HTML meta tags for single page age rating is very similar to the integration with HTTPHEADER as described above.

To integrate the first part of the example URL http://example.com/miracle/?set=123456, you must include in the age.xml / age-xx.xml:

<ageblock-labeltype-definition>
   <labeltype-htmlmeta-definition>
      <label class="name1">
         <scope>*.example.com/*</scope>
         <htmlmeta-link class=”xml”>http://example.com/miracle/?set=
         </htmlmeta-link>
      </label>
   <labeltype-htmlmeta-definition>
</ageblock-labeltype-definition>

The class indicates to the Parental Control Systems wether the output is in XML (class="xml") or in JSON (class="json") format. You can also add a locale variable (e.g. locale=en_GB).

The meta tags in the HTML of each single page looks like this (for content from 12 years):

<meta name=ʺage‐meta‐labelʺ content=ʺage=12“ />
<meta name=”age‐value‐meta‐label” content=”123456” />