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>
This commit is contained in:
Jörg Lohrer 2026-04-15 09:49:26 +02:00
parent 4918175f8b
commit 3a5c4d1e00
50 changed files with 1673 additions and 594 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -0,0 +1,10 @@
{
"permissions": {
"allow": [
"WebFetch(domain:hzrd149.github.io)",
"Bash(git add:*)",
"Bash(git commit -m ':*)",
"Bash(git rm:*)"
]
}
}

BIN
content/.DS_Store vendored

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

View File

@ -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)"

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

View File

@ -0,0 +1,223 @@
<!DOCTYPE html>
<html lang="de" dir="auto">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;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>&nbsp;
<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>&copy; 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>

View File

@ -164,7 +164,6 @@ Doch satt bin ich noch immer nicht.</p>
<ul class="post-tags"> <ul class="post-tags">
</ul> </ul>
</footer> </footer>
</article> </article>
</main> </main>

View File

@ -194,7 +194,6 @@ Pum, Viktoria/Pirner, Manfred L./Lohrer, Jörg (Hrsg.) (2011): Erlebnispädagogi
<ul class="post-tags"> <ul class="post-tags">
</ul> </ul>
</footer> </footer>
</article> </article>
</main> </main>

View File

@ -170,7 +170,6 @@ Hier die Anleitung auf Englisch: <a href="https://github.com/fabianonline/OctoPr
<ul class="post-tags"> <ul class="post-tags">
</ul> </ul>
</footer> </footer>
</article> </article>
</main> </main>

View File

@ -184,7 +184,6 @@
<ul class="post-tags"> <ul class="post-tags">
</ul> </ul>
</footer> </footer>
</article> </article>
</main> </main>

View File

@ -168,7 +168,6 @@
<ul class="post-tags"> <ul class="post-tags">
</ul> </ul>
</footer> </footer>
</article> </article>
</main> </main>

View File

@ -394,7 +394,6 @@ Für Linsen
<ul class="post-tags"> <ul class="post-tags">
</ul> </ul>
</footer> </footer>
</article> </article>
</main> </main>

View File

@ -297,7 +297,6 @@ wp_reset_postdata();
<ul class="post-tags"> <ul class="post-tags">
</ul> </ul>
</footer> </footer>
</article> </article>
</main> </main>

View File

@ -935,7 +935,6 @@
<ul class="post-tags"> <ul class="post-tags">
</ul> </ul>
</footer> </footer>
</article> </article>
</main> </main>

View File

@ -272,7 +272,6 @@ require_once(__DIR__ . &#39;/lib/setup.php&#39;);
<ul class="post-tags"> <ul class="post-tags">
</ul> </ul>
</footer> </footer>
</article> </article>
</main> </main>

View File

@ -325,7 +325,6 @@ Dann die Verknüpfungen in den Autostartordner kopieren:
<ul class="post-tags"> <ul class="post-tags">
</ul> </ul>
</footer> </footer>
</article> </article>
</main> </main>

View File

@ -201,7 +201,6 @@ weitere 25 Minuten backen oder bis eine Kerntemperatur von 92° erreicht ist. Fe
<ul class="post-tags"> <ul class="post-tags">
</ul> </ul>
</footer> </footer>
</article> </article>
</main> </main>

View File

@ -217,7 +217,6 @@ Bild 5: &ldquo;Der fruchtbare Boden: Die Kraft der Liebe und Fürsorge bringt ei
<ul class="post-tags"> <ul class="post-tags">
</ul> </ul>
</footer> </footer>
</article> </article>
</main> </main>

View File

@ -199,7 +199,6 @@
<ul class="post-tags"> <ul class="post-tags">
</ul> </ul>
</footer> </footer>
</article> </article>
</main> </main>

View File

@ -182,7 +182,6 @@ Hier wurde der &ldquo;<a href="https://docs.wpstackable.com/article/502-how-to-u
<ul class="post-tags"> <ul class="post-tags">
</ul> </ul>
</footer> </footer>
</article> </article>
</main> </main>

View File

@ -225,7 +225,6 @@ Midjourney Prompt: &ldquo;A Community of Trust based on Openness, silhouettes of
<ul class="post-tags"> <ul class="post-tags">
</ul> </ul>
</footer> </footer>
</article> </article>
</main> </main>

View File

@ -191,7 +191,6 @@
<ul class="post-tags"> <ul class="post-tags">
</ul> </ul>
</footer> </footer>
</article> </article>
</main> </main>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

View File

@ -0,0 +1,475 @@
<!DOCTYPE html>
<html lang="de" dir="auto">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;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>&nbsp;
<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>&nbsp;·&nbsp;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 &#39;OER&#39; ein Sinnbild für offene Bildung und freien Wissensaustausch. Die Wortspiel-Verbindung zu &#39;Nostr&#39; (das dezentralisierte Kommunikationsprotokoll) liegt nahe: &#39;Nostr&#39; klingt wie ein Teil von &#39;Ostrich&#39; (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 &lsquo;OER&rsquo; ein Sinnbild für offene Bildung und freien Wissensaustausch. Die Wortspiel-Verbindung zu &lsquo;Nostr&rsquo; (das dezentralisierte Kommunikationsprotokoll) liegt nahe: &lsquo;Nostr&rsquo; klingt wie ein Teil von &lsquo;Ostrich&rsquo; (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 &ldquo;<a href="https://nostr.how/de/what-is-nostr">Nostr</a>&rdquo; 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 &amp; 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 &amp; 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 &amp; 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: &ldquo;<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>&rdquo;</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, "&amp;")
.replace(/</g, "&lt;")
.replace(/>/g, "&gt;")
.replace(/"/g, "&quot;")
.replace(/'/g, "&#039;");
}
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>&copy; 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>

View File

@ -0,0 +1,475 @@
<!DOCTYPE html>
<html lang="de" dir="auto">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;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>&nbsp;
<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>&nbsp;·&nbsp;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 &#39;OER&#39; ein Sinnbild für offene Bildung und freien Wissensaustausch. Die Wortspiel-Verbindung zu &#39;Nostr&#39; (das dezentralisierte Kommunikationsprotokoll) liegt nahe: &#39;Nostr&#39; klingt wie ein Teil von &#39;Ostrich&#39; (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 &lsquo;OER&rsquo; ein Sinnbild für offene Bildung und freien Wissensaustausch. Die Wortspiel-Verbindung zu &lsquo;Nostr&rsquo; (das dezentralisierte Kommunikationsprotokoll) liegt nahe: &lsquo;Nostr&rsquo; klingt wie ein Teil von &lsquo;Ostrich&rsquo; (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 &ldquo;<a href="https://nostr.how/de/what-is-nostr">Nostr</a>&rdquo; 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 &amp; 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 &amp; 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 &amp; 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: &ldquo;<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>&rdquo;</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, "&amp;")
.replace(/</g, "&lt;")
.replace(/>/g, "&gt;")
.replace(/"/g, "&quot;")
.replace(/'/g, "&#039;");
}
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>&copy; 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>

View File

@ -136,6 +136,21 @@
Archive Archive
</h1> </h1>
</header> </header>
<div class="archive-year">
<h2 class="archive-year-header">2025<sup class="archive-count">&nbsp;&nbsp;1</sup>
</h2>
<div class="archive-month">
<h3 class="archive-month-header">März<sup class="archive-count">&nbsp;&nbsp;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>&nbsp;·&nbsp;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"> <div class="archive-year">
<h2 class="archive-year-header">2024<sup class="archive-count">&nbsp;&nbsp;3</sup> <h2 class="archive-year-header">2024<sup class="archive-count">&nbsp;&nbsp;3</sup>
</h2> </h2>

View File

@ -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;
}

View File

@ -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;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

View File

@ -0,0 +1,284 @@
<!DOCTYPE html>
<html lang="de" dir="auto">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;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>&nbsp;
<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 &ldquo;<a href="https://nostr.how/de/what-is-nostr">Nostr</a>&rdquo; 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 &amp; 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 &amp; 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 &amp; 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: &ldquo;<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>&rdquo;</p>
</div>
<footer class="post-footer">
<ul class="post-tags">
</ul>
</footer>
</article>
</main>
<footer class="footer">
<span>&copy; 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>

View File

@ -166,7 +166,6 @@ Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die Rich
<ul class="post-tags"> <ul class="post-tags">
</ul> </ul>
</footer> </footer>
</article> </article>
</main> </main>

File diff suppressed because one or more lines are too long

View File

@ -6,8 +6,15 @@
<description>Recent content on Jörg Lohrer</description> <description>Recent content on Jörg Lohrer</description>
<generator>Hugo -- gohugo.io</generator> <generator>Hugo -- gohugo.io</generator>
<language>de</language> <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" /> <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> <item>
<title>KIBedenken - Bewusstsein</title> <title>KIBedenken - Bewusstsein</title>
<link>http://localhost:1313/2024/04/03/kibedenken-bewusstsein.html/</link> <link>http://localhost:1313/2024/04/03/kibedenken-bewusstsein.html/</link>

View File

@ -1,124 +0,0 @@
function escapeHtml(unsafe) {
return unsafe
.replace(/&/g, "&amp;")
.replace(/</g, "&lt;")
.replace(/>/g, "&gt;")
.replace(/"/g, "&quot;")
.replace(/'/g, "&#039;");
}
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);
}

View File

@ -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, "&amp;")
.replace(/</g, "&lt;")
.replace(/>/g, "&gt;")
.replace(/"/g, "&quot;")
.replace(/'/g, "&#039;");
}
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);

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

View File

@ -137,6 +137,23 @@
</h1> </h1>
</header> </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 &#39;OER&#39; ein Sinnbild für offene Bildung und freien Wissensaustausch. Die Wortspiel-Verbindung zu &#39;Nostr&#39; (das dezentralisierte Kommunikationsprotokoll) liegt nahe: &#39;Nostr&#39; klingt wie ein Teil von &#39;Ostrich&#39; (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>&nbsp;·&nbsp;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"> <article class="post-entry">
<figure class="entry-cover"> <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*"> <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>&nbsp;·&nbsp;Jörg Lohrer</footer> <footer class="entry-footer"><span title='2022-02-16 00:00:00 +0000 UTC'>Februar 16, 2022</span>&nbsp;·&nbsp;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> <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>
<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>&nbsp;·&nbsp;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"> <footer class="page-footer">
<nav class="pagination"> <nav class="pagination">
<a class="next" href="http://localhost:1313/posts/page/2/">Nächste&nbsp;&nbsp;» <a class="next" href="http://localhost:1313/posts/page/2/">Nächste&nbsp;&nbsp;»

View File

@ -6,8 +6,15 @@
<description>Recent content in Posts on Jörg Lohrer</description> <description>Recent content in Posts on Jörg Lohrer</description>
<generator>Hugo -- gohugo.io</generator> <generator>Hugo -- gohugo.io</generator>
<language>de</language> <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" /> <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> <item>
<title>KIBedenken - Bewusstsein</title> <title>KIBedenken - Bewusstsein</title>
<link>http://localhost:1313/2024/04/03/kibedenken-bewusstsein.html/</link> <link>http://localhost:1313/2024/04/03/kibedenken-bewusstsein.html/</link>

View File

@ -137,6 +137,21 @@
</h1> </h1>
</header> </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>&nbsp;·&nbsp;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"> <article class="post-entry">
<figure class="entry-cover"> <figure class="entry-cover">
<img loading="lazy" src="http://localhost:1313/2021/11/17/wordpress-werkstatt.html/04-termine-neu.png" alt=""> <img loading="lazy" src="http://localhost:1313/2021/11/17/wordpress-werkstatt.html/04-termine-neu.png" alt="">

View File

@ -2,13 +2,16 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml"> xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url> <url>
<loc>http://localhost:1313/</loc> <loc>http://localhost:1313/2025/03/04/gemeinsam-die-bildungszukunft-gestalten-dezentrale-oep-und-oer-als-wegbereiter.html/</loc>
<lastmod>2024-04-03T00:00:00+00:00</lastmod> <lastmod>2025-03-04T00:00:00+00:00</lastmod>
</url><url> </url><url>
<loc>http://localhost:1313/2024/04/03/kibedenken-bewusstsein.html/</loc> <loc>http://localhost:1313/</loc>
<lastmod>2024-04-03T00:00:00+00:00</lastmod> <lastmod>2025-03-04T00:00:00+00:00</lastmod>
</url><url> </url><url>
<loc>http://localhost:1313/posts/</loc> <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> <lastmod>2024-04-03T00:00:00+00:00</lastmod>
</url><url> </url><url>
<loc>http://localhost:1313/2024/03/05/bottomup-markdown.html/</loc> <loc>http://localhost:1313/2024/03/05/bottomup-markdown.html/</loc>