PNAC / ENTWICKLUNG

Zentrale Ressourcen.
Zwei unabhängige Server.

Öffentliche Skripte und JSON-Dateien stehen auf pnac.online und pnac.link bereit. Die Beispiele verwenden bei einem Fehler automatisch den zweiten Server und können auf pnac.ch sowie anderen Plesk-Domains eingebunden werden.

JavaScript im Browser

Diesen Startcode direkt im eigenen Projekt speichern. So kann auch das Modul selbst vom zweiten Server geladen werden. Bei einer Content Security Policy beide PNAC-Domains in script-src und connect-src erlauben.

const pnac = await Promise.any(
  ['https://pnac.online', 'https://pnac.link'].map(origin =>
    import(origin + '/shared/pnac-client.v2.js')
  )
);
const data = await pnac.getJSON('example.json');
console.log(data);

Der Code gehört in ein Modul (type="module"). Das Modul wird parallel von beiden Servern geladen; die erste erfolgreiche Antwort wird verwendet. JSON-Aufrufe haben fünf Sekunden Zeitlimit je Server. Wenn beide Server ausfallen, wird ein Fehler ausgelöst, den das Projekt abfangen kann. Alternativ das Modul direkt im eigenen Projekt mitliefern.

PHP auf Plesk

Die PHP-Vorlage herunterladen, als private PHP-Datei im Projekt speichern und per require_once einbinden. PHP-cURL muss aktiviert sein.

require_once __DIR__ . '/includes/pnac-resources.php';
$data = pnacJson('/shared/example.json');

Endpunkte

Neue Dateien und Projekte

Öffentliche Dateien werden auf beiden Servern im gleichen Stand veröffentlicht. Keine Passwörter, API-Schlüssel oder privaten Nutzerdaten in diesen Bereich legen. Die Auslieferung ist lesend, ohne Anmeldung und für alle Website-Domains freigegeben.

Neue Node.js-Anwendungen erhalten einen eigenen Dienst und HTTPS-Endpunkt. Datenbanken, Schreibzugriffe und vollständige Anwendungen brauchen ein eigenes Konzept für Replikation und Ausfallsicherheit. Die Websites auf Plesk müssen die Beispiele noch selbst einbinden.