From 734c7ed35a5340845d19dca46f92858ae8e22f6d Mon Sep 17 00:00:00 2001
From: joerglohrer <joerglohrer@no-reply@ci-mail.de>
Date: Fri, 31 Jan 2025 05:35:58 +0000
Subject: [PATCH] =?UTF-8?q?=C3=B6ffentlichkeitsarbeit/readme.md=20aktualis?=
 =?UTF-8?q?iert?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 öffentlichkeitsarbeit/readme.md | 192 ++++++++++++++++---------------
 1 file changed, 101 insertions(+), 91 deletions(-)

diff --git a/öffentlichkeitsarbeit/readme.md b/öffentlichkeitsarbeit/readme.md
index 032aa47..b798f5b 100644
--- a/öffentlichkeitsarbeit/readme.md
+++ b/öffentlichkeitsarbeit/readme.md
@@ -1,109 +1,119 @@
-# JSON-Datenstruktur für Social-Media-Profile und Organisationen
-
-## Übersicht
-Diese JSON-Datei speichert Social-Media-Profile von Personen und Organisationen, einschließlich ihrer Verknüpfungen mit Communities oder Labels wie **relilab** und **relimentar**. Zusätzlich ermöglicht die Struktur eine mehrfache Zuordnung von Personen zu Organisationen sowie Beziehungen zwischen Organisationen.
-
----
-
-## Datenstruktur
-
-### Personen (`persons`)
-- **`name`** *(String)* – Name der Person
-- **`profiles`** *(Array)* – Liste der Social-Media-Accounts der Person
-  - **`platform`** *(String)* – Plattform (z.B. Twitter, Instagram, LinkedIn)
-  - **`handle`** *(String)* – Benutzername/Handle auf der Plattform
-  - **`mentionSyntax`** *(String)* – Syntax für Erwähnungen (`@handle` oder ID)
-  - **`profileLink`** *(String)* – Direktlink zum Profil
-  - **`category`** *(String)* – Einstufung (z.B. VIP, Bildung, BNE)
-  - **`firstSeen`** *(String, ISO-Zeitformat)* – Zeitpunkt der Ersterfassung
-  - **`lastUpdated`** *(String, ISO-Zeitformat)* – Letzte Aktualisierung
-  - **`organizationIds`** *(Array)* – Liste der zugehörigen Organisationen anhand ihrer `orgId`
-
-### Organisationen (`organizations`)
-- **`orgId`** *(String)* – Eindeutige Abkürzung für die Organisation
-- **`orgName`** *(String)* – Vollständiger Name der Organisation
-- **`handles`** *(Array)* – Social-Media-Profile der Organisation
-  - **`platform`** *(String)* – Plattform (z.B. Twitter, LinkedIn)
-  - **`handle`** *(String)* – Benutzername/Handle der Organisation
-  - **`mentionSyntax`** *(String)* – Erwähnungs-Syntax (`@handle` oder ID)
-  - **`profileLink`** *(String)* – Direktlink zum Profil
-- **`relatedOrgs`** *(Array, optional)* – Liste verwandter Organisationen anhand ihrer `orgId`
-
-### Beispielhafte JSON-Struktur
-```json
 {
-  "persons": [
+  "_usage_instructions": "JSON erlaubt keine klassischen Kommentarzeilen. Daher werden hier spezielle Schlüssel wie _comment_platform verwendet, um Felder zu erläutern. Um dieses JSON zu verwenden, kannst du das Feld persons durchlaufen und jede Person hat ein profiles-Array mit den entsprechenden Social-Media-Angaben. Die Felder platform, handle, mentionSyntax, profileLink etc. enthalten alle relevanten Informationen zu einem Account.",
+  "_comment_performance": "Die Kommentar-Felder steigern die Dateigröße minimal, haben aber auf normalem Datenumfang kaum Auswirkung auf die Performance. In einer fertigen Anwendung können diese _comment_-Felder entfernt werden, falls sie nicht mehr benötigt werden.",
+
+  "_comment_organizations": "Enthält eine Liste aller Organisationen, Communities oder Labels (z.B. relilab, relimentar). Jede Organisation hat eine orgId, orgName und optionale relatedOrgs, um Verknüpfungen mit anderen Organisationen herzustellen.",
+  "organizations": [
     {
-      "name": "Jörg Lohrer",
-      "profiles": [
+      "orgId": "meineFirma",
+      "orgName": "MeineFirma GmbH",
+      "handles": [
         {
-          "platform": "Mastodon",
-          "handle": "joerglohrer",
-          "mentionSyntax": "@joerglohrer",
-          "profileLink": "https://reliverse.social/@joerglohrer",
-          "category": "Bildung",
-          "firstSeen": "2025-02-01T09:00:00",
-          "lastUpdated": "2025-02-10T14:00:00",
-          "organizationIds": ["comenius", "relilab"]
+          "platform": "Twitter",
+          "handle": "meinefirma",
+          "mentionSyntax": "@meinefirma",
+          "profileLink": "https://twitter.com/meinefirma"
+        },
+        {
+          "platform": "LinkedIn",
+          "handle": "firma-linkedin",
+          "mentionSyntax": "@firma-linkedin",
+          "profileLink": "https://www.linkedin.com/company/meinefirma/"
         }
       ]
-    }
-  ],
-  "organizations": [
+    },
     {
       "orgId": "comenius",
       "orgName": "Comenius-Institut",
       "relatedOrgs": ["relilab"],
       "handles": [
         {
-          "platform": "Mastodon",
+          "platform": "Twitter",
           "handle": "ComeniusInst",
           "mentionSyntax": "@ComeniusInst",
-          "profileLink": "https://reliverse.social/ComeniusInst"
+          "profileLink": "https://twitter.com/ComeniusInst"
+        },
+        {
+          "platform": "LinkedIn",
+          "handle": "comenius-institut",
+          "mentionSyntax": "@comenius-institut",
+          "profileLink": "https://www.linkedin.com/company/comenius-institut/"
+        }
+      ]
+    },
+    {
+      "orgId": "relilab",
+      "orgName": "Relilab Community",
+      "relatedOrgs": ["comenius"],
+      "handles": [
+        {
+          "platform": "Twitter",
+          "handle": "relilab",
+          "mentionSyntax": "@relilab",
+          "profileLink": "https://twitter.com/relilab"
+        }
+      ]
+    },
+    {
+      "orgId": "relimentar",
+      "orgName": "Relimentar Community",
+      "handles": [
+        {
+          "platform": "Instagram",
+          "handle": "relimentar",
+          "mentionSyntax": "@relimentar",
+          "profileLink": "https://instagram.com/relimentar"
+        }
+      ]
+    }
+  ],
+  
+  "persons": [
+    {
+      "name": "Max Mustermann",
+      "categories": ["Kooperationspartner"],
+      "affiliatedInstitutions": ["meineFirma"],
+      "profiles": [
+        {
+          "platform": "Twitter",
+          "handle": "max_muster",
+          "mentionSyntax": "@max_muster",
+          "profileLink": "https://twitter.com/max_muster",
+          "firstSeen": "2025-01-01T10:00:00",
+          "lastUpdated": "2025-01-15T09:30:00"
+        },
+        {
+          "platform": "Instagram",
+          "handle": "max_gram",
+          "mentionSyntax": "@max_gram",
+          "profileLink": "https://instagram.com/max_gram",
+          "firstSeen": "2025-01-05T15:30:00",
+          "lastUpdated": "2025-01-20T08:45:00"
+        }
+      ]
+    },
+    {
+      "name": "Jörg Lohrer",
+      "categories": ["Bildung", "BNE"],
+      "affiliatedInstitutions": ["comenius", "relilab"],
+      "profiles": [
+        {
+          "platform": "Twitter",
+          "handle": "joerglohrer",
+          "mentionSyntax": "@joerglohrer",
+          "profileLink": "https://twitter.com/joerglohrer",
+          "firstSeen": "2025-02-01T09:00:00",
+          "lastUpdated": "2025-02-10T14:00:00"
+        },
+        {
+          "platform": "LinkedIn",
+          "handle": "joerg-lohrer-9876",
+          "mentionSyntax": "@joerg-lohrer-9876",
+          "profileLink": "https://www.linkedin.com/in/joerg-lohrer/",
+          "firstSeen": "2025-02-02T10:30:00",
+          "lastUpdated": "2025-02-10T14:00:00"
         }
       ]
     }
   ]
 }
-```
-
----
-
-## Nutzung
-
-### 1. **Abruf der Social-Media-Profile einer Person**
-**Filtere nach `name` oder einem bestimmten `handle`**, um zu sehen, welche Plattformen eine Person nutzt.
-
-### 2. **Organisationen einer Person ermitteln**
-**Nutze das Feld `organizationIds`**, um alle zugehörigen Organisationen zu einer Person nachzuschlagen.
-
-### 3. **Verknüpfte Organisationen abrufen**
-Über das Feld **`relatedOrgs`** kann man nachsehen, mit welchen anderen Organisationen eine Organisation kooperiert.
-
-### 4. **Automatisierte API-Integration**
-Da die Datei in JSON-Format vorliegt, kann sie über **JavaScript (Node.js, fetch)** oder **Python (`json`-Modul)** verarbeitet werden.
-
-#### Beispiel (JavaScript):
-```js
-fetch('https://raw.githubusercontent.com/user/repository/main/social_profiles.json')
-  .then(response => response.json())
-  .then(data => console.log(data.persons));
-```
-
-#### Beispiel (Python):
-```python
-import json
-import requests
-
-data = requests.get("https://raw.githubusercontent.com/user/repository/main/social_profiles.json").json()
-print(data["persons"])
-```
-
----
-
-## Erweiterungsmöglichkeiten
-- **Weitere Kategorien** wie „Dozenten“, „Referenten“, „Netzwerkpartner“
-- **Mehrere Rollen innerhalb einer Organisation** (z.B. „Mitarbeiter“, „Community-Manager“)
-- **Erweiterung um Aktivitätsdaten** (z.B. letzter Tweet, letzte Veranstaltung)
-
-Diese JSON-Struktur ist flexibel erweiterbar und für verschiedene Anwendungsfälle anpassbar.