Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


Vorhergehende Überarbeitung
json [2024.03.20 12:37] (aktuell) thomweb
Zeile 1: Zeile 1:
 +====== JSON ======
  
 +
 +Nein, hier geht es nicht um eine Geschichte aus Georgien, genauer der Kolchis. Dies ist nicht Jason und die Argonauten.
 +\\ JSON ist eine standardisiertes Format zum Austausch von Daten und zur Konfiguration von Systemen.
 +
 +===== Provider Extension composer.json =====
 +
 +Dieses Beispiel dient als Basis für eine Provider Extension
 +
 +
 +  {
 +    "name": "ibk/ibkprovider",
 +    "type": "typo3-cms-extension",
 +    "description": "",
 +    "authors": [
 +      {
 +        "name": "Thomas Berscheid",
 +        "role": "Developer"
 +      }
 +    ],
 +    "require": {
 +      "typo3/cms-core": "^8.7.1"
 +    },
 +    "autoload": {
 +      "psr-4": {
 +        "Ibk\\Ibkprovider\\": "Classes"
 +      }
 +    }
 +  }
 +===== TYPO3 Composer Installation =====
 +
 +Wenn man TYPO3 über den Composer installiert (bevorzugte Methode) kann man dies per CLI erledigen. Übersichtlicher ist es aber, die gesamte Installation in eine ''composer.json'' im Stammverzeichnis der Webseite zu schreiben bzw. diese zu bearbeiten. Eine Installationsanweisung für den Composer für die Version 12 von TYPO3 kann wie folgt aussehen:
 +
 +  {
 +    "name": "typo3/cms-base-distribution",
 +    "description" : "TYPO3 CMS Base Distribution",
 +    "license": "GPL-2.0-or-later",
 +    "type": "project",
 +    "config": {
 +      "allow-plugins": {
 +        "typo3/class-alias-loader": true,
 +        "typo3/cms-composer-installers": true
 +      },
 +      "platform": {
 +        "php": "8.2.1"
 +      },
 +      "sort-packages": true
 +    },
 +    "require": {
 +      "typo3/cms-backend": "^12.4.0",
 +      "typo3/cms-belog": "^12.4.0",
 +      "typo3/cms-beuser": "^12.4.0",
 +      "typo3/cms-core": "^12.4.0",
 +      "typo3/cms-dashboard": "^12.4.0",
 +      "typo3/cms-extbase": "^12.4.0",
 +      "typo3/cms-extensionmanager": "^12.4.0",
 +      "typo3/cms-felogin": "^12.4.0",
 +      "typo3/cms-filelist": "^12.4.0",
 +      "typo3/cms-fluid": "^12.4.0",
 +      "typo3/cms-fluid-styled-content": "^12.4.0",
 +      "typo3/cms-form": "^12.4.0",
 +      "typo3/cms-frontend": "^12.4.0",
 +      "typo3/cms-impexp": "^12.4.0",
 +      "typo3/cms-info": "^12.4.0",
 +      "typo3/cms-install": "^12.4.0",
 +      "typo3/cms-reactions": "^12.4.0",
 +      "typo3/cms-rte-ckeditor": "^12.4.0",
 +      "typo3/cms-seo": "^12.4.0",
 +      "typo3/cms-setup": "^12.4.0",
 +      "typo3/cms-sys-note": "^12.4.0",
 +      "typo3/cms-t3editor": "^12.4.0",
 +      "typo3/cms-tstemplate": "^12.4.0",
 +      "typo3/cms-viewpage": "^12.4.0",
 +      "typo3/cms-webhooks": "^12.4.0",
 +      "fremd/fremde-extension": "dev-main",
 +      "ibk/ibkgeorgienseite": "dev-main",
 +      "ibk/ibkmaps": "dev-main"
 +    },
 +    "repositories": [
 +    {
 +      "type": "path",
 +      "url": "./packages/*/"
 +      }
 +    ]
 +  }
 +  
 +Man beachte dabei die folgenden Zeilen:
 +
 +  "ibk/ibkgeorgienseite": "dev-main"
 +  
 +Hiermit teilen wir unserem System mit, dass wir unsere eigene Provider Extension installieren möchten.  Über das Attribut "dev-main" teilen wir Composer mit, dass wir die Version zum Entwickeln laden möchten und nicht, wie für den TYPO3 Core, die Version aus einem Repository.
 +
 +  "type": "path",
 +  "url": "./packages/*/"
 +  
 +Hiermit teilen wir unserem System mit, wo sich die Verzeichnisse mit den Extensions zur Entwicklung (dev-main) befinden. Den Namen können wir eigentlich frei wählen, es hat sich jedoch bewährt, den allgemein üblichen Namen "packages" für das Verzeichnis zu verwenden. Composer zieht sich dann den TYPO3 Core aus dem Netz und die Extensions für die Arbeit aus dem lokalen Verzeichnis.