@@ -14,27 +14,94 @@ Auch das Positionspapier [Digitale Souveränität mit Solid, für interoperable
1414
1515## Architektur
1616
17- '' vorläufig''
17+ * vorläufig*
1818
1919``` mermaid
20- architecture-beta
21- group bib(database)[Bib Daten]
22- service stoc(database)[Books Stock] in bib
23- service event(database)[Events] in bib
24- service other(database)[Other] in bib
25- service index(database)[Index] in bib
26- group web(internet)[Website]
27- service podwidget(internet)[Widget] in web
28- group pod(cloud)[Pod]
29- service frontend(internet)[Frontend] in pod
30- service backend(disk)[Backend] in pod
31-
32- stoc:L -- B:index
33- event:L -- B:index
34- other:L -- B:index
35- index:L -- L:podwidget
36- frontend:R -- L:podwidget
37- frontend:L -- R:backend
20+ flowchart TD
21+ classDef nonArch fill:#dcfce7,stroke:#16a34a,color:#14532d
22+ classDef nonArchDashed fill:#dcfce7,stroke:#16a34a,color:#14532d,stroke-dasharray: 5 5
23+ classDef planned stroke:#9ca3af,color:#6b7280,stroke-dasharray: 5 5
24+ classDef ghost fill:none,stroke:none,color:#374151
25+ style moreUseCases stroke:#9ca3af,color:#6b7280,stroke-dasharray: 5 5
26+
27+ subgraph msb["<h2>Münchner Stadtbibliothek</h2>"]
28+ data["<b>Datenquellen</b>
29+ #bull; Katalogdaten (OAI)
30+ <i>data-bib.muenchen.de</i>
31+ #bull; Veranstaltungen (VADB)
32+ #bull; Weitere (z.B. Blogposts)
33+ "]
34+ site["<b>Webseite</b>"]
35+ typo3["<b>Typo3 Plugin</b>
36+ #bull; Interessensverwaltung
37+ #bull; Empfehlungsmodul
38+ #bull; One-Klick-Modul
39+ "]
40+ index["<b>Index</b>: ElasticSearch"]
41+ typo3 -->|speist persönliche Daten in Suche ein| index
42+ index -->|indiziert| data
43+ site -->|integriert| typo3
44+ end
45+
46+ subgraph moreUseCases["<h2>Weitere Anwendungen</h2>"]
47+ connectBtn["Integration eines<br><b>Connect your Pod</b><br>Buttons"]
48+ textNode["<div align='left'>
49+ <b>Das könnten beispielsweise sein:</b>
50+ #bull; Weitere Bibliotheken
51+ #bull; Restaurants in Kiel
52+ #bull; Berliner Volkshochschulen
53+ #bull; Angebote für Erstsemester-Studierende einer Uni
54+ → Letztlich alle Apps und Services, die Angebote personalisieren möchten, ohne Nutzer*innendaten selbst zu speichern: <i>Privacy-preserving Personalization-as-a-Service</i>
55+ <span style='opacity:0'>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</span>
56+ </div>"]:::ghost
57+ end
58+
59+ subgraph cori["<h2>CORI</h2>Contextual Relational Infrastructure"]
60+ cockpit["<b>Cockpit</b>
61+ <small><i>serverless</i></small>
62+ #bull; Profile verwalten
63+ #bull; Import/Export
64+ #bull; Zugriffshistorie
65+ "]
66+ psi["<b>Profile Storage Interface</b>"]
67+ admin["<b>Admin</b><br>#bull; Gesamtvokabular verwalten<br>#bull; Änderungen kommunizieren<br>#bull; Liste teilnehmender Apps"]
68+ exec["<b>Execution Engine</b>"]:::planned
69+ integrate["<b>Integration SDK</b>"]
70+ cockpit -->|nutzt| integrate
71+ integrate <-->|read/write| psi
72+ integrate -.-> exec
73+ exec -.->|führt Verarbeitungslogik aus| psi
74+ end
75+
76+ bibComm["<b>Bibliotheksübergreifende Zusammenarbeit</b>
77+ #bull; Gemeinsame Vokabularentwicklung
78+ #bull; Gemeinsame Feature-Entwicklung
79+ "]:::nonArch
80+
81+ pod1["<b>Managed Solid Pod</b>"]
82+ pod2["<b>Eigener Solid Pod</b>"]
83+ pod3["<b>Weitere</b>
84+ #bull; EUDI Wallet?
85+ #bull; Local Storage
86+ #bull; In-Memory
87+ "]:::planned
88+
89+ communityInput["<b>Weitere Kuratierungs- und Empfehlungsquellen</b>
90+ #bull; Von anderen Nutzer*innen hinterlegte Muster wie manuell kuratierte Empfehlungen oder lokale Events
91+ #bull; Weitere Empfehlungsalgorithmen via Plugins
92+ "]:::nonArchDashed
93+
94+ psi --> pod1
95+ psi --> pod2
96+ psi --> pod3
97+
98+ cori ~~~ msb
99+ msb ~~~ spacer[" "] ~~~ cori
100+ style spacer fill:none,stroke:none
101+ typo3 -->|nutzt| integrate
102+ connectBtn -->|nutzt| integrate
103+ msb -->|koordiniert| bibComm
104+ communityInput -->|fließen ein| typo3
38105```
39106
40107
0 commit comments