Ecosystems
Wat het is
Ecosystems is een Drupal-module die een gecureerde set soorten toont als een levende gemeenschap. Elke soort draagt ecologische responsparameters, dus wanneer een bezoeker de bedieningselementen voor tijd, onderzoekslocatie en de hoeveelheid en kwaliteit van bos wijzigt, verschijnen soorten, nemen ze af of verdwijnen ze.
Het is gebouwd als een product voor elke Drupal 10- of 11-site en heeft geen van MADDev's datamodules nodig: het kan op zichzelf draaien op basis van alleen een JSON-payload. De eerste klant is het Quercus Project, waarvan de eikenbiodiversiteitsinventarisatie van Zuid- en Midden-Zweden de eerste dataset is die het toont.
In één oogopslag
- Modules
ecosystems, de viewer en zijn data-engine;ecosystems_builder, een optionele authoring-tool- Drupal core
- 10 of 11
- Vereist
- Core Options, Taxonomy en Views; MADDev
infopanelenrequest_bus - Soortgegevens
- Een JSON-payload, soortrecords opgeslagen als Drupal-entiteiten, of een entiteitstype voor soorten dat door een andere module wordt geleverd
- Optionele verrijking
- Wikipedia-beschrijvingen, GBIF-foto's en waarnemingen,
species_ext - Weergave
- SVG en HTML, geen canvas en geen buildstap; lichte, donkere en hoogcontrastthema's via aangepaste CSS-eigenschappen
- Eerste dataset
- Prof. Markus Franzéns INFRAVIS-onderzoek naar eikenbiodiversiteit: 824 soorten in 30 sets (10 gemengde gemeenschappen en 20 gilden) verspreid over 31 onderzoekslocaties
- Status
- Werkend; versie 4 van het datamodel ervan geverifieerd in augustus 2026. Geïnstalleerd op de livesite van het Quercus Project, nog niet open voor het publiek.
Wat bezoekers zien
Een setpagina toont vier weergaven van dezelfde gemeenschap, getekend in SVG zodat elk label kan worden geselecteerd, vertaald en gelezen door een schermlezer:
- een geschiktheidskaart van de onderzoekslocaties
- een doorsnede van bladerdak tot bodem
- een interactieboogdiagram in vaste trofische volgorde
- soortkaarten
Het responsmodel van de datasetauteur draait ongewijzigd in de browser voor de interactieve simulatie. Een PHP-port van het staatloze deel ervan rendert de pagina voordat er ook maar een script wordt uitgevoerd, zodat zoekmachines en bezoekers zonder JavaScript echte cijfers krijgen; een pariteitstest houdt de twee implementaties in de pas.
Wat het toevoegt aan een Drupal-site
Pagina's
Elke openbare pagina is een View, een entiteit of een taxonomieterm. Er zijn geen aangepaste paginacontrollers, dus een sitebouwer kan het product herschikken zonder ontwikkelaar.
/ecosystems: elke set, gegroepeerd in gemeenschappen en gilden (Viewecosystem_sets)- een pagina per set: een taxonomieterm met de viewer geplaatst via Weergave beheren
/ecosystems/species/{id}: één soort met zijn verrijking/ecosystems/payload.json: de ruwe payload
Weergavecomponenten
ecosystem_viewer: de interactieve viewerenrichment_<source>: één component per verrijkingsbron, afzonderlijk geplaatst en uitgeschakeld; een bron die is uitgeschakeld, wordt nooit opgehaald
Uitbreidingspunt
SpeciesRecordSourceInterface, verzameld via de servicetag ecosystems.species_record_source. Elke module kan een soortbron bijdragen, en Ecosystems selecteert die op naam zonder de velden of opslag ervan te kennen. De instelling ecosystems.settings:source kiest tussen een JSON-bestand, de eigen entiteiten van de module en een bijgedragen bron.
Drush-commando's
ecosystems:import, ecosystems:enrich, ecosystems:interactions, ecosystems:verify
Toegang
De permissie Ecosysteemviewer bekijken wordt bij installatie aan niemand toegekend, dus een nieuwe installatie blijft privé totdat iemand deze opent.
Auteurschap met ecosystems_builder
Doorzoek een soortenpool, voeg soorten toe aan een gemeenschap of gilde, en accepteer of wijs de suggesties van de Builder af voor wat er nog meer bij hoort. Elke wijziging verloopt via één service, dus als de Builder wordt verwijderd, blijft elk ecosysteem precies zoals het was.
Databronnen en licenties
- Wikipedia: een beschrijving in eenvoudige taal, eerst in het Engels en vervolgens in het Zweeds geprobeerd, gelicentieerd onder CC BY-SA en met naamsvermelding op de pagina
- GBIF: een foto, alleen geaccepteerd onder CC0 of CC BY zoals de API het daadwerkelijk rapporteert, omdat veel van het Zweedse materiaal van GBIF CC BY-NC is, wat een betalende klant niet mag publiceren; plus de meest recente Zweedse waarnemingen en een telling van waarnemingen
species_ext, indien geïnstalleerd: de opgeslagen foto, beschrijving en getypeerde soortinteracties
Er wordt niets opgehaald tijdens het renderen van een pagina. Uitgaande aanroepen gaan via request_bus, en opgehaalde waarden worden in key-valueopslag bewaard, zodat het opnieuw opbouwen van de cache niet honderden lookups weggooit. De naamsvermelding en licentie van een dataset reizen met de payload mee, niet met de code.
Ontwerpbeslissingen
- Verkoop de viewer, niet de stack. Geen afhankelijkheid van
species_extofdynamic_mirror_base: zonder de datamodules van MADDev draait Ecosystems op een geëxporteerde JSON-payload en doet het geen uitgaande aanroepen. - Afgeleide waarden hebben geen formulierwidget. Modelparameters, surveybewijs en vooraf berekende uitkomsten zijn alleen ter weergave, zodat handmatige bewerkingen de consistentie van het model niet kunnen verstoren.
- Eén verrijkingsbron, één component. Beheer weergave bepaalt wat waar verschijnt, en een bron die uitgeschakeld is, kost niets.
- Standaard privé. Niemand ziet de viewer totdat de toestemming is verleend.
Start een project.
Vertel ons over uw soortgegevens en de site waarop deze moeten staan.