archive: final hugo build mit neuem post dezentrale-oep-oer
Letzter Commit vor Transition zu nostr-spa. Beinhaltet: - neuer Post 2025-03-04-dezentrale-oep-oer (content + Hugo-Build) - aktualisierte public/*.html nach Mastodon-Comment-Entfernung - .claude/ als Transparenz-Spur der Sessions - .DS_Store aus Index entfernt (bleibt ignoriert) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"WebFetch(domain:hzrd149.github.io)",
|
||||
"Bash(git add:*)",
|
||||
"Bash(git commit -m ':*)",
|
||||
"Bash(git rm:*)"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 2.3 MiB |
|
|
@ -0,0 +1,135 @@
|
|||
---
|
||||
layout: post
|
||||
title: "Gemeinsam die Bildungszukunft gestalten: Dezentrale OEP und OER als Wegbereiter"
|
||||
slug: "Gemeinsam die Bildungszukunft gestalten: Dezentrale OEP und OER als Wegbereiter"
|
||||
description: "Einladung zum offenen Denken und Handeln in der Bildungsgemeinschaft. Der
|
||||
Beitrag diskutiert, warum eine dezentrale Infrastruktur für Open Educational
|
||||
Resources (OER) und Open Educational Practices (OEP) notwendig ist, um
|
||||
nachhaltige, resiliente und interoperable Bildungsräume zu schaffen. Dabei
|
||||
wird das Potenzial des Nostr-Protokolls für Bildungsnetzwerke beleuchtet"
|
||||
image: dezentrale-oep-oer.png
|
||||
cover:
|
||||
image: dezentrale-oep-oer.png
|
||||
caption: "Ein in den Sand gezeichneter Strauß mit den Buchstaben 'OER' – ein Sinnbild für offene Bildung und freien Wissensaustausch. Die Wortspiel-Verbindung zu 'Nostr' (das dezentralisierte Kommunikationsprotokoll) liegt nahe: 'Nostr' klingt wie ein Teil von 'Ostrich' (Englisch für Strauß). So wie der Ichthys-Fisch einst als geheimes Erkennungszeichen diente, steht dieses Symbol für eine Gemeinschaft, die Wissen offen teilt – frei, unabhängig und widerstandsfähig."
|
||||
alt: "Ein in den Sand gezeichneter Strauß mit den Buchstaben 'OER' – ein Sinnbild für offene Bildung und freien Wissensaustausch. Die Wortspiel-Verbindung zu 'Nostr' (das dezentralisierte Kommunikationsprotokoll) liegt nahe: 'Nostr' klingt wie ein Teil von 'Ostrich' (Englisch für Strauß). So wie der Ichthys-Fisch einst als geheimes Erkennungszeichen diente, steht dieses Symbol für eine Gemeinschaft, die Wissen offen teilt – frei, unabhängig und widerstandsfähig."
|
||||
date: 2025-03-04
|
||||
author:
|
||||
- Jörg Lohrer
|
||||
- Steffen Rörtgen
|
||||
- Bastian Granas
|
||||
comments:
|
||||
host: reliverse.social
|
||||
username: comenius
|
||||
id: 114104961785328046
|
||||
tags: [ "Künstliche Intelligenz", "Bewusstsein", "Religionspädagogik", "Community" ]
|
||||
lang: de
|
||||
dir: ltr
|
||||
license: https://creativecommons.org/licenses/by/4.0/deed.de
|
||||
creator:
|
||||
- givenName: Jörg
|
||||
familyName: Lohrer
|
||||
id: https://orcid.org/0000-0002-9282-0406
|
||||
type: Person
|
||||
affiliation:
|
||||
name: Comenius-Institut
|
||||
id: https://ror.org/025e8aw85
|
||||
type: Organization
|
||||
- givenName: Steffen
|
||||
familyName: Rörtgen
|
||||
id: https://orcid.org/0000-0001-6378-2618
|
||||
type: Person
|
||||
- givenName: Bastian
|
||||
familyName: Granas
|
||||
type: Person
|
||||
affiliation: ''
|
||||
keywords:
|
||||
- OER
|
||||
- OEP
|
||||
- Dezentrale Bildung
|
||||
- Interoperabilität
|
||||
- Nostr
|
||||
inLanguage:
|
||||
- de
|
||||
about:
|
||||
- https://w3id.org/kim/hochschulfaechersystematik/n052
|
||||
- https://w3id.org/kim/hochschulfaechersystematik/n079
|
||||
- https://w3id.org/kim/hochschulfaechersystematik/n544
|
||||
learningResourceType:
|
||||
- https://w3id.org/kim/hcrt/text
|
||||
- https://w3id.org/kim/hcrt/web_page
|
||||
educationalLevel:
|
||||
- https://w3id.org/kim/educationalLevel/level_A
|
||||
datePublished: '2025-03-04'
|
||||
---
|
||||
|
||||
# Gemeinsam die Bildungszukunft gestalten: Dezentrale OEP und OER als Wegbereiter
|
||||
*Einladung zum offenen Denken und Handeln in der Bildungsgemeinschaft*
|
||||
|
||||
---
|
||||
|
||||
### **Warum wir eine neue Perspektive brauchen**
|
||||
|
||||
Die aktuelle digitale Bildungslandschaft gleicht einem Flickenteppich isolierter Plattformen, die zwar öffentlich zugänglich, aber jeweils unterschiedlich verortet und mit verschiedenen Laufzeiten finanziert als große Einzelprojekte im digitalen Raum stehen.
|
||||
Diese „Datensilos“ verhindern nicht nur die Auffindbarkeit von Ressourcen und ihre gemeinschaftliche Weiternutzung, sondern gefährden auch die Nachhaltigkeit offener Bildung: Wenn Fördergelder auslaufen, verschwinden mit den Plattformen nicht nur Materialien sondern auch wertvolle Nutzerinteraktionen wie Kommentare, Sammlungen und auch die kollaborativen Weiterentwicklungen der Bildungsmaterialien aus den Communities.
|
||||
|
||||
Doch Bildung sollte resilient sein – unabhängig von politischen oder finanziellen Rahmenbedingungen und gewissermaßen auch von der Plattform, auf der man gerade agiert.
|
||||
|
||||
Hier setzt die Vision eines **dezentralen Datenraums** an: Statt zentraler Kontrolle verteilt er Daten auf viele Akteure, fördert Interoperabilität sowie Datensouveränität der Nutzer:innen und ermöglicht neue Geschäftsmodelle.
|
||||
Inspiriert vom Messaging Protokoll "[Nostr](https://nostr.how/de/what-is-nostr)" – ursprünglich für zensurresistente soziale Netzwerke entwickelt – könnte so eine Infrastruktur entstehen, die Offenheit, Teilhabe und Vernetzung ins Zentrum stellt.
|
||||
|
||||
---
|
||||
|
||||
### Von OER zu OEP: Offenheit als Haltung
|
||||
|
||||
**Open Educational Resources (OER)** als frei verfügbare Bildungsmaterialien sind nur der erste Schritt.
|
||||
Echte **Open Educational Practices (OEP)** umfassen eine Kultur des Teilens, kollaboratives Lernen und demokratische Bildungsprozesse.
|
||||
Wie [Kerstin Mayrberger betont, geht es bei OEP im Kern um „Demokratiebildung](https://blog.bildungsserver.de/open-educational-practices-ist-viel-mehr-als-nur-der-einsatz-von-open-educational-resources/)“: Lernende und Lehrende gestalten gemeinsam Inhalte, hinterfragen Strukturen und entwickeln kritisches Denken.
|
||||
|
||||
Doch dafür braucht es mehr als nur frei lizenzierte Materialien. Es braucht (freie) Infrastrukturen, die:
|
||||
|
||||
1. **Partizipation ermöglichen**: Nutzer:innen behalten die Kontrolle über ihre Daten und Interaktionen.
|
||||
2. **Resilienz schaffen**: Dezentrale Speicherung verhindert den „Stecker-Ziehen-Effekt“.
|
||||
3. **Vernetzung fördern**: Plattformübergreifende Zusammenarbeit wird zur Norm, nicht zur Ausnahme.
|
||||
|
||||
---
|
||||
|
||||
### Wie Nostr die Bildungsinfrastruktur revolutionieren könnte
|
||||
|
||||
Die technische Grundlage für vernetzte Bildung sollte also nicht analog zu Systemen entwickelt werden, deren Grundlage ist, Nutzer und Inhalte (oft ökonomisch gewollt) an sich zu binden.
|
||||
Stattdessen sollte sie strukturell so angelegt sein, die digitale Vernetzung, die wir uns für die Bildung wünschen, bereits grundlegend zu enthalten.
|
||||
Wir suchen somit nicht nach lokalen Softwarelösungen für die Organisation von OER- und OEP-Communities, sondern nach grundlegenden Technologieansätzen, die diese Anforderungen erfüllen können.
|
||||
Dadurch rücken neben den Schnittstellenlösungen, die Plattformen entwickeln müssen, um künftig anschlussfähig zu sein, zunehmend die zugrunde liegenden Protokolle für Zusammenarbeit und vernetzte Bildung in den Fokus einer Entwicklung, wenn diese auf Wirkung und Nachhaltigkeit angelegt sein soll.
|
||||
|
||||
Das [Nostr-Protokoll](https://nostr.how/de/what-is-nostr) erfüllt diese grundlegenden Anforderungen:
|
||||
|
||||
- **Clients & Relays**: Bildungsplattformen agieren als Clients, die mit Relays (dezentralen Servern) verbunden sind. Jede Institution kann eigene Relays betreiben, die Daten synchronisieren – ähnlich wie E-Mails über verschiedene Provider versendet werden.
|
||||
- **Events & Schlüsselpaare**: Lernmaterialien, Kommentare oder Sammlungen werden als „Events“ gespeichert, signiert mit kryptografischen Schlüsseln. So bleibt die Urheberschaft nachvollziehbar, ohne zentrale Autorität.
|
||||
- **Interoperabilität & Erweiterbarkeit**: Das Protokoll ist modular aufgebaut, sodass verschiedene Eventtypen integriert werden können. So könnten Metadatenstandards wie das [Allgemeine Metadatenprofil (AMB)](https://dini-ag-kim.github.io/amb/latest/) abgebildet werden, um die Publikation und den Konsum von Bildungsmetadaten plattformübergreifend zu erleichtern.
|
||||
|
||||
|
||||
|
||||
**Beispiel**: Eine Lehrkraft erstellt auf [MUNDO](https://mundo.schule/) eine Merkliste zu „Nachhaltigkeit“. Dieses Event wird via Nostr-Relays an [WirLernenOnline](https://wirlernenonline.de/) übertragen – die Liste ist somit auf Relays im Nostr-Netzwerk verfügbar. Selbst wenn MUNDO und WirLernenOnline offline gehen würden, wäre die Merkliste weiterhin verfügbar, da sie nicht auf der Plattform, sondern auf einem (oder mehreren) Relay(s) liegt.
|
||||
|
||||
---
|
||||
|
||||
### Chancen für Gemeinschaft und Nachhaltigkeit
|
||||
|
||||
Ein dezentraler Datenraum fördert nicht nur technische Resilienz, sondern auch neue Formen der Zusammenarbeit:
|
||||
|
||||
- **Qualitätssicherung durch Crowdsourcing**: Da Nutzer:innen nicht mehr durch Plattformgrenzen künstlich getrennt werden, können sie übergreifend miteinander und mit Ressourcen interagieren und sich darüber austauschen. Ihr sozialer Graph kann dabei – ähnlich dem „Circle of Trust“ der norwegischen [NDLA](https://doi.org/10.25656/01:16993)-Plattform - genutzt werden, um die Relevanz von Ressourcen algorithmisch einzuordnen.
|
||||
- **Monetarisierung ohne Abhängigkeit**: Services wie Metadaten-Anreicherung oder Premium-Relays (für personalisierte Feeds, zusätzliche Materialien) können monetarisierbar auf dem Protokoll abgebildet werden und könnten zusätzliche Einnahmequellen bieten, während die Infrastruktur gemeinfrei bleibt .
|
||||
- **Empowerment kleiner Akteure**: Lokale und kleinere Initiativen, die bis heute (2025!) nicht in der Lage sind, sich und ihre Materialien selbst in die öffentliche Bildungsinfrastruktur einzubringen, erhalten erweiterte Möglichkeiten.
|
||||
|
||||
---
|
||||
|
||||
### Aufruf zum Mitgestalten
|
||||
|
||||
Die Umsetzung dieser Vision lebt von der Gemeinschaft. Inspiriert von Projekten wie [ReliLab](https://relilab.org/relilab/) oder [SynLLOER](https://synlloer.blogs.uni-hamburg.de/), laden wir ein:
|
||||
|
||||
1. **Erprobt die Dezentralität**: Testet den **Proof of Concept** „[EduFeed](https://www.edufeed.org/)“, der Nostr für Bildungsmetadaten nutzt.
|
||||
2. **Denkt infrastrukturübergreifend**: Entwickelt OER nicht im Silo, sondern integriert sie in dezentrale Netzwerke.
|
||||
3. **Engagiert euch politisch**: Fordert Fördergelder für offene Protokolle statt proprietärer Plattformen.
|
||||
|
||||
Wie [Niels Winkelmann im Digilog.Blog ](https://digilog.blog/2024/01/08/oep-groesser-denken/)schreibt: „OEP systemisch zu denken ist der Wind in den Segeln für eine Vision offener Bildung“ .
|
||||
Lasst uns gemeinsam die Segel setzen – dezentral, partizipativ und zukunftssicher!
|
||||
:sailboat: "[for a race we must win](https://www.team-malizia.com/news/the-message-behind-our-slogan-a-race-we-must-win)"
|
||||
|
After Width: | Height: | Size: 2.3 MiB |
|
|
@ -0,0 +1,223 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="de" dir="auto">
|
||||
|
||||
<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script><meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<title>Jörg Lohrer</title>
|
||||
<meta name="keywords" content="">
|
||||
<meta name="description" content=" - Jörg Lohrer">
|
||||
<meta name="author" content="">
|
||||
<link rel="canonical" href="http://localhost:1313/1/01/01/.html/">
|
||||
<link crossorigin="anonymous" href="/assets/css/stylesheet.fcb38834b6dee4645dbe7c77d6c5278e12448b758b3f769e48a2d86d35709cb2.css" integrity="sha256-/LOINLbe5GRdvnx31sUnjhJEi3WLP3aeSKLYbTVwnLI=" rel="preload stylesheet" as="style">
|
||||
<link rel="icon" href="http://localhost:1313/favicon.ico">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="http://localhost:1313/favicon-16x16.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="http://localhost:1313/favicon-32x32.png">
|
||||
<link rel="apple-touch-icon" href="http://localhost:1313/apple-touch-icon.png">
|
||||
<link rel="mask-icon" href="http://localhost:1313/safari-pinned-tab.svg">
|
||||
<meta name="theme-color" content="#2e2e33">
|
||||
<meta name="msapplication-TileColor" content="#2e2e33">
|
||||
<link rel="alternate" hreflang="de" href="http://localhost:1313/1/01/01/.html/">
|
||||
<noscript>
|
||||
<style>
|
||||
#theme-toggle,
|
||||
.top-link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
<style>
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--theme: rgb(29, 30, 32);
|
||||
--entry: rgb(46, 46, 51);
|
||||
--primary: rgb(218, 218, 219);
|
||||
--secondary: rgb(155, 156, 157);
|
||||
--tertiary: rgb(65, 66, 68);
|
||||
--content: rgb(196, 196, 197);
|
||||
--code-block-bg: rgb(46, 46, 51);
|
||||
--code-bg: rgb(55, 56, 62);
|
||||
--border: rgb(51, 51, 51);
|
||||
}
|
||||
|
||||
.list {
|
||||
background: var(--theme);
|
||||
}
|
||||
|
||||
.list:not(.dark)::-webkit-scrollbar-track {
|
||||
background: 0 0;
|
||||
}
|
||||
|
||||
.list:not(.dark)::-webkit-scrollbar-thumb {
|
||||
border-color: var(--theme);
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
</noscript>
|
||||
</head>
|
||||
|
||||
<body class="" id="top">
|
||||
<script>
|
||||
if (localStorage.getItem("pref-theme") === "dark") {
|
||||
document.body.classList.add('dark');
|
||||
} else if (localStorage.getItem("pref-theme") === "light") {
|
||||
document.body.classList.remove('dark')
|
||||
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||
document.body.classList.add('dark');
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<header class="header">
|
||||
<nav class="nav">
|
||||
<div class="logo">
|
||||
<a href="http://localhost:1313/" accesskey="h" title="Jörg Lohrer (Alt + H)">Jörg Lohrer</a>
|
||||
<div class="logo-switches">
|
||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||
</svg>
|
||||
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<circle cx="12" cy="12" r="5"></circle>
|
||||
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||
</svg>
|
||||
</button>
|
||||
<ul class="lang-switch"><li>|</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<ul id="menu">
|
||||
<li>
|
||||
<a href="http://localhost:1313/" title="Jörg Lohrer">
|
||||
<span>Home</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://localhost:1313/archives/" title="Archive">
|
||||
<span>Blog</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://localhost:1313/impressum/" title="Impressum">
|
||||
<span>Impressum</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://reliverse.social/@joerglohrer" title="Mastodon">
|
||||
<span><i class="fa fa-heart"></i>Mastodon</span>
|
||||
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
|
||||
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
|
||||
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
|
||||
<path d="M15 3h6v6"></path>
|
||||
<path d="M10 14L21 3"></path>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="main">
|
||||
|
||||
<article class="post-single">
|
||||
<header class="post-header">
|
||||
|
||||
<h1 class="post-title entry-hint-parent">
|
||||
|
||||
</h1>
|
||||
<div class="post-meta">
|
||||
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<footer class="post-footer">
|
||||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
</article>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<span>© 2025 <a href="http://localhost:1313/">Jörg Lohrer</a></span>
|
||||
<span>
|
||||
Powered by
|
||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
|
||||
<a rel="me" href="https://reliverse.social/@joerglohrer">Mastodon</a>
|
||||
</span>
|
||||
</footer>
|
||||
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||
<path d="M12 6H0l6-6z" />
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<script>
|
||||
let menu = document.getElementById('menu')
|
||||
if (menu) {
|
||||
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||
menu.onscroll = function () {
|
||||
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||
}
|
||||
}
|
||||
|
||||
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||
anchor.addEventListener("click", function (e) {
|
||||
e.preventDefault();
|
||||
var id = this.getAttribute("href").substr(1);
|
||||
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
||||
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||
behavior: "smooth"
|
||||
});
|
||||
} else {
|
||||
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
|
||||
}
|
||||
if (id === "top") {
|
||||
history.replaceState(null, null, " ");
|
||||
} else {
|
||||
history.pushState(null, null, `#${id}`);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
<script>
|
||||
var mybutton = document.getElementById("top-link");
|
||||
window.onscroll = function () {
|
||||
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||
mybutton.style.visibility = "visible";
|
||||
mybutton.style.opacity = "1";
|
||||
} else {
|
||||
mybutton.style.visibility = "hidden";
|
||||
mybutton.style.opacity = "0";
|
||||
}
|
||||
};
|
||||
|
||||
</script>
|
||||
<script>
|
||||
document.getElementById("theme-toggle").addEventListener("click", () => {
|
||||
if (document.body.className.includes("dark")) {
|
||||
document.body.classList.remove('dark');
|
||||
localStorage.setItem("pref-theme", 'light');
|
||||
} else {
|
||||
document.body.classList.add('dark');
|
||||
localStorage.setItem("pref-theme", 'dark');
|
||||
}
|
||||
})
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -164,7 +164,6 @@ Doch satt bin ich noch immer nicht.</p>
|
|||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
|
||||
|
|
|
|||
|
|
@ -194,7 +194,6 @@ Pum, Viktoria/Pirner, Manfred L./Lohrer, Jörg (Hrsg.) (2011): Erlebnispädagogi
|
|||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
|
||||
|
|
|
|||
|
|
@ -170,7 +170,6 @@ Hier die Anleitung auf Englisch: <a href="https://github.com/fabianonline/OctoPr
|
|||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
|
||||
|
|
|
|||
|
|
@ -184,7 +184,6 @@
|
|||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
|
||||
|
|
|
|||
|
|
@ -168,7 +168,6 @@
|
|||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
|
||||
|
|
|
|||
|
|
@ -394,7 +394,6 @@ Für Linsen
|
|||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
|
||||
|
|
|
|||
|
|
@ -297,7 +297,6 @@ wp_reset_postdata();
|
|||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
|
||||
|
|
|
|||
|
|
@ -935,7 +935,6 @@
|
|||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
|
||||
|
|
|
|||
|
|
@ -272,7 +272,6 @@ require_once(__DIR__ . '/lib/setup.php');
|
|||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
|
||||
|
|
|
|||
|
|
@ -325,7 +325,6 @@ Dann die Verknüpfungen in den Autostartordner kopieren:
|
|||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
|
||||
|
|
|
|||
|
|
@ -201,7 +201,6 @@ weitere 25 Minuten backen oder bis eine Kerntemperatur von 92° erreicht ist. Fe
|
|||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
|
||||
|
|
|
|||
|
|
@ -217,7 +217,6 @@ Bild 5: “Der fruchtbare Boden: Die Kraft der Liebe und Fürsorge bringt ei
|
|||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
|
||||
|
|
|
|||
|
|
@ -199,7 +199,6 @@
|
|||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
|
||||
|
|
|
|||
|
|
@ -182,7 +182,6 @@ Hier wurde der “<a href="https://docs.wpstackable.com/article/502-how-to-u
|
|||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
|
||||
|
|
|
|||
|
|
@ -225,7 +225,6 @@ Midjourney Prompt: “A Community of Trust based on Openness, silhouettes of
|
|||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
|
||||
|
|
|
|||
|
|
@ -191,7 +191,6 @@
|
|||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 2.3 MiB |
|
|
@ -0,0 +1,475 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="de" dir="auto">
|
||||
|
||||
<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script><meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<title>Gemeinsam die Bildungszukunft gestalten: Dezentrale OEP und OER als Wegbereiter | Jörg Lohrer</title>
|
||||
<meta name="keywords" content="Künstliche Intelligenz, Bewusstsein, Religionspädagogik, Community">
|
||||
<meta name="description" content="Einladung zum offenen Denken und Handeln in der Bildungsgemeinschaft. Der Beitrag diskutiert, warum eine dezentrale Infrastruktur für Open Educational Resources (OER) und Open Educational Practices (OEP) notwendig ist, um nachhaltige, resiliente und interoperable Bildungsräume zu schaffen. Dabei wird das Potenzial des Nostr-Protokolls für Bildungsnetzwerke beleuchtet">
|
||||
<meta name="author" content="Jörg Lohrer">
|
||||
<link rel="canonical" href="http://localhost:1313/2025/03/04/dezentrale-oep-oer.html/">
|
||||
<link crossorigin="anonymous" href="/assets/css/stylesheet.fcb38834b6dee4645dbe7c77d6c5278e12448b758b3f769e48a2d86d35709cb2.css" integrity="sha256-/LOINLbe5GRdvnx31sUnjhJEi3WLP3aeSKLYbTVwnLI=" rel="preload stylesheet" as="style">
|
||||
<link rel="icon" href="http://localhost:1313/favicon.ico">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="http://localhost:1313/favicon-16x16.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="http://localhost:1313/favicon-32x32.png">
|
||||
<link rel="apple-touch-icon" href="http://localhost:1313/apple-touch-icon.png">
|
||||
<link rel="mask-icon" href="http://localhost:1313/safari-pinned-tab.svg">
|
||||
<meta name="theme-color" content="#2e2e33">
|
||||
<meta name="msapplication-TileColor" content="#2e2e33">
|
||||
<link rel="alternate" hreflang="de" href="http://localhost:1313/2025/03/04/dezentrale-oep-oer.html/">
|
||||
<noscript>
|
||||
<style>
|
||||
#theme-toggle,
|
||||
.top-link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
<style>
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--theme: rgb(29, 30, 32);
|
||||
--entry: rgb(46, 46, 51);
|
||||
--primary: rgb(218, 218, 219);
|
||||
--secondary: rgb(155, 156, 157);
|
||||
--tertiary: rgb(65, 66, 68);
|
||||
--content: rgb(196, 196, 197);
|
||||
--code-block-bg: rgb(46, 46, 51);
|
||||
--code-bg: rgb(55, 56, 62);
|
||||
--border: rgb(51, 51, 51);
|
||||
}
|
||||
|
||||
.list {
|
||||
background: var(--theme);
|
||||
}
|
||||
|
||||
.list:not(.dark)::-webkit-scrollbar-track {
|
||||
background: 0 0;
|
||||
}
|
||||
|
||||
.list:not(.dark)::-webkit-scrollbar-thumb {
|
||||
border-color: var(--theme);
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
</noscript>
|
||||
</head>
|
||||
|
||||
<body class="" id="top">
|
||||
<script>
|
||||
if (localStorage.getItem("pref-theme") === "dark") {
|
||||
document.body.classList.add('dark');
|
||||
} else if (localStorage.getItem("pref-theme") === "light") {
|
||||
document.body.classList.remove('dark')
|
||||
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||
document.body.classList.add('dark');
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<header class="header">
|
||||
<nav class="nav">
|
||||
<div class="logo">
|
||||
<a href="http://localhost:1313/" accesskey="h" title="Jörg Lohrer (Alt + H)">Jörg Lohrer</a>
|
||||
<div class="logo-switches">
|
||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||
</svg>
|
||||
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<circle cx="12" cy="12" r="5"></circle>
|
||||
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||
</svg>
|
||||
</button>
|
||||
<ul class="lang-switch"><li>|</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<ul id="menu">
|
||||
<li>
|
||||
<a href="http://localhost:1313/" title="Jörg Lohrer">
|
||||
<span>Home</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://localhost:1313/archives/" title="Archive">
|
||||
<span>Blog</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://localhost:1313/impressum/" title="Impressum">
|
||||
<span>Impressum</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://reliverse.social/@joerglohrer" title="Mastodon">
|
||||
<span><i class="fa fa-heart"></i>Mastodon</span>
|
||||
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
|
||||
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
|
||||
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
|
||||
<path d="M15 3h6v6"></path>
|
||||
<path d="M10 14L21 3"></path>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="main">
|
||||
|
||||
<article class="post-single">
|
||||
<header class="post-header">
|
||||
|
||||
<h1 class="post-title entry-hint-parent">
|
||||
Gemeinsam die Bildungszukunft gestalten: Dezentrale OEP und OER als Wegbereiter
|
||||
</h1>
|
||||
<div class="post-description">
|
||||
Einladung zum offenen Denken und Handeln in der Bildungsgemeinschaft. Der Beitrag diskutiert, warum eine dezentrale Infrastruktur für Open Educational Resources (OER) und Open Educational Practices (OEP) notwendig ist, um nachhaltige, resiliente und interoperable Bildungsräume zu schaffen. Dabei wird das Potenzial des Nostr-Protokolls für Bildungsnetzwerke beleuchtet
|
||||
</div>
|
||||
<div class="post-meta"><span title='2025-03-04 00:00:00 +0000 UTC'>März 4, 2025</span> · Jörg Lohrer
|
||||
|
||||
</div>
|
||||
</header>
|
||||
<figure class="entry-cover">
|
||||
<img loading="eager" src="http://localhost:1313/2025/03/04/dezentrale-oep-oer.html/dezentrale-oep-oer.png" alt="Ein in den Sand gezeichneter Strauß mit den Buchstaben 'OER' – ein Sinnbild für offene Bildung und freien Wissensaustausch. Die Wortspiel-Verbindung zu 'Nostr' (das dezentralisierte Kommunikationsprotokoll) liegt nahe: 'Nostr' klingt wie ein Teil von 'Ostrich' (Englisch für Strauß). So wie der Ichthys-Fisch einst als geheimes Erkennungszeichen diente, steht dieses Symbol für eine Gemeinschaft, die Wissen offen teilt – frei, unabhängig und widerstandsfähig.">
|
||||
<p>Ein in den Sand gezeichneter Strauß mit den Buchstaben ‘OER’ – ein Sinnbild für offene Bildung und freien Wissensaustausch. Die Wortspiel-Verbindung zu ‘Nostr’ (das dezentralisierte Kommunikationsprotokoll) liegt nahe: ‘Nostr’ klingt wie ein Teil von ‘Ostrich’ (Englisch für Strauß). So wie der Ichthys-Fisch einst als geheimes Erkennungszeichen diente, steht dieses Symbol für eine Gemeinschaft, die Wissen offen teilt – frei, unabhängig und widerstandsfähig.</p>
|
||||
</figure>
|
||||
<div class="post-content"><h1 id="gemeinsam-die-bildungszukunft-gestalten-dezentrale-oep-und-oer-als-wegbereiter">Gemeinsam die Bildungszukunft gestalten: Dezentrale OEP und OER als Wegbereiter<a hidden class="anchor" aria-hidden="true" href="#gemeinsam-die-bildungszukunft-gestalten-dezentrale-oep-und-oer-als-wegbereiter">#</a></h1>
|
||||
<p><em>Einladung zum offenen Denken und Handeln in der Bildungsgemeinschaft</em></p>
|
||||
<hr>
|
||||
<h3 id="warum-wir-eine-neue-perspektive-brauchen"><strong>Warum wir eine neue Perspektive brauchen</strong><a hidden class="anchor" aria-hidden="true" href="#warum-wir-eine-neue-perspektive-brauchen">#</a></h3>
|
||||
<p>Die aktuelle digitale Bildungslandschaft gleicht einem Flickenteppich isolierter Plattformen, die zwar öffentlich zugänglich, aber jeweils unterschiedlich verortet und mit verschiedenen Laufzeiten finanziert als große Einzelprojekte im digitalen Raum stehen.
|
||||
Diese „Datensilos“ verhindern nicht nur die Auffindbarkeit von Ressourcen und ihre gemeinschaftliche Weiternutzung, sondern gefährden auch die Nachhaltigkeit offener Bildung: Wenn Fördergelder auslaufen, verschwinden mit den Plattformen nicht nur Materialien sondern auch wertvolle Nutzerinteraktionen wie Kommentare, Sammlungen und auch die kollaborativen Weiterentwicklungen der Bildungsmaterialien aus den Communities.</p>
|
||||
<p>Doch Bildung sollte resilient sein – unabhängig von politischen oder finanziellen Rahmenbedingungen und gewissermaßen auch von der Plattform, auf der man gerade agiert.</p>
|
||||
<p>Hier setzt die Vision eines <strong>dezentralen Datenraums</strong> an: Statt zentraler Kontrolle verteilt er Daten auf viele Akteure, fördert Interoperabilität sowie Datensouveränität der Nutzer:innen und ermöglicht neue Geschäftsmodelle.
|
||||
Inspiriert vom Messaging Protokoll “<a href="https://nostr.how/de/what-is-nostr">Nostr</a>” – ursprünglich für zensurresistente soziale Netzwerke entwickelt – könnte so eine Infrastruktur entstehen, die Offenheit, Teilhabe und Vernetzung ins Zentrum stellt.</p>
|
||||
<hr>
|
||||
<h3 id="von-oer-zu-oep-offenheit-als-haltung">Von OER zu OEP: Offenheit als Haltung<a hidden class="anchor" aria-hidden="true" href="#von-oer-zu-oep-offenheit-als-haltung">#</a></h3>
|
||||
<p><strong>Open Educational Resources (OER)</strong> als frei verfügbare Bildungsmaterialien sind nur der erste Schritt.
|
||||
Echte <strong>Open Educational Practices (OEP)</strong> umfassen eine Kultur des Teilens, kollaboratives Lernen und demokratische Bildungsprozesse.
|
||||
Wie <a href="https://blog.bildungsserver.de/open-educational-practices-ist-viel-mehr-als-nur-der-einsatz-von-open-educational-resources/">Kerstin Mayrberger betont, geht es bei OEP im Kern um „Demokratiebildung</a>“: Lernende und Lehrende gestalten gemeinsam Inhalte, hinterfragen Strukturen und entwickeln kritisches Denken.</p>
|
||||
<p>Doch dafür braucht es mehr als nur frei lizenzierte Materialien. Es braucht (freie) Infrastrukturen, die:</p>
|
||||
<ol>
|
||||
<li><strong>Partizipation ermöglichen</strong>: Nutzer:innen behalten die Kontrolle über ihre Daten und Interaktionen.</li>
|
||||
<li><strong>Resilienz schaffen</strong>: Dezentrale Speicherung verhindert den „Stecker-Ziehen-Effekt“.</li>
|
||||
<li><strong>Vernetzung fördern</strong>: Plattformübergreifende Zusammenarbeit wird zur Norm, nicht zur Ausnahme.</li>
|
||||
</ol>
|
||||
<hr>
|
||||
<h3 id="wie-nostr-die-bildungsinfrastruktur-revolutionieren-könnte">Wie Nostr die Bildungsinfrastruktur revolutionieren könnte<a hidden class="anchor" aria-hidden="true" href="#wie-nostr-die-bildungsinfrastruktur-revolutionieren-könnte">#</a></h3>
|
||||
<p>Die technische Grundlage für vernetzte Bildung sollte also nicht analog zu Systemen entwickelt werden, deren Grundlage ist, Nutzer und Inhalte (oft ökonomisch gewollt) an sich zu binden.
|
||||
Stattdessen sollte sie strukturell so angelegt sein, die digitale Vernetzung, die wir uns für die Bildung wünschen, bereits grundlegend zu enthalten.
|
||||
Wir suchen somit nicht nach lokalen Softwarelösungen für die Organisation von OER- und OEP-Communities, sondern nach grundlegenden Technologieansätzen, die diese Anforderungen erfüllen können.
|
||||
Dadurch rücken neben den Schnittstellenlösungen, die Plattformen entwickeln müssen, um künftig anschlussfähig zu sein, zunehmend die zugrunde liegenden Protokolle für Zusammenarbeit und vernetzte Bildung in den Fokus einer Entwicklung, wenn diese auf Wirkung und Nachhaltigkeit angelegt sein soll.</p>
|
||||
<p>Das <a href="https://nostr.how/de/what-is-nostr">Nostr-Protokoll</a> erfüllt diese grundlegenden Anforderungen:</p>
|
||||
<ul>
|
||||
<li><strong>Clients & Relays</strong>: Bildungsplattformen agieren als Clients, die mit Relays (dezentralen Servern) verbunden sind. Jede Institution kann eigene Relays betreiben, die Daten synchronisieren – ähnlich wie E-Mails über verschiedene Provider versendet werden.</li>
|
||||
<li><strong>Events & Schlüsselpaare</strong>: Lernmaterialien, Kommentare oder Sammlungen werden als „Events“ gespeichert, signiert mit kryptografischen Schlüsseln. So bleibt die Urheberschaft nachvollziehbar, ohne zentrale Autorität.</li>
|
||||
<li><strong>Interoperabilität & Erweiterbarkeit</strong>: Das Protokoll ist modular aufgebaut, sodass verschiedene Eventtypen integriert werden können. So könnten Metadatenstandards wie das <a href="https://dini-ag-kim.github.io/amb/latest/">Allgemeine Metadatenprofil (AMB)</a> abgebildet werden, um die Publikation und den Konsum von Bildungsmetadaten plattformübergreifend zu erleichtern.</li>
|
||||
</ul>
|
||||
<p><strong>Beispiel</strong>: Eine Lehrkraft erstellt auf <a href="https://mundo.schule/">MUNDO</a> eine Merkliste zu „Nachhaltigkeit“. Dieses Event wird via Nostr-Relays an <a href="https://wirlernenonline.de/">WirLernenOnline</a> übertragen – die Liste ist somit auf Relays im Nostr-Netzwerk verfügbar. Selbst wenn MUNDO und WirLernenOnline offline gehen würden, wäre die Merkliste weiterhin verfügbar, da sie nicht auf der Plattform, sondern auf einem (oder mehreren) Relay(s) liegt.</p>
|
||||
<hr>
|
||||
<h3 id="chancen-für-gemeinschaft-und-nachhaltigkeit">Chancen für Gemeinschaft und Nachhaltigkeit<a hidden class="anchor" aria-hidden="true" href="#chancen-für-gemeinschaft-und-nachhaltigkeit">#</a></h3>
|
||||
<p>Ein dezentraler Datenraum fördert nicht nur technische Resilienz, sondern auch neue Formen der Zusammenarbeit:</p>
|
||||
<ul>
|
||||
<li><strong>Qualitätssicherung durch Crowdsourcing</strong>: Da Nutzer:innen nicht mehr durch Plattformgrenzen künstlich getrennt werden, können sie übergreifend miteinander und mit Ressourcen interagieren und sich darüber austauschen. Ihr sozialer Graph kann dabei – ähnlich dem „Circle of Trust“ der norwegischen <a href="https://doi.org/10.25656/01:16993">NDLA</a>-Plattform - genutzt werden, um die Relevanz von Ressourcen algorithmisch einzuordnen.</li>
|
||||
<li><strong>Monetarisierung ohne Abhängigkeit</strong>: Services wie Metadaten-Anreicherung oder Premium-Relays (für personalisierte Feeds, zusätzliche Materialien) können monetarisierbar auf dem Protokoll abgebildet werden und könnten zusätzliche Einnahmequellen bieten, während die Infrastruktur gemeinfrei bleibt .</li>
|
||||
<li><strong>Empowerment kleiner Akteure</strong>: Lokale und kleinere Initiativen, die bis heute (2025!) nicht in der Lage sind, sich und ihre Materialien selbst in die öffentliche Bildungsinfrastruktur einzubringen, erhalten erweiterte Möglichkeiten.</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h3 id="aufruf-zum-mitgestalten">Aufruf zum Mitgestalten<a hidden class="anchor" aria-hidden="true" href="#aufruf-zum-mitgestalten">#</a></h3>
|
||||
<p>Die Umsetzung dieser Vision lebt von der Gemeinschaft. Inspiriert von Projekten wie <a href="https://relilab.org/relilab/">ReliLab</a> oder <a href="https://synlloer.blogs.uni-hamburg.de/">SynLLOER</a>, laden wir ein:</p>
|
||||
<ol>
|
||||
<li><strong>Erprobt die Dezentralität</strong>: Testet den <strong>Proof of Concept</strong> „<a href="https://www.edufeed.org/">EduFeed</a>“, der Nostr für Bildungsmetadaten nutzt.</li>
|
||||
<li><strong>Denkt infrastrukturübergreifend</strong>: Entwickelt OER nicht im Silo, sondern integriert sie in dezentrale Netzwerke.</li>
|
||||
<li><strong>Engagiert euch politisch</strong>: Fordert Fördergelder für offene Protokolle statt proprietärer Plattformen.</li>
|
||||
</ol>
|
||||
<p>Wie <a href="https://digilog.blog/2024/01/08/oep-groesser-denken/">Niels Winkelmann im Digilog.Blog </a>schreibt: „OEP systemisch zu denken ist der Wind in den Segeln für eine Vision offener Bildung“ .
|
||||
Lasst uns gemeinsam die Segel setzen – dezentral, partizipativ und zukunftssicher!
|
||||
:sailboat: “<a href="https://www.team-malizia.com/news/the-message-behind-our-slogan-a-race-we-must-win">for a race we must win</a>”</p>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<footer class="post-footer">
|
||||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
<section id="comments" class="article-content">
|
||||
<h2>Kommentare</h2>
|
||||
<p>Mit einem Mastodon- oder Fediverse-Account kannst du <a href="https://reliverse.social/@joerglohrer/112208546053995638">hier antworten</a></p>
|
||||
|
||||
<p id="mastodon-comments-list"><button id="load-comment">Kommentare laden</button></p>
|
||||
<div id="comments-wrapper">
|
||||
<noscript><p>Loading comments relies on JavaScript. Try enabling JavaScript and reloading, or visit <a href="https://reliverse.social/@joerglohrer/112208546053995638">the original post</a> on Mastodon.</p></noscript>
|
||||
</div>
|
||||
<noscript>You need JavaScript to view the comments.</noscript>
|
||||
<script src="/js/purify.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
function escapeHtml(unsafe) {
|
||||
return unsafe
|
||||
.replace(/&/g, "&")
|
||||
.replace(/</g, "<")
|
||||
.replace(/>/g, ">")
|
||||
.replace(/"/g, """)
|
||||
.replace(/'/g, "'");
|
||||
}
|
||||
function emojify(input, emojis) {
|
||||
let output = input;
|
||||
|
||||
emojis.forEach(emoji => {
|
||||
let picture = document.createElement("picture");
|
||||
|
||||
let source = document.createElement("source");
|
||||
source.setAttribute("srcset", escapeHtml(emoji.url));
|
||||
source.setAttribute("media", "(prefers-reduced-motion: no-preference)");
|
||||
|
||||
let img = document.createElement("img");
|
||||
img.className = "emoji";
|
||||
img.setAttribute("src", escapeHtml(emoji.static_url));
|
||||
img.setAttribute("alt", `:${ emoji.shortcode }:`);
|
||||
img.setAttribute("title", `:${ emoji.shortcode }:`);
|
||||
img.setAttribute("width", "20");
|
||||
img.setAttribute("height", "20");
|
||||
|
||||
picture.appendChild(source);
|
||||
picture.appendChild(img);
|
||||
|
||||
output = output.replace(`:${ emoji.shortcode }:`, picture.outerHTML);
|
||||
});
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
function loadComments() {
|
||||
let commentsWrapper = document.getElementById("comments-wrapper");
|
||||
document.getElementById("load-comment").innerHTML = "Loading";
|
||||
fetch('https://reliverse.social/api/v1/statuses/112208546053995638/context')
|
||||
.then(function(response) {
|
||||
return response.json();
|
||||
})
|
||||
.then(function(data) {
|
||||
let descendants = data['descendants'];
|
||||
if(
|
||||
descendants &&
|
||||
Array.isArray(descendants) &&
|
||||
descendants.length > 0
|
||||
) {
|
||||
commentsWrapper.innerHTML = "";
|
||||
|
||||
descendants.forEach(function(status) {
|
||||
console.log(descendants)
|
||||
if( status.account.display_name.length > 0 ) {
|
||||
status.account.display_name = escapeHtml(status.account.display_name);
|
||||
status.account.display_name = emojify(status.account.display_name, status.account.emojis);
|
||||
} else {
|
||||
status.account.display_name = status.account.username;
|
||||
};
|
||||
|
||||
let instance = "";
|
||||
if( status.account.acct.includes("@") ) {
|
||||
instance = status.account.acct.split("@")[1];
|
||||
} else {
|
||||
instance = "reliverse.social";
|
||||
}
|
||||
|
||||
const isReply = status.in_reply_to_id !== "112208546053995638";
|
||||
|
||||
let op = false;
|
||||
if( status.account.acct == "joerglohrer" ) {
|
||||
op = true;
|
||||
}
|
||||
|
||||
status.content = emojify(status.content, status.emojis);
|
||||
|
||||
let avatarSource = document.createElement("source");
|
||||
avatarSource.setAttribute("srcset", escapeHtml(status.account.avatar));
|
||||
avatarSource.setAttribute("media", "(prefers-reduced-motion: no-preference)");
|
||||
|
||||
let avatarImg = document.createElement("img");
|
||||
avatarImg.className = "avatar";
|
||||
avatarImg.setAttribute("src", escapeHtml(status.account.avatar_static));
|
||||
avatarImg.setAttribute("alt", `@${ status.account.username }@${ instance } avatar`);
|
||||
|
||||
let avatarPicture = document.createElement("picture");
|
||||
avatarPicture.appendChild(avatarSource);
|
||||
avatarPicture.appendChild(avatarImg);
|
||||
|
||||
let avatar = document.createElement("a");
|
||||
avatar.className = "avatar-link";
|
||||
avatar.setAttribute("href", status.account.url);
|
||||
avatar.setAttribute("rel", "external nofollow");
|
||||
avatar.setAttribute("title", `View profile at @${ status.account.username }@${ instance }`);
|
||||
avatar.appendChild(avatarPicture);
|
||||
|
||||
let instanceBadge = document.createElement("a");
|
||||
instanceBadge.className = "instance";
|
||||
instanceBadge.setAttribute("href", status.account.url);
|
||||
instanceBadge.setAttribute("title", `@${ status.account.username }@${ instance }`);
|
||||
instanceBadge.setAttribute("rel", "external nofollow");
|
||||
instanceBadge.textContent = instance;
|
||||
|
||||
let display = document.createElement("span");
|
||||
display.className = "display";
|
||||
display.setAttribute("itemprop", "author");
|
||||
display.setAttribute("itemtype", "http://schema.org/Person");
|
||||
display.innerHTML = status.account.display_name;
|
||||
|
||||
let header = document.createElement("header");
|
||||
header.className = "author";
|
||||
header.appendChild(display);
|
||||
header.appendChild(instanceBadge);
|
||||
|
||||
let permalink = document.createElement("a");
|
||||
permalink.setAttribute("href", status.url);
|
||||
permalink.setAttribute("itemprop", "url");
|
||||
permalink.setAttribute("title", `View comment at ${ instance }`);
|
||||
permalink.setAttribute("rel", "external nofollow");
|
||||
permalink.textContent = new Date( status.created_at ).toLocaleString('en-US', {
|
||||
dateStyle: "long",
|
||||
timeStyle: "short",
|
||||
});
|
||||
|
||||
let timestamp = document.createElement("time");
|
||||
timestamp.setAttribute("datetime", status.created_at);
|
||||
timestamp.appendChild(permalink);
|
||||
|
||||
let main = document.createElement("main");
|
||||
main.setAttribute("itemprop", "text");
|
||||
main.innerHTML = status.content;
|
||||
|
||||
let interactions = document.createElement("footer");
|
||||
if(status.favourites_count > 0) {
|
||||
let faves = document.createElement("a");
|
||||
faves.className = "faves";
|
||||
faves.setAttribute("href", `${ status.url }/favourites`);
|
||||
faves.setAttribute("title", `Favorites from ${ instance }`);
|
||||
faves.textContent = status.favourites_count;
|
||||
|
||||
interactions.appendChild(faves);
|
||||
}
|
||||
|
||||
let comment = document.createElement("article");
|
||||
comment.id = `comment-${ status.id }`;
|
||||
comment.className = isReply ? "comment comment-reply" : "comment";
|
||||
comment.setAttribute("itemprop", "comment");
|
||||
comment.setAttribute("itemtype", "http://schema.org/Comment");
|
||||
comment.appendChild(avatar);
|
||||
comment.appendChild(header);
|
||||
comment.appendChild(timestamp);
|
||||
comment.appendChild(main);
|
||||
comment.appendChild(interactions);
|
||||
|
||||
if(op === true) {
|
||||
comment.classList.add("op");
|
||||
|
||||
avatar.classList.add("op");
|
||||
avatar.setAttribute(
|
||||
"title",
|
||||
"Blog post author; " + avatar.getAttribute("title")
|
||||
);
|
||||
|
||||
instanceBadge.classList.add("op");
|
||||
instanceBadge.setAttribute(
|
||||
"title",
|
||||
"Blog post author: " + instanceBadge.getAttribute("title")
|
||||
);
|
||||
}
|
||||
|
||||
commentsWrapper.innerHTML += DOMPurify.sanitize(comment.outerHTML);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
document.getElementById("load-comment").addEventListener("click", loadComments);
|
||||
</script>
|
||||
</section>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<span>© 2025 <a href="http://localhost:1313/">Jörg Lohrer</a></span>
|
||||
<span>
|
||||
Powered by
|
||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
|
||||
<a rel="me" href="https://reliverse.social/@joerglohrer">Mastodon</a>
|
||||
</span>
|
||||
</footer>
|
||||
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||
<path d="M12 6H0l6-6z" />
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<script>
|
||||
let menu = document.getElementById('menu')
|
||||
if (menu) {
|
||||
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||
menu.onscroll = function () {
|
||||
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||
}
|
||||
}
|
||||
|
||||
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||
anchor.addEventListener("click", function (e) {
|
||||
e.preventDefault();
|
||||
var id = this.getAttribute("href").substr(1);
|
||||
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
||||
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||
behavior: "smooth"
|
||||
});
|
||||
} else {
|
||||
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
|
||||
}
|
||||
if (id === "top") {
|
||||
history.replaceState(null, null, " ");
|
||||
} else {
|
||||
history.pushState(null, null, `#${id}`);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
<script>
|
||||
var mybutton = document.getElementById("top-link");
|
||||
window.onscroll = function () {
|
||||
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||
mybutton.style.visibility = "visible";
|
||||
mybutton.style.opacity = "1";
|
||||
} else {
|
||||
mybutton.style.visibility = "hidden";
|
||||
mybutton.style.opacity = "0";
|
||||
}
|
||||
};
|
||||
|
||||
</script>
|
||||
<script>
|
||||
document.getElementById("theme-toggle").addEventListener("click", () => {
|
||||
if (document.body.className.includes("dark")) {
|
||||
document.body.classList.remove('dark');
|
||||
localStorage.setItem("pref-theme", 'light');
|
||||
} else {
|
||||
document.body.classList.add('dark');
|
||||
localStorage.setItem("pref-theme", 'dark');
|
||||
}
|
||||
})
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
After Width: | Height: | Size: 2.3 MiB |
|
After Width: | Height: | Size: 984 KiB |
|
After Width: | Height: | Size: 229 KiB |
|
After Width: | Height: | Size: 418 KiB |
|
|
@ -0,0 +1,475 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="de" dir="auto">
|
||||
|
||||
<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script><meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<title>Gemeinsam die Bildungszukunft gestalten: Dezentrale OEP und OER als Wegbereiter | Jörg Lohrer</title>
|
||||
<meta name="keywords" content="OER, OEP, Dezentrale Bildung, Interoperabilität, Nostr">
|
||||
<meta name="description" content="Einladung zum offenen Denken und Handeln in der Bildungsgemeinschaft. Der Beitrag diskutiert, warum eine dezentrale Infrastruktur für Open Educational Resources (OER) und Open Educational Practices (OEP) notwendig ist, um nachhaltige, resiliente und interoperable Bildungsräume zu schaffen. Dabei wird das Potenzial des Nostr-Protokolls für Bildungsnetzwerke beleuchtet">
|
||||
<meta name="author" content="Jörg Lohrer, Steffen Rörtgen, Bastian Granas">
|
||||
<link rel="canonical" href="http://localhost:1313/2025/03/04/gemeinsam-die-bildungszukunft-gestalten-dezentrale-oep-und-oer-als-wegbereiter.html/">
|
||||
<link crossorigin="anonymous" href="/assets/css/stylesheet.fcb38834b6dee4645dbe7c77d6c5278e12448b758b3f769e48a2d86d35709cb2.css" integrity="sha256-/LOINLbe5GRdvnx31sUnjhJEi3WLP3aeSKLYbTVwnLI=" rel="preload stylesheet" as="style">
|
||||
<link rel="icon" href="http://localhost:1313/favicon.ico">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="http://localhost:1313/favicon-16x16.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="http://localhost:1313/favicon-32x32.png">
|
||||
<link rel="apple-touch-icon" href="http://localhost:1313/apple-touch-icon.png">
|
||||
<link rel="mask-icon" href="http://localhost:1313/safari-pinned-tab.svg">
|
||||
<meta name="theme-color" content="#2e2e33">
|
||||
<meta name="msapplication-TileColor" content="#2e2e33">
|
||||
<link rel="alternate" hreflang="de" href="http://localhost:1313/2025/03/04/gemeinsam-die-bildungszukunft-gestalten-dezentrale-oep-und-oer-als-wegbereiter.html/">
|
||||
<noscript>
|
||||
<style>
|
||||
#theme-toggle,
|
||||
.top-link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
<style>
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--theme: rgb(29, 30, 32);
|
||||
--entry: rgb(46, 46, 51);
|
||||
--primary: rgb(218, 218, 219);
|
||||
--secondary: rgb(155, 156, 157);
|
||||
--tertiary: rgb(65, 66, 68);
|
||||
--content: rgb(196, 196, 197);
|
||||
--code-block-bg: rgb(46, 46, 51);
|
||||
--code-bg: rgb(55, 56, 62);
|
||||
--border: rgb(51, 51, 51);
|
||||
}
|
||||
|
||||
.list {
|
||||
background: var(--theme);
|
||||
}
|
||||
|
||||
.list:not(.dark)::-webkit-scrollbar-track {
|
||||
background: 0 0;
|
||||
}
|
||||
|
||||
.list:not(.dark)::-webkit-scrollbar-thumb {
|
||||
border-color: var(--theme);
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
</noscript>
|
||||
</head>
|
||||
|
||||
<body class="" id="top">
|
||||
<script>
|
||||
if (localStorage.getItem("pref-theme") === "dark") {
|
||||
document.body.classList.add('dark');
|
||||
} else if (localStorage.getItem("pref-theme") === "light") {
|
||||
document.body.classList.remove('dark')
|
||||
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||
document.body.classList.add('dark');
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<header class="header">
|
||||
<nav class="nav">
|
||||
<div class="logo">
|
||||
<a href="http://localhost:1313/" accesskey="h" title="Jörg Lohrer (Alt + H)">Jörg Lohrer</a>
|
||||
<div class="logo-switches">
|
||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||
</svg>
|
||||
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<circle cx="12" cy="12" r="5"></circle>
|
||||
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||
</svg>
|
||||
</button>
|
||||
<ul class="lang-switch"><li>|</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<ul id="menu">
|
||||
<li>
|
||||
<a href="http://localhost:1313/" title="Jörg Lohrer">
|
||||
<span>Home</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://localhost:1313/archives/" title="Archive">
|
||||
<span>Blog</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://localhost:1313/impressum/" title="Impressum">
|
||||
<span>Impressum</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://reliverse.social/@joerglohrer" title="Mastodon">
|
||||
<span><i class="fa fa-heart"></i>Mastodon</span>
|
||||
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
|
||||
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
|
||||
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
|
||||
<path d="M15 3h6v6"></path>
|
||||
<path d="M10 14L21 3"></path>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="main">
|
||||
|
||||
<article class="post-single">
|
||||
<header class="post-header">
|
||||
|
||||
<h1 class="post-title entry-hint-parent">
|
||||
Gemeinsam die Bildungszukunft gestalten: Dezentrale OEP und OER als Wegbereiter
|
||||
</h1>
|
||||
<div class="post-description">
|
||||
Einladung zum offenen Denken und Handeln in der Bildungsgemeinschaft. Der Beitrag diskutiert, warum eine dezentrale Infrastruktur für Open Educational Resources (OER) und Open Educational Practices (OEP) notwendig ist, um nachhaltige, resiliente und interoperable Bildungsräume zu schaffen. Dabei wird das Potenzial des Nostr-Protokolls für Bildungsnetzwerke beleuchtet
|
||||
</div>
|
||||
<div class="post-meta"><span title='2025-03-04 00:00:00 +0000 UTC'>März 4, 2025</span> · Jörg Lohrer, Steffen Rörtgen, Bastian Granas
|
||||
|
||||
</div>
|
||||
</header>
|
||||
<figure class="entry-cover">
|
||||
<img loading="eager" src="http://localhost:1313/2025/03/04/gemeinsam-die-bildungszukunft-gestalten-dezentrale-oep-und-oer-als-wegbereiter.html/dezentrale-oep-oer.png" alt="Ein in den Sand gezeichneter Strauß mit den Buchstaben 'OER' – ein Sinnbild für offene Bildung und freien Wissensaustausch. Die Wortspiel-Verbindung zu 'Nostr' (das dezentralisierte Kommunikationsprotokoll) liegt nahe: 'Nostr' klingt wie ein Teil von 'Ostrich' (Englisch für Strauß). So wie der Ichthys-Fisch einst als geheimes Erkennungszeichen diente, steht dieses Symbol für eine Gemeinschaft, die Wissen offen teilt – frei, unabhängig und widerstandsfähig.">
|
||||
<p>Ein in den Sand gezeichneter Strauß mit den Buchstaben ‘OER’ – ein Sinnbild für offene Bildung und freien Wissensaustausch. Die Wortspiel-Verbindung zu ‘Nostr’ (das dezentralisierte Kommunikationsprotokoll) liegt nahe: ‘Nostr’ klingt wie ein Teil von ‘Ostrich’ (Englisch für Strauß). So wie der Ichthys-Fisch einst als geheimes Erkennungszeichen diente, steht dieses Symbol für eine Gemeinschaft, die Wissen offen teilt – frei, unabhängig und widerstandsfähig.</p>
|
||||
</figure>
|
||||
<div class="post-content"><h1 id="gemeinsam-die-bildungszukunft-gestalten-dezentrale-oep-und-oer-als-wegbereiter">Gemeinsam die Bildungszukunft gestalten: Dezentrale OEP und OER als Wegbereiter<a hidden class="anchor" aria-hidden="true" href="#gemeinsam-die-bildungszukunft-gestalten-dezentrale-oep-und-oer-als-wegbereiter">#</a></h1>
|
||||
<p><em>Einladung zum offenen Denken und Handeln in der Bildungsgemeinschaft</em></p>
|
||||
<hr>
|
||||
<h3 id="warum-wir-eine-neue-perspektive-brauchen"><strong>Warum wir eine neue Perspektive brauchen</strong><a hidden class="anchor" aria-hidden="true" href="#warum-wir-eine-neue-perspektive-brauchen">#</a></h3>
|
||||
<p>Die aktuelle digitale Bildungslandschaft gleicht einem Flickenteppich isolierter Plattformen, die zwar öffentlich zugänglich, aber jeweils unterschiedlich verortet und mit verschiedenen Laufzeiten finanziert als große Einzelprojekte im digitalen Raum stehen.
|
||||
Diese „Datensilos“ verhindern nicht nur die Auffindbarkeit von Ressourcen und ihre gemeinschaftliche Weiternutzung, sondern gefährden auch die Nachhaltigkeit offener Bildung: Wenn Fördergelder auslaufen, verschwinden mit den Plattformen nicht nur Materialien sondern auch wertvolle Nutzerinteraktionen wie Kommentare, Sammlungen und auch die kollaborativen Weiterentwicklungen der Bildungsmaterialien aus den Communities.</p>
|
||||
<p>Doch Bildung sollte resilient sein – unabhängig von politischen oder finanziellen Rahmenbedingungen und gewissermaßen auch von der Plattform, auf der man gerade agiert.</p>
|
||||
<p>Hier setzt die Vision eines <strong>dezentralen Datenraums</strong> an: Statt zentraler Kontrolle verteilt er Daten auf viele Akteure, fördert Interoperabilität sowie Datensouveränität der Nutzer:innen und ermöglicht neue Geschäftsmodelle.
|
||||
Inspiriert vom Messaging Protokoll “<a href="https://nostr.how/de/what-is-nostr">Nostr</a>” – ursprünglich für zensurresistente soziale Netzwerke entwickelt – könnte so eine Infrastruktur entstehen, die Offenheit, Teilhabe und Vernetzung ins Zentrum stellt.</p>
|
||||
<hr>
|
||||
<h3 id="von-oer-zu-oep-offenheit-als-haltung">Von OER zu OEP: Offenheit als Haltung<a hidden class="anchor" aria-hidden="true" href="#von-oer-zu-oep-offenheit-als-haltung">#</a></h3>
|
||||
<p><strong>Open Educational Resources (OER)</strong> als frei verfügbare Bildungsmaterialien sind nur der erste Schritt.
|
||||
Echte <strong>Open Educational Practices (OEP)</strong> umfassen eine Kultur des Teilens, kollaboratives Lernen und demokratische Bildungsprozesse.
|
||||
Wie <a href="https://blog.bildungsserver.de/open-educational-practices-ist-viel-mehr-als-nur-der-einsatz-von-open-educational-resources/">Kerstin Mayrberger betont, geht es bei OEP im Kern um „Demokratiebildung</a>“: Lernende und Lehrende gestalten gemeinsam Inhalte, hinterfragen Strukturen und entwickeln kritisches Denken.</p>
|
||||
<p>Doch dafür braucht es mehr als nur frei lizenzierte Materialien. Es braucht (freie) Infrastrukturen, die:</p>
|
||||
<ol>
|
||||
<li><strong>Partizipation ermöglichen</strong>: Nutzer:innen behalten die Kontrolle über ihre Daten und Interaktionen.</li>
|
||||
<li><strong>Resilienz schaffen</strong>: Dezentrale Speicherung verhindert den „Stecker-Ziehen-Effekt“.</li>
|
||||
<li><strong>Vernetzung fördern</strong>: Plattformübergreifende Zusammenarbeit wird zur Norm, nicht zur Ausnahme.</li>
|
||||
</ol>
|
||||
<hr>
|
||||
<h3 id="wie-nostr-die-bildungsinfrastruktur-revolutionieren-könnte">Wie Nostr die Bildungsinfrastruktur revolutionieren könnte<a hidden class="anchor" aria-hidden="true" href="#wie-nostr-die-bildungsinfrastruktur-revolutionieren-könnte">#</a></h3>
|
||||
<p>Die technische Grundlage für vernetzte Bildung sollte also nicht analog zu Systemen entwickelt werden, deren Grundlage ist, Nutzer und Inhalte (oft ökonomisch gewollt) an sich zu binden.
|
||||
Stattdessen sollte sie strukturell so angelegt sein, die digitale Vernetzung, die wir uns für die Bildung wünschen, bereits grundlegend zu enthalten.
|
||||
Wir suchen somit nicht nach lokalen Softwarelösungen für die Organisation von OER- und OEP-Communities, sondern nach grundlegenden Technologieansätzen, die diese Anforderungen erfüllen können.
|
||||
Dadurch rücken neben den Schnittstellenlösungen, die Plattformen entwickeln müssen, um künftig anschlussfähig zu sein, zunehmend die zugrunde liegenden Protokolle für Zusammenarbeit und vernetzte Bildung in den Fokus einer Entwicklung, wenn diese auf Wirkung und Nachhaltigkeit angelegt sein soll.</p>
|
||||
<p>Das <a href="https://nostr.how/de/what-is-nostr">Nostr-Protokoll</a> erfüllt diese grundlegenden Anforderungen:</p>
|
||||
<ul>
|
||||
<li><strong>Clients & Relays</strong>: Bildungsplattformen agieren als Clients, die mit Relays (dezentralen Servern) verbunden sind. Jede Institution kann eigene Relays betreiben, die Daten synchronisieren – ähnlich wie E-Mails über verschiedene Provider versendet werden.</li>
|
||||
<li><strong>Events & Schlüsselpaare</strong>: Lernmaterialien, Kommentare oder Sammlungen werden als „Events“ gespeichert, signiert mit kryptografischen Schlüsseln. So bleibt die Urheberschaft nachvollziehbar, ohne zentrale Autorität.</li>
|
||||
<li><strong>Interoperabilität & Erweiterbarkeit</strong>: Das Protokoll ist modular aufgebaut, sodass verschiedene Eventtypen integriert werden können. So könnten Metadatenstandards wie das <a href="https://dini-ag-kim.github.io/amb/latest/">Allgemeine Metadatenprofil (AMB)</a> abgebildet werden, um die Publikation und den Konsum von Bildungsmetadaten plattformübergreifend zu erleichtern.</li>
|
||||
</ul>
|
||||
<p><strong>Beispiel</strong>: Eine Lehrkraft erstellt auf <a href="https://mundo.schule/">MUNDO</a> eine Merkliste zu „Nachhaltigkeit“. Dieses Event wird via Nostr-Relays an <a href="https://wirlernenonline.de/">WirLernenOnline</a> übertragen – die Liste ist somit auf Relays im Nostr-Netzwerk verfügbar. Selbst wenn MUNDO und WirLernenOnline offline gehen würden, wäre die Merkliste weiterhin verfügbar, da sie nicht auf der Plattform, sondern auf einem (oder mehreren) Relay(s) liegt.</p>
|
||||
<hr>
|
||||
<h3 id="chancen-für-gemeinschaft-und-nachhaltigkeit">Chancen für Gemeinschaft und Nachhaltigkeit<a hidden class="anchor" aria-hidden="true" href="#chancen-für-gemeinschaft-und-nachhaltigkeit">#</a></h3>
|
||||
<p>Ein dezentraler Datenraum fördert nicht nur technische Resilienz, sondern auch neue Formen der Zusammenarbeit:</p>
|
||||
<ul>
|
||||
<li><strong>Qualitätssicherung durch Crowdsourcing</strong>: Da Nutzer:innen nicht mehr durch Plattformgrenzen künstlich getrennt werden, können sie übergreifend miteinander und mit Ressourcen interagieren und sich darüber austauschen. Ihr sozialer Graph kann dabei – ähnlich dem „Circle of Trust“ der norwegischen <a href="https://doi.org/10.25656/01:16993">NDLA</a>-Plattform - genutzt werden, um die Relevanz von Ressourcen algorithmisch einzuordnen.</li>
|
||||
<li><strong>Monetarisierung ohne Abhängigkeit</strong>: Services wie Metadaten-Anreicherung oder Premium-Relays (für personalisierte Feeds, zusätzliche Materialien) können monetarisierbar auf dem Protokoll abgebildet werden und könnten zusätzliche Einnahmequellen bieten, während die Infrastruktur gemeinfrei bleibt .</li>
|
||||
<li><strong>Empowerment kleiner Akteure</strong>: Lokale und kleinere Initiativen, die bis heute (2025!) nicht in der Lage sind, sich und ihre Materialien selbst in die öffentliche Bildungsinfrastruktur einzubringen, erhalten erweiterte Möglichkeiten.</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h3 id="aufruf-zum-mitgestalten">Aufruf zum Mitgestalten<a hidden class="anchor" aria-hidden="true" href="#aufruf-zum-mitgestalten">#</a></h3>
|
||||
<p>Die Umsetzung dieser Vision lebt von der Gemeinschaft. Inspiriert von Projekten wie <a href="https://relilab.org/relilab/">ReliLab</a> oder <a href="https://synlloer.blogs.uni-hamburg.de/">SynLLOER</a>, laden wir ein:</p>
|
||||
<ol>
|
||||
<li><strong>Erprobt die Dezentralität</strong>: Testet den <strong>Proof of Concept</strong> „<a href="https://www.edufeed.org/">EduFeed</a>“, der Nostr für Bildungsmetadaten nutzt.</li>
|
||||
<li><strong>Denkt infrastrukturübergreifend</strong>: Entwickelt OER nicht im Silo, sondern integriert sie in dezentrale Netzwerke.</li>
|
||||
<li><strong>Engagiert euch politisch</strong>: Fordert Fördergelder für offene Protokolle statt proprietärer Plattformen.</li>
|
||||
</ol>
|
||||
<p>Wie <a href="https://digilog.blog/2024/01/08/oep-groesser-denken/">Niels Winkelmann im Digilog.Blog </a>schreibt: „OEP systemisch zu denken ist der Wind in den Segeln für eine Vision offener Bildung“ .
|
||||
Lasst uns gemeinsam die Segel setzen – dezentral, partizipativ und zukunftssicher!
|
||||
:sailboat: “<a href="https://www.team-malizia.com/news/the-message-behind-our-slogan-a-race-we-must-win">for a race we must win</a>”</p>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<footer class="post-footer">
|
||||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
<section id="comments" class="article-content">
|
||||
<h2>Kommentare</h2>
|
||||
<p>Mit einem Mastodon- oder Fediverse-Account kannst du <a href="https://reliverse.social/@comenius/114104961785328046">hier antworten</a></p>
|
||||
|
||||
<p id="mastodon-comments-list"><button id="load-comment">Kommentare laden</button></p>
|
||||
<div id="comments-wrapper">
|
||||
<noscript><p>Loading comments relies on JavaScript. Try enabling JavaScript and reloading, or visit <a href="https://reliverse.social/@comenius/114104961785328046">the original post</a> on Mastodon.</p></noscript>
|
||||
</div>
|
||||
<noscript>You need JavaScript to view the comments.</noscript>
|
||||
<script src="/js/purify.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
function escapeHtml(unsafe) {
|
||||
return unsafe
|
||||
.replace(/&/g, "&")
|
||||
.replace(/</g, "<")
|
||||
.replace(/>/g, ">")
|
||||
.replace(/"/g, """)
|
||||
.replace(/'/g, "'");
|
||||
}
|
||||
function emojify(input, emojis) {
|
||||
let output = input;
|
||||
|
||||
emojis.forEach(emoji => {
|
||||
let picture = document.createElement("picture");
|
||||
|
||||
let source = document.createElement("source");
|
||||
source.setAttribute("srcset", escapeHtml(emoji.url));
|
||||
source.setAttribute("media", "(prefers-reduced-motion: no-preference)");
|
||||
|
||||
let img = document.createElement("img");
|
||||
img.className = "emoji";
|
||||
img.setAttribute("src", escapeHtml(emoji.static_url));
|
||||
img.setAttribute("alt", `:${ emoji.shortcode }:`);
|
||||
img.setAttribute("title", `:${ emoji.shortcode }:`);
|
||||
img.setAttribute("width", "20");
|
||||
img.setAttribute("height", "20");
|
||||
|
||||
picture.appendChild(source);
|
||||
picture.appendChild(img);
|
||||
|
||||
output = output.replace(`:${ emoji.shortcode }:`, picture.outerHTML);
|
||||
});
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
function loadComments() {
|
||||
let commentsWrapper = document.getElementById("comments-wrapper");
|
||||
document.getElementById("load-comment").innerHTML = "Loading";
|
||||
fetch('https://reliverse.social/api/v1/statuses/114104961785328046/context')
|
||||
.then(function(response) {
|
||||
return response.json();
|
||||
})
|
||||
.then(function(data) {
|
||||
let descendants = data['descendants'];
|
||||
if(
|
||||
descendants &&
|
||||
Array.isArray(descendants) &&
|
||||
descendants.length > 0
|
||||
) {
|
||||
commentsWrapper.innerHTML = "";
|
||||
|
||||
descendants.forEach(function(status) {
|
||||
console.log(descendants)
|
||||
if( status.account.display_name.length > 0 ) {
|
||||
status.account.display_name = escapeHtml(status.account.display_name);
|
||||
status.account.display_name = emojify(status.account.display_name, status.account.emojis);
|
||||
} else {
|
||||
status.account.display_name = status.account.username;
|
||||
};
|
||||
|
||||
let instance = "";
|
||||
if( status.account.acct.includes("@") ) {
|
||||
instance = status.account.acct.split("@")[1];
|
||||
} else {
|
||||
instance = "reliverse.social";
|
||||
}
|
||||
|
||||
const isReply = status.in_reply_to_id !== "114104961785328046";
|
||||
|
||||
let op = false;
|
||||
if( status.account.acct == "comenius" ) {
|
||||
op = true;
|
||||
}
|
||||
|
||||
status.content = emojify(status.content, status.emojis);
|
||||
|
||||
let avatarSource = document.createElement("source");
|
||||
avatarSource.setAttribute("srcset", escapeHtml(status.account.avatar));
|
||||
avatarSource.setAttribute("media", "(prefers-reduced-motion: no-preference)");
|
||||
|
||||
let avatarImg = document.createElement("img");
|
||||
avatarImg.className = "avatar";
|
||||
avatarImg.setAttribute("src", escapeHtml(status.account.avatar_static));
|
||||
avatarImg.setAttribute("alt", `@${ status.account.username }@${ instance } avatar`);
|
||||
|
||||
let avatarPicture = document.createElement("picture");
|
||||
avatarPicture.appendChild(avatarSource);
|
||||
avatarPicture.appendChild(avatarImg);
|
||||
|
||||
let avatar = document.createElement("a");
|
||||
avatar.className = "avatar-link";
|
||||
avatar.setAttribute("href", status.account.url);
|
||||
avatar.setAttribute("rel", "external nofollow");
|
||||
avatar.setAttribute("title", `View profile at @${ status.account.username }@${ instance }`);
|
||||
avatar.appendChild(avatarPicture);
|
||||
|
||||
let instanceBadge = document.createElement("a");
|
||||
instanceBadge.className = "instance";
|
||||
instanceBadge.setAttribute("href", status.account.url);
|
||||
instanceBadge.setAttribute("title", `@${ status.account.username }@${ instance }`);
|
||||
instanceBadge.setAttribute("rel", "external nofollow");
|
||||
instanceBadge.textContent = instance;
|
||||
|
||||
let display = document.createElement("span");
|
||||
display.className = "display";
|
||||
display.setAttribute("itemprop", "author");
|
||||
display.setAttribute("itemtype", "http://schema.org/Person");
|
||||
display.innerHTML = status.account.display_name;
|
||||
|
||||
let header = document.createElement("header");
|
||||
header.className = "author";
|
||||
header.appendChild(display);
|
||||
header.appendChild(instanceBadge);
|
||||
|
||||
let permalink = document.createElement("a");
|
||||
permalink.setAttribute("href", status.url);
|
||||
permalink.setAttribute("itemprop", "url");
|
||||
permalink.setAttribute("title", `View comment at ${ instance }`);
|
||||
permalink.setAttribute("rel", "external nofollow");
|
||||
permalink.textContent = new Date( status.created_at ).toLocaleString('en-US', {
|
||||
dateStyle: "long",
|
||||
timeStyle: "short",
|
||||
});
|
||||
|
||||
let timestamp = document.createElement("time");
|
||||
timestamp.setAttribute("datetime", status.created_at);
|
||||
timestamp.appendChild(permalink);
|
||||
|
||||
let main = document.createElement("main");
|
||||
main.setAttribute("itemprop", "text");
|
||||
main.innerHTML = status.content;
|
||||
|
||||
let interactions = document.createElement("footer");
|
||||
if(status.favourites_count > 0) {
|
||||
let faves = document.createElement("a");
|
||||
faves.className = "faves";
|
||||
faves.setAttribute("href", `${ status.url }/favourites`);
|
||||
faves.setAttribute("title", `Favorites from ${ instance }`);
|
||||
faves.textContent = status.favourites_count;
|
||||
|
||||
interactions.appendChild(faves);
|
||||
}
|
||||
|
||||
let comment = document.createElement("article");
|
||||
comment.id = `comment-${ status.id }`;
|
||||
comment.className = isReply ? "comment comment-reply" : "comment";
|
||||
comment.setAttribute("itemprop", "comment");
|
||||
comment.setAttribute("itemtype", "http://schema.org/Comment");
|
||||
comment.appendChild(avatar);
|
||||
comment.appendChild(header);
|
||||
comment.appendChild(timestamp);
|
||||
comment.appendChild(main);
|
||||
comment.appendChild(interactions);
|
||||
|
||||
if(op === true) {
|
||||
comment.classList.add("op");
|
||||
|
||||
avatar.classList.add("op");
|
||||
avatar.setAttribute(
|
||||
"title",
|
||||
"Blog post author; " + avatar.getAttribute("title")
|
||||
);
|
||||
|
||||
instanceBadge.classList.add("op");
|
||||
instanceBadge.setAttribute(
|
||||
"title",
|
||||
"Blog post author: " + instanceBadge.getAttribute("title")
|
||||
);
|
||||
}
|
||||
|
||||
commentsWrapper.innerHTML += DOMPurify.sanitize(comment.outerHTML);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
document.getElementById("load-comment").addEventListener("click", loadComments);
|
||||
</script>
|
||||
</section>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<span>© 2025 <a href="http://localhost:1313/">Jörg Lohrer</a></span>
|
||||
<span>
|
||||
Powered by
|
||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
|
||||
<a rel="me" href="https://reliverse.social/@joerglohrer">Mastodon</a>
|
||||
</span>
|
||||
</footer>
|
||||
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||
<path d="M12 6H0l6-6z" />
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<script>
|
||||
let menu = document.getElementById('menu')
|
||||
if (menu) {
|
||||
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||
menu.onscroll = function () {
|
||||
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||
}
|
||||
}
|
||||
|
||||
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||
anchor.addEventListener("click", function (e) {
|
||||
e.preventDefault();
|
||||
var id = this.getAttribute("href").substr(1);
|
||||
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
||||
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||
behavior: "smooth"
|
||||
});
|
||||
} else {
|
||||
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
|
||||
}
|
||||
if (id === "top") {
|
||||
history.replaceState(null, null, " ");
|
||||
} else {
|
||||
history.pushState(null, null, `#${id}`);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
<script>
|
||||
var mybutton = document.getElementById("top-link");
|
||||
window.onscroll = function () {
|
||||
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||
mybutton.style.visibility = "visible";
|
||||
mybutton.style.opacity = "1";
|
||||
} else {
|
||||
mybutton.style.visibility = "hidden";
|
||||
mybutton.style.opacity = "0";
|
||||
}
|
||||
};
|
||||
|
||||
</script>
|
||||
<script>
|
||||
document.getElementById("theme-toggle").addEventListener("click", () => {
|
||||
if (document.body.className.includes("dark")) {
|
||||
document.body.classList.remove('dark');
|
||||
localStorage.setItem("pref-theme", 'light');
|
||||
} else {
|
||||
document.body.classList.add('dark');
|
||||
localStorage.setItem("pref-theme", 'dark');
|
||||
}
|
||||
})
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -136,6 +136,21 @@
|
|||
Archive
|
||||
</h1>
|
||||
</header>
|
||||
<div class="archive-year">
|
||||
<h2 class="archive-year-header">2025<sup class="archive-count"> 1</sup>
|
||||
</h2>
|
||||
<div class="archive-month">
|
||||
<h3 class="archive-month-header">März<sup class="archive-count"> 1</sup></h3>
|
||||
<div class="archive-posts">
|
||||
<div class="archive-entry">
|
||||
<h3 class="archive-entry-title entry-hint-parent">Gemeinsam die Bildungszukunft gestalten: Dezentrale OEP und OER als Wegbereiter
|
||||
</h3>
|
||||
<div class="archive-meta"><span title='2025-03-04 00:00:00 +0000 UTC'>März 4, 2025</span> · Jörg Lohrer, Steffen Rörtgen, Bastian Granas</div>
|
||||
<a class="entry-link" aria-label="post link to Gemeinsam die Bildungszukunft gestalten: Dezentrale OEP und OER als Wegbereiter" href="http://localhost:1313/2025/03/04/gemeinsam-die-bildungszukunft-gestalten-dezentrale-oep-und-oer-als-wegbereiter.html/"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="archive-year">
|
||||
<h2 class="archive-year-header">2024<sup class="archive-count"> 3</sup>
|
||||
</h2>
|
||||
|
|
|
|||
|
|
@ -1,43 +0,0 @@
|
|||
.mastodon-comment {
|
||||
color: #000;
|
||||
margin: 0.4rem;
|
||||
padding: 0.4rem;
|
||||
opacity: 0.8;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.mastodon-comment .author {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.mastodon-comment .author .details {
|
||||
margin: 10px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.mastodon-comment .author .date {
|
||||
margin-left: auto;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
.mastodon-comment .author a:link,
|
||||
.mastodon-comment .author a:visited,
|
||||
.mastodon-comment .status a:link {
|
||||
text-decoration: none;
|
||||
border-bottom: 0px;
|
||||
}
|
||||
|
||||
.mastodon-comment .content {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.mastodon-comment .status {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.mastodon-comment .status > div {
|
||||
display: inline-block;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
.mastodon-comment {
|
||||
color: #000;
|
||||
margin: 0.4rem;
|
||||
padding: 0.4rem;
|
||||
opacity: 0.8;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.mastodon-comment .author {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.mastodon-comment .author .details {
|
||||
margin: 10px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.mastodon-comment .author .date {
|
||||
margin-left: auto;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
.mastodon-comment .author a:link,
|
||||
.mastodon-comment .author a:visited,
|
||||
.mastodon-comment .status a:link {
|
||||
text-decoration: none;
|
||||
border-bottom: 0px;
|
||||
}
|
||||
|
||||
.mastodon-comment .content {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.mastodon-comment .status {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.mastodon-comment .status > div {
|
||||
display: inline-block;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 2.3 MiB |
|
|
@ -0,0 +1,284 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="de" dir="auto">
|
||||
|
||||
<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script><meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<title>Gemeinsam die Bildungszukunft gestalten: Dezentrale OEP und OER als Wegbereiter | Jörg Lohrer</title>
|
||||
<meta name="keywords" content="OER, OEP, Dezentrale Bildung, Interoperabilität, Nostr">
|
||||
<meta name="description" content="Einladung zum offenen Denken und Handeln in der Bildungsgemeinschaft. Der Beitrag diskutiert, warum eine dezentrale Infrastruktur für Open Educational Resources (OER) und Open Educational Practices (OEP) notwendig ist, um nachhaltige, resiliente und interoperable Bildungsräume zu schaffen. Dabei wird das Potenzial des Nostr-Protokolls für Bildungsnetzwerke beleuchtet.">
|
||||
<meta name="author" content="Jörg Lohrer, Steffen Rörtgen, Bastian Granas">
|
||||
<link rel="canonical" href="http://localhost:1313/dezentrale-oep-oer/">
|
||||
<link crossorigin="anonymous" href="/assets/css/stylesheet.fcb38834b6dee4645dbe7c77d6c5278e12448b758b3f769e48a2d86d35709cb2.css" integrity="sha256-/LOINLbe5GRdvnx31sUnjhJEi3WLP3aeSKLYbTVwnLI=" rel="preload stylesheet" as="style">
|
||||
<link rel="icon" href="http://localhost:1313/favicon.ico">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="http://localhost:1313/favicon-16x16.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="http://localhost:1313/favicon-32x32.png">
|
||||
<link rel="apple-touch-icon" href="http://localhost:1313/apple-touch-icon.png">
|
||||
<link rel="mask-icon" href="http://localhost:1313/safari-pinned-tab.svg">
|
||||
<meta name="theme-color" content="#2e2e33">
|
||||
<meta name="msapplication-TileColor" content="#2e2e33">
|
||||
<link rel="alternate" hreflang="de" href="http://localhost:1313/dezentrale-oep-oer/">
|
||||
<noscript>
|
||||
<style>
|
||||
#theme-toggle,
|
||||
.top-link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
<style>
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--theme: rgb(29, 30, 32);
|
||||
--entry: rgb(46, 46, 51);
|
||||
--primary: rgb(218, 218, 219);
|
||||
--secondary: rgb(155, 156, 157);
|
||||
--tertiary: rgb(65, 66, 68);
|
||||
--content: rgb(196, 196, 197);
|
||||
--code-block-bg: rgb(46, 46, 51);
|
||||
--code-bg: rgb(55, 56, 62);
|
||||
--border: rgb(51, 51, 51);
|
||||
}
|
||||
|
||||
.list {
|
||||
background: var(--theme);
|
||||
}
|
||||
|
||||
.list:not(.dark)::-webkit-scrollbar-track {
|
||||
background: 0 0;
|
||||
}
|
||||
|
||||
.list:not(.dark)::-webkit-scrollbar-thumb {
|
||||
border-color: var(--theme);
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
</noscript>
|
||||
</head>
|
||||
|
||||
<body class="" id="top">
|
||||
<script>
|
||||
if (localStorage.getItem("pref-theme") === "dark") {
|
||||
document.body.classList.add('dark');
|
||||
} else if (localStorage.getItem("pref-theme") === "light") {
|
||||
document.body.classList.remove('dark')
|
||||
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||
document.body.classList.add('dark');
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<header class="header">
|
||||
<nav class="nav">
|
||||
<div class="logo">
|
||||
<a href="http://localhost:1313/" accesskey="h" title="Jörg Lohrer (Alt + H)">Jörg Lohrer</a>
|
||||
<div class="logo-switches">
|
||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||
</svg>
|
||||
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<circle cx="12" cy="12" r="5"></circle>
|
||||
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||
</svg>
|
||||
</button>
|
||||
<ul class="lang-switch"><li>|</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<ul id="menu">
|
||||
<li>
|
||||
<a href="http://localhost:1313/" title="Jörg Lohrer">
|
||||
<span>Home</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://localhost:1313/archives/" title="Archive">
|
||||
<span>Blog</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://localhost:1313/impressum/" title="Impressum">
|
||||
<span>Impressum</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://reliverse.social/@joerglohrer" title="Mastodon">
|
||||
<span><i class="fa fa-heart"></i>Mastodon</span>
|
||||
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
|
||||
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
|
||||
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
|
||||
<path d="M15 3h6v6"></path>
|
||||
<path d="M10 14L21 3"></path>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="main">
|
||||
|
||||
<article class="post-single">
|
||||
<header class="post-header">
|
||||
|
||||
<h1 class="post-title entry-hint-parent">
|
||||
Gemeinsam die Bildungszukunft gestalten: Dezentrale OEP und OER als Wegbereiter
|
||||
</h1>
|
||||
<div class="post-description">
|
||||
Einladung zum offenen Denken und Handeln in der Bildungsgemeinschaft. Der Beitrag diskutiert, warum eine dezentrale Infrastruktur für Open Educational Resources (OER) und Open Educational Practices (OEP) notwendig ist, um nachhaltige, resiliente und interoperable Bildungsräume zu schaffen. Dabei wird das Potenzial des Nostr-Protokolls für Bildungsnetzwerke beleuchtet.
|
||||
</div>
|
||||
<div class="post-meta">Jörg Lohrer, Steffen Rörtgen, Bastian Granas
|
||||
|
||||
</div>
|
||||
</header>
|
||||
<figure class="entry-cover"><img loading="eager" src="https://oer.community/dezentrale-oep-oer/dezentrale-oep-oer.png" alt="">
|
||||
|
||||
</figure>
|
||||
<div class="post-content"><h1 id="gemeinsam-die-bildungszukunft-gestalten-dezentrale-oep-und-oer-als-wegbereiter">Gemeinsam die Bildungszukunft gestalten: Dezentrale OEP und OER als Wegbereiter<a hidden class="anchor" aria-hidden="true" href="#gemeinsam-die-bildungszukunft-gestalten-dezentrale-oep-und-oer-als-wegbereiter">#</a></h1>
|
||||
<p><em>Einladung zum offenen Denken und Handeln in der Bildungsgemeinschaft</em></p>
|
||||
<hr>
|
||||
<h3 id="warum-wir-eine-neue-perspektive-brauchen"><strong>Warum wir eine neue Perspektive brauchen</strong><a hidden class="anchor" aria-hidden="true" href="#warum-wir-eine-neue-perspektive-brauchen">#</a></h3>
|
||||
<p>Die aktuelle digitale Bildungslandschaft gleicht einem Flickenteppich isolierter Plattformen, die zwar öffentlich zugänglich, aber jeweils unterschiedlich verortet und mit verschiedenen Laufzeiten finanziert als große Einzelprojekte im digitalen Raum stehen.
|
||||
Diese „Datensilos“ verhindern nicht nur die Auffindbarkeit von Ressourcen und ihre gemeinschaftliche Weiternutzung, sondern gefährden auch die Nachhaltigkeit offener Bildung: Wenn Fördergelder auslaufen, verschwinden mit den Plattformen nicht nur Materialien sondern auch wertvolle Nutzerinteraktionen wie Kommentare, Sammlungen und auch die kollaborativen Weiterentwicklungen der Bildungsmaterialien aus den Communities.</p>
|
||||
<p>Doch Bildung sollte resilient sein – unabhängig von politischen oder finanziellen Rahmenbedingungen und gewissermaßen auch von der Plattform, auf der man gerade agiert.</p>
|
||||
<p>Hier setzt die Vision eines <strong>dezentralen Datenraums</strong> an: Statt zentraler Kontrolle verteilt er Daten auf viele Akteure, fördert Interoperabilität sowie Datensouveränität der Nutzer:innen und ermöglicht neue Geschäftsmodelle.
|
||||
Inspiriert vom Messaging Protokoll “<a href="https://nostr.how/de/what-is-nostr">Nostr</a>” – ursprünglich für zensurresistente soziale Netzwerke entwickelt – könnte so eine Infrastruktur entstehen, die Offenheit, Teilhabe und Vernetzung ins Zentrum stellt.</p>
|
||||
<hr>
|
||||
<h3 id="von-oer-zu-oep-offenheit-als-haltung">Von OER zu OEP: Offenheit als Haltung<a hidden class="anchor" aria-hidden="true" href="#von-oer-zu-oep-offenheit-als-haltung">#</a></h3>
|
||||
<p><strong>Open Educational Resources (OER)</strong> als frei verfügbare Bildungsmaterialien sind nur der erste Schritt.
|
||||
Echte <strong>Open Educational Practices (OEP)</strong> umfassen eine Kultur des Teilens, kollaboratives Lernen und demokratische Bildungsprozesse.
|
||||
Wie <a href="https://blog.bildungsserver.de/open-educational-practices-ist-viel-mehr-als-nur-der-einsatz-von-open-educational-resources/">Kerstin Mayrberger betont, geht es bei OEP im Kern um „Demokratiebildung</a>“: Lernende und Lehrende gestalten gemeinsam Inhalte, hinterfragen Strukturen und entwickeln kritisches Denken.</p>
|
||||
<p>Doch dafür braucht es mehr als nur frei lizenzierte Materialien. Es braucht (freie) Infrastrukturen, die:</p>
|
||||
<ol>
|
||||
<li><strong>Partizipation ermöglichen</strong>: Nutzer:innen behalten die Kontrolle über ihre Daten und Interaktionen.</li>
|
||||
<li><strong>Resilienz schaffen</strong>: Dezentrale Speicherung verhindert den „Stecker-Ziehen-Effekt“.</li>
|
||||
<li><strong>Vernetzung fördern</strong>: Plattformübergreifende Zusammenarbeit wird zur Norm, nicht zur Ausnahme.</li>
|
||||
</ol>
|
||||
<hr>
|
||||
<h3 id="wie-nostr-die-bildungsinfrastruktur-revolutionieren-könnte">Wie Nostr die Bildungsinfrastruktur revolutionieren könnte<a hidden class="anchor" aria-hidden="true" href="#wie-nostr-die-bildungsinfrastruktur-revolutionieren-könnte">#</a></h3>
|
||||
<p>Die technische Grundlage für vernetzte Bildung sollte also nicht analog zu Systemen entwickelt werden, deren Grundlage ist, Nutzer und Inhalte (oft ökonomisch gewollt) an sich zu binden.
|
||||
Stattdessen sollte sie strukturell so angelegt sein, die digitale Vernetzung, die wir uns für die Bildung wünschen, bereits grundlegend zu enthalten.
|
||||
Wir suchen somit nicht nach lokalen Softwarelösungen für die Organisation von OER- und OEP-Communities, sondern nach grundlegenden Technologieansätzen, die diese Anforderungen erfüllen können.
|
||||
Dadurch rücken neben den Schnittstellenlösungen, die Plattformen entwickeln müssen, um künftig anschlussfähig zu sein, zunehmend die zugrunde liegenden Protokolle für Zusammenarbeit und vernetzte Bildung in den Fokus einer Entwicklung, wenn diese auf Wirkung und Nachhaltigkeit angelegt sein soll.</p>
|
||||
<p>Das <a href="https://nostr.how/de/what-is-nostr">Nostr-Protokoll</a> erfüllt diese grundlegenden Anforderungen:</p>
|
||||
<ul>
|
||||
<li><strong>Clients & Relays</strong>: Bildungsplattformen agieren als Clients, die mit Relays (dezentralen Servern) verbunden sind. Jede Institution kann eigene Relays betreiben, die Daten synchronisieren – ähnlich wie E-Mails über verschiedene Provider versendet werden.</li>
|
||||
<li><strong>Events & Schlüsselpaare</strong>: Lernmaterialien, Kommentare oder Sammlungen werden als „Events“ gespeichert, signiert mit kryptografischen Schlüsseln. So bleibt die Urheberschaft nachvollziehbar, ohne zentrale Autorität.</li>
|
||||
<li><strong>Interoperabilität & Erweiterbarkeit</strong>: Das Protokoll ist modular aufgebaut, sodass verschiedene Eventtypen integriert werden können. So könnten Metadatenstandards wie das <a href="https://dini-ag-kim.github.io/amb/latest/">Allgemeine Metadatenprofil (AMB)</a> abgebildet werden, um die Publikation und den Konsum von Bildungsmetadaten plattformübergreifend zu erleichtern.</li>
|
||||
</ul>
|
||||
<p><strong>Beispiel</strong>: Eine Lehrkraft erstellt auf <a href="https://mundo.schule/">MUNDO</a> eine Merkliste zu „Nachhaltigkeit“. Dieses Event wird via Nostr-Relays an <a href="https://wirlernenonline.de/">WirLernenOnline</a> übertragen – die Liste ist somit auf Relays im Nostr-Netzwerk verfügbar. Selbst wenn MUNDO und WirLernenOnline offline gehen würden, wäre die Merkliste weiterhin verfügbar, da sie nicht auf der Plattform, sondern auf einem (oder mehreren) Relay(s) liegt.</p>
|
||||
<hr>
|
||||
<h3 id="chancen-für-gemeinschaft-und-nachhaltigkeit">Chancen für Gemeinschaft und Nachhaltigkeit<a hidden class="anchor" aria-hidden="true" href="#chancen-für-gemeinschaft-und-nachhaltigkeit">#</a></h3>
|
||||
<p>Ein dezentraler Datenraum fördert nicht nur technische Resilienz, sondern auch neue Formen der Zusammenarbeit:</p>
|
||||
<ul>
|
||||
<li><strong>Qualitätssicherung durch Crowdsourcing</strong>: Da Nutzer:innen nicht mehr durch Plattformgrenzen künstlich getrennt werden, können sie übergreifend miteinander und mit Ressourcen interagieren und sich darüber austauschen. Ihr sozialer Graph kann dabei – ähnlich dem „Circle of Trust“ der norwegischen <a href="https://doi.org/10.25656/01:16993">NDLA</a>-Plattform - genutzt werden, um die Relevanz von Ressourcen algorithmisch einzuordnen.</li>
|
||||
<li><strong>Monetarisierung ohne Abhängigkeit</strong>: Services wie Metadaten-Anreicherung oder Premium-Relays (für personalisierte Feeds, zusätzliche Materialien) können monetarisierbar auf dem Protokoll abgebildet werden und könnten zusätzliche Einnahmequellen bieten, während die Infrastruktur gemeinfrei bleibt .</li>
|
||||
<li><strong>Empowerment kleiner Akteure</strong>: Lokale und kleinere Initiativen, die bis heute (2025!) nicht in der Lage sind, sich und ihre Materialien selbst in die öffentliche Bildungsinfrastruktur einzubringen, erhalten erweiterte Möglichkeiten.</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h3 id="aufruf-zum-mitgestalten">Aufruf zum Mitgestalten<a hidden class="anchor" aria-hidden="true" href="#aufruf-zum-mitgestalten">#</a></h3>
|
||||
<p>Die Umsetzung dieser Vision lebt von der Gemeinschaft. Inspiriert von Projekten wie <a href="https://relilab.org/relilab/">ReliLab</a> oder <a href="https://synlloer.blogs.uni-hamburg.de/">SynLLOER</a>, laden wir ein:</p>
|
||||
<ol>
|
||||
<li><strong>Erprobt die Dezentralität</strong>: Testet den <strong>Proof of Concept</strong> „<a href="https://www.edufeed.org/">EduFeed</a>“, der Nostr für Bildungsmetadaten nutzt.</li>
|
||||
<li><strong>Denkt infrastrukturübergreifend</strong>: Entwickelt OER nicht im Silo, sondern integriert sie in dezentrale Netzwerke.</li>
|
||||
<li><strong>Engagiert euch politisch</strong>: Fordert Fördergelder für offene Protokolle statt proprietärer Plattformen.</li>
|
||||
</ol>
|
||||
<p>Wie <a href="https://digilog.blog/2024/01/08/oep-groesser-denken/">Niels Winkelmann im Digilog.Blog </a>schreibt: „OEP systemisch zu denken ist der Wind in den Segeln für eine Vision offener Bildung“ .
|
||||
Lasst uns gemeinsam die Segel setzen – dezentral, partizipativ und zukunftssicher!
|
||||
:sailboat: “<a href="https://www.team-malizia.com/news/the-message-behind-our-slogan-a-race-we-must-win">for a race we must win</a>”</p>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<footer class="post-footer">
|
||||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
</article>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<span>© 2025 <a href="http://localhost:1313/">Jörg Lohrer</a></span>
|
||||
<span>
|
||||
Powered by
|
||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
|
||||
<a rel="me" href="https://reliverse.social/@joerglohrer">Mastodon</a>
|
||||
</span>
|
||||
</footer>
|
||||
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||
<path d="M12 6H0l6-6z" />
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<script>
|
||||
let menu = document.getElementById('menu')
|
||||
if (menu) {
|
||||
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||
menu.onscroll = function () {
|
||||
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||
}
|
||||
}
|
||||
|
||||
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||
anchor.addEventListener("click", function (e) {
|
||||
e.preventDefault();
|
||||
var id = this.getAttribute("href").substr(1);
|
||||
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
||||
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||
behavior: "smooth"
|
||||
});
|
||||
} else {
|
||||
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
|
||||
}
|
||||
if (id === "top") {
|
||||
history.replaceState(null, null, " ");
|
||||
} else {
|
||||
history.pushState(null, null, `#${id}`);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
<script>
|
||||
var mybutton = document.getElementById("top-link");
|
||||
window.onscroll = function () {
|
||||
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||
mybutton.style.visibility = "visible";
|
||||
mybutton.style.opacity = "1";
|
||||
} else {
|
||||
mybutton.style.visibility = "hidden";
|
||||
mybutton.style.opacity = "0";
|
||||
}
|
||||
};
|
||||
|
||||
</script>
|
||||
<script>
|
||||
document.getElementById("theme-toggle").addEventListener("click", () => {
|
||||
if (document.body.className.includes("dark")) {
|
||||
document.body.classList.remove('dark');
|
||||
localStorage.setItem("pref-theme", 'light');
|
||||
} else {
|
||||
document.body.classList.add('dark');
|
||||
localStorage.setItem("pref-theme", 'dark');
|
||||
}
|
||||
})
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -166,7 +166,6 @@ Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die Rich
|
|||
<ul class="post-tags">
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
|
||||
|
|
|
|||
|
|
@ -6,8 +6,15 @@
|
|||
<description>Recent content on Jörg Lohrer</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>de</language>
|
||||
<lastBuildDate>Wed, 03 Apr 2024 00:00:00 +0000</lastBuildDate>
|
||||
<lastBuildDate>Tue, 04 Mar 2025 00:00:00 +0000</lastBuildDate>
|
||||
<atom:link href="http://localhost:1313/index.xml" rel="self" type="application/rss+xml" />
|
||||
<item>
|
||||
<title>Gemeinsam die Bildungszukunft gestalten: Dezentrale OEP und OER als Wegbereiter</title>
|
||||
<link>http://localhost:1313/2025/03/04/gemeinsam-die-bildungszukunft-gestalten-dezentrale-oep-und-oer-als-wegbereiter.html/</link>
|
||||
<pubDate>Tue, 04 Mar 2025 00:00:00 +0000</pubDate>
|
||||
<guid>http://localhost:1313/2025/03/04/gemeinsam-die-bildungszukunft-gestalten-dezentrale-oep-und-oer-als-wegbereiter.html/</guid>
|
||||
<description>Einladung zum offenen Denken und Handeln in der Bildungsgemeinschaft. Der Beitrag diskutiert, warum eine dezentrale Infrastruktur für Open Educational Resources (OER) und Open Educational Practices (OEP) notwendig ist, um nachhaltige, resiliente und interoperable Bildungsräume zu schaffen. Dabei wird das Potenzial des Nostr-Protokolls für Bildungsnetzwerke beleuchtet</description>
|
||||
</item>
|
||||
<item>
|
||||
<title>KIBedenken - Bewusstsein</title>
|
||||
<link>http://localhost:1313/2024/04/03/kibedenken-bewusstsein.html/</link>
|
||||
|
|
|
|||
|
|
@ -1,124 +0,0 @@
|
|||
function escapeHtml(unsafe) {
|
||||
return unsafe
|
||||
.replace(/&/g, "&")
|
||||
.replace(/</g, "<")
|
||||
.replace(/>/g, ">")
|
||||
.replace(/"/g, """)
|
||||
.replace(/'/g, "'");
|
||||
}
|
||||
|
||||
function toot_active(toot, what) {
|
||||
var count = toot[what+'_count'];
|
||||
return count > 0 ? 'active' : '';
|
||||
}
|
||||
|
||||
function toot_count(toot, what) {
|
||||
var count = toot[what+'_count'];
|
||||
return count > 0 ? count : '';
|
||||
}
|
||||
|
||||
function user_account(account) {
|
||||
var result =`@${account.acct}`;
|
||||
if (account.acct.indexOf('@') === -1) {
|
||||
var domain = new URL(account.url)
|
||||
result += `@${domain.hostname}`
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
function render_toots(toots, in_reply_to, depth) {
|
||||
var tootsToRender = toots
|
||||
.filter(toot => toot.in_reply_to_id === in_reply_to)
|
||||
.sort((a, b) => a.created_at.localeCompare(b.created_at));
|
||||
tootsToRender.forEach(toot => render_toot(toots, toot, depth));
|
||||
}
|
||||
|
||||
function render_toot(toots, toot, depth) {
|
||||
toot.account.display_name = escapeHtml(toot.account.display_name);
|
||||
toot.account.emojis.forEach(emoji => {
|
||||
toot.account.display_name = toot.account.display_name.replace(`:${emoji.shortcode}:`, `<img src="${escapeHtml(emoji.static_url)}" alt="Emoji ${emoji.shortcode}" height="20" width="20" />`);
|
||||
});
|
||||
if (!blockedToots.includes(toot.url)) {
|
||||
mastodonComment =
|
||||
`<div class="mastodon-comment" style="margin-left: calc(var(--mastodon-comment-indent) * ${depth})">
|
||||
<div class="author">
|
||||
<div class="avatar">
|
||||
<img src="${escapeHtml(toot.account.avatar_static)}" height=60 width=60 alt="">
|
||||
</div>
|
||||
<div class="details">
|
||||
<a class="name" href="${toot.account.url}" rel="nofollow">${toot.account.display_name}</a>
|
||||
<a class="user" href="${toot.account.url}" rel="nofollow">${user_account(toot.account)}</a>
|
||||
</div>
|
||||
<a class="date" href="${toot.url}" rel="nofollow">${toot.created_at.substr(0, 10)} ${toot.created_at.substr(11, 8)}</a>
|
||||
</div>
|
||||
<div class="content">${toot.content}</div>
|
||||
<div class="attachments">
|
||||
${toot.media_attachments.map(attachment => {
|
||||
if (attachment.type === 'image') {
|
||||
return `<a href="${attachment.url}" rel="nofollow"><img src="${attachment.preview_url}" alt="${attachment.description}" /></a>`;
|
||||
} else if (attachment.type === 'video') {
|
||||
return `<video controls><source src="${attachment.url}" type="${attachment.mime_type}"></video>`;
|
||||
} else if (attachment.type === 'gifv') {
|
||||
return `<video autoplay loop muted playsinline><source src="${attachment.url}" type="${attachment.mime_type}"></video>`;
|
||||
} else if (attachment.type === 'audio') {
|
||||
return `<audio controls><source src="${attachment.url}" type="${attachment.mime_type}"></audio>`;
|
||||
} else {
|
||||
return `<a href="${attachment.url}" rel="nofollow">${attachment.type}</a>`;
|
||||
}
|
||||
}).join('')}
|
||||
</div>
|
||||
<div class="status">
|
||||
<div class="replies ${toot_active(toot, 'replies')}">
|
||||
<a href="${toot.url}" rel="nofollow"><i class="fa fa-reply fa-fw"></i>${toot_count(toot, 'replies')}</a>
|
||||
</div>
|
||||
<div class="reblogs ${toot_active(toot, 'reblogs')}">
|
||||
<a href="${toot.url}" rel="nofollow"><i class="fa fa-retweet fa-fw"></i>${toot_count(toot, 'reblogs')}</a>
|
||||
</div>
|
||||
<div class="favourites ${toot_active(toot, 'favourites')}">
|
||||
<a href="${toot.url}" rel="nofollow"><i class="fa fa-star fa-fw"></i>${toot_count(toot, 'favourites')}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>`;
|
||||
document.getElementById('mastodon-comments-list').appendChild(DOMPurify.sanitize(mastodonComment, {'RETURN_DOM_FRAGMENT': true}));
|
||||
}
|
||||
|
||||
render_toots(toots, toot.id, depth + 1)
|
||||
}
|
||||
|
||||
function loadComments() {
|
||||
if (commentsLoaded) return;
|
||||
|
||||
document.getElementById("mastodon-comments-list").innerHTML = "Loading comments from the Fediverse...";
|
||||
|
||||
console.log('Comment URL: https://' + host + '/api/v1/statuses/' + id + '/context');
|
||||
fetch('https://' + host + '/api/v1/statuses/' + id + '/context')
|
||||
.then(function(response) {
|
||||
return response.json();
|
||||
})
|
||||
.then(function(data) {
|
||||
if(data['descendants'] && Array.isArray(data['descendants']) && data['descendants'].length > 0) {
|
||||
document.getElementById('mastodon-comments-list').innerHTML = "";
|
||||
render_toots(data['descendants'], id, 0)
|
||||
} else {
|
||||
document.getElementById('mastodon-comments-list').innerHTML = "<p>No comments found</p>";
|
||||
}
|
||||
|
||||
commentsLoaded = true;
|
||||
});
|
||||
}
|
||||
|
||||
function respondToVisibility(element, callback) {
|
||||
var options = {
|
||||
root: null,
|
||||
};
|
||||
|
||||
var observer = new IntersectionObserver((entries, observer) => {
|
||||
entries.forEach(entry => {
|
||||
if (entry.intersectionRatio > 0) {
|
||||
callback();
|
||||
}
|
||||
});
|
||||
}, options);
|
||||
|
||||
observer.observe(element);
|
||||
}
|
||||
|
|
@ -1,338 +0,0 @@
|
|||
const styles = `
|
||||
:root {
|
||||
--font-color: #5d686f;
|
||||
--font-size: 1.0rem;
|
||||
|
||||
--block-border-width: 1px;
|
||||
--block-border-radius: 3px;
|
||||
--block-border-color: #ededf0;
|
||||
--block-background-color: #f7f8f8;
|
||||
|
||||
--comment-indent: 40px;
|
||||
}
|
||||
|
||||
#mastodon-stats {
|
||||
text-align: center;
|
||||
font-size: calc(var(--font-size) * 2)
|
||||
}
|
||||
|
||||
#mastodon-comments-list {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.mastodon-comment {
|
||||
background-color: var(--block-background-color);
|
||||
border-radius: var(--block-border-radius);
|
||||
border: var(--block-border-width) var(--block-border-color) solid;
|
||||
padding: 20px;
|
||||
margin-bottom: 1.5rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
color: var(--font-color);
|
||||
font-size: var(--font-size);
|
||||
}
|
||||
|
||||
.mastodon-comment p {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.mastodon-comment .author {
|
||||
padding-top:0;
|
||||
display:flex;
|
||||
}
|
||||
|
||||
.mastodon-comment .author a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.mastodon-comment .author .avatar img {
|
||||
margin-right:1rem;
|
||||
min-width:60px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.mastodon-comment .author .details {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.mastodon-comment .author .details .name {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.mastodon-comment .author .details .user {
|
||||
color: #5d686f;
|
||||
font-size: medium;
|
||||
}
|
||||
|
||||
.mastodon-comment .author .date {
|
||||
margin-left: auto;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
.mastodon-comment .content {
|
||||
margin: 15px 20px;
|
||||
}
|
||||
|
||||
.mastodon-comment .attachments {
|
||||
margin: 0px 10px;
|
||||
}
|
||||
|
||||
.mastodon-comment .attachments > * {
|
||||
margin: 0px 10px;
|
||||
}
|
||||
|
||||
.mastodon-comment .attachments img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.mastodon-comment .content p:first-child {
|
||||
margin-top:0;
|
||||
margin-bottom:0;
|
||||
}
|
||||
|
||||
.mastodon-comment .status > div, #mastodon-stats > div {
|
||||
display: inline-block;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.mastodon-comment .status a, #mastodon-stats a {
|
||||
color: #5d686f;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.mastodon-comment .status .replies.active a, #mastodon-stats .replies.active a {
|
||||
color: #003eaa;
|
||||
}
|
||||
|
||||
.mastodon-comment .status .reblogs.active a, #mastodon-stats .reblogs.active a {
|
||||
color: #8c8dff;
|
||||
}
|
||||
|
||||
.mastodon-comment .status .favourites.active a, #mastodon-stats .favourites.active a {
|
||||
color: #ca8f04;
|
||||
}
|
||||
`;
|
||||
|
||||
class MastodonComments extends HTMLElement {
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
this.host = this.getAttribute("host");
|
||||
this.user = this.getAttribute("user");
|
||||
this.tootId = this.getAttribute("tootId");
|
||||
|
||||
this.commentsLoaded = false;
|
||||
|
||||
const styleElem = document.createElement("style");
|
||||
styleElem.innerHTML = styles;
|
||||
document.head.appendChild(styleElem);
|
||||
}
|
||||
|
||||
connectedCallback() {
|
||||
this.innerHTML = `
|
||||
<div id="mastodon-stats"></div>
|
||||
<h2>Comments</h2>
|
||||
|
||||
<p>You can use your Fediverse (i.e. Mastodon, among many others) account to reply to this <a class="link"
|
||||
href="https://${this.host}/@${this.user}/${this.tootId}">post</a>.
|
||||
</p>
|
||||
<p id="mastodon-comments-list"></p>
|
||||
`;
|
||||
|
||||
const comments = document.getElementById("mastodon-comments-list");
|
||||
const rootStyle = this.getAttribute("style");
|
||||
if (rootStyle) {
|
||||
comments.setAttribute("style", rootStyle);
|
||||
}
|
||||
this.respondToVisibility(comments, this.loadComments.bind(this));
|
||||
}
|
||||
|
||||
escapeHtml(unsafe) {
|
||||
return (unsafe || "")
|
||||
.replace(/&/g, "&")
|
||||
.replace(/</g, "<")
|
||||
.replace(/>/g, ">")
|
||||
.replace(/"/g, """)
|
||||
.replace(/'/g, "'");
|
||||
}
|
||||
|
||||
toot_active(toot, what) {
|
||||
var count = toot[what + "_count"];
|
||||
return count > 0 ? "active" : "";
|
||||
}
|
||||
|
||||
toot_count(toot, what) {
|
||||
var count = toot[what + "_count"];
|
||||
return count > 0 ? count : "";
|
||||
}
|
||||
|
||||
toot_stats(toot) {
|
||||
return `
|
||||
<div class="replies ${this.toot_active(toot, "replies")}">
|
||||
<a href="${
|
||||
toot.url
|
||||
}" rel="nofollow"><i class="fa fa-reply fa-fw"></i>${this.toot_count(
|
||||
toot,
|
||||
"replies",
|
||||
)}</a>
|
||||
</div>
|
||||
<div class="reblogs ${this.toot_active(toot, "reblogs")}">
|
||||
<a href="${
|
||||
toot.url
|
||||
}" rel="nofollow"><i class="fa fa-retweet fa-fw"></i>${this.toot_count(
|
||||
toot,
|
||||
"reblogs",
|
||||
)}</a>
|
||||
</div>
|
||||
<div class="favourites ${this.toot_active(toot, "favourites")}">
|
||||
<a href="${
|
||||
toot.url
|
||||
}" rel="nofollow"><i class="fa fa-star fa-fw"></i>${this.toot_count(
|
||||
toot,
|
||||
"favourites",
|
||||
)}</a>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
|
||||
user_account(account) {
|
||||
var result = `@${account.acct}`;
|
||||
if (account.acct.indexOf("@") === -1) {
|
||||
var domain = new URL(account.url);
|
||||
result += `@${domain.hostname}`;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
render_toots(toots, in_reply_to, depth) {
|
||||
var tootsToRender = toots
|
||||
.filter((toot) => toot.in_reply_to_id === in_reply_to)
|
||||
.sort((a, b) => a.created_at.localeCompare(b.created_at));
|
||||
tootsToRender.forEach((toot) => this.render_toot(toots, toot, depth));
|
||||
}
|
||||
|
||||
render_toot(toots, toot, depth) {
|
||||
toot.account.display_name = this.escapeHtml(toot.account.display_name);
|
||||
toot.account.emojis.forEach((emoji) => {
|
||||
toot.account.display_name = toot.account.display_name.replace(
|
||||
`:${emoji.shortcode}:`,
|
||||
`<img src="${this.escapeHtml(emoji.static_url)}" alt="Emoji ${
|
||||
emoji.shortcode
|
||||
}" height="20" width="20" />`,
|
||||
);
|
||||
});
|
||||
|
||||
const mastodonComment = `<div class="mastodon-comment" style="margin-left: calc(var(--comment-indent) * ${depth})">
|
||||
<div class="author">
|
||||
<div class="avatar">
|
||||
<img src="${this.escapeHtml(
|
||||
toot.account.avatar_static,
|
||||
)}" height=60 width=60 alt="">
|
||||
</div>
|
||||
<div class="details">
|
||||
<a class="name" href="${toot.account.url}" rel="nofollow">${
|
||||
toot.account.display_name
|
||||
}</a>
|
||||
<a class="user" href="${
|
||||
toot.account.url
|
||||
}" rel="nofollow">${this.user_account(toot.account)}</a>
|
||||
</div>
|
||||
<a class="date" href="${
|
||||
toot.url
|
||||
}" rel="nofollow">${toot.created_at.substr(
|
||||
0,
|
||||
10,
|
||||
)} ${toot.created_at.substr(11, 8)}</a>
|
||||
</div>
|
||||
<div class="content">${toot.content}</div>
|
||||
<div class="attachments">
|
||||
${toot.media_attachments
|
||||
.map((attachment) => {
|
||||
if (attachment.type === "image") {
|
||||
return `<a href="${attachment.url}" rel="nofollow"><img src="${
|
||||
attachment.preview_url
|
||||
}" alt="${this.escapeHtml(attachment.description)}" /></a>`;
|
||||
} else if (attachment.type === "video") {
|
||||
return `<video controls><source src="${attachment.url}" type="${attachment.mime_type}"></video>`;
|
||||
} else if (attachment.type === "gifv") {
|
||||
return `<video autoplay loop muted playsinline><source src="${attachment.url}" type="${attachment.mime_type}"></video>`;
|
||||
} else if (attachment.type === "audio") {
|
||||
return `<audio controls><source src="${attachment.url}" type="${attachment.mime_type}"></audio>`;
|
||||
} else {
|
||||
return `<a href="${attachment.url}" rel="nofollow">${attachment.type}</a>`;
|
||||
}
|
||||
})
|
||||
.join("")}
|
||||
</div>
|
||||
<div class="status">
|
||||
${this.toot_stats(toot)}
|
||||
</div>
|
||||
</div>`;
|
||||
|
||||
var div = document.createElement("div");
|
||||
div.innerHTML =
|
||||
typeof DOMPurify !== "undefined"
|
||||
? DOMPurify.sanitize(mastodonComment.trim())
|
||||
: mastodonComment.trim();
|
||||
document
|
||||
.getElementById("mastodon-comments-list")
|
||||
.appendChild(div.firstChild);
|
||||
|
||||
this.render_toots(toots, toot.id, depth + 1);
|
||||
}
|
||||
|
||||
loadComments() {
|
||||
if (this.commentsLoaded) return;
|
||||
|
||||
document.getElementById("mastodon-comments-list").innerHTML =
|
||||
"Loading comments from the Fediverse...";
|
||||
|
||||
let _this = this;
|
||||
|
||||
fetch("https://" + this.host + "/api/v1/statuses/" + this.tootId)
|
||||
.then((response) => response.json())
|
||||
.then((toot) => {
|
||||
document.getElementById("mastodon-stats").innerHTML =
|
||||
this.toot_stats(toot);
|
||||
});
|
||||
|
||||
fetch(
|
||||
"https://" + this.host + "/api/v1/statuses/" + this.tootId + "/context",
|
||||
)
|
||||
.then((response) => response.json())
|
||||
.then((data) => {
|
||||
if (
|
||||
data["descendants"] &&
|
||||
Array.isArray(data["descendants"]) &&
|
||||
data["descendants"].length > 0
|
||||
) {
|
||||
document.getElementById("mastodon-comments-list").innerHTML = "";
|
||||
_this.render_toots(data["descendants"], _this.tootId, 0);
|
||||
} else {
|
||||
document.getElementById("mastodon-comments-list").innerHTML =
|
||||
"<p>No comments found</p>";
|
||||
}
|
||||
|
||||
_this.commentsLoaded = true;
|
||||
});
|
||||
}
|
||||
|
||||
respondToVisibility(element, callback) {
|
||||
var options = {
|
||||
root: null,
|
||||
};
|
||||
|
||||
var observer = new IntersectionObserver((entries, observer) => {
|
||||
entries.forEach((entry) => {
|
||||
if (entry.intersectionRatio > 0) {
|
||||
callback();
|
||||
}
|
||||
});
|
||||
}, options);
|
||||
|
||||
observer.observe(element);
|
||||
}
|
||||
}
|
||||
|
||||
customElements.define("mastodon-comments", MastodonComments);
|
||||
|
After Width: | Height: | Size: 2.3 MiB |
|
|
@ -137,6 +137,23 @@
|
|||
</h1>
|
||||
</header>
|
||||
|
||||
<article class="post-entry">
|
||||
<figure class="entry-cover">
|
||||
<img loading="lazy" src="http://localhost:1313/2025/03/04/gemeinsam-die-bildungszukunft-gestalten-dezentrale-oep-und-oer-als-wegbereiter.html/dezentrale-oep-oer.png" alt="Ein in den Sand gezeichneter Strauß mit den Buchstaben 'OER' – ein Sinnbild für offene Bildung und freien Wissensaustausch. Die Wortspiel-Verbindung zu 'Nostr' (das dezentralisierte Kommunikationsprotokoll) liegt nahe: 'Nostr' klingt wie ein Teil von 'Ostrich' (Englisch für Strauß). So wie der Ichthys-Fisch einst als geheimes Erkennungszeichen diente, steht dieses Symbol für eine Gemeinschaft, die Wissen offen teilt – frei, unabhängig und widerstandsfähig.">
|
||||
</figure>
|
||||
<header class="entry-header">
|
||||
<h2 class="entry-hint-parent">Gemeinsam die Bildungszukunft gestalten: Dezentrale OEP und OER als Wegbereiter
|
||||
</h2>
|
||||
</header>
|
||||
<div class="entry-content">
|
||||
<p>Gemeinsam die Bildungszukunft gestalten: Dezentrale OEP und OER als Wegbereiter Einladung zum offenen Denken und Handeln in der Bildungsgemeinschaft
|
||||
Warum wir eine neue Perspektive brauchen Die aktuelle digitale Bildungslandschaft gleicht einem Flickenteppich isolierter Plattformen, die zwar öffentlich zugänglich, aber jeweils unterschiedlich verortet und mit verschiedenen Laufzeiten finanziert als große Einzelprojekte im digitalen Raum stehen. Diese „Datensilos“ verhindern nicht nur die Auffindbarkeit von Ressourcen und ihre gemeinschaftliche Weiternutzung, sondern gefährden auch die Nachhaltigkeit offener Bildung: Wenn Fördergelder auslaufen, verschwinden mit den Plattformen nicht nur Materialien sondern auch wertvolle Nutzerinteraktionen wie Kommentare, Sammlungen und auch die kollaborativen Weiterentwicklungen der Bildungsmaterialien aus den Communities.
|
||||
...</p>
|
||||
</div>
|
||||
<footer class="entry-footer"><span title='2025-03-04 00:00:00 +0000 UTC'>März 4, 2025</span> · Jörg Lohrer, Steffen Rörtgen, Bastian Granas</footer>
|
||||
<a class="entry-link" aria-label="post link to Gemeinsam die Bildungszukunft gestalten: Dezentrale OEP und OER als Wegbereiter" href="http://localhost:1313/2025/03/04/gemeinsam-die-bildungszukunft-gestalten-dezentrale-oep-und-oer-als-wegbereiter.html/"></a>
|
||||
</article>
|
||||
|
||||
<article class="post-entry">
|
||||
<figure class="entry-cover">
|
||||
<img loading="lazy" src="http://localhost:1313/2024/04/03/kibedenken-bewusstsein.html/kibedenken.png" alt="Das Foto des Roboters, der seine Reflexion im Wasser betrachtet referenziert auf Narziss aus der griechischen Mythologie, der die Liebe anderer zurückwies und sich in sein eigenes Spiegelbild verliebte und die Illustration von Caravaggio [(siehe wikipedia #Narziss)](https://de.wikipedia.org/wiki/Narziss#) erstellt mit der KI Midjourney und dem Prompt: *photographed with the Canon EOS 5D Mark IV a young robot boy with his head down, looking at his reflection in water --v6.0*">
|
||||
|
|
@ -290,21 +307,6 @@ SSH Zugriff ermöglichen Allow SSH root login on Ubuntu 20.04 Focal Fossa Linux
|
|||
<footer class="entry-footer"><span title='2022-02-16 00:00:00 +0000 UTC'>Februar 16, 2022</span> · Jörg Lohrer</footer>
|
||||
<a class="entry-link" aria-label="post link to Moodle Server mit Ubuntu 20 LTS und Iomad" href="http://localhost:1313/2022/02/16/moodle-iomad-linux.html/"></a>
|
||||
</article>
|
||||
|
||||
<article class="post-entry">
|
||||
<figure class="entry-cover">
|
||||
<img loading="lazy" src="http://localhost:1313/2021/12/03/bibelfussball.html/bibelfussball1.png" alt="">
|
||||
</figure>
|
||||
<header class="entry-header">
|
||||
<h2 class="entry-hint-parent">Bibelfußball - Nachschlage-Quiz zur Bibel
|
||||
</h2>
|
||||
</header>
|
||||
<div class="entry-content">
|
||||
<p>Bibelfußball: Nachschlage-Quiz zur Bibel Bibelfußball ist ein einfaches und begeisterndes Quizduell, bei dem die Lehrperson die Klasse in zwei Hälften teilt, die wie beim Fußball gegeneinander spielen. Das Fußballfeld mit seinen entsprechenden Linien wird dabei an die Wandtafel gezeichnet und der Ball wird durch einen Magnetknopf symbolisiert. Gepunktet wird, indem der Lehrer eine Frage stellt und eine Bibelstelle nennt, die es nachzuschlagen gilt. Wer die Stelle zuerst findet und die Antwort ruft, dessen Mannschaft darf den Ball eine Linie weiterrücken in Richtung des gegnerischen Tores. Wurde ein Tor geschossen, beginnt das Spiel von neuem an der Mittellinie. ...</p>
|
||||
</div>
|
||||
<footer class="entry-footer"><span title='2021-12-03 00:00:00 +0000 UTC'>Dezember 3, 2021</span> · Jörg Lohrer</footer>
|
||||
<a class="entry-link" aria-label="post link to Bibelfußball - Nachschlage-Quiz zur Bibel" href="http://localhost:1313/2021/12/03/bibelfussball.html/"></a>
|
||||
</article>
|
||||
<footer class="page-footer">
|
||||
<nav class="pagination">
|
||||
<a class="next" href="http://localhost:1313/posts/page/2/">Nächste »
|
||||
|
|
|
|||
|
|
@ -6,8 +6,15 @@
|
|||
<description>Recent content in Posts on Jörg Lohrer</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>de</language>
|
||||
<lastBuildDate>Wed, 03 Apr 2024 00:00:00 +0000</lastBuildDate>
|
||||
<lastBuildDate>Tue, 04 Mar 2025 00:00:00 +0000</lastBuildDate>
|
||||
<atom:link href="http://localhost:1313/posts/index.xml" rel="self" type="application/rss+xml" />
|
||||
<item>
|
||||
<title>Gemeinsam die Bildungszukunft gestalten: Dezentrale OEP und OER als Wegbereiter</title>
|
||||
<link>http://localhost:1313/2025/03/04/gemeinsam-die-bildungszukunft-gestalten-dezentrale-oep-und-oer-als-wegbereiter.html/</link>
|
||||
<pubDate>Tue, 04 Mar 2025 00:00:00 +0000</pubDate>
|
||||
<guid>http://localhost:1313/2025/03/04/gemeinsam-die-bildungszukunft-gestalten-dezentrale-oep-und-oer-als-wegbereiter.html/</guid>
|
||||
<description>Einladung zum offenen Denken und Handeln in der Bildungsgemeinschaft. Der Beitrag diskutiert, warum eine dezentrale Infrastruktur für Open Educational Resources (OER) und Open Educational Practices (OEP) notwendig ist, um nachhaltige, resiliente und interoperable Bildungsräume zu schaffen. Dabei wird das Potenzial des Nostr-Protokolls für Bildungsnetzwerke beleuchtet</description>
|
||||
</item>
|
||||
<item>
|
||||
<title>KIBedenken - Bewusstsein</title>
|
||||
<link>http://localhost:1313/2024/04/03/kibedenken-bewusstsein.html/</link>
|
||||
|
|
|
|||
|
|
@ -137,6 +137,21 @@
|
|||
</h1>
|
||||
</header>
|
||||
|
||||
<article class="post-entry">
|
||||
<figure class="entry-cover">
|
||||
<img loading="lazy" src="http://localhost:1313/2021/12/03/bibelfussball.html/bibelfussball1.png" alt="">
|
||||
</figure>
|
||||
<header class="entry-header">
|
||||
<h2 class="entry-hint-parent">Bibelfußball - Nachschlage-Quiz zur Bibel
|
||||
</h2>
|
||||
</header>
|
||||
<div class="entry-content">
|
||||
<p>Bibelfußball: Nachschlage-Quiz zur Bibel Bibelfußball ist ein einfaches und begeisterndes Quizduell, bei dem die Lehrperson die Klasse in zwei Hälften teilt, die wie beim Fußball gegeneinander spielen. Das Fußballfeld mit seinen entsprechenden Linien wird dabei an die Wandtafel gezeichnet und der Ball wird durch einen Magnetknopf symbolisiert. Gepunktet wird, indem der Lehrer eine Frage stellt und eine Bibelstelle nennt, die es nachzuschlagen gilt. Wer die Stelle zuerst findet und die Antwort ruft, dessen Mannschaft darf den Ball eine Linie weiterrücken in Richtung des gegnerischen Tores. Wurde ein Tor geschossen, beginnt das Spiel von neuem an der Mittellinie. ...</p>
|
||||
</div>
|
||||
<footer class="entry-footer"><span title='2021-12-03 00:00:00 +0000 UTC'>Dezember 3, 2021</span> · Jörg Lohrer</footer>
|
||||
<a class="entry-link" aria-label="post link to Bibelfußball - Nachschlage-Quiz zur Bibel" href="http://localhost:1313/2021/12/03/bibelfussball.html/"></a>
|
||||
</article>
|
||||
|
||||
<article class="post-entry">
|
||||
<figure class="entry-cover">
|
||||
<img loading="lazy" src="http://localhost:1313/2021/11/17/wordpress-werkstatt.html/04-termine-neu.png" alt="">
|
||||
|
|
|
|||
|
|
@ -2,13 +2,16 @@
|
|||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml">
|
||||
<url>
|
||||
<loc>http://localhost:1313/</loc>
|
||||
<lastmod>2024-04-03T00:00:00+00:00</lastmod>
|
||||
<loc>http://localhost:1313/2025/03/04/gemeinsam-die-bildungszukunft-gestalten-dezentrale-oep-und-oer-als-wegbereiter.html/</loc>
|
||||
<lastmod>2025-03-04T00:00:00+00:00</lastmod>
|
||||
</url><url>
|
||||
<loc>http://localhost:1313/2024/04/03/kibedenken-bewusstsein.html/</loc>
|
||||
<lastmod>2024-04-03T00:00:00+00:00</lastmod>
|
||||
<loc>http://localhost:1313/</loc>
|
||||
<lastmod>2025-03-04T00:00:00+00:00</lastmod>
|
||||
</url><url>
|
||||
<loc>http://localhost:1313/posts/</loc>
|
||||
<lastmod>2025-03-04T00:00:00+00:00</lastmod>
|
||||
</url><url>
|
||||
<loc>http://localhost:1313/2024/04/03/kibedenken-bewusstsein.html/</loc>
|
||||
<lastmod>2024-04-03T00:00:00+00:00</lastmod>
|
||||
</url><url>
|
||||
<loc>http://localhost:1313/2024/03/05/bottomup-markdown.html/</loc>
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 984 KiB |
|
After Width: | Height: | Size: 229 KiB |
|
After Width: | Height: | Size: 418 KiB |