Who is this guide for? - Developers, Webmasters, or Managers of life science training websites.
Goal of guide - This guide tells you how to structure the data in your website so that it can easily be included in TeSS - a registry of training materials and events.
Contact - firstname.lastname@example.org for mistakes, clarification requests, or any advice.
Content Aggregation in TeSS
Minimum information needed to be included in TeSS
The minimum required fields for a Material to be entered into TeSS are
For an Event it is the above as well as:
- start date
- end date
The full events specification table is here https://docs.google.com/document/d/12O8gsOuH2qHKpis6vTHxXExraNH5XZEnoilwNgWWgaQ/edit#heading=h.uc6mc8iukqe
The full materials specification can be found here https://docs.google.com/document/d/1HG2fEjCoDUE4tn1XZ_ZIeWLEFXnI3YtS_FRIIFIbv-s/edit#heading=h.mca2et5tnibo
We are working on a clearer documentation; but for now note that the fields of importance are the ones with any values in the last 3 columns. The rest are inherited and are unlikely to be of any use.
There are several mandatory fields listed in these tables (in addition to the above). They are mandatory to achieve Bioschemas compliant content, however, not filling them will not affect your inclusion into TeSS - but they are highly recommended to improve the findability of your materials.
For materials these are:
- About - a short description about the material
- Audience - The target audience
- Genre - The name of a topic from the EDAM ontology that classifies the material https://bioportal.bioontology.org/ontologies/EDAM/?p=classes&conceptid=http%3A%2F%2Fedamontology.org%2Ftopic_0003
For events these are:
- Contact - Main point of contact that can be contacted for general queries. This would be an event organiser or an administrator.
- Topic - The name of a topic from the EDAM ontology that classifies the material https://bioportal.bioontology.org/ontologies/EDAM/?p=classes&conceptid=http%3A%2F%2Fedamontology.org%2Ftopic_0003
- EventType - Use one of the following strings:
- Workshops and courses
- Meetings and conferences
- Receptions and networking
- Awards and prizegivings
- Workshops and courses
Motivation for structuring your data
- we can produce a more robust extractor that will not break after HTML changes
- Search engines will be able to understand your content and, as a result, will include your pages in higher positions in search rankings
- we have less problems with understanding ambiguous content
- our jobs will be easier
Methods of structuring
- end up higher on search results
- get rich snippets that present your content nicely.
You can read more about schema.org here: https://moz.com/learn/seo/schema-structured-data
The methods you can use to markup a site using schema.org are
- Manually add markup elements to HTML
- Use an extension/Module in a CMS
- Use a library in a framework
An example of what the end result of a material marked up in schema.org will look like can be seen in Goblet pages (uses Drupal 7).
|schema.org RDFa snippet|
<div id="node-716" class="node node-training-material clearfix" about="/training-portal/materials/de-novo-assembly-tgac-2015" typeof="schema:CreativeWork sioc:Item foaf:Document">
<meta content="De Novo Assembly @ TGAC 2015" about="/training-portal/materials/de-novo-assembly-tgac-2015"property="schema:name"/>
<div class="field-item even" rel="schema:genre">
<a href="/edam-topic/de-novo" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">De Novo</a>
We recommend using http://linter.structured-data.org to verify your schema.org markup is correct.
schema.org on Drupal
schema.org on Joomla
There are two predominent ways, both require the Joomla Content Editor (JCE)
An XML dump would be a listing of all of your materials and/or events in one file. All attributes describing a resource should be nested within a parent and have opening and closing tags surrounding it e.g.
<description>This training material guides you through using XML dumps to get your content in TeSS</description>
<description>This training material is intended to teach core schema.org concepts</description>
This is an example of a real XML dump used by TeSS. http://www.dtls.nl/courses/feed/?filter_course=active
Production of a dump does not need to conform to any specific schema or XSD. We can map all element names to fields in TeSS when we write our parser.
A generic overview of our API is documented on our GitHub page.
A more functional overview can be found on our SwaggerHub page
Once this has been done, navigate to your TeSS profile page and find your Authentication Token. This can then be used to upload materials via the API.
TeSS API client
We have so far produced one API client library to help you upload your content to TeSS.
It is written in Ruby and can be installed as a gem. The code and documentation on how to use it can be found here: https://github.com/ElixirUK/TeSS_api_client
Examples of how to use our API can be found in any file ending with _scraper.rb here: https://github.com/ElixirUK/TeSS_scrapers