öffentlichkeitsarbeit/readme.md aktualisiert

This commit is contained in:
Jörg Lohrer 2025-01-31 05:35:58 +00:00
parent 596462f800
commit 734c7ed35a

View file

@ -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.