Sitemap: Add sitemap-genus.xml
Add a new item to the sitemap.xml
controller to include sitemap-genus.xml
sitemap.
This XML should list links to all "valid" genera (see below) at {fontendURL}/t/{genus}
(a new page added to the UI):
<urlset xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
<url>
<loc>https://www.genesys-pgr.org/t/Arabidopsis</loc>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
...
The page
The page on the UI will have:
<h1><em>{genus}</em></h1>
<p>Find and request <em>{genus}</em> material for research and breeding from <em>ex-situ</em> collections (genebanks) through Genesys.</p>
<ul>
<li><em>{genus} {species}</em> {spAuthor} <em>{subTaxa}</em>{subtAuthor}</li>
...
A click on h1
should open the accession overview page for the selected genus.
Optional: Each li
on the website will (onClick) issue a call to list the accessions matching the selected species.
The page needs to retrieve the list of Taxonomy2
for the selected genus
from /api/v1/taxonomy using { "genus": "TheGenus" }
filter.
"Valid" names
A "valid" genus name is one that matches ^[a-zA-Z ]+$
(only ascii chars + space) that can be used as valid URLs.
99% of names match this regular expression, but there are some names that contain ?
and that would cause problems.
API controller
We need an API endpoint at /api/v[1,2]/taxonomy that will accept a TaxonomyFilter
and return a List<Taxonomy2>
results.