aboutsummaryrefslogtreecommitdiffstats
path: root/doc/de/adminmanual
diff options
context:
space:
mode:
Diffstat (limited to 'doc/de/adminmanual')
-rw-r--r--doc/de/adminmanual/CLI_tools.md103
-rw-r--r--doc/de/adminmanual/Creating-Templates.md79
-rw-r--r--doc/de/adminmanual/Installation_using_docker.md56
-rw-r--r--doc/de/adminmanual/Nomad---A-High-Level-Overview.md111
-rw-r--r--doc/de/adminmanual/Primary-Directory.md35
-rw-r--r--doc/de/adminmanual/Schema-development.md45
-rw-r--r--doc/de/adminmanual/Widgets.md99
-rw-r--r--doc/de/adminmanual/Zot---A-High-Level-Overview.md111
-rw-r--r--doc/de/adminmanual/administration.md13
-rw-r--r--doc/de/adminmanual/advanced_configurations.md326
-rw-r--r--doc/de/adminmanual/automated_installation.md26
-rw-r--r--doc/de/adminmanual/before_you_start.md17
-rw-r--r--doc/de/adminmanual/channel_directory.md15
-rw-r--r--doc/de/adminmanual/database.md74
-rw-r--r--doc/de/adminmanual/directories.md87
-rw-r--r--doc/de/adminmanual/faq_admins.md89
-rw-r--r--doc/de/adminmanual/federation_addons.md8
-rw-r--r--doc/de/adminmanual/filesync.md42
-rw-r--r--doc/de/adminmanual/further_help.md3
-rw-r--r--doc/de/adminmanual/hub_snapshot_tools.md127
-rw-r--r--doc/de/adminmanual/installation.md8
-rw-r--r--doc/de/adminmanual/installation_requirements.md14
-rw-r--r--doc/de/adminmanual/manual_for_administrators.md30
-rw-r--r--doc/de/adminmanual/manual_installation.md60
-rw-r--r--doc/de/adminmanual/pic/adm01.pngbin0 -> 371226 bytes
-rw-r--r--doc/de/adminmanual/problems-following-an-update.md31
-rw-r--r--doc/de/adminmanual/recommended_addons.md7
-rw-r--r--doc/de/adminmanual/service_classes.md57
-rw-r--r--doc/de/adminmanual/theme_management.md7
-rw-r--r--doc/de/adminmanual/troubleshooting.md51
30 files changed, 1731 insertions, 0 deletions
diff --git a/doc/de/adminmanual/CLI_tools.md b/doc/de/adminmanual/CLI_tools.md
new file mode 100644
index 000000000..7bd27b5ca
--- /dev/null
+++ b/doc/de/adminmanual/CLI_tools.md
@@ -0,0 +1,103 @@
+### CLI Tools (utils)
+
+Wer als Administrator Zugang zur Shell hat, kann weitere kleine CLI Tools verwenden, welche sich im Verzeichnis "utils" finden.
+
+#### addons
+
+Mit dem Script addons können Sie sich anzeigen lassen, welche Addons installiert und welche vorhanden sind. Außerdem können Sie Addons installieren und deinstallieren, sowie alle Addons neu installieren.
+
+- `util/addons list`
+ Anzeige aller installierter Addons
+- `util/addons list all`
+ Anzeige aller Addons , die installiert sind (*) und solcher, die aufgrund von Inkompatibilität deaktiviert sind (!)
+- `util/addons install foo`
+ Installiere das Addon mit dem Namen "foo"
+- `util/addons uninstall foo`
+ Deinstalliere das Addon mit dem Namen "foo"
+- `util/addons reinstall`
+ Reinstalliere alle Addons
+
+#### admins
+
+Das Script admins ermöglicht es Ihnen, sich sämtliche Admins des Hub anzeigen zu lassen, sowie weitere Admins hinzuzufügen und bestehende Admins zu entfernen.
+
+- `util/admins`
+- `util/admins list`
+- `util/admins add <account_id>`
+- `util/admins remove <account_id>`
+
+#### config / pconfig
+
+Siehe: [Erweiterte Konfigurationen für Administratoren](/help/de/adminmanual/advanced_configurations.md)
+
+#### connect
+
+Mit connect können Sie eine Verbindung zwischen einem Kanal Ihres Hubs mit einem anderen Kanal herstellen.
+
+- `util/connect <channel_id> <channel@hub>`
+- `util/connect <channel_address> <channel@hub>`
+
+#### dcp
+
+Mit dcp können Sie Dateien in den Store-Bereich eines Kanals auf Ihrem Hub kopieren.
+
+- `util/dcp <quelle> <zielverzeichnis>` wobei Zielverzeichnis `store/$nickname/path` oder `$nickname/path` sein muss.
+
+#### dmkdir
+
+Mit dmkdir können Sie im Store-Bereich eines Kanals auf Ihrem Hub ein Unterverzeichnis anlegen.
+
+- `util/dmkdir <directory>` wobei Directory `store/$nickname/path/<directory>` oder `$nickname/path/<directory>` sein muss.
+
+#### fresh (The Freaking REd Shell)
+
+Dies funktioniert nur unter Unix/Linux. Wenn das readline-Modul installiert ist, verwenden es dieses für die Eingabe, ansonsten liest es nur von stdin und schreibt nach stdout.
+Die Befehle werden der Reihe nach abgearbeitet, bis der Befehl „exit“, „quit“ oder das Ende der Datei erreicht ist.
+
+Kommandos:
+
+- `version`
+ Zeigt die aktuelle Fresh-Version an.
+- `login <E-Mail-Adresse>`
+ Fragt nach einem Passwort und authentifiziert `<E-Mail-Adresse>` als den aktuellen
+ Benutzer.
+- `finger <Kanal-Adresse>`
+ Führt einen Lookup von `<Kanal-Adresse>` durch und meldet das Ergebnis.
+- `channel <Kanal-Nickname>`
+ Schaltet den aktuellen Kanal auf den Kanal mit dem angegebenen Spitznamen um.
+- `conn [<id1> <id2> ...]`
+- Ohne Argumente listet dies alle Verbindungen des aktuellen Kanals mit einer ID auf.
+ Wenn IDs angegeben werden, werden die Details der einzelnen Verbindungen angezeigt.
+
+#### hz
+
+Einfaches, minimalistisches Kommandozeilentool, um den Status über die API an hubzilla zu senden. Erfordert curl.
+
+`hz [<Konfigurationsdatei>]`
+
+hz benötigt eine Konfigurationsdatei. Sie können entweder eine Datei `.hubzilla` verwenden und den Parameter `<Konfigurationsdatei>` weglassen oder eine Konfigurationsdatei unter einem beliebigen Namen im Hubzilla-Verzeichnis erstellen, deren Namen Sie dann bei Aufruf von hz angeben.
+
+Format der Konfigurationsdatei:
+
+```
+USER=<Ihr Benutzername>
+PASS=<Ihr Passwort>
+HUB=<Domain Ihres Hubs>
+```
+
+Anschließend können Sie Ihr Posting eingeben und die Eingabe mit Strg-D abschließen.
+
+#### storageconf
+
+Mit storageconf können Sie den Speicherort für Thumbnails festlegen (Dateisystem oder Datenbank), sowie die aktuelle Konfiguration abfragen.
+
+- `util/storageconv stats`
+ Zeigt den aktuell eingestellten Status
+- `util/storageconv fs`
+ Verschiebt die Thumbnails von der Datenbank ins Dateisystem
+- `util/storageconv db`
+ Verschiebt die Thumbnails vom Dateisystem in die Datenbank
+
+#### thumbrepair
+
+thumbrepair erstellt die lokalen Thumbnails neu. \ No newline at end of file
diff --git a/doc/de/adminmanual/Creating-Templates.md b/doc/de/adminmanual/Creating-Templates.md
new file mode 100644
index 000000000..61b596e1f
--- /dev/null
+++ b/doc/de/adminmanual/Creating-Templates.md
@@ -0,0 +1,79 @@
+### Erstellen von Seitenvorlagen
+
+Für eine Seitenvorlage zur Verwendung mit Comanche sind zwei Dateien erforderlich - eine PHP-Vorlage und eine CSS-Datei. Die Seitenvorlagen müssen vom Systemadministrator Ihrer Website installiert werden.
+Wählen Sie zunächst einen Namen. In diesem Fall werden wir eine Vorlage erstellen und sie „demo“ nennen.
+Sie müssen die Dateien „view/php/demo.php“ und „view/css/demo.css“ erstellen, um die PHP-Vorlage bzw. das CSS zu speichern.
+Um eine bessere Vorstellung von diesem Prozess zu bekommen, schauen wir uns eine bestehende Vorlage an - die „Standard“-Vorlage. Diese wird standardmäßig in der gesamten Anwendung verwendet.
+
+#### **view/php/default.php**
+
+```
+<!DOCTYPE html >
+<html>
+<head>
+ <title><?php if(x($page,'title')) echo $page['title'] ?></title>
+ <script>var baseurl=„<?php echo z_root() ?>“;</script>
+ <?php if(x($page,'htmlhead')) echo $page['htmlhead'] ?>
+</head>
+<body>
+ <?php if(x($page,'nav')) echo $page['nav']; ?>
+ <aside id=„region_1“><?php if(x($page,'aside')) echo $page['aside']; ?></aside>
+ <section id=„region_2“><?php if(x($page,'content')) echo $page['content']; ?>
+ <div id=„page-footer“></div>
+ <div id=„pause“></div>
+ </abschnitt>
+<aside id=„region_3“><?php if(x($page,'right_aside')) echo $page['right_aside']; ?></aside>
+<footer><?php if(x($page,'footer')) echo $page['footer']; ?></footer>
+</body>
+</html>
+```
+
+Hier ist die entsprechende CSS-Datei
+
+#### **view/php/default.css**
+
+```
+aside#region_1 {
+ Anzeige: block;
+ Breite: 210px;
+ Position: absolut;
+ oben: 65px;
+ links: 0;
+ margin-left: 10px;
+}
+
+beiseite input[type='text'] {
+ Breite: 174px;
+}
+section {
+ Position: absolut;
+ top: 65px;
+ links: 250px;
+ Anzeige: block;
+ rechts: 15px;
+ padding-bottom: 350px;
+}
+```
+
+Wenn Sie sich diese Definitionen ansehen, fallen Ihnen vielleicht einige Dinge auf:
+
+- Wir haben kein CSS für die Bereiche „nav“, „right_aside“ oder „footer“ angegeben. In dieser Vorlage werden „nav“ und „footer“ die volle Seitenbreite einnehmen, und wir lassen die Größe und Platzierung dieser Elemente durch das Thema steuern. „right_aside“ wird derzeit nicht verwendet.
+- Es gibt Elemente auf der Seite wie „page-footer“ und „pause“, für die es keinen sichtbaren Inhalt gibt. Dieser Inhalt wird von Javascript-Elementen stammen.
+- Unsere Standardvorlage verwendet eine absolute Positionierung. Modernes Webdesign verwendet häufig „float“-Div-Container, so dass bei der Anzeige auf Geräten mit kleinen Bildschirmen in der Regel keine Bildlaufleisten erforderlich sind.
+
+Um eine neue Vorlage zu entwerfen, ist es am besten, mit einer bestehenden Vorlage zu beginnen und sie nach Wunsch zu ändern. Genau das werden wir hier tun.
+Die Art und Weise, wie Comanche Inhalte innerhalb einer bestimmten Region bereitstellt, ist die Verwendung eines Region-Tags.
+
+```
+[region=aside][widget=profile][/widget][/region]
+```
+
+In diesem Beispiel wird ein „Profil“-Widget in der Region „aside“ platziert. In Wirklichkeit wird jedoch der HTML-Code für das Widget in der Code-Variablen **$page['aside']** abgelegt. Unsere Standardseitenvorlage definiert einen Bereich auf der Seite (das CSS positioniert diesen als absolute Seitenleiste) und fügt dann den Inhalt von $page['aside'] ein (falls vorhanden).
+Wenn Sie also eine Vorlage mit einem Bereich namens „foo“ erstellen wollten, würden Sie einen Platz dafür auf der Seite vorsehen, dann den Inhalt von $page['foo'] dort einfügen, wo Sie ihn verwenden wollen, und dann mit Comanche angeben
+
+```
+[region=foo][widget=profile][/widget][/region]
+```
+
+und dies würde ein Profil-Widget in der von Ihnen erstellten „foo“-Region platzieren.
+Verwenden Sie die CSS-Datei, um den Bereich an der gewünschten Stelle auf der Seite zu positionieren und optional seine Größe zu steuern. \ No newline at end of file
diff --git a/doc/de/adminmanual/Installation_using_docker.md b/doc/de/adminmanual/Installation_using_docker.md
new file mode 100644
index 000000000..0f59847a6
--- /dev/null
+++ b/doc/de/adminmanual/Installation_using_docker.md
@@ -0,0 +1,56 @@
+### Installation mittels Docker
+
+Es besteht die Möglichkeit, Hubzilla komfortabel und bequem als Docker-Container zu installieren. Dafür bietet Saiwal ([sk@hub.utsukta.org](https://hub.utsukta.org/channel/sk)) ein vorkonfigurierte Umgebung für einen Hubzilla-Container an.
+
+Hauptfeatures sind:
+
+- Einfache Bereitstellung: Verwenden Sie Docker Compose, um eine voll funktionsfähige Hubzilla-Instanz mit nur wenigen Befehlen einzurichten.
+- Benutzerdefinierte Konfiguration: Passen Sie Ihre Hubzilla-Installation ganz einfach mit Umgebungsvariablen für SMTP, Datenbank und mehr an.
+- Kontinuierliche Updates: Das Docker-Image ist so aufgebaut, dass es einfach aktualisiert werden kann, wenn neue Änderungen am Hubzilla-Kern oder seinen Abhängigkeiten vorgenommen werden.
+- SMTP-Integration: Integrierte Unterstützung für den Versand von E-Mails mit ssmtp, wodurch die Konfiguration von E-Mail-Benachrichtigungen für Ihre Hubzilla-Instanz erleichtert wird.
+
+Das Repository für den Container befindet sich hier: [**skprg/hubzilla-docker**](https://github.com/skprg/hubzilla-docker)
+
+#### Das Image von Grund auf neu erstellen
+
+- Klonen Sie das Repository:
+
+```
+git clone https://github.com/skprg/hubzilla-docker.git
+cd hubzilla-docker
+```
+
+- Konfigurieren Sie Ihre Umgebung: Aktualisieren Sie die Datei `docker-compose.yml` mit Ihren SMTP- und anderen Einstellungen.
+- Erstellen und führen Sie den Container aus:
+
+```
+docker-compose up --build -d
+```
+
+#### Vorgefertigtes Image verwenden
+
+- Ersetzen Sie die folgenden Zeilen in `docker-compose.yml`
+
+```
+build:
+ context: .
+ Dockerfile: Dockerfile
+```
+
+mit
+
+```
+image: ghcr.io/skprg/hubzilla-docker:latest
+```
+
+- Starten Sie den Container:
+
+```
+docker compose up -d
+```
+
+Greifen Sie auf Ihre Hubzilla-Instanz zu: Navigieren Sie zu http://localhost (oder der entsprechenden URL), um Ihre Hubzilla-Instanz anzuzeigen.
+
+#### Weitere Hinweise / Update / Tipps
+
+Weitere Hinweise, Upgrade-Anweisungen und Tipps finden Sie im oben verlinkten Repository. \ No newline at end of file
diff --git a/doc/de/adminmanual/Nomad---A-High-Level-Overview.md b/doc/de/adminmanual/Nomad---A-High-Level-Overview.md
new file mode 100644
index 000000000..c86febf6f
--- /dev/null
+++ b/doc/de/adminmanual/Nomad---A-High-Level-Overview.md
@@ -0,0 +1,111 @@
+### Nomad - Ein Überblick auf oberer Ebene
+
+Hier ist eine allgemeine Beschreibung der Funktionsweise von Nomad.
+
+In diesem Beispiel wird „Indigo“ eine öffentliche Nachricht von seiner Website „podunk.edu“ aus versenden. „Nickordo„ ist ein Empfänger auf einer anderen Website (“example.com").
+
+Indigo stellt seine Nachricht zuerst auf podunk.edu ein. podunk.edu schaut nach, wer die Nachricht erhalten soll und findet Nickordo. Nickordo postet normalerweise von example.com aus, also fügen wir dieses Ziel zu unserer Liste der Empfänger hinzu. Wir können auch andere Ziele für Nickordo und alle anderen, die Indigos Beiträge verfolgen, hinzufügen.
+
+In diesem Beispiel stellen wir fest, dass wir nur einen bekannten Empfänger an einem bekannten Ort haben.
+
+Wir senden ein Paket an example.com:
+
+
+
+ {
+ "type":"notify",
+ "sender":{
+ "guid":"kgVFf_1_SSbyqH-BNWjWuhAvJ2EhQBTUdw-Q1LwwssAntr8KTBgBSzNVzUm9_RwuDpxI6X8me_QQhZMf7RfjdA",
+ "guid_sig":"PT9-TApzpm7QtMxC63MjtdK2nUyxNI0tUoWlOYTFGke3kNdtxSzSvDV4uzq_7SSBtlrNnVMAFx2_1FDgyKawmqVtRPmT7QSXrKOL2oPzL8Hu_nnVVTs_0YOLQJJ0GYACOOK-R5874WuXLEept5-KYg0uShifsvhHnxnPIlDM9lWuZ1hSJTrk3NN9Ds6AKpyNRqf3DUdz81-Xvs8I2kj6y5vfFtm-FPKAqu77XP05r74vGaWbqb1r8zpWC7zxXakVVOHHC4plG6rLINjQzvdSFKCQb5R_xtGsPPfvuE24bv4fvN4ZG2ILvb6X4Dly37WW_HXBqBnUs24mngoTxFaPgNmz1nDQNYQu91-ekX4-BNaovjDx4tP379qIG3-NygHTjFoOMDVUvs-pOPi1kfaoMjmYF2mdZAmVYS2nNLWxbeUymkHXF8lT_iVsJSzyaRFJS1Iqn7zbvwH1iUBjD_pB9EmtNmnUraKrCU9eHES27xTwD-yaaH_GHNc1XwXNbhWJaPFAm35U8ki1Le4WbUVRluFx0qwVqlEF3ieGO84PMidrp51FPm83B_oGt80xpvf6P8Ht5WvVpytjMU8UG7-js8hAzWQeYiK05YTXk-78xg0AO6NoNe_RSRk05zYpF6KlA2yQ_My79rZBv9GFt4kUfIxNjd9OiV1wXdidO7Iaq_Q",
+ "url":"http:\/\/podunk.edu",
+ "url_sig":"T8Bp7j5DHHhQDCFcAHXfuhUfGk2P3inPbImwaXXF1xJd3TGgluoXyyKDx6WDm07x0hqbupoAoZB1qBP3_WfvWiJVAK4N1FD77EOYttUEHZ7L43xy5PCpojJQmkppGbPJc2jnTIc_F1vvGvw5fv8gBWZvPqTdb6LWF6FLrzwesZpi7j2rsioZ3wyUkqb5TDZaNNeWQrIEYXrEnWkRI_qTSOzx0dRTsGO6SpU1fPWuOOYMZG8Nh18nay0kLpxReuHCiCdxjXRVvk5k9rkcMbDBJcBovhiSioPKv_yJxcZVBATw3z3TTE95kGi4wxCEenxwhSpvouwa5b0hT7NS4Ay70QaxoKiLb3ZjhZaUUn4igCyZM0h6fllR5I6J_sAQxiMYD0v5ouIlb0u8YVMni93j3zlqMWdDUZ4WgTI7NNbo8ug9NQDHd92TPmSE1TytPTgya3tsFMzwyq0LZ0b-g-zSXWIES__jKQ7vAtIs9EwlPxqJXEDDniZ2AJ6biXRYgE2Kd6W_nmI7w31igwQTms3ecXe5ENI3ckEPUAq__llNnND7mxp5ZrdXzd5HHU9slXwDShYcW3yDeQLEwAVomTGSFpBrCX8W77n9hF3JClkWaeS4QcZ3xUtsSS81yLrp__ifFfQqx9_Be89WVyIOoF4oydr08EkZ8zwlAsbZLG7eLXY"
+ },
+ "callback":"\/post",
+ "version":1,
+ "secret":"1eaa6613699be6ebb2adcefa5379c61a3678aa0df89025470fac871431b70467"
+ }
+
+In diesem Paket steht das Folgende:
+
+Ich bin Indigo und hier ist der Beweis. Ich poste von podunk.edu und hier ist der Beweis. Ich habe ein Paket für Sie. Die Kontrollnummer lautet „1eaa6613....“.
+
+Example.com nimmt dieses Paket an und sagt: „Moment mal - ich kenne Sie nicht. Ich möchte beweisen, wer du bist.“ Example.com stellt also eine Verbindung zu podunk.edu über eine „bekannte URL“ her, die wir für diesen Zweck verwenden, und sucht nach der oben genannten „guid“. Es sollte eine Reihe von Informationen zurückgeben, darunter auch einen öffentlichen Schlüssel. Example.com verwendet diesen Schlüssel, um die Signaturen in der Nachricht zu überprüfen und festzustellen, ob es tatsächlich eine Person namens Indigo bei podunk.edu gibt. Wir müssen dies nur einmal tun. (Beachten Sie, dass Indigo von jedem Ort aus posten kann. Wir müssen nur beweisen, dass es sich um Indigo handelt und dass Indigo beweisen kann, dass er von einem anderen Standort aus postet).
+
+Dann trennt example.com die Verbindung und weist darauf hin, dass eine Nachricht auf podunk.edu wartet. Entweder sofort oder immer dann, wenn der Drang besteht (je nachdem, wie wichtig Indigo für jemanden auf dieser Website ist), „ruft“ example.com podunk.edu an. Die Nachricht lautet in etwa so:
+
+
+
+ {
+ "type":"pickup",
+ "url":"http:\/\/example.com",
+ "callback_sig":"teE1_fLIqfyeCuZY4iS7sNU8jUlUuqYOYBiHLarkC99I9K-uSr8DAwVW8ZPZRK-uYdxRMuKFb6cumF_Gt9XjecCPBM8HkoXHOi_VselzJkxPwor4ZPtWYWWaFtRfcAm794LrWjdz62zdESTQd2JJIZWbrli1sUhK801BF3n0Ye6-X1MWhy9EUTVlNimOeRipcuD_srMhUcAXOEbLlrugZ8ovy2YBe6YOXkS8jj0RSFjsOduXAoVhQmNpcobSYsDvaQS3e3MvE6-oXE602zGQhuNLr7DIMt9PCdAeQo-ZM-DHlZGCkGk4O2oQFCXFzGPqLUMWDACGJfTfIWGoh_EJqT_SD5b_Yi_Wk9S1lj7vb-lmxe5JuIf7ezWzHoBT8vswnZxPYlidH2i9wapdzij9il_qqcCWWHIp7q_XkY_Zj52Z4r4gdmiqM-8y1c_1SDX7hrJFRwqL_PKFbEvyi5nMWTEzqp55Tay5Woiv19STK_H_8ufFfD9AOkYnk6rIOMsk9dn3a5tAFpDRyRndXkBWAXwiJjiND2zjue7BFu7Ty40THXcfYRh1a5XrAXcaGeYuagg-8J9tAufu9_LY3qGazFg8kRBVMOn4M8DRKSIhKj7z4MnbYL0s09gREojy4jqWO3VkaOjP2jUGzoPuUDLasudE1ehWFq0K_MTQNavgmp8",
+ "callback":"http:\/\/example.com\/post",
+ "secret":"1eaa6613699be6ebb2adcefa5379c61a3678aa0df89025470fac871431b70467",
+ "secret_sig":"O7nB4_UJHBXi28Suwl9LBZF9hI_9KGVTgehnUlWF1oYMNRnBbVHB9lzUfAoalvp3STbU3xJbtD_S58tv6MfV7J5j2V_S1W5ex3dulmDGB8Pt_7Fe5mbEPmjQFcfv3Eg5dUjYIuDl0TDScfrHyImj7RZIWHbwd7wWVoMzzDa_o33klpYmKZCBvObCh55bRrlFkXZs_dRuOiPwkfX0C6_XES4OyOIYl45V30rdhmf-STrf4L9dKYy_axQ12RIwRcKychvVLwlUJn3bn9lgNXRRU_HTne-09OPcJbUOdcD3DkFoKOxMULBNKPHzsCau0ICYug7S0EP6LpCom_mW78s08LyVA1vYeFZjevBCiGecj57yIAQDYi6_rpWJfihYaWHRN0oqtScUR4Bdf0bQbEHxMs4zAtrOAxfyJCbi6U1pfnGgzXzB9ulOYGnVGNTF7Ey4K7FOZIBtk0ILY2JfvBUaVvVs8ttagOOHmhWhnbCvrnOFlkNdlce7zoJCSUJENUOCYmTRfwB_Jno5fAzRnrsYU3_Z-l1mzniU_OmUPz8mPEh7PwhkqAiVlyaM-q15gn7l2lAIDk9kp2X_iCme7v4V0ADN_DbpaI_0-6mPw5HLbKrCsA-sxlSMB4DO4lDCHYkauj0l25sbfroRWB_hax1O4Q0oWyOlVJLUqEC5nuUJCCE"
+ }
+
+Was diese Nachricht aussagt, ist: Hier ist example.com, ich habe einen Beweis, und ich bin hier, um ein Paket abzuholen. Hier ist die Sendungsverfolgungsnummer, und hier ist der Beweis, dass dies die Sendungsverfolgungsnummer ist, die Sie vermutlich an example.com gesendet haben.
+
+Gut genug. Podunk.edu überprüft die Geschichte und tatsächlich, es ist example.com, und ja, da wartet ein Paket mit dieser Kontrollnummer. Hier ist das Paket...
+
+
+
+ {
+ "success":1,
+ "pickup":{
+ "notify":{
+ "type":"notify",
+ "sender":{
+ "guid":"kgVFf_1_SSbyqH-BNWjWuhAvJ2EhQBTUdw-Q1LwwssAntr8KTBgBSzNVzUm9_RwuDpxI6X8me_QQhZMf7RfjdA",
+ "guid_sig":"PT9-TApzpm7QtMxC63MjtdK2nUyxNI0tUoWlOYTFGke3kNdtxSzSvDV4uzq_7SSBtlrNnVMAFx2_1FDgyKawmqVtRPmT7QSXrKOL2oPzL8Hu_nnVVTs_0YOLQJJ0GYACOOK-R5874WuXLEept5-KYg0uShifsvhHnxnPIlDM9lWuZ1hSJTrk3NN9Ds6AKpyNRqf3DUdz81-Xvs8I2kj6y5vfFtm-FPKAqu77XP05r74vGaWbqb1r8zpWC7zxXakVVOHHC4plG6rLINjQzvdSFKCQb5R_xtGsPPfvuE24bv4fvN4ZG2ILvb6X4Dly37WW_HXBqBnUs24mngoTxFaPgNmz1nDQNYQu91-ekX4-BNaovjDx4tP379qIG3-NygHTjFoOMDVUvs-pOPi1kfaoMjmYF2mdZAmVYS2nNLWxbeUymkHXF8lT_iVsJSzyaRFJS1Iqn7zbvwH1iUBjD_pB9EmtNmnUraKrCU9eHES27xTwD-yaaH_GHNc1XwXNbhWJaPFAm35U8ki1Le4WbUVRluFx0qwVqlEF3ieGO84PMidrp51FPm83B_oGt80xpvf6P8Ht5WvVpytjMU8UG7-js8hAzWQeYiK05YTXk-78xg0AO6NoNe_RSRk05zYpF6KlA2yQ_My79rZBv9GFt4kUfIxNjd9OiV1wXdidO7Iaq_Q",
+ "url":"http:\/\/z.podunk.edu",
+ "url_sig":"T8Bp7j5DHHhQDCFcAHXfuhUfGk2P3inPbImwaXXF1xJd3TGgluoXyyKDx6WDm07x0hqbupoAoZB1qBP3_WfvWiJVAK4N1FD77EOYttUEHZ7L43xy5PCpojJQmkppGbPJc2jnTIc_F1vvGvw5fv8gBWZvPqTdb6LWF6FLrzwesZpi7j2rsioZ3wyUkqb5TDZaNNeWQrIEYXrEnWkRI_qTSOzx0dRTsGO6SpU1fPWuOOYMZG8Nh18nay0kLpxReuHCiCdxjXRVvk5k9rkcMbDBJcBovhiSioPKv_yJxcZVBATw3z3TTE95kGi4wxCEenxwhSpvouwa5b0hT7NS4Ay70QaxoKiLb3ZjhZaUUn4igCyZM0h6fllR5I6J_sAQxiMYD0v5ouIlb0u8YVMni93j3zlqMWdDUZ4WgTI7NNbo8ug9NQDHd92TPmSE1TytPTgya3tsFMzwyq0LZ0b-g-zSXWIES__jKQ7vAtIs9EwlPxqJXEDDniZ2AJ6biXRYgE2Kd6W_nmI7w31igwQTms3ecXe5ENI3ckEPUAq__llNnND7mxp5ZrdXzd5HHU9slXwDShYcW3yDeQLEwAVomTGSFpBrCX8W77n9hF3JClkWaeS4QcZ3xUtsSS81yLrp__ifFfQqx9_Be89WVyIOoF4oydr08EkZ8zwlAsbZLG7eLXY"
+ },
+ "callback":"\/post",
+ "version":1,
+ "secret":"1eaa6613699be6ebb2adcefa5379c61a3678aa0df89025470fac871431b70467"
+ },
+ "message":{
+ "message_id":"10b049ce384cbb2da9467319bc98169ab36290b8bbb403aa0c0accd9cb072e76@podunk.edu",
+ "message_top":"10b049ce384cbb2da9467319bc98169ab36290b8bbb403aa0c0accd9cb072e76@podunk.edu",
+ "message_parent":"10b049ce384cbb2da9467319bc98169ab36290b8bbb403aa0c0accd9cb072e76@podunk.edu",
+ "created":"2012-11-20 04:04:16",
+ "edited":"2012-11-20 04:04:16",
+ "title":"",
+ "body":"Hi Nickordo",
+ "app":"",
+ "verb":"post",
+ "object_type":"",
+ "target_type":"",
+ "permalink":"",
+ "location":"",
+ "longlat":"",
+ "owner":{
+ "name":"Indigo",
+ "address":"indigo@podunk.edu",
+ "url":"http:\/\/podunk.edu",
+ "photo":{
+ "mimetype":"image\/jpeg",
+ "src":"http:\/\/podunk.edu\/photo\/profile\/m\/5"
+ },
+ "guid":"kgVFf_1_SSbyqH-BNWjWuhAvJ2EhQBTUdw-Q1LwwssAntr8KTBgBSzNVzUm9_RwuDpxI6X8me_QQhZMf7RfjdA",
+ "guid_sig":"PT9-TApzpm7QtMxC63MjtdK2nUyxNI0tUoWlOYTFGke3kNdtxSzSvDV4uzq_7SSBtlrNnVMAFx2_1FDgyKawmqVtRPmT7QSXrKOL2oPzL8Hu_nnVVTs_0YOLQJJ0GYACOOK-R5874WuXLEept5-KYg0uShifsvhHnxnPIlDM9lWuZ1hSJTrk3NN9Ds6AKpyNRqf3DUdz81-Xvs8I2kj6y5vfFtm-FPKAqu77XP05r74vGaWbqb1r8zpWC7zxXakVVOHHC4plG6rLINjQzvdSFKCQb5R_xtGsPPfvuE24bv4fvN4ZG2ILvb6X4Dly37WW_HXBqBnUs24mngoTxFaPgNmz1nDQNYQu91-ekX4-BNaovjDx4tP379qIG3-NygHTjFoOMDVUvs-pOPi1kfaoMjmYF2mdZAmVYS2nNLWxbeUymkHXF8lT_iVsJSzyaRFJS1Iqn7zbvwH1iUBjD_pB9EmtNmnUraKrCU9eHES27xTwD-yaaH_GHNc1XwXNbhWJaPFAm35U8ki1Le4WbUVRluFx0qwVqlEF3ieGO84PMidrp51FPm83B_oGt80xpvf6P8Ht5WvVpytjMU8UG7-js8hAzWQeYiK05YTXk-78xg0AO6NoNe_RSRk05zYpF6KlA2yQ_My79rZBv9GFt4kUfIxNjd9OiV1wXdidO7Iaq_Q"
+ },
+ "author":{
+ "name":"Indigo",
+ "address":"indigo@podunk.edu",
+ "url":"http:\/\/podunk.edu",
+ "photo":{
+ "mimetype":"image\/jpeg",
+ "src":"http:\/\/podunk.edu\/photo\/profile\/m\/5"
+ },
+ "guid":"kgVFf_1_SSbyqH-BNWjWuhAvJ2EhQBTUdw-Q1LwwssAntr8KTBgBSzNVzUm9_RwuDpxI6X8me_QQhZMf7RfjdA",
+ "guid_sig":"PT9-TApzpm7QtMxC63MjtdK2nUyxNI0tUoWlOYTFGke3kNdtxSzSvDV4uzq_7SSBtlrNnVMAFx2_1FDgyKawmqVtRPmT7QSXrKOL2oPzL8Hu_nnVVTs_0YOLQJJ0GYACOOK-R5874WuXLEept5-KYg0uShifsvhHnxnPIlDM9lWuZ1hSJTrk3NN9Ds6AKpyNRqf3DUdz81-Xvs8I2kj6y5vfFtm-FPKAqu77XP05r74vGaWbqb1r8zpWC7zxXakVVOHHC4plG6rLINjQzvdSFKCQb5R_xtGsPPfvuE24bv4fvN4ZG2ILvb6X4Dly37WW_HXBqBnUs24mngoTxFaPgNmz1nDQNYQu91-ekX4-BNaovjDx4tP379qIG3-NygHTjFoOMDVUvs-pOPi1kfaoMjmYF2mdZAmVYS2nNLWxbeUymkHXF8lT_iVsJSzyaRFJS1Iqn7zbvwH1iUBjD_pB9EmtNmnUraKrCU9eHES27xTwD-yaaH_GHNc1XwXNbhWJaPFAm35U8ki1Le4WbUVRluFx0qwVqlEF3ieGO84PMidrp51FPm83B_oGt80xpvf6P8Ht5WvVpytjMU8UG7-js8hAzWQeYiK05YTXk-78xg0AO6NoNe_RSRk05zYpF6KlA2yQ_My79rZBv9GFt4kUfIxNjd9OiV1wXdidO7Iaq_Q"
+ }
+ }
+ }
+ }
+
+
+
+Und das ist das Paket (die ursprüngliche Nachricht). Example.com wandelt diese in eine Form um, die von Nickordo eingesehen werden kann, und benachrichtigt Nickordo, dass es eine neue Nachricht gibt. Podunk.edu **könnte** feststellen, dass noch andere Pakete auf example.com warten. Wenn dies der Fall ist, kann es auch alle anderen wartenden Pakete zu diesem Zeitpunkt versenden. Jedes dieser Pakete ist mit der ursprünglichen Sendungsnummer versehen. \ No newline at end of file
diff --git a/doc/de/adminmanual/Primary-Directory.md b/doc/de/adminmanual/Primary-Directory.md
new file mode 100644
index 000000000..9de1d6c98
--- /dev/null
+++ b/doc/de/adminmanual/Primary-Directory.md
@@ -0,0 +1,35 @@
+### Primäres Verzeichnis
+
+Standardmäßig verwendet Hubzilla verfügbare Verzeichnisse im Internet, die Ihnen weltweit verfügbare Kanäle anzeigen.
+
+Es gibt bestimmte Szenarien, in denen Sie Ihren eigenen Verzeichnis-Server benötigen, mit dem Sie mehrere Hubs verbinden können. Dadurch werden die Kanäle, die in allen Ihren Hubs erscheinen, auf die Kanäle der Hubs beschränkt, die mit Ihrem Verzeichnis-Server verbunden sind.
+
+#### Anleitungen zum Einrichten eines Hubs als primäres Verzeichnis für eine Reihe von privaten Hubs.
+
+- Öffnen Sie auf dem Hub, der der Directory Server sein wird, die Datei .htconfig.php und setzen Sie
+ `App::$config['system']['directory_mode'] = DIRECTORY_MODE_PRIMARY;`
+
+```
+Standardmäßig sollte dies bereits **DIRECTORY_MODE_NORMAL** sein, also ändern Sie diese Zeile einfach in **DIRECTORY_MODE_PRIMARY**.
+```
+
+- Als Nächstes gehen Sie für jeden Hub (einschließlich des Verzeichnisservers) von einem Terminal aus in den Ordner, in dem er installiert ist, und führen Folgendes aus:
+
+ `util/config system directory_realm YOURREALMNAME`
+ (**YOURREALMNAME** kann jeder beliebige Name für Ihren Realm sein)
+
+ dann:
+
+ `util/config system realm_token THEPASSWORD`
+ (**THEPASSWORD** ist das Passwort, das Sie für Ihren Realm verwenden möchten)
+ **HINWEIS:** Verwenden Sie für jeden Hub denselben Realm-Namen und dasselbe Passwort.
+
+- Führen Sie schließlich für jeden „Client“-Hub (von einem Terminal aus) aus:
+
+ `util/config system directory_server https://theaddressofyourdirectoryserver.com`
+
+Wenn Sie sich nun das Verzeichnis jedes Hubs ansehen, sollten nur die Kanäle angezeigt werden, die auf den Hubs in Ihrem Realm existieren. Ich habe bisher mit zwei Hubs getestet, und es scheint gut zu funktionieren. Channels, die in jedem Hub erstellt wurden, werden im Primärverzeichnis und anschließend im Verzeichnis aller Client-Hubs angezeigt.
+
+#### Probleme
+
+Als ich den ersten Hub erstellte, lief er etwa eine Stunde lang, bevor ich ihn auf PRIMARY_MODE umstellte, und nachdem ich ihn umgestellt hatte, waren noch einige Kanäle aus der gesamten Matrix im Verzeichnis vorhanden. Ich habe sie aus der xchan-Tabelle gelöscht, und das scheint das Problem behoben zu haben. \ No newline at end of file
diff --git a/doc/de/adminmanual/Schema-development.md b/doc/de/adminmanual/Schema-development.md
new file mode 100644
index 000000000..5e2304e61
--- /dev/null
+++ b/doc/de/adminmanual/Schema-development.md
@@ -0,0 +1,45 @@
+### Hubzilla-Entwicklung - ein Leitfaden für das Schemasystem
+
+Ein Schema ist, kurz gesagt, eine Sammlung von Einstellungen für eine Reihe von Variablen, die bestimmte Elemente eines Themes definieren. Ein Schema wird so geladen, als wäre es Teil der config.php und hat Zugang zu allen Informationen. Das bedeutet, dass es identitätsbewusst ist und für einige interessante Dinge verwendet werden kann. Man könnte z. B. die Optionen nach Dienstklassen einschränken oder verschiedenen Mitgliedern unterschiedliche Optionen anbieten.
+
+Standardmäßig filtern wir nur danach, ob der Expertenmodus aktiviert ist oder nicht. Wenn der Expertenmodus aktiviert ist, werden dem Mitglied alle Optionen angezeigt. Ist dies nicht der Fall, stehen nur Schema, Hintergrundbild, Schriftart und Iconset zur Auswahl.
+
+Ein Schema wird *erst nach* den persönlichen Einstellungen des Mitglieds geladen. Um einem Mitglied die Möglichkeit zu geben, einen bestimmten Aspekt eines Schemas zu überschreiben, würden Sie daher die folgende Syntax verwenden:
+
+```
+ if (! $foo)
+ $foo = 'bar';
+```
+
+Es gibt jedoch Umstände - insbesondere bei positionalen Elementen -, unter denen es wünschenswert (oder notwendig) sein kann, die Einstellungen eines Mitglieds zu überschreiben. In diesem Fall ist die Syntax noch einfacher:
+
+```
+ $foo = 'bar';
+```
+
+Die Mitglieder werden Ihnen dies jedoch nicht danken, also verwenden Sie es nur, wenn es erforderlich ist.
+Wenn keine persönlichen Optionen eingestellt sind und kein Schema ausgewählt ist, wird zunächst versucht, ein Schema mit dem Dateinamen „default.php“ zu laden. Diese Datei sollte niemals in ein Thema eingebunden werden. Wenn dies der Fall ist, wird es zu Konflikten kommen, wenn andere ihren Code aktualisieren. Vielmehr sollte dies von den Administratoren für jede Seite einzeln festgelegt werden. default.php und default.css MÜSSEN Symlinks zu bestehenden Schemadateien sein.
+
+Ihr Schema muss - und sollte - nicht alle diese Werte enthalten. Nur die Werte, die von den Standardwerten abweichen, sollten aufgeführt werden. Dies gibt Ihnen einige sehr mächtige Optionen mit sehr wenigen Zeilen Code.
+
+Beachten Sie, dass die verfügbaren Optionen von Thema zu Thema unterschiedlich sind. Für das Redbasic-Theme sind folgende Optionen verfügbar:
+
+- nav_colour Die Farbe der Navigationsleiste. Die Optionen sind rot, schwarz und silber. Alternativ kann man $nav_bg_1, $nav_bg_2, $nav_bg_3 und $nav_bg_4 einstellen, um Farbverläufe und Hover-Effekte zu erzielen.
+- banner_colour Die Schriftfarbe des Bannerelements. Akzeptiert einen RGB- oder Hex-Wert.
+- bgcolour Legt die Hintergrundfarbe des Körpers fest. Akzeptiert einen RGB- oder Hex-Wert.
+- background_image Legt ein Hintergrundbild fest. Akzeptiert eine URL oder einen Pfad.
+- item_colour Legt die Hintergrundfarbe von Elementen fest. Akzeptiert einen RGB- oder Hex-Wert.
+- item_opacity Legt die Deckkraft der Elemente fest. Akzeptiert einen Wert von 0,01 bis 1
+- toolicon_colour Legt die Farbe der Werkzeugsymbole fest. Akzeptiert einen RGB- oder Hex-Wert.
+- toolicon_activecolour Legt die Farbe der aktiven oder mit dem Mauszeiger gehaltenen Werkzeugsymbole fest.
+- font_size Legt die Größe der Schriftarten in Artikeln und Beiträgen fest. Akzeptiert px oder em.
+- body_font_size Legt die Größe der Schriftarten auf der Body-Ebene fest. Akzeptiert px oder em.
+- font_colour Legt die Farbe der Schrift fest. Akzeptiert einen RGB- oder Hex-Wert.
+- radius Legt den Radius der Ecken fest. Akzeptiert einen Zahlenwert und ist immer in px.
+- shadow Legt die Größe der Schatten fest, die bei Inline-Bildern angezeigt werden. Akzeptiert einen numerischen Wert. Hinweis: Schatten werden nicht auf Smileys angewendet.
+- converse_width Legt die maximale Breite des Inhaltsbereichs in px fest.
+- nav_min_opacity
+- top_photo
+- antwort_foto
+
+Wenn eine Datei your_schema_name.css gefunden wird, wird der Inhalt dieser Datei an das Ende von style.css angehängt. Dies gibt dem Schema-Entwickler die Möglichkeit, jede Style-Komponente zu überschreiben. \ No newline at end of file
diff --git a/doc/de/adminmanual/Widgets.md b/doc/de/adminmanual/Widgets.md
new file mode 100644
index 000000000..a222a0533
--- /dev/null
+++ b/doc/de/adminmanual/Widgets.md
@@ -0,0 +1,99 @@
+### Grundlegende Widgets
+
+Einige/viele dieser Widgets haben Einschränkungen, die die Art der Seite, auf der sie erscheinen können, einschränken oder eine Anmeldung erfordern können
+
+- clock - zeigt die aktuelle Zeit an
+ - args: military (1 oder 0) - verwendet 24-Stunden-Zeit anstelle von AM/PM
+- profile - zeigt eine Profil-Seitenleiste auf Seiten an, die Profile laden (Seiten mit Nickname in der URL)
+- tagcloud - zeigt eine Tagcloud von Webseiten-Elementen an
+ - args: count - Anzahl der Elemente, die zurückgegeben werden sollen (Standardwert 24)
+- collections - Auswahl der Privatsphärengruppe für den aktuell eingeloggten Kanal
+ - args: mode - eine der Optionen „conversation“, „group“, „abook“ je nach Modul
+- suggestions - Freundesvorschläge für den aktuell angemeldeten Kanal
+- follow - zeigt ein Textfeld zum Folgen eines anderen Channels an
+- notes - privater Notizbereich für den aktuell eingeloggten Kanal, wenn die Funktion private_notes aktiviert ist
+- savedsearch - Netzwerk-/Matrixsuche mit Speicherung - muss eingeloggt und die savedsearch-Funktion aktiviert sein
+- filer - Auswahl abgelegter Elemente aus dem Netzwerk/Matrix-Stream - muss eingeloggt sein
+- archive - Datumsbereichswähler für Netzwerk- und Kanalseiten
+ - args: 'wall' - 1 oder 0, Begrenzung auf Wall-Posts oder Netzwerk-/Matrix-Posts (Standard)
+- fullprofile - wie das aktuelle Profil
+- categories - Kategorien-Filter (Channel-Seite)
+- tagcloud_wall - Tagcloud nur für Channelseite
+ - args: 'limit' - Anzahl der Tags, die zurückgegeben werden sollen (Standardwert 50)
+- catcloud_wall - Tagcloud für die Kategorien der Kanalseite
+ - args: 'limit' - Anzahl der zurückzugebenden Kategorien (Standardwert 50)
+- affinity - Affinitäts-Schieberegler für die Netzwerk-Seite - muss eingeloggt sein
+- settings_menu - Seitenleistenmenü für die Einstellungsseite, muss eingeloggt sein
+- mailmenu - Seitenleistenmenü für die Seite mit den privaten Nachrichten - muss eingeloggt sein
+- design_tools - Menü für Design-Tools für Seiten zur Erstellung von Webseiten, muss eingeloggt sein
+- findpeople - Werkzeuge, um andere Kanäle zu finden
+- photo_albums - Liste der Fotoalben des aktuellen Seitenbesitzers mit einem Auswahlmenü
+- vcard - Mini-Profil-Seitenleiste für die Person von Interesse (Seitenbesitzer, was auch immer)
+- dirsafemode - Werkzeug zur Verzeichnisauswahl - nur auf Verzeichnisseiten
+- dirsort - Werkzeug zur Verzeichnisauswahl - nur auf Verzeichnisseiten
+- dirtags - Verzeichnis-Werkzeug - nur auf Verzeichnisseiten
+- menu_preview - Vorschau eines Menüs - nur auf Menübearbeitungsseiten
+- chatroom_list - Liste der Chaträume für den Seitenbesitzer
+- bookmarkedchats - Liste der Chaträume mit Lesezeichen, die auf dieser Seite für den aktuellen Betrachter gesammelt wurden
+- suggestedchats - „interessante“ Chaträume für den aktuellen Betrachter ausgewählt
+- item - zeigt ein einzelnes Webpage-Element nach Mitte oder Seitentitel an
+ - args:
+ - channel_id - Kanal, dem der Inhalt gehört, Standard ist die profile_uid
+ - mid - message_id der anzuzeigenden Webseite (muss eine Webseite sein, kein Konversationselement)
+ - title - URL-Seitentitel der Webseite (muss entweder title oder mid enthalten)
+- photo - Anzeige eines einzelnen Fotos
+ - args:
+ - src - URL des Fotos, muss http oder https sein
+ - zrl - zid-authentifizierter Link verwenden
+ - style - CSS-Style-String
+- cover_photo - zeigt das Titelbild für den ausgewählten Kanal an
+ - args:
+ - channel_id - zu verwendender Kanal, Standard ist die profile_uid
+ - style - CSS-Style-String (standardmäßig wird die Größe dynamisch an die Breite des Bereichs angepasst)
+
+- photo_rand - zeigt ein zufälliges Foto aus einem Ihrer Fotoalben an. Fotoberechtigungen werden beachtet
+ - args:
+ - album - Name des Albums (sehr zu empfehlen, wenn Sie viele Fotos haben)
+ - scale - typischerweise 0 (Originalgröße), 1 (1024px), 2, (640px) oder 3 (320px)
+ - style - CSS-Style-String
+ - channel_id - wenn nicht Ihre eigene
+- random_block - zeigt ein zufälliges Blockelement aus Ihrer Sammlung von Webpage Design Tools an. Erlaubnisse werden beachtet.
+ - args:
+ - contains - gibt nur Blöcke zurück, die den String contains im Blocknamen enthalten
+ - channel_id - wenn nicht Ihre eigene
+- tasklist - liefert eine Aufgaben- oder To-Do-Liste für den aktuell eingeloggten Channel.
+ - args:
+ - all - zeigt erledigte Aufgaben an, wenn all ungleich Null ist.
+- forums - liefert eine Liste der verbundenen öffentlichen Foren mit ungesehenen Beiträgen für den aktuell eingeloggten Channel.
+- activity - liefert eine Liste der Autoren von ungelesenen Netzwerkinhalten für den aktuell eingeloggten Channel.
+- album - stellt ein Widget zur Verfügung, das ein komplettes Fotoalbum aus den Alben des Seitenbesitzers enthält; dies kann zu groß sein, um in einem Seitenleistenbereich dargestellt zu werden, und wird am besten als Widget für einen Inhaltsbereich implementiert.
+ - args:
+ - album - Name des Albums
+ - title - optionaler Titel, wenn nicht vorhanden wird der Albumname verwendet
+
+#### **Neue Widgets erstellen**
+
+#### **Klassen-Widgets**
+
+Um ein klassenbasiertes Widget namens 'slugfish' zu erstellen, erstellen Sie eine Datei mit folgendem Inhalt:
+
+```php
+<?php
+namespace Zotlabs\Widget;
+class Slugfish {
+
+ function widget($args) {
+
+ ... der Widget-Code kommt hier hin.
+ ... Die Funktion gibt einen String zurück, der den HTML-Inhalt des Widgets darstellt.
+ ... $args ist ein benanntes Array, dem alle [var]-Variablen aus dem Layout-Editor übergeben werden
+ ... Zum Beispiel füllt [widget=slugfish][var=count]3[/var][/widget] $args mit
+ ... [ 'count' => 3 ]
+ }
+
+}
+
+?>
+```
+
+Die resultierende Datei kann in Zotlabs/Widgets/Slugfish.php abgelegt werden. Sie kann auch von einem Git-Repository mit util/add_widget_repo verlinkt werden. \ No newline at end of file
diff --git a/doc/de/adminmanual/Zot---A-High-Level-Overview.md b/doc/de/adminmanual/Zot---A-High-Level-Overview.md
new file mode 100644
index 000000000..c86febf6f
--- /dev/null
+++ b/doc/de/adminmanual/Zot---A-High-Level-Overview.md
@@ -0,0 +1,111 @@
+### Nomad - Ein Überblick auf oberer Ebene
+
+Hier ist eine allgemeine Beschreibung der Funktionsweise von Nomad.
+
+In diesem Beispiel wird „Indigo“ eine öffentliche Nachricht von seiner Website „podunk.edu“ aus versenden. „Nickordo„ ist ein Empfänger auf einer anderen Website (“example.com").
+
+Indigo stellt seine Nachricht zuerst auf podunk.edu ein. podunk.edu schaut nach, wer die Nachricht erhalten soll und findet Nickordo. Nickordo postet normalerweise von example.com aus, also fügen wir dieses Ziel zu unserer Liste der Empfänger hinzu. Wir können auch andere Ziele für Nickordo und alle anderen, die Indigos Beiträge verfolgen, hinzufügen.
+
+In diesem Beispiel stellen wir fest, dass wir nur einen bekannten Empfänger an einem bekannten Ort haben.
+
+Wir senden ein Paket an example.com:
+
+
+
+ {
+ "type":"notify",
+ "sender":{
+ "guid":"kgVFf_1_SSbyqH-BNWjWuhAvJ2EhQBTUdw-Q1LwwssAntr8KTBgBSzNVzUm9_RwuDpxI6X8me_QQhZMf7RfjdA",
+ "guid_sig":"PT9-TApzpm7QtMxC63MjtdK2nUyxNI0tUoWlOYTFGke3kNdtxSzSvDV4uzq_7SSBtlrNnVMAFx2_1FDgyKawmqVtRPmT7QSXrKOL2oPzL8Hu_nnVVTs_0YOLQJJ0GYACOOK-R5874WuXLEept5-KYg0uShifsvhHnxnPIlDM9lWuZ1hSJTrk3NN9Ds6AKpyNRqf3DUdz81-Xvs8I2kj6y5vfFtm-FPKAqu77XP05r74vGaWbqb1r8zpWC7zxXakVVOHHC4plG6rLINjQzvdSFKCQb5R_xtGsPPfvuE24bv4fvN4ZG2ILvb6X4Dly37WW_HXBqBnUs24mngoTxFaPgNmz1nDQNYQu91-ekX4-BNaovjDx4tP379qIG3-NygHTjFoOMDVUvs-pOPi1kfaoMjmYF2mdZAmVYS2nNLWxbeUymkHXF8lT_iVsJSzyaRFJS1Iqn7zbvwH1iUBjD_pB9EmtNmnUraKrCU9eHES27xTwD-yaaH_GHNc1XwXNbhWJaPFAm35U8ki1Le4WbUVRluFx0qwVqlEF3ieGO84PMidrp51FPm83B_oGt80xpvf6P8Ht5WvVpytjMU8UG7-js8hAzWQeYiK05YTXk-78xg0AO6NoNe_RSRk05zYpF6KlA2yQ_My79rZBv9GFt4kUfIxNjd9OiV1wXdidO7Iaq_Q",
+ "url":"http:\/\/podunk.edu",
+ "url_sig":"T8Bp7j5DHHhQDCFcAHXfuhUfGk2P3inPbImwaXXF1xJd3TGgluoXyyKDx6WDm07x0hqbupoAoZB1qBP3_WfvWiJVAK4N1FD77EOYttUEHZ7L43xy5PCpojJQmkppGbPJc2jnTIc_F1vvGvw5fv8gBWZvPqTdb6LWF6FLrzwesZpi7j2rsioZ3wyUkqb5TDZaNNeWQrIEYXrEnWkRI_qTSOzx0dRTsGO6SpU1fPWuOOYMZG8Nh18nay0kLpxReuHCiCdxjXRVvk5k9rkcMbDBJcBovhiSioPKv_yJxcZVBATw3z3TTE95kGi4wxCEenxwhSpvouwa5b0hT7NS4Ay70QaxoKiLb3ZjhZaUUn4igCyZM0h6fllR5I6J_sAQxiMYD0v5ouIlb0u8YVMni93j3zlqMWdDUZ4WgTI7NNbo8ug9NQDHd92TPmSE1TytPTgya3tsFMzwyq0LZ0b-g-zSXWIES__jKQ7vAtIs9EwlPxqJXEDDniZ2AJ6biXRYgE2Kd6W_nmI7w31igwQTms3ecXe5ENI3ckEPUAq__llNnND7mxp5ZrdXzd5HHU9slXwDShYcW3yDeQLEwAVomTGSFpBrCX8W77n9hF3JClkWaeS4QcZ3xUtsSS81yLrp__ifFfQqx9_Be89WVyIOoF4oydr08EkZ8zwlAsbZLG7eLXY"
+ },
+ "callback":"\/post",
+ "version":1,
+ "secret":"1eaa6613699be6ebb2adcefa5379c61a3678aa0df89025470fac871431b70467"
+ }
+
+In diesem Paket steht das Folgende:
+
+Ich bin Indigo und hier ist der Beweis. Ich poste von podunk.edu und hier ist der Beweis. Ich habe ein Paket für Sie. Die Kontrollnummer lautet „1eaa6613....“.
+
+Example.com nimmt dieses Paket an und sagt: „Moment mal - ich kenne Sie nicht. Ich möchte beweisen, wer du bist.“ Example.com stellt also eine Verbindung zu podunk.edu über eine „bekannte URL“ her, die wir für diesen Zweck verwenden, und sucht nach der oben genannten „guid“. Es sollte eine Reihe von Informationen zurückgeben, darunter auch einen öffentlichen Schlüssel. Example.com verwendet diesen Schlüssel, um die Signaturen in der Nachricht zu überprüfen und festzustellen, ob es tatsächlich eine Person namens Indigo bei podunk.edu gibt. Wir müssen dies nur einmal tun. (Beachten Sie, dass Indigo von jedem Ort aus posten kann. Wir müssen nur beweisen, dass es sich um Indigo handelt und dass Indigo beweisen kann, dass er von einem anderen Standort aus postet).
+
+Dann trennt example.com die Verbindung und weist darauf hin, dass eine Nachricht auf podunk.edu wartet. Entweder sofort oder immer dann, wenn der Drang besteht (je nachdem, wie wichtig Indigo für jemanden auf dieser Website ist), „ruft“ example.com podunk.edu an. Die Nachricht lautet in etwa so:
+
+
+
+ {
+ "type":"pickup",
+ "url":"http:\/\/example.com",
+ "callback_sig":"teE1_fLIqfyeCuZY4iS7sNU8jUlUuqYOYBiHLarkC99I9K-uSr8DAwVW8ZPZRK-uYdxRMuKFb6cumF_Gt9XjecCPBM8HkoXHOi_VselzJkxPwor4ZPtWYWWaFtRfcAm794LrWjdz62zdESTQd2JJIZWbrli1sUhK801BF3n0Ye6-X1MWhy9EUTVlNimOeRipcuD_srMhUcAXOEbLlrugZ8ovy2YBe6YOXkS8jj0RSFjsOduXAoVhQmNpcobSYsDvaQS3e3MvE6-oXE602zGQhuNLr7DIMt9PCdAeQo-ZM-DHlZGCkGk4O2oQFCXFzGPqLUMWDACGJfTfIWGoh_EJqT_SD5b_Yi_Wk9S1lj7vb-lmxe5JuIf7ezWzHoBT8vswnZxPYlidH2i9wapdzij9il_qqcCWWHIp7q_XkY_Zj52Z4r4gdmiqM-8y1c_1SDX7hrJFRwqL_PKFbEvyi5nMWTEzqp55Tay5Woiv19STK_H_8ufFfD9AOkYnk6rIOMsk9dn3a5tAFpDRyRndXkBWAXwiJjiND2zjue7BFu7Ty40THXcfYRh1a5XrAXcaGeYuagg-8J9tAufu9_LY3qGazFg8kRBVMOn4M8DRKSIhKj7z4MnbYL0s09gREojy4jqWO3VkaOjP2jUGzoPuUDLasudE1ehWFq0K_MTQNavgmp8",
+ "callback":"http:\/\/example.com\/post",
+ "secret":"1eaa6613699be6ebb2adcefa5379c61a3678aa0df89025470fac871431b70467",
+ "secret_sig":"O7nB4_UJHBXi28Suwl9LBZF9hI_9KGVTgehnUlWF1oYMNRnBbVHB9lzUfAoalvp3STbU3xJbtD_S58tv6MfV7J5j2V_S1W5ex3dulmDGB8Pt_7Fe5mbEPmjQFcfv3Eg5dUjYIuDl0TDScfrHyImj7RZIWHbwd7wWVoMzzDa_o33klpYmKZCBvObCh55bRrlFkXZs_dRuOiPwkfX0C6_XES4OyOIYl45V30rdhmf-STrf4L9dKYy_axQ12RIwRcKychvVLwlUJn3bn9lgNXRRU_HTne-09OPcJbUOdcD3DkFoKOxMULBNKPHzsCau0ICYug7S0EP6LpCom_mW78s08LyVA1vYeFZjevBCiGecj57yIAQDYi6_rpWJfihYaWHRN0oqtScUR4Bdf0bQbEHxMs4zAtrOAxfyJCbi6U1pfnGgzXzB9ulOYGnVGNTF7Ey4K7FOZIBtk0ILY2JfvBUaVvVs8ttagOOHmhWhnbCvrnOFlkNdlce7zoJCSUJENUOCYmTRfwB_Jno5fAzRnrsYU3_Z-l1mzniU_OmUPz8mPEh7PwhkqAiVlyaM-q15gn7l2lAIDk9kp2X_iCme7v4V0ADN_DbpaI_0-6mPw5HLbKrCsA-sxlSMB4DO4lDCHYkauj0l25sbfroRWB_hax1O4Q0oWyOlVJLUqEC5nuUJCCE"
+ }
+
+Was diese Nachricht aussagt, ist: Hier ist example.com, ich habe einen Beweis, und ich bin hier, um ein Paket abzuholen. Hier ist die Sendungsverfolgungsnummer, und hier ist der Beweis, dass dies die Sendungsverfolgungsnummer ist, die Sie vermutlich an example.com gesendet haben.
+
+Gut genug. Podunk.edu überprüft die Geschichte und tatsächlich, es ist example.com, und ja, da wartet ein Paket mit dieser Kontrollnummer. Hier ist das Paket...
+
+
+
+ {
+ "success":1,
+ "pickup":{
+ "notify":{
+ "type":"notify",
+ "sender":{
+ "guid":"kgVFf_1_SSbyqH-BNWjWuhAvJ2EhQBTUdw-Q1LwwssAntr8KTBgBSzNVzUm9_RwuDpxI6X8me_QQhZMf7RfjdA",
+ "guid_sig":"PT9-TApzpm7QtMxC63MjtdK2nUyxNI0tUoWlOYTFGke3kNdtxSzSvDV4uzq_7SSBtlrNnVMAFx2_1FDgyKawmqVtRPmT7QSXrKOL2oPzL8Hu_nnVVTs_0YOLQJJ0GYACOOK-R5874WuXLEept5-KYg0uShifsvhHnxnPIlDM9lWuZ1hSJTrk3NN9Ds6AKpyNRqf3DUdz81-Xvs8I2kj6y5vfFtm-FPKAqu77XP05r74vGaWbqb1r8zpWC7zxXakVVOHHC4plG6rLINjQzvdSFKCQb5R_xtGsPPfvuE24bv4fvN4ZG2ILvb6X4Dly37WW_HXBqBnUs24mngoTxFaPgNmz1nDQNYQu91-ekX4-BNaovjDx4tP379qIG3-NygHTjFoOMDVUvs-pOPi1kfaoMjmYF2mdZAmVYS2nNLWxbeUymkHXF8lT_iVsJSzyaRFJS1Iqn7zbvwH1iUBjD_pB9EmtNmnUraKrCU9eHES27xTwD-yaaH_GHNc1XwXNbhWJaPFAm35U8ki1Le4WbUVRluFx0qwVqlEF3ieGO84PMidrp51FPm83B_oGt80xpvf6P8Ht5WvVpytjMU8UG7-js8hAzWQeYiK05YTXk-78xg0AO6NoNe_RSRk05zYpF6KlA2yQ_My79rZBv9GFt4kUfIxNjd9OiV1wXdidO7Iaq_Q",
+ "url":"http:\/\/z.podunk.edu",
+ "url_sig":"T8Bp7j5DHHhQDCFcAHXfuhUfGk2P3inPbImwaXXF1xJd3TGgluoXyyKDx6WDm07x0hqbupoAoZB1qBP3_WfvWiJVAK4N1FD77EOYttUEHZ7L43xy5PCpojJQmkppGbPJc2jnTIc_F1vvGvw5fv8gBWZvPqTdb6LWF6FLrzwesZpi7j2rsioZ3wyUkqb5TDZaNNeWQrIEYXrEnWkRI_qTSOzx0dRTsGO6SpU1fPWuOOYMZG8Nh18nay0kLpxReuHCiCdxjXRVvk5k9rkcMbDBJcBovhiSioPKv_yJxcZVBATw3z3TTE95kGi4wxCEenxwhSpvouwa5b0hT7NS4Ay70QaxoKiLb3ZjhZaUUn4igCyZM0h6fllR5I6J_sAQxiMYD0v5ouIlb0u8YVMni93j3zlqMWdDUZ4WgTI7NNbo8ug9NQDHd92TPmSE1TytPTgya3tsFMzwyq0LZ0b-g-zSXWIES__jKQ7vAtIs9EwlPxqJXEDDniZ2AJ6biXRYgE2Kd6W_nmI7w31igwQTms3ecXe5ENI3ckEPUAq__llNnND7mxp5ZrdXzd5HHU9slXwDShYcW3yDeQLEwAVomTGSFpBrCX8W77n9hF3JClkWaeS4QcZ3xUtsSS81yLrp__ifFfQqx9_Be89WVyIOoF4oydr08EkZ8zwlAsbZLG7eLXY"
+ },
+ "callback":"\/post",
+ "version":1,
+ "secret":"1eaa6613699be6ebb2adcefa5379c61a3678aa0df89025470fac871431b70467"
+ },
+ "message":{
+ "message_id":"10b049ce384cbb2da9467319bc98169ab36290b8bbb403aa0c0accd9cb072e76@podunk.edu",
+ "message_top":"10b049ce384cbb2da9467319bc98169ab36290b8bbb403aa0c0accd9cb072e76@podunk.edu",
+ "message_parent":"10b049ce384cbb2da9467319bc98169ab36290b8bbb403aa0c0accd9cb072e76@podunk.edu",
+ "created":"2012-11-20 04:04:16",
+ "edited":"2012-11-20 04:04:16",
+ "title":"",
+ "body":"Hi Nickordo",
+ "app":"",
+ "verb":"post",
+ "object_type":"",
+ "target_type":"",
+ "permalink":"",
+ "location":"",
+ "longlat":"",
+ "owner":{
+ "name":"Indigo",
+ "address":"indigo@podunk.edu",
+ "url":"http:\/\/podunk.edu",
+ "photo":{
+ "mimetype":"image\/jpeg",
+ "src":"http:\/\/podunk.edu\/photo\/profile\/m\/5"
+ },
+ "guid":"kgVFf_1_SSbyqH-BNWjWuhAvJ2EhQBTUdw-Q1LwwssAntr8KTBgBSzNVzUm9_RwuDpxI6X8me_QQhZMf7RfjdA",
+ "guid_sig":"PT9-TApzpm7QtMxC63MjtdK2nUyxNI0tUoWlOYTFGke3kNdtxSzSvDV4uzq_7SSBtlrNnVMAFx2_1FDgyKawmqVtRPmT7QSXrKOL2oPzL8Hu_nnVVTs_0YOLQJJ0GYACOOK-R5874WuXLEept5-KYg0uShifsvhHnxnPIlDM9lWuZ1hSJTrk3NN9Ds6AKpyNRqf3DUdz81-Xvs8I2kj6y5vfFtm-FPKAqu77XP05r74vGaWbqb1r8zpWC7zxXakVVOHHC4plG6rLINjQzvdSFKCQb5R_xtGsPPfvuE24bv4fvN4ZG2ILvb6X4Dly37WW_HXBqBnUs24mngoTxFaPgNmz1nDQNYQu91-ekX4-BNaovjDx4tP379qIG3-NygHTjFoOMDVUvs-pOPi1kfaoMjmYF2mdZAmVYS2nNLWxbeUymkHXF8lT_iVsJSzyaRFJS1Iqn7zbvwH1iUBjD_pB9EmtNmnUraKrCU9eHES27xTwD-yaaH_GHNc1XwXNbhWJaPFAm35U8ki1Le4WbUVRluFx0qwVqlEF3ieGO84PMidrp51FPm83B_oGt80xpvf6P8Ht5WvVpytjMU8UG7-js8hAzWQeYiK05YTXk-78xg0AO6NoNe_RSRk05zYpF6KlA2yQ_My79rZBv9GFt4kUfIxNjd9OiV1wXdidO7Iaq_Q"
+ },
+ "author":{
+ "name":"Indigo",
+ "address":"indigo@podunk.edu",
+ "url":"http:\/\/podunk.edu",
+ "photo":{
+ "mimetype":"image\/jpeg",
+ "src":"http:\/\/podunk.edu\/photo\/profile\/m\/5"
+ },
+ "guid":"kgVFf_1_SSbyqH-BNWjWuhAvJ2EhQBTUdw-Q1LwwssAntr8KTBgBSzNVzUm9_RwuDpxI6X8me_QQhZMf7RfjdA",
+ "guid_sig":"PT9-TApzpm7QtMxC63MjtdK2nUyxNI0tUoWlOYTFGke3kNdtxSzSvDV4uzq_7SSBtlrNnVMAFx2_1FDgyKawmqVtRPmT7QSXrKOL2oPzL8Hu_nnVVTs_0YOLQJJ0GYACOOK-R5874WuXLEept5-KYg0uShifsvhHnxnPIlDM9lWuZ1hSJTrk3NN9Ds6AKpyNRqf3DUdz81-Xvs8I2kj6y5vfFtm-FPKAqu77XP05r74vGaWbqb1r8zpWC7zxXakVVOHHC4plG6rLINjQzvdSFKCQb5R_xtGsPPfvuE24bv4fvN4ZG2ILvb6X4Dly37WW_HXBqBnUs24mngoTxFaPgNmz1nDQNYQu91-ekX4-BNaovjDx4tP379qIG3-NygHTjFoOMDVUvs-pOPi1kfaoMjmYF2mdZAmVYS2nNLWxbeUymkHXF8lT_iVsJSzyaRFJS1Iqn7zbvwH1iUBjD_pB9EmtNmnUraKrCU9eHES27xTwD-yaaH_GHNc1XwXNbhWJaPFAm35U8ki1Le4WbUVRluFx0qwVqlEF3ieGO84PMidrp51FPm83B_oGt80xpvf6P8Ht5WvVpytjMU8UG7-js8hAzWQeYiK05YTXk-78xg0AO6NoNe_RSRk05zYpF6KlA2yQ_My79rZBv9GFt4kUfIxNjd9OiV1wXdidO7Iaq_Q"
+ }
+ }
+ }
+ }
+
+
+
+Und das ist das Paket (die ursprüngliche Nachricht). Example.com wandelt diese in eine Form um, die von Nickordo eingesehen werden kann, und benachrichtigt Nickordo, dass es eine neue Nachricht gibt. Podunk.edu **könnte** feststellen, dass noch andere Pakete auf example.com warten. Wenn dies der Fall ist, kann es auch alle anderen wartenden Pakete zu diesem Zeitpunkt versenden. Jedes dieser Pakete ist mit der ursprünglichen Sendungsnummer versehen. \ No newline at end of file
diff --git a/doc/de/adminmanual/administration.md b/doc/de/adminmanual/administration.md
new file mode 100644
index 000000000..ab8cd21c6
--- /dev/null
+++ b/doc/de/adminmanual/administration.md
@@ -0,0 +1,13 @@
+### Administration
+
+#### Website-Verwaltung
+
+Die Verwaltung der Website erfolgt in der Regel über die Verwaltungsseite, die sich unter /admin auf Ihrer Website befindet. Um auf diese Seite zugreifen zu können, müssen Sie über Verwaltungsrechte für den Server verfügen. Administrationsrechte werden dem ersten Konto gewährt, das sich auf Ihrer Website registriert, **vorausgesetzt,** die E-Mail-Adresse dieses Kontos stimmt genau mit der E-Mail-Adresse überein, die Sie bei der Einrichtung als E-Mail-Adresse des Administrators angegeben haben.
+
+![adm01](/help/de/pic/adm01.png)
+
+Es gibt mehrere Möglichkeiten, wie dies fehlschlagen und das System ohne ein Administratorkonto bleiben kann, z. B. wenn das erste Konto, das erstellt wurde, eine andere E-Mail-Adresse als die bei der Einrichtung angegebene Administrator-E-Mail-Adresse angegeben hat.
+
+Aus Sicherheitsgründen gibt es auf dem System keine Webseite oder Schnittstelle, die Ihnen Administratorrechte verleiht. Wenn Sie eine Situation korrigieren müssen, in der ein System kein Administratorkonto hat, **muss** dies durch Bearbeiten der Kontotabelle in der Datenbank geschehen. Es gibt keine andere Möglichkeit. Dazu müssen Sie den Eintrag in der Kontotabelle finden, der zu dem gewünschten Administrator gehört, und „account_roles“ für diesen Eintrag auf 4096 setzen. Anschließend können Sie die Administratorseite über das Profilmenü Ihres Systems oder direkt über /admin aufrufen.
+
+Ein Hub kann mehrere Administratoren haben und die Anzahl der Administratoren ist nicht begrenzt. Wiederholen Sie den obigen Vorgang für jedes Konto, das Sie mit Administrationsrechten ausstatten möchten. \ No newline at end of file
diff --git a/doc/de/adminmanual/advanced_configurations.md b/doc/de/adminmanual/advanced_configurations.md
new file mode 100644
index 000000000..fb4644384
--- /dev/null
+++ b/doc/de/adminmanual/advanced_configurations.md
@@ -0,0 +1,326 @@
+### Erweiterte Konfigurationen für Administratoren
+
+*Dieses Dokument setzt voraus, dass Sie ein Administrator sind.*
+
+Hubzilla enthält viele Konfigurationsoptionen, die im Hauptverwaltungsbereich verborgen sind. Im Allgemeinen handelt es sich dabei um Optionen, die als zu nischenartig, fortgeschritten oder verwirrend angesehen werden.
+
+Diese Einstellungen können über die Shell vom Webverzeichnis der obersten Ebene aus mit folgender Syntax geändert werden
+
+`util/config cat key value`
+für eine Website-Konfiguration, oder
+
+`util/pconfig channel_id cat key value`
+für eine Mitgliedskonfiguration.
+
+Für eine Site-Konfiguration ist eine weitere Möglichkeit, eine Zeile in .htconfig.php einzufügen, mit der Syntax:
+`App::$config['cat']['Schlüssel'] = 'Wert';`
+
+
+
+#### Mitgliederkonfiguration (pconfig)
+
+- system.always_my_theme
+
+ Verwende immer dein eigenes Theme, wenn du Kanäle im selben Hub anschaust. Dies führt zu einigen recht einfallsreichen Problemen, wenn Kanäle mit themenabhängigen Comanche angezeigt werden.
+
+- system.blocked
+
+ Ein Array von Xchans, die von diesem Channel blockiert werden. Technisch gesehen ist dies eine versteckte Konfiguration und gehört hierher, aber Addons (insbesondere Superblock) haben dies in der Benutzeroberfläche verfügbar gemacht.
+
+- system.default_cipher
+
+ Setzt den Standardchiffre, der für E2EE-Elemente verwendet wird.
+
+- system.display_friend_count
+
+ Legt die Anzahl der Verbindungen fest, die im Widget des Verbindungsprofils angezeigt werden sollen.
+
+- system.do_not_track
+
+ Wie der Browser-Header. Dies wird viele identitätsbasierte Funktionen unterbrechen. Sie sollten wirklich nur Berechtigungen setzen, die Sinn machen.
+
+- system.forcepublicuploads
+
+ Erzwingt, dass hochgeladene Fotos öffentlich sind, wenn sie als Wandelemente hochgeladen werden. Es ist viel sinnvoller, die Berechtigungen von vornherein richtig zu setzen. Tun Sie das stattdessen.
+
+- system.network_page_default
+
+ Legt die Standardparameter für die Anzeige der Netzwerkseite fest. Dies sollte den gleichen Querystring enthalten wie die manuelle Filterung.
+
+- system.paranoia
+
+ Legt die Sicherheitsstufe der IP-Überprüfung fest. Wenn sich die IP-Adresse einer angemeldeten Sitzung ändert, wird diese Stufe angewendet, um festzustellen, ob das Konto als Sicherheitsverletzung abgemeldet werden sollte. Die Optionen sind: 0 - keine IP-Überprüfung 1 - 3 Oktette prüfen 2 - 2 Oktette prüfen 3 - Prüfung auf alle Unterschiede
+
+- system.prevent_tag_hijacking
+
+ Verhindert, dass fremde Netzwerke Hashtags in Ihren Beiträgen klauen und sie auf ihre eigenen Ressourcen leiten.
+
+- system.startpage
+
+ Eine weitere dieser technisch versteckten Konfigurationen, die von Addons zur Verfügung gestellt werden. Legt die Standardseite fest, die beim Einloggen angezeigt wird. Diese wird der Benutzeroberfläche durch das startpage-Addon zur Verfügung gestellt.
+
+- system.taganyone
+
+ Erfordert, dass die gleichnamige Konfiguration aktiviert ist. Erlaubt das @mention tagging von jedem, egal ob man verbunden ist oder nicht. Dies skaliert nicht.
+
+- system.anonymous_kommentare
+
+ Standardmäßig oder wenn auf 1 gesetzt, können benutzerdefinierte Berechtigungen gesetzt werden, um anonyme (moderierte) Kommentare wie bei WordPress zu erlauben, die vom Channel-Besitzer moderiert werden. Ist der Wert auf 0 gesetzt, kann kein Mitglied Ihrer Website dies auswählen oder aktivieren.
+
+- system.user_scalable
+
+ Bestimmt, ob die App auf Touchscreens skalierbar ist. Standardmäßig auf on, zum Deaktivieren auf zero setzen - real zero, nicht nur false.
+
+#### Konfiguration der Website
+
+- randprofile.check
+
+ Bei der Anforderung eines Zufallsprofils zuerst prüfen, ob es tatsächlich existiert
+
+- randprofile.retry
+
+ Anzahl der Versuche, ein zufälliges Profil zu erhalten
+
+- system.admin_email
+
+ Gibt die E-Mail-Adresse des Administrators für diese Site an. Diese wird bei der Installation festgelegt.
+
+- system.authlog
+
+ Logdatei, die für die Protokollierung von Authentifizierungsfehlern verwendet wird. Wird verwendet, um eine Verbindung zu serverseitiger Software wie fail2ban herzustellen. Auth-Fehler werden auch in den Hauptprotokollen protokolliert.
+
+- system.auto_channel_create
+
+ Fügt die notwendigen Formularelemente hinzu, um den ersten Kanal auf der Kontoregistrierungsseite zu erstellen, und erstellt ihn (möglicherweise nach einer E-Mail-Validierung oder der Genehmigung des Administrators). Dies schließt die Möglichkeit aus, einen Channel von einer anderen Website als ersten auf dieser Website für ein neues Konto erstellten Channel zu importieren. Verwendung mit system.default_permissions_role zur Rationalisierung der Registrierung.
+
+- system.auto_follow
+
+ Der erste Channel eines Accounts folgt automatisch den hier aufgelisteten Channels - kommagetrennte Liste von Webbies (member@hub Adressen).
+
+- system.blacklisted_sites
+
+ Ein Array spezifischer Hubs, die von diesem Hub komplett blockiert werden sollen.
+
+- system.block_public_search
+
+ Ähnlich wie block_public, mit dem Unterschied, dass nur der öffentliche Zugang zu den Suchfunktionen blockiert wird. Nützlich für Seiten, die öffentlich sein wollen, aber von Suchmaschinen überrannt werden.
+
+- system.cron_hour
+
+ Geben Sie eine Stunde an, in der cron_daily ausgeführt werden soll. Standardmäßig, ohne Konfiguration, wird dies um Mitternacht UTC ausgeführt.
+
+- system.default_permissions_role
+
+ Wenn dieser Wert auf einen gültigen Namen für eine Berechtigungsrolle gesetzt ist, wird diese Rolle für den ersten Channel verwendet, der von einem neuen Konto erstellt wird, und es wird nicht nach dem „Channel-Typ“ im Formular zur Channel-Erstellung gefragt. Beispiele für gültige Namen sind: 'social', 'social_restricted', 'social_private', 'forum', 'forum_restricted' und 'forum_private'. Lesen Sie [hier](https://hub.hubzilla.hu/help/roles) mehr über Berechtigungsrollen.
+
+- system.default_profile_photo
+
+ Legt das Profilfoto fest, mit dem neue Channels beginnen. Dies sollte den Namen eines Verzeichnisses enthalten, das sich unter images/default_profile_photos/ befindet, oder es sollte nicht gesetzt werden. Wenn es nicht gesetzt ist, wird 'rainbow_man' angenommen.
+
+- system.directorytags
+
+ Legt die Anzahl der Schlüsselwort-Tags fest, die auf der Verzeichnisseite angezeigt werden. Die Voreinstellung ist 50, wenn sie nicht auf eine positive ganze Zahl gesetzt wird.
+
+- system.disable_directory_keywords
+
+ Wenn '1', werden keine Verzeichnisschlüsselwörter angezeigt. Wenn der Hub ein Verzeichnisserver ist, verhindern Sie die Rückgabe von Schlüsselwörtern an alle Verzeichnis-Clients. Bitte setzen Sie dies nicht für Verzeichnisserver im Bereich RED_GLOBAL.
+
+- system.disable_discover_tab
+
+ Hiermit können Sie die Fähigkeit, öffentliche Inhalte von externen Sites zu entdecken, vollständig deaktivieren.
+
+- system.disable_dreport
+
+ Wenn '1', werden keine Zustellungsberichte gespeichert oder verlinkt.
+
+- system.dlogfile
+
+ Logdatei, die für die Protokollierung von Entwicklungsfehlern verwendet wird. Genau dasselbe wie logger sonst. Dies ist keine Magie und erfordert Ihre eigenen Logging-Anweisungen. Entwickler-Tool.
+
+- system.email_notify_icon_url
+
+ URL des Bildes (32x32), das in E-Mail-Benachrichtigungen (HTML-Bodies) angezeigt werden soll.
+
+- system.expire_delivery_reports
+
+ Verfallsdatum in Tagen für Zustellungsberichte - Standardwert 10
+
+- system.expire_limit
+
+ Nicht mehr als diese Anzahl von Beiträgen pro Kanal pro Ablauflauf ablaufen lassen, um den Speicher nicht zu erschöpfen. Voreinstellung 5000.
+
+- system.photo_storage_type
+
+ Wenn '1', wird das Dateisystem anstelle der SQL-Datenbank zum Speichern der Thumbnails verwendet. Voreinstellung ist '0'. Eingeführt in 4.2
+
+- system.hidden_version_siteinfo
+
+ Wenn 'true', wird die Softwareversion nicht auf den Seiten von siteinfo angezeigt (system.hide_version verbirgt die Version auch auf diesen Seiten, diese Einstellung verbirgt *nur* die Version auf den Seiten von siteinfo).
+
+- system.hide_help
+
+ Link zur Hilfedokumentation nicht in der Navigationsleiste anzeigen
+
+- system.hide_in_statistiken
+
+ Weist die roten Statistikserver an, diesen Hub in Hublisten komplett auszublenden.
+
+- system.hide_version
+
+ Wenn true, wird die Softwareversion auf Webseiten und Tools nicht angezeigt. (*) Muss in .htconfig.php eingestellt werden.
+
+- system.ignore_imagick
+
+ Ignoriert imagick und verwendet GD, auch wenn imagick auf dem Server installiert ist. Verhindert einige Probleme mit PNG-Dateien in älteren Versionen von imagick.
+
+- system.max_daily_registrations
+
+ Legt die maximale Anzahl der an einem Tag erlaubten Neuanmeldungen fest. Nützlich, um eine Überzeichnung zu verhindern, wenn das Projekt in der Öffentlichkeit bekannt gemacht wird.
+
+- system.max_import_size
+
+ Falls konfiguriert, die maximale Länge einer importierten Textnachricht. Diese wird normalerweise auf 200 KByte oder mehr belassen, um private Friendica-Fotos, die eingebettet sind, unterzubringen.
+
+- system.max_tagged_forums
+
+ Spam-Schutz. Begrenzt die Anzahl der getaggten Foren, die in jedem Beitrag erkannt werden. Standard ist 2. Nur die ersten 'n' Tags werden als Foren zugestellt, die anderen verursachen keine Zustellung.
+
+- system.minimum_feedcheck_minutes
+
+ Das minimale Intervall zwischen der Abfrage von RSS-Feeds. Wenn dieses Intervall kleiner als das Cron-Intervall ist, werden die Feeds bei jedem Cronjob abgefragt. Der Standardwert ist 60, wenn er nicht festgelegt wurde. Die Site-Einstellung kann auch für jeden einzelnen Kanal durch eine Serviceklassen-Einstellung mit dem treffenden Namen „minimum_feedcheck_minutes“ außer Kraft gesetzt werden.
+
+- system.no_age_restriction
+
+ Beschränken Sie die Registrierung nicht auf Personen über 13 Jahren. In vielen Ländern ist es gesetzlich vorgeschrieben, dass das Alter angegeben werden muss und dass alle persönlichen Daten von Minderjährigen gesperrt werden müssen.
+
+- system.object_cache_days
+
+ Legt fest, wie lange zwischengespeicherte eingebettete Inhalte ohne erneutes Abrufen verwendet werden können. Die Voreinstellung ist 30 Tage.
+
+- system.openssl_conf_file
+
+ Geben Sie eine Datei an, die die OpenSSL-Konfiguration enthält. Wird in einigen Windows-Installationen benötigt, um die openssl-Konfigurationsdatei auf dem System zu finden. Lesen Sie zuerst den Code. Wenn Sie den Code nicht lesen können, spielen Sie nicht mit ihm.
+
+- system.openssl_encrypt
+
+ Verschlüsselungs-Engine von openssl verwenden, Standard ist false (verwendet mcrypt für AES-Verschlüsselung)
+
+- system.optimize_items
+
+ Führt optimise_table während einiger Aufgaben aus, um Ihre Datenbank sauber und defragmentiert zu halten. Dies geht zu Lasten der Leistung, während die Operationen laufen, sorgt aber auch dafür, dass die Dinge etwas schneller laufen, wenn sie nicht laufen. Es gibt auch CLI-Hilfsprogramme zur Durchführung dieser Operation, die Sie vielleicht bevorzugen, besonders wenn Sie eine große Site haben.
+
+- system.override_poll_lockfile
+
+ Ignoriert die Sperrdatei im Poller-Prozess, damit mehr als ein Prozess gleichzeitig laufen kann.
+
+- system.paranoia
+
+ Wie pconfig, aber auf einer site-weiten Basis. Kann durch Mitgliedereinstellungen überschrieben werden.
+
+- system.pin_types
+
+ Array der zulässigen Elementtypen für die Anheftung. Die Standardwerte hängen vom Modul ab, können aber hier geändert werden.
+
+- system.photo_cache_time
+
+ Wie lange die Fotos zwischengespeichert werden sollen, in Sekunden. Standardwert ist 86400 (1 Tag). Eine längere Zeit erhöht die Leistung, bedeutet aber auch, dass es länger dauert, bis geänderte Berechtigungen gelten.
+
+- system.plattform_name
+
+ Was als Plattformname auf Webseiten und in Statistiken angezeigt werden soll. (*) Muss in .htconfig.php eingestellt werden.
+
+- system.rating_enabled
+
+ Verteilte Reputationsberichte und Datenerfassung. Diese Funktion wird derzeit überarbeitet.
+
+- system.poke_basic
+
+ Reduziert die Anzahl der poke-Verben auf genau 1 („poke“). Deaktivieren Sie andere Verben.
+
+- system.proc_run_use_exec
+
+ Wenn 1, wird der Systemaufruf exec in proc_run verwendet, um Hintergrundaufgaben auszuführen. Standardmäßig verwenden wir proc_open und proc_close. Auf einigen (derzeit seltenen) Systemen funktioniert dies nicht gut.
+
+- system.projecthome
+
+ Zeigt die Projektseite auf Ihrer Homepage für abgemeldete Betrachter an.
+
+- system.projekthome
+
+ Legt die Projekthomepage als Startseite des Hubs fest. (Veraltet)
+
+- system.pubstream_bestellung
+
+ Legt die Pubstream-Reihenfolge fest. Mögliche Werte 'commented' (Standard), 'created' und 'edited'.
+
+- system.register_link
+
+ Pfad, auf den der „register“-Link im Anmeldeformular verweisen soll. Bei geschlossenen Sites wird dies auf 'pubsites' verweisen. Bei offenen Sites wird er normalerweise auf 'register' umgeleitet, aber Sie können dies auf eine benutzerdefinierte Site-Seite ändern, die Abonnements oder ähnliches anbietet.
+
+- system.reserved_channels
+
+ Erlaube den Mitgliedern nicht, Kanäle mit dieser durch Kommata getrennten Liste von Namen (keine Leerzeichen) zu registrieren.
+
+- system.sellpage
+
+ Eine URL, die in der Liste der öffentlichen Sites angezeigt wird, um Ihren Hub zu verkaufen - Serviceklassen anzeigen, usw.
+
+- system.startpage
+
+ Legt die Standardseite fest, die nach einer Anmeldung für alle Channels auf dieser Website angezeigt wird. Kann durch Benutzereinstellungen überschrieben werden.
+
+- system.sys_expire_days
+
+ Wie viele Tage sollen entdeckte öffentliche Inhalte von anderen Websites aufbewahrt werden?
+
+- system.taganyone
+
+ Erlaubt das @mention-Tagging von jedem, egal ob Sie verbunden sind oder nicht.
+
+- system.tempdir
+
+ Ort, an dem temporäre Dateien gespeichert werden (derzeit unbenutzt), Standard ist in der PHP-Konfiguration definiert.
+
+- system.tos_url
+
+ Setzt einen alternativen Link für den ToS-Speicherort.
+
+- system.transport_security_header
+
+ wenn ungleich Null und SSL verwendet wird, wird ein strict-transport-security-Header auf den Webseiten eingefügt
+
+- system.uploaddir
+
+ Speicherort für das Hochladen von Dateien (Standard ist system.tempdir, derzeit nur vom js_upload-Plugin verwendet)
+
+- system.workflow_channel_next
+
+ Die Seite, zu der neue Mitglieder unmittelbar nach der Erstellung eines Channels weitergeleitet werden sollen.
+
+- system.arbeitsablauf_register_next
+
+ Die Seite, auf die Mitglieder direkt nach dem Erstellen eines Kontos geleitet werden (nur wenn auto_channel_create oder UNO aktiviert ist).
+
+#### Verzeichnis-Konfiguration
+
+##### Standardwerte für die Verzeichnissuche
+
+- directory.globaldir
+
+ 0 oder 1. Standardwert 0. Wenn Sie das Verzeichnis auf einer Site besuchen, sehen Sie standardmäßig nur die Mitglieder dieser Site. Man muss einen zusätzlichen Schritt machen, um die Leute im Rest des Netzwerks zu sehen; und indem man das tut, gibt es eine klare Abgrenzung, dass diese Leute *nicht* Mitglieder dieser Site sind, sondern eines größeren Netzwerks.
+
+- directory.pubforums
+
+ 0 oder 1. Öffentliche Foren *sollten* standardmäßig 0 sein.
+
+- directory.safemode
+
+ 0 oder 1.
+
+##### Konfiguration des Verzeichnisservers
+
+- system.directory_mode
+- system.directory_primary
+- system.directory_realm
+- system.verzeichnis_server
+- system.realm_token \ No newline at end of file
diff --git a/doc/de/adminmanual/automated_installation.md b/doc/de/adminmanual/automated_installation.md
new file mode 100644
index 000000000..0cb440717
--- /dev/null
+++ b/doc/de/adminmanual/automated_installation.md
@@ -0,0 +1,26 @@
+### Automatisierte Installation über das Shell-Skript .homeinstall
+
+Es gibt ein Shell-Skript in (`.homeinstall/hubzilla-setup.sh`), das Hubzilla und seine Abhängigkeiten auf einer frischen Installation von Debian stable installiert. Es sollte auf ähnlichen Linux-Systemen funktionieren, aber Ihre Ergebnisse können variieren.
+
+#### Anforderungen
+
+Das Installationsskript wurde ursprünglich für einen kleinen Hardwareserver hinter Ihrem Heimrouter entwickelt. Es wurde jedoch auf mehreren Systemen mit Debian 9 getestet:
+
+- Home-PC (Debian-9.2-amd64) und Rapberry-Pi 3 (Rasbian = Debian 9.3)
+ - Internetanschluss und Router zu Hause
+ - Mini-PC / Raspi an den Router angeschlossen
+ - USB-Laufwerk für Backups
+ - Frische Installation von Debian auf Ihrem Mini-PC
+ - Router mit offenen Ports 80 und 443 für Ihr Debian
+
+#### Überblick über die Installationsschritte
+
+1. `apt-get install git`
+2. `mkdir -p /var/www/html`
+3. `cd /var/www/html`
+4. `git clone https://framagit.org/hubzilla/core.git .`
+5. `nano .homeeinstall/hubzilla-config.txt`
+6. `cd .homeeinstall/`
+7. `./hubzilla-setup.sh`
+8. `service apache2 neu laden`
+9. Öffnen Sie Ihre Domain mit einem Browser und gehen Sie durch die anfängliche Konfiguration von Hubzilla. \ No newline at end of file
diff --git a/doc/de/adminmanual/before_you_start.md b/doc/de/adminmanual/before_you_start.md
new file mode 100644
index 000000000..1bc425b9c
--- /dev/null
+++ b/doc/de/adminmanual/before_you_start.md
@@ -0,0 +1,17 @@
+### Bevor Sie beginnen
+
+Wählen Sie einen Domänennamen oder einen Subdomänennamen für Ihren Server.
+
+Die Software kann nur im Stammverzeichnis einer Domäne oder Subdomäne installiert werden und kann nicht über alternative TCP-Ports installiert werden. Diese Beschränkungen können in Zukunft gelockert werden, sind aber unbequem, so dass wir Ihnen weiterhin DRINGEND empfehlen, sich daran zu halten.
+
+Entscheiden Sie, ob Sie SSL verwenden wollen, und besorgen Sie sich vor der Softwareinstallation ein SSL-Zertifikat. Sie SOLLTEN SSL verwenden. Wenn Sie SSL verwenden, MÜSSEN Sie ein „browsergültiges“ Zertifikat verwenden. Sie KÖNNEN KEINE selbstsignierten Zertifikate verwenden!
+
+Bitte testen Sie Ihr Zertifikat vor der Installation. Ein Webtool zum Testen Ihres Zertifikats finden Sie unter „http://www.digicert.com/help/“. Wenn Sie Ihre Website zum ersten Mal besuchen, verwenden Sie bitte die SSL-URL („https://“), wenn SSL verfügbar ist. Dadurch werden spätere Probleme vermieden. Die Installationsroutine erlaubt es Ihnen nicht, ein nicht browsergültiges Zertifikat zu verwenden.
+
+Diese Einschränkung wird vorgenommen, weil öffentliche Beiträge von Ihnen Verweise auf Bilder in Ihrem eigenen Hub enthalten können. Andere Mitglieder, die ihren Stream auf anderen Hubs betrachten, erhalten Warnungen, wenn Ihr Zertifikat von ihrem Webbrowser nicht als vertrauenswürdig eingestuft wird. Dies wird viele Leute verwirren, da es sich um ein dezentralisiertes Netzwerk handelt, und sie werden die Warnung über Ihren Hub erhalten, während sie ihren eigenen Hub ansehen, und könnten denken, dass ihr eigener Hub ein Problem hat. Diese Warnungen sind sehr technisch und beängstigend für einige Leute, von denen viele nicht wissen, wie sie weiter vorgehen sollen, außer den Ratschlägen des Browsers zu folgen. Das ist für die Gemeinschaft störend. Abgesehen davon erkennen wir die Probleme im Zusammenhang mit der derzeitigen Zertifikatsinfrastruktur an und stimmen zu, dass es viele Probleme gibt, aber das ändert nichts an der Anforderung.
+
+Kostenlose „browsergültige“ Zertifikate gibt es von Anbietern wie ZeroSSL, LetsEncrypt und einigen anderen.
+
+Wenn Sie NICHT SSL verwenden, kann es beim ersten Installationsskript zu einer Verzögerung von bis zu einer Minute kommen - während wir den SSL-Port überprüfen, um zu sehen, ob dort etwas antwortet. Bei der Kommunikation mit neuen Sites versucht Hubzilla immer zuerst eine Verbindung über den SSL-Port herzustellen, bevor es auf eine weniger sichere Verbindung zurückgreift. Wenn Sie kein SSL verwenden, MUSS Ihr Webserver überhaupt nicht auf Port 443 lauschen.
+
+Wenn Sie LetsEncrypt für die Bereitstellung von Zertifikaten verwenden und eine Datei unter .well-known/acme-challenge erstellen, damit LetsEncrypt Ihre Domaineigentümerschaft überprüfen kann, entfernen Sie bitte das Verzeichnis .well-known oder benennen Sie es um, sobald das Zertifikat generiert wurde. Die Software stellt bei der Installation einen eigenen Handler für „.well-known“-Dienste zur Verfügung, und ein bestehendes Verzeichnis an diesem Ort kann verhindern, dass einige dieser Dienste korrekt funktionieren. Dies sollte bei Apache kein Problem sein, kann aber bei nginx oder anderen Webserver-Plattformen ein Problem darstellen. \ No newline at end of file
diff --git a/doc/de/adminmanual/channel_directory.md b/doc/de/adminmanual/channel_directory.md
new file mode 100644
index 000000000..745a20272
--- /dev/null
+++ b/doc/de/adminmanual/channel_directory.md
@@ -0,0 +1,15 @@
+### Kanal-Verzeichnis
+
+#### Schlüsselwörter
+
+Es gibt eine „Schlagwortwolke“ mit Schlüsselwörtern, die auf der Kanalverzeichnisseite erscheinen können. Wenn Sie diese Schlüsselwörter, die vom Verzeichnisserver bezogen werden, ausblenden möchten, können Sie das *Konfigurationswerkzeug* verwenden:
+
+```
+util/config system disable_directory_keywords 1
+```
+
+Wenn sich Ihr Hub im Standalone-Modus befindet, weil Sie sich nicht mit dem globalen Netz verbinden möchten, können Sie stattdessen sicherstellen, dass die Option *directory_server* system leer ist:
+
+```
+util/config system directory_server „“
+``` \ No newline at end of file
diff --git a/doc/de/adminmanual/database.md b/doc/de/adminmanual/database.md
new file mode 100644
index 000000000..d46001880
--- /dev/null
+++ b/doc/de/adminmanual/database.md
@@ -0,0 +1,74 @@
+### Datenbank
+
+#### Datenbank-Updates
+
+Auf der Seite `/admin/dbsync` kann der Administrator überprüfen, ob eine Aktualisierung fehlgeschlagen ist, und sie gegebenenfalls erneut versuchen.
+
+Wenn eine Aktualisierung fehlgeschlagen ist, aber aus irgendeinem Grund nicht als fehlgeschlagen registriert wird, kann der Administrator versuchen, die Aktualisierung erneut auszuführen. Zum Beispiel für die DB-Aktualisierung #1999, indem er die Webseite besucht:
+
+`/admin/dbsync/1999`
+
+#### Datenbank-Tabellen
+
+| Tabelle | Beschreibung |
+| ------------------------------------------------------------ | ------------------------------------------------------------ |
+| [abconfig](/help/de/database/db_abconfig) | beliebiger Speicherplatz für Verbindungen von lokalen Kanälen |
+| [abook](/help/de/database/db_abook) | Verbindungen der lokalen Kanäle |
+| [account](/help/de/database/db_account) | Dienstanbieterkonto |
+| [addon](/help/de/database/db_addon) | registrierte Plugins |
+| [app](/help/de/database/db_app) | persönliche App-Daten |
+| [attach](/help/de/database/db_attach) | Dateianhänge |
+| [auth_codes](/help/de/database/db_auth_codes) | OAuth Benutzung |
+| [cache](/help/de/database/db_cache) | OEmbed Cache |
+| [cal](/help/de/database/db_cal) | CalDAV-Container für Ereignisse |
+| [channel](/help/de/database/db_channel) | lokale Kanäle |
+| [chat](/help/de/database/db_chat) | Chatraum-Inhalte |
+| [chatpresence](/help/de/database/db_chatpresence) | Kanalpräsenzinformationen für den Chat |
+| [chatroom](/help/de/database/db_chatroom) | Daten für den eigentlichen Chatraum |
+| [clients](/help/de/database/db_clients) | OAuth Benutzung |
+| [config](/help/de/database/db_config) | Hauptkonfigurationsspeicher |
+| [conv](/help/de/database/db_conv) | Meta-Konversationsstruktur für private Nachrichten in Diaspora |
+| [event](/help/de/database/db_event) | Events |
+| [pgrp_member](/help/de/database/db_pgrp_member) | Datenschutzgruppen (Sammlungen), Gruppeninformationen |
+| [pgrp](/help/de/database/db_pgrp) | Datenschutzgruppen (Sammlungen), Mitgliederinformationen |
+| [hook](/help/de/database/db_hook) | Plugin-Hook-Register |
+| [hubloc](/help/de/database/db_hubloc) | xchan-Standortspeicher, verknüpft einen Hub-Standort mit einem xchan |
+| [iconfig](/help/de/database/db_iconfig) | erweiterbarer, beliebiger Speicher für Elemente |
+| [issue](/help/de/database/db_issue) | künftige Fehler-/Problemdatenbank |
+| [item](/help/de/database/db_item) | alle Beiträge und Webseiten |
+| [item_id](/help/de/database/db_item_id) | (veraltet durch iconfig) andere Identifikatoren in anderen Diensten für Beiträge |
+| [likes](/help/de/database/db_likes) | "Dinge“ mögen |
+| [mail](/help/de/database/db_mail) | private Nachrichten |
+| [menu](/help/de/database/db_menu) | Webseiten-Menü-Daten |
+| [menu_item](/help/de/database/db_menu_item) | Einträge für Menüs auf Webseiten |
+| [notify](/help/de/database/db_notify) | Benachrichtigungen |
+| [obj](/help/de/database/db_obj) | Objektdaten für Dinge (x hat y) |
+| [outq](/help/de/database/db_outq) | Ausgangswarteschlange |
+| [pconfig](/help/de/database/db_pconfig) | persönlicher (pro Kanal) Konfigurationsspeicher |
+| [photo](/help/de/database/db_photo) | Fotospeicher |
+| [poll](/help/de/database/db_poll) | Daten für Umfragen |
+| [poll_elm](/help/de/database/db_poll_elm) | Daten für Abfrageelemente |
+| [profdef](/help/de/database/db_profdef) | Definitionen für benutzerdefinierte Profilfelder |
+| [profext](/help/de/database/db_profext) | benutzerdefinierte Profilfelddaten |
+| [profile](/help/de/database/db_profile) | Kanalprofile |
+| [profile_check](/help/de/database/db_profile_check) | DFRN-Fernautorisierung, kann veraltet sein |
+| [register](/help/de/database/db_register) | Registrierungen, die eine Verwaltungsgenehmigung erfordern |
+| [session](/help/de/database/db_session) | Speicherung von Websitzungen |
+| [shares](/help/de/database/db_shares) | Informationen über gemeinsame Elemente |
+| [sign](/help/de/database/db_sign) | Diaspora-Unterschriften. Wird schrittweise abgebaut. |
+| [site](/help/de/database/db_site) | Standorttabelle zum Auffinden von Verzeichnis-Peers |
+| [source](/help/de/database/db_source) | Daten aus Kanalquellen |
+| [sys_perms](/help/de/database/db_sys_perms) | erweiterbare Berechtigungen für OAuth |
+| [term](/help/de/database/db_term) | Tabelle der Artikeltaxonomie (Kategorien, Tags usw.) |
+| [tokens](/help/de/database/db_tokens) | OAuth Benutzung |
+| [updates](/help/de/database/db_updates) | Verzeichnis-Synchronisations-Updates |
+| [verify](/help/de/database/db_verify) | allgemeine Verifikationsstruktur |
+| [vote](/help/de/database/db_vote) | Abstimmungsdaten für Umfragen |
+| [xchan](/help/de/database/db_xchan) | Liste der bekannten Kanäle im Universum |
+| [xchat](/help/de/database/db_xchat) | Chaträume mit Lesezeichen |
+| [xconfig](/help/de/database/db_xconfig) | wie pconfig, aber für Kanäle ohne lokales Konto |
+| [xign](/help/de/database/db_xign) | von Freundschaftsvorschlägen ignorierte Kanäle |
+| [xlink](/help/de/database/db_xlink) | von poco abgeleitete „Freunde von Freunden“-Verknüpfungen, auch Speicherung von Bewertungen |
+| [xperm](/help/de/database/db_xperm) | OAuth/OpenID-Connect erweiterbare Berechtigungen Berechtigungsspeicher |
+| [xprof](/help/de/database/db_xprof) | wenn dieser Knotenpunkt ein Verzeichnisserver ist, enthält er grundlegende öffentliche Profilinformationen über jeden im Netz |
+| [xtag](/help/de/database/db_xtag) | wenn dieser Hub ein Verzeichnisserver ist, enthält er Tags oder Interessen von jedem im Netzwerk |
diff --git a/doc/de/adminmanual/directories.md b/doc/de/adminmanual/directories.md
new file mode 100644
index 000000000..0fab695ae
--- /dev/null
+++ b/doc/de/adminmanual/directories.md
@@ -0,0 +1,87 @@
+### **Verzeichnis-Konfiguration**
+
+Verzeichnisse in Hubzilla dienen dem Zweck, Mitglieder überall im Netzwerk zu suchen und zu finden. Sie werden auch verwendet, um „Bewertungen“ von Mitgliedern und Sites zu speichern und abzufragen. Die Verzeichnisdienste sind verteilt und gespiegelt, so dass ein Ausfall eines Dienstes nicht das gesamte Netzwerk lahmlegt oder stört.
+
+#### **Standard-Konfiguration**
+
+Neue Sites, die als Verzeichnis-Clients arbeiten, wählen bei ihrem ersten Verzeichniszugriff automatisch aus einer fest programmierten Liste von Verzeichnisservern aus. Sie können diese Einstellung überprüfen oder außer Kraft setzen, indem Sie
+
+```
+util/config system directory_server
+```
+
+eingeben.
+
+Um einen anderen Server einzustellen, verwenden Sie diesen Befehl:
+
+```
+util/config system directory_server https://newdirectory.something
+```
+
+#### **Eigenständige Konfiguration**
+
+Einige Hubs möchten vielleicht im „Standalone“-Modus arbeiten und keine Verbindung zu externen Verzeichnisdiensten herstellen. Dies ist nützlich für isolierte Sites („off the gird“) und Test-Sites, kann aber auch für kleine Organisationen nützlich sein, die keine Verbindung mit anderen Sites im Netzwerk herstellen wollen.
+
+Um dies zu konfigurieren, suchen Sie bitte in Ihrer Datei .htconfig.php nach dem folgenden Text und stellen Sie die Konfiguration entsprechend ein.
+
+```php
+// Configure how we communicate with directory servers.
+// DIRECTORY_MODE_NORMAL = directory client, we will find a directory
+// DIRECTORY_MODE_SECONDARY = caching directory or mirror
+// DIRECTORY_MODE_PRIMARY = main directory server
+// DIRECTORY_MODE_STANDALONE = "off the grid" or private directory services
+
+App::$config['system']['directory_mode'] = DIRECTORY_MODE_STANDALONE;
+```
+
+#### **Konfiguration des Sekundärservers**
+
+Sie können Ihre Site auch als Sekundärserver konfigurieren. Dieser arbeitet als Spiegel des primären Verzeichnisses und ermöglicht die Verteilung der Last auf die verfügbaren Server. Es gibt kaum funktionale Unterschiede zwischen einem primären und einem sekundären Server, allerdings darf es nur *einen* primären Verzeichnisserver pro Realm geben (Realms werden später in diesem Dokument behandelt).
+
+Bevor Sie sich für einen Verzeichnisserver entscheiden, sollten Sie ein aktives Mitglied des Netzwerks sein und über die Ressourcen und Zeit verfügen, um diese Dienste zu verwalten. In der Regel ist keine Verwaltung erforderlich, sondern die Anforderung dient eher der Stabilität, da der Ausfall eines Verzeichnisservers zu Problemen bei den Verzeichnis-Clients führen kann, die auf ihn angewiesen sind.
+
+#### **Wechseln des Verzeichnisservers**
+
+Wenn ein Verzeichnisserver anzeigt, dass er kein Verzeichnisserver mehr ist, sollte dies von der Software erkannt werden, und die Konfiguration für diesen Server wird entfernt (geleert). Wenn er ohne Vorwarnung dauerhaft offline geht, erfahren Sie das nur, wenn die Mitglieder der Website melden, dass die Verzeichnisdienste nicht mehr verfügbar sind. Derzeit kann dies nur manuell durch den Site-Administrator repariert werden, indem er ein neues Verzeichnis auswählt und den Befehl
+
+```
+util/config system directory_server https://newdirectory.something
+```
+
+Wir hoffen, dass diese Option in Zukunft in der Administrationsoberfläche der Website aktiviert werden kann.
+
+### **Verzeichnis-Bereiche**
+
+Große Organisationen möchten vielleicht lieber Verzeichnis-„Realms“ als ein einzelnes, unabhängiges Verzeichnis verwenden. Der Standard-Realm heißt RED_GLOBAL. Durch die Erstellung eines neuen Realms hat Ihre Organisation die Möglichkeit, ihre eigene Hierarchie von primären und sekundären Servern und Clients zu erstellen.
+
+```
+util/config system directory_realm MY_REALM
+```
+
+Ihr Realm *muss* ein primäres Verzeichnis haben. Erstellen Sie dieses zuerst. Setzen Sie dann den Realm auf allen Sites innerhalb Ihres Verzeichnisbereichs (Server und Clients) auf denselben Wert.
+
+Sie können auch einen „Sub-Realm“ einrichten, der unabhängig vom RED_GLOBAL-Realm (oder jedem anderen Realm) arbeitet, aber eine übergreifende Mitgliedschaft und die Möglichkeit bietet, Mitglieder des gesamten Verzeichnisraums zu suchen. Dies wurde bisher nur leicht getestet, also seien Sie bereit, mitzuhelfen und eventuell auftretende Probleme zu beheben. Ein Sub-Realm enthält seinen übergeordneten Realm im Realm-Namen.
+
+```
+util/config system directory_realm RED_GLOBAL:MY_REALM
+```
+
+#### **Realm-Zugang**
+
+Sie möchten vielleicht, dass Ihre Verzeichnisserver und -dienste nur von Mitgliedern Ihres Realms genutzt werden. Zu diesem Zweck muss ein Token oder Passwort für den Zugriff auf die Verzeichnisdienste des Realms angegeben werden. Dieses Token wird während der Übertragung nicht verschlüsselt, reicht aber aus, um den gelegentlichen Zugriff auf Ihre Verzeichnisserver zu verhindern. Folgendes muss für alle Sites (Clients und Verzeichnisserver) innerhalb des Realms konfiguriert werden:
+
+```
+util/config system realm_token my-secret-realm-password
+```
+
+### **Verzeichnis-Spiegelung**
+
+Die Spiegelung erfolgt mit einem täglichen Transaktionsprotokoll der Aktivitäten, das von den Verzeichnisservern gemeinsam genutzt wird. Bei Verzeichnis- und Profilaktualisierungen wird die Adresse des Kanals, der die Aktualisierung durchführt, übermittelt, und die anderen Verzeichnisserver prüfen diesen Kanal an seiner Quelle auf Änderungen. Wir können und sollten den Informationen, die uns von anderen Verzeichnisservern gegeben werden, nicht vertrauen. Wir überprüfen die Informationen immer an der Quelle.
+
+Bewertungen werden etwas anders gehandhabt - ein verschlüsseltes Paket (signiert von dem Kanal, der die Bewertung erstellt hat) wird zwischen den Servern übertragen. Diese Signatur muss überprüft werden, bevor die Bewertung akzeptiert wird. Bewertungen werden immer auf dem primären Verzeichnisserver veröffentlicht und von dort aus an alle anderen Verzeichnisserver weitergegeben. Aus diesem Grund kann es nur einen primären Server in einem Bereich geben. Wenn eine falsch konfigurierte Site behauptet, ein primäres Verzeichnis zu sein, wird sie im RED_GLOBAL-Bereich ignoriert. Für andere Realms gibt es derzeit keinen solchen Schutz. Seien Sie sich dessen bewusst, wenn Sie mit alternativen Realms arbeiten.
+
+Neu erstellte Verzeichnisserver erhalten keinen „Full Dump“, sondern werden aus Leistungsgründen und um die anderen Server im Netz möglichst wenig zu stören, langsam online gestellt. Es kann bis zu einem Monat dauern, bis ein neuer sekundärer Verzeichnisserver einen vollständigen Überblick über das Netzwerk bietet. Bitte fügen Sie keine sekundären Server zur fest kodierten Liste der Fallback-Verzeichnisserver hinzu, bevor er nicht mindestens einen Monat lang als Verzeichnis in Betrieb war.
+
+Alle Channels sind so konfiguriert, dass sie ihren Verzeichnisserver einmal im Monat „anpingen“, und zwar zu einem zufälligen Zeitpunkt im Monat. Auf diese Weise kann das Verzeichnis tote Channels und Sites entdecken (sie hören auf zu pingen). In der Folge werden sie als tot oder unerreichbar markiert und mit der Zeit aus den Verzeichnisergebnissen entfernt.
+
+Kanäle können so konfiguriert werden, dass sie vor dem Verzeichnis „versteckt“ werden. Diese Kanäle sind zwar noch im Verzeichnis vorhanden, aber nicht mehr durchsuchbar, und einige „sensible“ persönliche Informationen werden nicht gespeichert. \ No newline at end of file
diff --git a/doc/de/adminmanual/faq_admins.md b/doc/de/adminmanual/faq_admins.md
new file mode 100644
index 000000000..496a49f98
--- /dev/null
+++ b/doc/de/adminmanual/faq_admins.md
@@ -0,0 +1,89 @@
+### Hubzilla FAQ
+
+#### Gibt es eine Möglichkeit, das Admin-Konto zu ändern?
+
+#### Gibt es eine Möglichkeit, mehrere Administratoren zu haben?
+
+Ja, aber im Moment ist es noch etwas umständlich, da es noch nicht in der Benutzeroberfläche sichtbar ist. Um ein Konto zu einem administrativen Konto zu machen, muss man 4096 zum account_roles-Eintrag in der Kontotabelle der Datenbank hinzufügen. Um administrative Berechtigungen zu entfernen, muss man 4096 von den Kontorollen abziehen.
+
+#### Ich kann mich einloggen, aber es gibt keine Beiträge oder Webseiten
+
+Höchstwahrscheinlich ist Ihre Artikeltabelle abgestürzt. Führen Sie den MySQL-Befehl
+
+```
+repair table item;
+```
+
+#### Das Einloggen funktioniert nicht, sofort nach dem Einloggen wird die Seite neu geladen und ich werde ausgeloggt
+
+Höchstwahrscheinlich ist Ihre Sitzungstabelle abgestürzt. Führen Sie den MySQL-Befehl
+
+```
+repair table session;
+```
+
+aus.
+
+#### Wenn ich das Thema wechsle, werden manchmal Elemente des einen Themas über das andere gelegt
+
+a) store/[data]/smarty3 ist für den Webserver nicht beschreibbar. Machen Sie es möglich.
+b) Sie verwenden Midori, oder bei bestimmten Themes Konqueror im KHTML-Modus.
+
+#### Mein Netzwerk-Tab wird nicht geladen, es scheint durch ein Foto oder Video verursacht zu werden
+
+Ihr PHP-Speicherlimit ist zu niedrig. Erhöhen Sie die Größe der memory_limit-Anweisung in Ihrer php.ini
+Entgegen der landläufigen Meinung hat die Anzahl der Nutzer eines Hubs keinen Einfluss auf das benötigte Speicherlimit, vielmehr zählt der Inhalt einer individuellen Matrix. Streams mit vielen Fotos und Videos benötigen mehr Speicher als Streams mit viel Text.
+
+#### Ich habe keine Kommunikation mit jemandem
+
+Sie lauschen auf Port 443, haben aber kein gültiges SSL-Zertifikat. Dies gilt auch, wenn Ihre Basisurl http lautet.
+Lauschen Sie nicht auf Port 443, wenn Sie ihn nicht verwenden können. Es wird dringend empfohlen, dieses Problem durch die Installation eines gültigen SSL-Zertifikats für den Browser zu lösen, anstatt Port 443 zu deaktivieren.
+
+#### Wie kann ich eine Nicht-Git-Installation aktualisieren?
+
+1. Sichern Sie .htconfig.php
+2. Sichern Sie alles in store/
+3. Sichern Sie alle benutzerdefinierten Änderungen in mod/site/ und view/site
+4. Löschen Sie Ihre bestehende Installation
+5. Laden Sie die neue Version hoch.
+6. Laden Sie die neue Version der Themes und Addons hoch.
+7. Stellen Sie alles wieder her, was Sie zuvor gesichert haben.
+
+#### Was muss ich tun, wenn ich meinen Hub auf einen anderen Server verschiebe?
+
+1. Erstellen Sie einen Git-Klon auf dem neuen Server. Wiederholen Sie den Vorgang für alle benutzerdefinierten Themes und Addons.
+2. Rsync .htconfig.php
+3. Rsync alles in store/
+4. Rsync alles in mod/site/ und view/site (diese sind nur vorhanden, wenn Sie eigene Module haben)
+5. Dump und Wiederherstellung der DB.
+
+#### Wie installiere ich einen bestehenden Hub auf demselben Server neu?
+
+```
+git reset --hard HEAD
+```
+
+setzt alle Dateien auf ihre Upstream-Standardwerte zurück. Dabei werden keine lokalen Dateien zurückgesetzt, die nicht auch im Upstream existieren. Wenn Sie z.B. lokale Änderungen an mod/channel.php vorgenommen haben, werden diese zurückgesetzt - nicht aber die Änderungen in mod/site/channel.php.
+
+1. Wenn Sie unbedingt eine Neuinstallation durchführen müssen - z.B. wenn Sie das Betriebssystem aktualisieren müssen - befolgen Sie die Schritte für den Umzug auf einen anderen Server, aber anstatt rsync zu verwenden, erstellen Sie ein Backup und stellen Sie es auf andere Weise wieder her.
+
+Installieren Sie einen Hub nicht mit einer neuen Datenbank und einer neuen .htconfig.php neu, es sei denn, dies ist der allerletzte Ausweg. Das Anlegen eines temporären Accounts und das Anfordern von Hilfe über einen Support-Kanal für nicht-triviale Neuinstallationen ist einer Neuinstallation vorzuziehen.
+
+#### Wie kann ich die Standard-Homepage für abgemeldete Besucher festlegen?
+
+Verwenden Sie das Addon custom_home, das im Hauptrepository für Addons verfügbar ist.
+
+#### Was bedeuten die verschiedenen Einstellungen für den Verzeichnismodus?
+
+```
+// Konfigurieren Sie, wie wir mit Verzeichnisservern kommunizieren.
+// DIRECTORY_MODE_NORMAL = Verzeichnis-Client, wir finden ein Verzeichnis (alle Abfragen Ihrer Mitglieder werden an andere Stellen geleitet)
+// DIRECTORY_MODE_SECONDARY = Zwischenspeicherverzeichnis oder Mirror (hält sich synchron mit dem primären Realm [fügt erhebliche Cron-Ausführungszeit hinzu])
+// DIRECTORY_MODE_PRIMARY = Hauptverzeichnisserver (dies ist nur sinnvoll, wenn Sie einen eigenen Realm betreiben. einer pro Realm)
+// DIRECTORY_MODE_STANDALONE = „Off the grid“ oder private Verzeichnisdienste (nur lokale Site-Mitglieder im Verzeichnis)
+```
+
+- Die Voreinstellung ist NORMAL. Damit werden die meisten Verzeichnisdienste auf einen anderen Server verlagert. Der verwendete Server ist der config:system/directory_server. Diese Einstellung KANN durch den Code auf einen der Projektsekundärserver aktualisiert werden, wenn der aktuelle Server nicht erreichbar ist. Sie sollten entweder die Kontrolle über diesen anderen Server haben oder ihm vertrauen, dass er diese Einstellung verwendet.
+- SEKUNDÄR. Dies ermöglicht es Ihrer lokalen Site, als Verzeichnisserver zu fungieren, ohne die Abfragen Ihrer Mitglieder einem anderen Server zu überlassen. Es erfordert zusätzliche Verarbeitungszeit während der Cron-Abfrage und wird nicht empfohlen, auf einem gemeinsam genutzten Webhost ausgeführt zu werden.
+- PRIMÄR. Dies ermöglicht es Ihnen, ein komplett separates 'Netzwerk' von Verzeichnisservern mit einem eigenen Realm zu betreiben. Standardmäßig befinden sich alle Server im Realm RED_GLOBAL, es sei denn, die Einstellung config:system/directory_realm wird überschrieben. *Verwenden Sie dies nicht, wenn Sie keinen eigenen directory_realm haben.*
+- STANDALONE. Dies ist wie primary, außer dass es sich um ein eigenständiges „Netzwerk“ handelt, das mit keinem anderen Server kommuniziert. Verwenden Sie dies, wenn Sie nur einen Server haben und von den Red#Matrix-Verzeichnislisten getrennt sein wollen. \ No newline at end of file
diff --git a/doc/de/adminmanual/federation_addons.md b/doc/de/adminmanual/federation_addons.md
new file mode 100644
index 000000000..eda62a062
--- /dev/null
+++ b/doc/de/adminmanual/federation_addons.md
@@ -0,0 +1,8 @@
+### Föderations Addons
+
+Verschiedene Web-Communities haben begonnen, sich unter Verwendung gemeinsamer Protokolle zusammenzuschließen. Die beteiligten Protokolle sind in ihren Möglichkeiten etwas eingeschränkt. Das Diaspora-Protokoll ist etwas restriktiv, was die erlaubten Kommunikationsarten angeht. Alle Kommentare müssen vom ursprünglichen Autor auf eine sehr eindeutige Weise signiert werden. Das ActivityPub-Protokoll wird ebenfalls unterstützt. Kein anderes existierendes Protokoll unterstützt nomadische Standorte (es gibt inzwischen die Unterstützung nomadischer Identitäten bei ActivityPub), wie sie in diesem Projekt verwendet werden. Dies stellt einige Herausforderungen an die Unterstützung, da einige Funktionen mit einigen Netzen funktionieren und mit anderen nicht. Nichtsdestotrotz ermöglichen die Föderationsprotokolle die Herstellung von Verbindungen zu einer viel größeren Gemeinschaft von Menschen weltweit. Sie werden als Addons bereitgestellt.
+
+- Diaspora Protocol - Das Diaspora-Protokoll wird von Diaspora und Friendica verwendet. Sie sollten zuerst 'Diaspora Statistics' (Statistiken) aktivieren, um alle verfügbaren Funktionen zu nutzen.
+- PubCrawl - Das ActivityPub-Protokoll, das von Mastodon, MIsskey, Friendica und allen Fediverse-Diensten unterstützt wird.
+
+Jedes Mitglied Ihrer Website muss selbst entscheiden, ob es diese Protokolle zulassen will oder nicht, da sie mit einigen wünschenswerten Kernfunktionen und Fähigkeiten dieser Software (wie z.B. Channel-Migration und Klonen) in Konflikt geraten können. Sie tun dies auf ihrer Seite „Einstellungen -> Feature/Addon-Einstellungen“. \ No newline at end of file
diff --git a/doc/de/adminmanual/filesync.md b/doc/de/adminmanual/filesync.md
new file mode 100644
index 000000000..97cc388c6
--- /dev/null
+++ b/doc/de/adminmanual/filesync.md
@@ -0,0 +1,42 @@
+### Datei-Synchronisation und Klonen
+
+Das Klonen von Dateien über mehrere Instanzen eines Channels hinweg ist aufgrund der Natur der PHP-Speicherzuweisung ein sehr schwieriges Problem. Dies muss völlig anders gehandhabt werden als das Klonen oder Synchronisieren anderer Informationen. (Die Verarbeitung einer großen Videodatei oder von 40-50 Fotos kann den Speicher voll auslasten). Daher können wir nicht einfach alle Daten in eine Speicherauszugsdatei auslagern und sie dann sequentiell verarbeiten. Das Laden der Speicherauszugsdatei selbst wird wahrscheinlich den Speicherplatz erschöpfen.
+
+Außerdem gibt es zwei Hauptoperationen, die wir in Betracht ziehen. Die erste ist die schwierigste - das Speichern und anschließende Importieren aller Kanalinformationen in einen neuen Kanal-Klon. Der zweite ist die Synchronisierung von Datei-Änderungen, die in zwei oder mehr „aktiven“ Klonen auftreten.
+Beim ersten Versuch mit diesem Tool werden wir uns auf den zweiten Fall konzentrieren, während wir versuchen, ein gewisses Maß an Kompatibilität mit dem ersten Fall aufrechtzuerhalten, damit wir dieselben Tools wiederverwenden können.
+
+#### Metadaten
+
+Zunächst benötigen wir die Metadaten der Datei, um ihre Struktur auf einer anderen Website genau rekonstruieren zu können. Dazu sind die folgenden Informationen erforderlich:
+die „attach“-Struktur (ohne Dateiinhalt - das ist die Standardeinstellung) für die Datei selbst **und** ihre übergeordneten Verzeichnisse, damit wir ihren genauen Platz im Dateisystem wiederherstellen können, da wir nicht wissen, ob das übergeordnete Verzeichnis schon einmal importiert worden ist oder nicht.
+Foto"-Struktur für alle Fotoelemente, die durch das Hochladen dieser Datei in das System erstellt wurden. Diese enthält in der Regel mehrere verschiedene „Skalen“ oder Miniaturbilder, von denen einige für die Verwendung als Profilfoto oder Titelbild beschnitten werden können. Wir müssen die Informationen über den Bildausschnitt aufbewahren, die nicht in den Metadaten, sondern nur in den gespeicherten Daten enthalten sind. Die eigentlichen Miniaturbilddaten können in den Metadaten enthalten sein, müssen es aber nicht. Ein großformatiges Titelbild (Maßstab #7) könnte möglicherweise zu Speicherproblemen führen. Es ist zwar nicht so schlimm wie ein 100-Meter-Video, aber wenn Sie mehrere davon haben, können sie sich summieren.
+
+Objekteinträge, die mit dieser Datei verknüpft sind. Dabei kann es sich um Dateifreigabeaktivitäten, das „übergeordnete Element“, das mit Fotos verknüpft ist, und angehängte Konversationselemente (Foto-Likes, Kommentare usw.) handeln.
+
+Für alle diese Elemente muss die URL ersetzt und das Element neu signiert werden, wenn es auf eine andere Website verschoben wird.
+
+#### Dateidaten
+
+Dann haben wir die eigentlichen Dateidaten, die wir für die Rekonstruktion der Datei benötigen. Diese müssen getrennt von den Metadaten gespeichert werden, damit der Speicher bei der Verarbeitung nicht überlastet wird. Die eigentlichen Dateidaten können zur Rekonstruktion der Anhangsstruktur und der ersten vier Fotoskalen verwendet werden. Wenn es sich um ein Foto handelt, benötigen wir Zugriff auf die Skala „#4“ (Profilfoto) und die Skala #7 (Titelbild), so wie sie ursprünglich beschnitten wurden. Alle anderen Miniaturansichten können aus diesen generiert werden.
+
+#### Dateiabgleich
+
+Wir werden diesen Vorgang zuerst betrachten, weil er wahrscheinlich am einfachsten zu implementieren ist. Wenn ein Foto zum Quellsystem hinzugefügt, entfernt oder geändert wird, senden wir ein Klon-Synchronisierungspaket an alle bekannten Klone, das die Metadaten, aber **keine Dateidaten** enthält. Wir können nur ein Sync-Paket pro zu synchronisierendem Dateivorgang senden.
+
+Die empfangende Seite erstellt alle Metadatenstrukturen, führt eine URL-Übersetzung durch und speichert sie. Dann muss es die eigentlichen Daten abrufen. Unter der Voraussetzung, dass CURL Streaming unterstützt, wird eine authentifizierte Anfrage an die ursprüngliche Website gesendet und die Originaldatei wird angefordert und direkt auf die Festplatte gestreamt (unter Umgehung aller Verarbeitungsschritte). Wenn Fotomaßstab Nr. 4 oder Maßstab Nr. 7 erforderlich ist, werden diese angefordert und in den entsprechenden Strukturen gespeichert. Wir gehen in diesem Fall davon aus, dass der große Maßstab des Titelbildes den Speicher nicht erschöpft. Wenn CURL das Streaming nicht unterstützen kann, müssen die Anforderungspakete in eine Warteschlange gestellt und an den Ursprungsort gesendet werden, um „Chunks“ der Datei zu erhalten, und wieder zusammengesetzt werden, sobald alle Chunks abgerufen wurden.
+
+Die authentifizierte Anfrage hängt vom jeweiligen Mechanismus ab. Beim CURL-Streaming muss wahrscheinlich ein signiertes Geheimnis mit einem Zeitstempel erzeugt und an die Ursprungsseite der Datei gesendet werden. Dann können die Daten mit minimaler interner Verarbeitung abgerufen und unter Verwendung von stdio-Pufferung direkt auf die Festplatte ausgegeben werden. Im Falle einer Nomad-Anforderung wird das Nomad-Anforderungspaket validiert, aber die Planung von Chunk-Batches und deren Wiederzusammensetzung könnte sich als schwierig erweisen.
+
+#### Sicherung/Wiederherstellung von Dateien
+
+Dies ist viel komplizierter, da wir keinen authentifizierten Webserver haben, von dem wir Daten anfordern können. Die Metadaten können größtenteils identisch sein, aber wir brauchen eine Form der Signalisierung, dass wir die Datei nicht über das Web abrufen werden. Dies erfordert wahrscheinlich einen clientseitigen Prozess, um jede Metadaten-Datei zu analysieren und eine Datei auf der Festplatte zu finden, mit der sie verknüpft ist. Anschließend müssten die Daten mit einem speziellen Endpunkt, der für diese Aufgabe vorgesehen ist, an den Zielserver gestreamt werden. Eine Java-Applikation könnte hier die beste Option sein, um die Plattformneutralität zu wahren.
+
+Eine andere Möglichkeit wäre die Verwendung von WebDAV für diesen Schritt. Die Metadaten würden zuerst hochgeladen, dann die Datendateien. Wenn eine Datendatei mit einer vorhandenen Metadaten-Datei übereinstimmt, würden die Metadaten verarbeitet, die Datei entsprechend gespeichert und die Metadaten-Datei anschließend entfernt. In diesem Fall müssten in den Metadaten Fotos der Skalen 4 und 7 bereitgestellt werden.
+
+Optional könnte dieser Schritt auch mit einem lokalen Dateisystem auf dem Zielserver durchgeführt werden. Dies wäre die leistungsfähigste Lösung, und eine Reihe von Shell-basierten Tools (im Falle von Linux) könnte die „Client-Seite“ der Aufgabe übernehmen.
+
+Die Komplexität dieser Aufgabe erfordert eine sorgfältige Planung, wie die Daten organisiert und gespeichert und gegebenenfalls per Fernzugriff gesichert oder von der Quellwebsite zur Sicherung übertragen werden.
+
+#### Rückwärtskompatibilität
+
+Es gibt einige offensichtliche Probleme bei der Bereitstellung von Daten für die Sicherung oder das Klonen, die auf dem System vor der Existenz von Wiederherstellungs-/Synchronisierungstools vorhanden waren. Um die Werkzeuge selbst relativ unkompliziert zu halten (soweit dies angesichts der Beschränkungen möglich ist), muss die Abwärtskompatibilität möglicherweise durch ein spezielles Plugin oder Addon hergestellt werden. \ No newline at end of file
diff --git a/doc/de/adminmanual/further_help.md b/doc/de/adminmanual/further_help.md
new file mode 100644
index 000000000..cfd465b07
--- /dev/null
+++ b/doc/de/adminmanual/further_help.md
@@ -0,0 +1,3 @@
+### Wo Sie weitere Hilfe finden
+
+Wenn Sie auf Probleme stoßen oder Fragen haben, die in dieser Dokumentation nicht behandelt werden, lassen Sie es uns bitte über den [Issue Tracker](https://framagit.org/hubzilla/core/issues) wissen. Bitte beschreiben Sie Ihre Betriebsumgebung so genau wie möglich und geben Sie so viele Details wie möglich zu den Fehlermeldungen an, die Sie sehen, damit wir diese in Zukunft vermeiden können. Aufgrund der großen Vielfalt an Betriebssystemen und PHP-Plattformen haben wir nur begrenzte Möglichkeiten, Ihre PHP-Installation zu debuggen oder fehlende Module zu beschaffen, aber wir werden unser Bestes tun, um allgemeine Code-Probleme zu lösen.
diff --git a/doc/de/adminmanual/hub_snapshot_tools.md b/doc/de/adminmanual/hub_snapshot_tools.md
new file mode 100644
index 000000000..8e56a2168
--- /dev/null
+++ b/doc/de/adminmanual/hub_snapshot_tools.md
@@ -0,0 +1,127 @@
+### Hub-Snapshot-Tools
+
+Hubzilla-Entwickler müssen häufig zwischen Zweigen wechseln, die möglicherweise inkompatible Datenbankschemata oder Inhalte haben. Die folgenden beiden Skripte erstellen und restaurieren komplette Snapshots einer Hubzilla-Instanz, einschließlich des Hub-Web-Root und des gesamten Datenbankstatus. Jedes Skript benötigt eine Konfigurationsdatei namens `hub-snapshot.conf`, die sich im selben Ordner befindet und die spezifischen Verzeichnisse und Datenbankdetails Ihres Hubs enthält.
+
+### Konfiguration
+
+Das Format der Konfigurationsdatei ist sehr streng. Es dürfen keine Leerzeichen zwischen dem Variablennamen und dem Wert stehen. Ersetzen Sie nur den Inhalt innerhalb der Anführungszeichen durch Ihre Konfiguration. Speichern Sie diese Datei als `hub-snapshot.conf` zusammen mit den Skripten.
+
+```
+# Ort des Hub-Root. Normalerweise ist dies der Speicherort des Hubzilla Repo-Klons.
+HUBROOT=„/var/www/“
+# Name der MySQL-Datenbank
+DBNAME=„hubzilla“
+# MySQL-Datenbank-Benutzer
+DBUSER=„hubzilla“
+# MySQL-Datenbank-Passwort
+DBPWD=„akeufajeuwfb“
+# Der Ziel-Snapshot-Ordner, in dem das Git-Repository initialisiert werden soll
+SNAPSHOTROOT=„/root/snapshots/hubzilla/“
+```
+
+#### Snapshot
+
+Beispiel für die Verwendung:
+
+```
+sh hub-snapshot.sh my-hub.conf „Commit-Meldung für den Snapshot“
+```
+
+**hub-snapshot.sh**:
+
+```
+#!/bin/bash
+
+if ! [ -f "$1" ]; then
+ echo "$1 is not a valid file. Aborting..."
+ exit 1
+fi
+source "$1"
+#echo "$DBNAME"
+#echo "$DBUSER"
+#echo "$DBPWD"
+#echo "$HUBROOT"
+#echo "$SNAPSHOTROOT"
+MESSAGE="snapshot: $2"
+
+if [ "$DBPWD" == "" -o "$SNAPSHOTROOT" == "" -o "$DBNAME" == "" -o "$DBUSER" == "" -o "$HUBROOT" == "" ]; then
+ echo "Required variable is not set. Aborting..."
+ exit 1
+fi
+
+if [ ! -d "$SNAPSHOTROOT"/db/ ]; then
+ mkdir -p "$SNAPSHOTROOT"/db/
+fi
+if [ ! -d "$SNAPSHOTROOT"/www/ ]; then
+ mkdir -p "$SNAPSHOTROOT"/www/
+fi
+
+if [ ! -d "$SNAPSHOTROOT"/www/ ] || [ ! -d "$SNAPSHOTROOT"/db/ ]; then
+ echo "Error creating snapshot directories. Aborting..."
+ exit 1
+fi
+
+echo "Export database..."
+mysqldump -u "$DBUSER" -p"$DBPWD" "$DBNAME" > "$SNAPSHOTROOT"/db/"$DBNAME".sql
+echo "Copy hub root files..."
+rsync -va --delete --exclude=.git* "$HUBROOT"/ "$SNAPSHOTROOT"/www/
+
+cd "$SNAPSHOTROOT"
+
+if [ ! -d ".git" ]; then
+ git init
+fi
+if [ ! -d ".git" ]; then
+ echo "Cannot initialize git repo. Aborting..."
+ exit 1
+fi
+
+git add -A
+echo "Commit hub snapshot..."
+git commit -a -m "$MESSAGE"
+
+exit 0
+```
+
+#### Restore
+
+```
+#!/bin/bash
+# Restore hub to a previous state. Input hub config and commit hash
+
+if ! [ -f "$1" ]; then
+ echo "$1 is not a valid file. Aborting..."
+ exit 1
+fi
+source "$1"
+COMMIT=$2
+
+if [ "$DBPWD" == "" -o "$SNAPSHOTROOT" == "" -o "$DBNAME" == "" -o "$DBUSER" == "" -o "$HUBROOT" == "" ]; then
+ echo "Required variable is not set. Aborting..."
+ exit 1
+fi
+RESTOREDIR="$(mktemp -d)/"
+
+if [ ! -d "$RESTOREDIR" ]; then
+ echo "Cannot create restore directory. Aborting..."
+ exit 1
+fi
+echo "Cloning the snapshot repo..."
+git clone "$SNAPSHOTROOT" "$RESTOREDIR"
+cd "$RESTOREDIR"
+echo "Checkout requested snapshot..."
+git checkout "$COMMIT"
+echo "Restore hub root files..."
+rsync -a --delete --exclude=.git* "$RESTOREDIR"/www/ "$HUBROOT"/
+echo "Restore hub database..."
+mysql -u "$DBUSER" -p"$DBPWD" "$DBNAME" < "$RESTOREDIR"/db/"$DBNAME".sql
+
+chown -R www-data:www-data "$HUBROOT"/{store,extend,addon,.htlog,.htconfig.php}
+
+echo "Restored hub to snapshot $COMMIT"
+echo "Removing temporary files..."
+
+rm -rf "$RESTOREDIR"
+
+exit 0
+``` \ No newline at end of file
diff --git a/doc/de/adminmanual/installation.md b/doc/de/adminmanual/installation.md
new file mode 100644
index 000000000..4efbf4239
--- /dev/null
+++ b/doc/de/adminmanual/installation.md
@@ -0,0 +1,8 @@
+### Installation
+
+Es gibt mehrere Möglichkeiten, einen neuen Hub zu installieren.
+
+- Manuelle Installation auf einem bestehenden Server
+- Automatisierte Installation auf einem bestehenden Server mit einem Shell-Skript
+- Automatisierte Bereitstellung über einen OpenShift Virtual Private Server (VPS)
+- Verwendung eines Docker-Containers \ No newline at end of file
diff --git a/doc/de/adminmanual/installation_requirements.md b/doc/de/adminmanual/installation_requirements.md
new file mode 100644
index 000000000..b7f772add
--- /dev/null
+++ b/doc/de/adminmanual/installation_requirements.md
@@ -0,0 +1,14 @@
+### Anforderungen
+
+- Apache mit aktiviertem mod-rewrite und „AllowOverride All“, damit Sie eine lokale .htaccess-Datei verwenden können. Einige Leute haben erfolgreich nginx und lighttpd verwendet. Beispielkonfigurations-Skripte sind für diese Plattformen in doc/install verfügbar. Apache und nginx haben die meiste Unterstützung.
+- PHP 8.1 oder höher. Beachten Sie, dass in einigen Shared-Hosting-Umgebungen die *Kommandozeilenversion* von PHP von der *Webserverversion* abweichen kann
+- *PHP-Befehlszeilenzugriff*, wenn register_argc_argv in der Datei php.ini auf true gesetzt ist und der Hosting-Provider keine Einschränkungen für die Verwendung von exec() und proc_open() hat.
+- curl, gd (mit mindestens jpeg und png Unterstützung), pdo-mysql (oder pdo-postgres), mbstring, zip und openssl Erweiterungen. Die imagick-Erweiterung ist nicht erforderlich, wird aber empfohlen.
+- Die xml-Erweiterung ist erforderlich, wenn Sie webdav verwenden möchten.
+- eine Art von E-Mail-Server oder E-Mail-Gateway, so dass PHP mail() funktioniert.
+- Ein unterstützter Datenbankserver. Die unterstützten Datenbanken sind:
+ - Mysql Version 8.0.22 oder höher
+ - MariaDB Version 10.4 oder höher
+ - PostgreSQL Version 12 oder höher
+- Fähigkeit, Aufträge mit Cron zu planen.
+- Die Installation in einer Top-Level-Domain oder Sub-Domain (ohne Verzeichnis/Pfad-Komponente in der URL) ist ERFORDERLICH. \ No newline at end of file
diff --git a/doc/de/adminmanual/manual_for_administrators.md b/doc/de/adminmanual/manual_for_administrators.md
new file mode 100644
index 000000000..9b3237620
--- /dev/null
+++ b/doc/de/adminmanual/manual_for_administrators.md
@@ -0,0 +1,30 @@
+### Handbuch für Administratoren
+
+Hubzilla ist mehr als eine einfache Webanwendung. Es handelt sich um ein komplexes Kommunikationssystem, das eher einem E-Mail-Server als einem Webserver ähnelt. Aus Gründen der Zuverlässigkeit und Leistung werden Nachrichten im Hintergrund zugestellt und für eine spätere Zustellung in eine Warteschlange gestellt, wenn Websites nicht erreichbar sind. Diese Art von Funktionalität erfordert etwas mehr vom Hostsystem als der typische Blog. Nicht jeder PHP/MySQL-Hosting-Anbieter ist in der Lage, Hubzilla zu unterstützen. Viele können es, aber bitte prüfen Sie die Anforderungen und bestätigen Sie diese mit Ihrem Hosting-Anbieter vor der Installation.
+
+Wir haben uns sehr bemüht, sicherzustellen, dass Hubzilla auf Standard-Hosting-Plattformen läuft, wie sie für Wordpress-Blogs und Drupal-Websites verwendet werden. Es läuft auf den meisten Linux-Systemen.
+
+#include doc/de/adminmanual/further_help.md;
+#include doc/de/adminmanual/before_you_start.md;
+#include doc/de/adminmanual/installation.md;
+#include doc/de/adminmanual/automated_installation.md;
+#include doc/de/adminmanual/Installation_using_docker.md;
+#include doc/de/adminmanual/recommendec_addons.md;
+#include doc/de/adminmanual/problems-following-an-update.md;
+#include doc/de/adminmanual/federation_addons.md;
+#include doc/de/adminmanual/service_classes.md;
+#include doc/de/adminmanual/theme_management.md;
+#include doc/de/adminmanual/Creating-Templates.md;
+#include doc/de/adminmanual/Schema-development.md;
+#include doc/de/adminmanual/Widgets.md;
+#include doc/de/adminmanual/channel_directory.md;
+#include doc/de/adminmanual/Primary-Directory.md;
+#include doc/de/adminmanual/administration.md;
+#include doc/de/adminmanual/troubleshooting.md;
+#include doc/de/adminmanual/hub_snapshot_tools.md;
+#include doc/de/adminmanual/database.md;
+#include doc/de/adminmanual/advanced_configurations.md;
+#include doc/de/adminmanual/CLI_tools.md;
+#include doc/de/adminmanual/filesync.md;
+#include doc/de/adminmanual/Nomad---A-High-Level-Overview.md;
+#include doc/de/adminmanual/faq_admins.md;
diff --git a/doc/de/adminmanual/manual_installation.md b/doc/de/adminmanual/manual_installation.md
new file mode 100644
index 000000000..303b5d416
--- /dev/null
+++ b/doc/de/adminmanual/manual_installation.md
@@ -0,0 +1,60 @@
+### Manuelle Installation
+
+#### Entpacken Sie die Hubzilla-Dateien in das Stammverzeichnis Ihres Webserver-Dokumentbereichs
+
+Wenn Sie den Verzeichnisbaum auf Ihren Webserver kopieren, stellen Sie sicher, dass Sie die versteckten Dateien wie .htaccess mit einbeziehen.
+
+Wenn Sie dazu in der Lage sind, empfehlen wir, das Quellcode-Repository mit git zu klonen, anstatt eine gepackte tar- oder zip-Datei zu verwenden. Dadurch lässt sich die Software viel einfacher aktualisieren. Der Linux-Befehl zum Klonen des Repositorys in ein Verzeichnis „mywebsite“ lautet wie folgt:
+
+```
+git clone https://framagit.org/hubzilla/core.git mywebsite
+```
+
+und dann können Sie die neuesten Änderungen jederzeit mit:
+
+```
+git pull
+```
+
+Stellen Sie sicher, dass die Ordner `store/[data]/smarty3` und `store` existieren und vom Webserver beschreibbar sind:
+
+```
+mkdir -p „store/[data]/smarty3“
+chmod -R 777 store
+```
+
+Diese Berechtigung (777) ist sehr gefährlich und wenn Sie über ausreichende Privilegien und Kenntnisse haben, sollten Sie diese Verzeichnisse nur für den Webserver und, falls abweichend, für den Benutzer, der den cron-Job ausführt (siehe unten). In vielen Shared-Hosting-Umgebungen kann dies schwierig sein, ohne ein Trouble-Ticket bei Ihrem Provider zu eröffnen. Die obigen Berechtigungen ermöglichen das Funktionieren der Software, sind aber nicht optimal.
+
+Die folgenden Verzeichnisse müssen ebenfalls vom Webserver beschreibbar sein, damit bestimmte webbasierte Verwaltungstools funktionieren:
+
+- `addon`
+- `extend`
+- `view/theme`
+- `widget`
+
+#### Offizielle Addons
+
+##### Installation
+
+Navigieren Sie zu Ihrer Website. Dann sollten Sie das Addon-Repository klonen (separat). Wir geben diesem Repository den Spitznamen 'hzaddons'. Du kannst andere Hubzilla-Addon-Repositories einbinden, indem du ihnen andere Nicknames gibst:
+
+```
+cd mywebsite
+util/add_addon_repo https://framagit.org/hubzilla/addons.git hzaddons
+```
+
+##### Aktualisieren
+
+Um den Addon-Baum auf dem neuesten Stand zu halten, sollten Sie sich auf der obersten Ebene des Website-Verzeichnisses befinden und einen Update-Befehl für dieses Repository eingeben::
+
+```
+cd mywebsite
+util/update_addon_repo hzaddons
+```
+
+Erstellen Sie durchsuchbare Darstellungen der Online-Dokumentation. Sie können dies jedes Mal tun, wenn die Dokumentation aktualisiert wird:
+
+```
+cd mywebsite
+util/importdoc
+``` \ No newline at end of file
diff --git a/doc/de/adminmanual/pic/adm01.png b/doc/de/adminmanual/pic/adm01.png
new file mode 100644
index 000000000..5c5b1bab3
--- /dev/null
+++ b/doc/de/adminmanual/pic/adm01.png
Binary files differ
diff --git a/doc/de/adminmanual/problems-following-an-update.md b/doc/de/adminmanual/problems-following-an-update.md
new file mode 100644
index 000000000..2bfbaf83d
--- /dev/null
+++ b/doc/de/adminmanual/problems-following-an-update.md
@@ -0,0 +1,31 @@
+### Probleme nach einer Aktualisierung
+
+Gut 90 % aller Fehler, die unmittelbar nach der Aktualisierung des Codes auf die neueste Version auftreten, sind einfache Cache-Fehler der einen oder anderen Art. Wenn Sie ein Update durchführen und feststellen, dass etwas sehr Offensichtliches kaputt ist - z. B. dass Ihre Matrix-Seite nicht geladen wird, dass Benachrichtigungen fehlen oder dass Kommentarboxen fehlen - dann ist es wahrscheinlich gar kein Fehler. Das Brechen grundlegender Funktionen ist die Art von Dingen, die Entwickler eher bemerken.
+Wenn Ihnen das passiert, können Sie einige einfache Schritte unternehmen, bevor Sie sich an die Support-Foren wenden:
+
+**Browser-Cache**
+Symptome: Menüs lassen sich nicht ausklappen, die ACL-Auswahl öffnet sich nicht, die Fortschrittsanzeige wird nicht angezeigt (oder läuft in einer Endlosschleife), Matrix- und Kanalseiten werden nicht geladen.
+Erzwingen Sie das Neuladen der Seite. Gelegentlich, aber sehr, sehr selten, müssen Sie auch die Sitzungsdaten löschen, was durch einen Neustart des Browsers erreicht wird.
+
+**FastCGI**
+Symptome: Falsche Variablen. Die grundlegende Benutzeroberfläche funktioniert meistens, zeigt aber falsche Inhalte an oder es fehlen ganz Inhalte.
+Wenn Sie php-fpm verwenden, lässt sich dieses Problem in der Regel beheben mit
+
+```
+service php-fpm neu starten
+```
+
+**Smarty-Cache**
+Die Symptome:
+
+1. Weißer Bildschirm des Todes. Dies tritt vor allem auf den Einstellungs- und Verwaltungsseiten auf.
+2. Fehlende Icons, Registerkarten, Menüs oder Funktionen.
+
+Wir verwenden die Smarty3-Vorlagen-Engine, um Seiten zu generieren. Diese Vorlagen werden kompiliert, bevor sie angezeigt werden. Es kann vorkommen, dass eine neue oder geänderte Vorlage die alte kompilierte Version nicht überschreibt. Um den Smarty-Cache zu löschen, löschen Sie alle Dateien in store/[data]/smarty3/compiled **, aber nicht das Verzeichnis selbst**. Die Vorlagen werden dann bei ihrem nächsten Zugriff neu kompiliert.
+
+**Theme-Probleme**
+Es gibt viele Themes für Hubzilla. Nur Redbasic wird offiziell von den Kernentwicklern unterstützt. Dies gilt *auch dann, wenn ein Kernentwickler zufällig ein weiteres Theme unterstützt*. Das bedeutet, dass neue Funktionen garantiert nur in Redbasic funktionieren.
+
+Redbasic verwendet einige Javascript-Bibliotheken, die in anderen Themes anders oder gar nicht verwendet werden. Dies bedeutet, dass neue Funktionen möglicherweise nur in Redbasic richtig funktionieren. Bevor Sie ein Problem melden, sollten Sie daher zu Redbasic wechseln, um zu sehen, ob das Problem dort existiert. Wenn das Problem verschwindet, handelt es sich nicht um einen Fehler, sondern um ein Theme, das nicht auf dem neuesten Stand ist.
+
+Sollten Sie das Problem dann den Theme-Entwicklern melden? Nein. Theme-Entwickler verwenden ihre Themes. Die Chancen stehen gut, dass sie es wissen. Geben Sie ihnen zwei oder drei Tage Zeit, um sich auf den neuesten Stand zu bringen, und melden Sie das Problem, wenn es *dann* immer noch nicht behoben ist. Für diese Situation gibt es zwei Lösungsmöglichkeiten. Erstens können Sie vorübergehend Redbasic verwenden. Zweitens sind die meisten Themes auch Open Source - öffnen Sie einen Pull Request und machen Sie sich einen Freund. \ No newline at end of file
diff --git a/doc/de/adminmanual/recommended_addons.md b/doc/de/adminmanual/recommended_addons.md
new file mode 100644
index 000000000..d39325fed
--- /dev/null
+++ b/doc/de/adminmanual/recommended_addons.md
@@ -0,0 +1,7 @@
+### Empfohlene Addons
+
+Wir empfehlen, die folgenden Addons auf allen öffentlichen Seiten zu installieren:
+
+**nsfw** - unangemessene Beiträge/Kommentare ausblenden
+
+**superblock** - blockiert Inhalte von anstößigen Kanälen \ No newline at end of file
diff --git a/doc/de/adminmanual/service_classes.md b/doc/de/adminmanual/service_classes.md
new file mode 100644
index 000000000..ac79096d9
--- /dev/null
+++ b/doc/de/adminmanual/service_classes.md
@@ -0,0 +1,57 @@
+### Service-Klassen
+
+Mit Hilfe von Dienstklassen können Sie die Systemressourcen begrenzen, indem Sie die Möglichkeiten einzelner Konten einschränken, z. B. die Speicherung von Dateien und die Begrenzung von Posts auf der obersten Ebene. Definieren Sie benutzerdefinierte Serviceklassen entsprechend Ihren Anforderungen in der Datei `.htconfig.php`. Erstellen Sie zum Beispiel eine *Standard-* und eine *Premiumklasse* mit den folgenden Zeilen:
+
+```
+// Dienstklassen
+
+App::$config['system']['default_service_class']='standard'; // dies ist die Standard-Serviceklasse, die mit jedem neuen Konto verbunden wird
+
+// Konfiguration für die Standard-Serviceklasse
+App::$config['service_class']['standard'] =
+array('photo_upload_limit'=>2097152, // Gesamtspeichergrenze für Fotos pro Kanal (hier 2MB)
+'total_identities' =>1, // Anzahl der Kanäle, die ein Konto erstellen kann
+'total_items' =>0, // Anzahl der Beiträge der obersten Ebene, die ein Kanal erstellen kann. Gilt nur für Top-Level-Posts des Channel-Benutzers, andere Posts und Kommentare sind davon nicht betroffen
+'total_pages' =>100, // Anzahl der Seiten, die ein Channel erstellen kann
+'total_channels' =>100, // Anzahl der Channels, die der Benutzer hinzufügen kann, andere Benutzer können diesen Channel immer noch hinzufügen, auch wenn das Limit erreicht ist
+attach_upload_limit' =>2097152, // Gesamtspeicherplatz für Anhänge pro Kanal (hier 2MB)
+'chatters_inroom' =>20);
+
+// Konfiguration für Premium-Dienstklasse
+App::$config['service_class']['premium'] =
+array('photo_upload_limit'=>20000000000, // Gesamtspeichergrenze für Fotos pro Kanal (hier 20GB)
+'total_identities' =>20, // Anzahl der Kanäle, die ein Konto erstellen kann
+'total_items' =>20000, // Anzahl der Beiträge der obersten Ebene, die ein Kanal erstellen kann. Gilt nur für Beiträge der obersten Ebene des Kanalbenutzers, andere Beiträge und Kommentare sind davon nicht betroffen
+'total_pages' =>400, // Anzahl der Seiten, die ein Channel erstellen kann
+'total_channels' =>2000, // Anzahl der Channels, die der Nutzer hinzufügen kann, andere Nutzer können diesen Channel immer noch hinzufügen, auch wenn das Limit erreicht ist
+attach_upload_limit' =>20000000000, // Gesamtspeicherplatz für Anhänge pro Kanal (hier 20GB)
+'chatters_inroom' =>100);
+```
+
+Um eine Serviceklasse auf ein bestehendes Konto anzuwenden, verwenden Sie das Befehlszeilendienstprogramm aus dem Web-Root:
+
+`util/service_class` list service classes
+
+`util/config system default_service_class firstclass` setzt die Standarddienstklasse auf 'firstclass'
+
+`util/service_class firstclass` listet die Dienste auf, die Teil der Dienstklasse „firstclass“ sind
+
+`util/service_class firstclass photo_upload_limit 10000000` setzt die gesamte Fotoplattennutzung der firstclass auf 10 Millionen Bytes
+
+`util/service_class --account=5 firstclass` setzt die Konto-ID 5 auf die Serviceklasse 'firstclass' (mit Bestätigung)
+
+`util/service_class --channel=blogchan firstclass` setzt das Konto, dem der Kanal „blogchan“ gehört, auf die Serviceklasse „firstclass“ (mit Bestätigung)
+
+**Optionen zur Begrenzung der Dienstklasse**
+
+- photo_upload_limit - maximale Gesamtzahl an Bytes für Fotos
+- total_items - maximale Gesamtzahl an Beiträgen auf oberster Ebene
+- total_pages - maximale Anzahl von Seiten für Comanche
+- total_identities - maximale Anzahl von Kanälen im Besitz des Kontos
+- total_channels - maximale Anzahl von Verbindungen
+- total_feeds - Maximale Anzahl von RSS-Feed-Verbindungen
+- attach_upload_limit - maximaler Datei-Upload-Speicherplatz (Bytes)
+- minimum_feedcheck_minutes - niedrigste zulässige Einstellung für die Abfrage von RSS-Feeds
+- chatrooms - maximale Anzahl von Chaträumen
+- chatters_inroom - maximale Anzahl Chatter pro Raum
+- access_tokens - maximale Anzahl von Gastzugangstoken pro Kanal \ No newline at end of file
diff --git a/doc/de/adminmanual/theme_management.md b/doc/de/adminmanual/theme_management.md
new file mode 100644
index 000000000..bfdf4d261
--- /dev/null
+++ b/doc/de/adminmanual/theme_management.md
@@ -0,0 +1,7 @@
+### Verwaltung der Themen
+
+#### Beispiel für die Repo-Verwaltung
+
+1. Navigieren Sie zu Ihrem Hub-Web rootroot@hub`:/root# cd /var/www`
+
+2. Fügen Sie das Theme-Repo hinzu und geben Sie ihm einen nameroot@hub`:/var/www# util/add_theme_repo https://github.com/DeadSuperHero/redmatrix-themes.git DeadSuperHero` \ No newline at end of file
diff --git a/doc/de/adminmanual/troubleshooting.md b/doc/de/adminmanual/troubleshooting.md
new file mode 100644
index 000000000..384202b65
--- /dev/null
+++ b/doc/de/adminmanual/troubleshooting.md
@@ -0,0 +1,51 @@
+### Fehlersuche
+
+#### Logdateien
+
+Die Systemprotokolldatei ist eine äußerst nützliche Ressource, um Fehler aufzuspüren. Dies kann auf der Konfigurationsseite admin/log aktiviert werden. Eine Loglevel-Einstellung von `LOGGER_DEBUG` wird für stabile Produktionsstandorte bevorzugt. Die meisten Probleme bei der Kommunikation oder der Speicherung werden hier aufgelistet. Eine Einstellung von LOGGER_DATA bietet *viel* mehr Details, kann aber Ihre Festplatte füllen. In jedem Fall empfehlen wir die Verwendung von logrotate auf Ihrem Betriebssystem, um die Protokolle zu überprüfen und ältere Einträge zu löschen.
+
+Am Ende der Datei .htconfig.php befinden sich mehrere (auskommentierte) Zeilen, die die PHP-Fehlerprotokollierung aktivieren. Dies meldet Probleme mit der Codesyntax und der Ausführung des Codes und ist die erste Stelle, an der Sie nach Problemen suchen sollten, die zu einem „weißen Bildschirm“ oder einer leeren Seite führen. Dies ist in der Regel das Ergebnis von Code-/Syntaxproblemen. Datenbankfehler werden in der Systemprotokolldatei gemeldet, aber wir haben es als nützlich empfunden, in Ihrem Hauptverzeichnis eine Datei namens dbfail.out anzulegen, in der *nur* datenbankbezogene Probleme gesammelt werden. Wenn die Datei existiert und beschreibbar ist, werden Datenbankfehler sowohl in dieser Datei als auch in der Systemprotokolldatei protokolliert.
+
+Im Falle von „500“-Fehlern werden die Probleme oft in den Protokollen Ihres Webservers protokolliert, oft in /var/log/apache2/error.log oder ähnlichem. Konsultieren Sie die Dokumentation Ihres Betriebssystems.
+
+Es gibt drei verschiedene Protokollierungsmöglichkeiten.
+
+**Die erste ist das Datenbankfehlerprotokoll**. Dieses wird nur verwendet, wenn Sie eine Datei mit dem Namen `dbfail.out` im Stammverzeichnis Ihrer Website anlegen und sie für den Webserver schreibbar machen. Wenn Datenbankabfragen fehlgeschlagen sind, werden sie hier gemeldet. Sie weisen im Allgemeinen auf Tippfehler in unseren Abfragen hin, treten aber auch auf, wenn der Datenbankserver die Verbindung unterbricht oder Tabellen beschädigt werden. In seltenen Fällen werden hier Race Conditions angezeigt, wenn zwei Prozesse versuchen, einen xchan- oder Cache-Eintrag mit derselben ID zu erstellen. Alle anderen Fehler (insbesondere anhaltende Fehler) sollten untersucht werden.
+
+**Der zweite Bereich ist das PHP-Fehlerprotokoll**. Dieses wird vom Sprachprozessor erstellt und meldet nur Probleme in der Sprachumgebung. Auch hier kann es sich um Syntax- oder Programmierfehler handeln, die jedoch in der Regel fatal sind und zu einem „weißen Bildschirm des Todes“ führen, d. h. PHP wird beendet. Sie sollten sich diese Datei ansehen, wenn etwas schief läuft, das nicht zu einem weißen Bildschirm führt, aber es ist nicht ungewöhnlich, dass diese Datei tagelang leer ist.
+
+Am Ende der mitgelieferten Datei `.htconfig.php` befinden sich einige Zeilen, die, wenn sie nicht auskommentiert werden, ein PHP-Fehlerprotokoll aktivieren (*äußerst* nützlich, um die Ursache von Fehlern beim weißen Bildschirm zu finden). Dies ist standardmäßig nicht der Fall, da es Probleme mit dem Eigentum an der Logdatei und den Schreibrechten geben könnte und die Logdatei standardmäßig nicht rotiert.
+
+**Die dritte Datei ist das „Anwendungsprotokoll“.** Dieses wird von Hubzilla verwendet, um zu berichten, was im Programm vor sich geht und meldet normalerweise alle Schwierigkeiten oder unerwarteten Daten, die wir erhalten haben. Gelegentlich werden auch „Heartbeat“-Statusmeldungen ausgegeben, um anzuzeigen, dass wir einen bestimmten Punkt in einem Skript erreicht haben. **Dies** ist die wichtigste Protokolldatei für uns, da wir sie selbst nur zu dem Zweck erstellen, den Status von Hintergrundaufgaben und alles, was seltsam oder fehl am Platz erscheint, zu melden. Es muss nicht unbedingt etwas Schlimmes sein, aber vielleicht einfach nur unerwartet. Wenn Sie eine Aufgabe ausführen und ein Problem auftritt, lassen Sie uns wissen, was in dieser Datei steht, wenn das Problem auftritt. (Bitte schicken Sie mir keine 100M-Dumps, das würde mich nur verärgern). Nur ein paar relevante Zeilen, damit ich ein paar hunderttausend Codezeilen ausschließen und mich darauf konzentrieren kann, wo das Problem auftritt.
+
+Dies sind Ihre Website-Protokolle, nicht meine. Wir melden ernsthafte Probleme auf jeder Protokollebene. Für die meisten Websites empfehle ich die Log-Ebene `DEBUG` - sie liefert ein paar zusätzliche Informationen und erzeugt keine riesigen Logdateien. Wenn ein Problem auftritt, das sich allen Versuchen entzieht, es zu verfolgen, sollten Sie für einen kurzen Zeitraum die Protokollebene `DATA` verwenden, um alle Details der Strukturen zu erfassen, mit denen wir es zu diesem Zeitpunkt zu tun hatten. Diese Protokollebene verbraucht sehr viel Speicherplatz und wird daher nur für kurze Zeiträume oder für Test-Sites von Entwicklern empfohlen.
+
+Ich empfehle die Konfiguration von logrotate sowohl für das php-Protokoll als auch für das Anwendungsprotokoll. Normalerweise werfe ich alle ein bis zwei Wochen einen Blick auf dbfail.out, behebe alle gemeldeten Probleme und beginne dann mit einer neuen Datei. Das Gleiche gilt für die PHP-Protokolldatei. Ich schaue darin ab und zu nach, ob es etwas gibt, das behoben werden muss.
+
+Wenn etwas schief läuft und es sich nicht um einen schwerwiegenden Fehler handelt, schaue ich mir die Anwendungsprotokolldatei an. Oft werde ich
+
+```
+tail -f logfile.out
+```
+
+während ich einen Vorgang wiederhole, bei dem es Probleme gibt. Oft füge ich zusätzliche Logging-Anweisungen in den Code ein, wenn es keinen Hinweis darauf gibt, was schief läuft. Selbst so etwas Einfaches wie „got here“ oder der Ausdruck des Wertes einer Variable, die verdächtig sein könnte. Auch das können Sie tun - ich möchte Sie sogar dazu ermutigen, dies zu tun. Sobald Sie gefunden haben, was Sie suchen müssen, können Sie
+
+```
+git checkout file.php
+```
+
+um sofort alle zusätzlichen Protokollierungsdaten, die Sie hinzugefügt haben, zu löschen. Verwenden Sie die Informationen aus diesem Protokoll und alle Details, die Sie aus Ihrer Untersuchung des Problems liefern können, um Ihren Fehlerbericht einzureichen - es sei denn, Ihre Analyse weist auf die Quelle des Problems hin. In diesem Fall beheben Sie es einfach.
+
+##### Rotierende Protokolldateien
+
+1. Aktiviere das **logrot** Addon im offiziellen [hubzilla-addons](https://framagit.org/hubzilla/addons) repo
+2. Legen Sie in Ihrem Web-Root ein Verzeichnis namens `log` mit Schreibrechten für den Webserver an
+3. Gehen Sie zu den **logrot-Administrationseinstellungen** und geben Sie diesen Ordnernamen sowie die maximale Größe und Anzahl der aufbewahrten Protokolldateien ein.
+
+#### Probleme melden
+
+Wenn Sie Probleme melden, versuchen Sie bitte, so viele Details wie nötig anzugeben, damit die Entwickler das Problem reproduzieren können, und geben Sie den vollständigen Text aller Fehlermeldungen an.
+
+Wir ermutigen Sie, diese Protokolle zusammen mit dem Quellcode, den Sie besitzen, so gut wie möglich zu nutzen, um Probleme zu beheben und ihre Ursache zu finden. Die Community kann oft helfen, aber nur Sie haben Zugang zu den Logdateien Ihrer Website, und es wird als Sicherheitsrisiko angesehen, sie weiterzugeben.
+
+Wenn ein Code-Problem aufgedeckt wurde, melden Sie es bitte im Bugtracker des Projekts (https://framagit.org/hubzilla/core/issues). Geben Sie auch hier so viele Details wie möglich an, damit wir nicht immer wieder Fragen zu Ihrer Konfiguration stellen oder das Problem duplizieren müssen, damit wir das Problem direkt angehen und herausfinden können, was zu tun ist. Sie können auch gerne Ihre eigenen Lösungen anbieten und Patches einreichen. Wir ermutigen Sie sogar dazu, da wir alle Freiwillige sind und nur wenig Zeit zur Verfügung haben. Je mehr Leute mithelfen, desto leichter wird die Arbeit für alle. Es ist in Ordnung, wenn Ihre Lösung nicht perfekt ist. Jedes bisschen hilft, und vielleicht können wir es ja noch verbessern. \ No newline at end of file