Koble til et egendefinert CMS
Hvis Silktide ikke har en utvidelse for CMS-et ditt, kan utviklerne dine koble det til selv. En egendefinert tilkobling gjør de samme to tingene som de andre (se CMS-tilkoblinger):
- Publisering: Når en side publiseres eller endres, gir CMS-et ditt beskjed til Silktide, som tester den på nytt.
- Redigering: Hver side har en meta-tag som angir hvor den redigeres, slik at Åpne i CMS i Silktide åpner den siden i CMS-et ditt.
Du kan bygge én av delene, eller begge.
1. Hent nøkkelen og API-adressen din
- Åpne Innstillinger i Silktide, deretter Integrasjoner, og velg CMS.
- Velg Egendefinert CMS, velg hva tilkoblingen skal gjelde for, og velg Koble til.
- Kopier Nøkkelen og API-adressen.
API-adressen avhenger av regionen kontoen din befinner seg i, for eksempel https://api.eu.silktide.com. Bruk adressen Silktide viser. I eksemplene nedenfor erstatter du https://api.eu.silktide.com med den, og nøkkelen med din egen.
For å kontrollere at nøkkelen fungerer, sender du den til /cms/test-key. Silktide svarer med 200 hvis nøkkelen er gyldig, og 403 hvis den ikke er det:
curl --request POST \
--header "Content-Type: application/json" \
--data '{"apiKey": "eu:your-key"}' \
https://api.eu.silktide.com/cms/test-key
Integrasjonen din trenger ikke å kalle dette. Det er der for testing.
2. Publisering: fortell Silktide hva som er endret
Når en side legges til eller endres, sender du en POST-forespørsel til /cms/update med en JSON-tekst:
apiKey: nøkkelen din.url: den offentlige adressen til siden som ble endret, ellerurls: en liste over adresser.deferRetestSeconds(valgfritt): hvor mange sekunder Silktide skal vente før testing, for eksempel mens hurtigbufferne tømmes.
curl --request POST \
--header "Content-Type: application/json" \
--data '{"apiKey": "eu:your-key", "url": "https://www.example.com/news/open-day"}' \
https://api.eu.silktide.com/cms/update
Silktide svarer med én gang og setter testen i kø. Siden testes vanligvis på nytt innen ett minutt.
Silktide tester bare adresser som tilhører nettstedene tilkoblingen gjelder for, innenfor hvert nettsteds testomfang. Alt annet ignoreres.
3. Redigering: angi hvor hver side redigeres
Legg til en meta-tag i <head> på hver side CMS-et ditt publiserer:
<meta name="silktide-cms" content="...">
content er et JSON-objekt, Base64-kodet:
{"cms": "Navnet på CMS-et ditt", "editorUrl": "https://cms.example.com/pages/123/edit"}
cmsangir navnet på CMS-et ditt. Det er fritekst.editorUrler adressen noen besøker for å redigere denne siden.
Silktide leser taggen hver gang siden testes. Åpne i CMS åpner editorUrl i en ny fane.
Base64 er enkelt å dekode, så alle som ser på siden, kan lese editorUrl. Legg aldri inn noe i den som logger noen på, for eksempel en token eller et brukernavn. Hvis du helst ikke vil vise redigeringsadressene dine i det hele tatt, kan du kryptere taggen.
Krypter taggen (valgfritt)
Krypter JSON-dataene med AES-256-CBC, og bruk nøkkelen din som krypteringsnøkkel. Deretter Base64-koder du, i denne rekkefølgen: initialiseringsvektoren, en SHA-256 HMAC av de krypterte bytene (også med nøkkelen din) og de krypterte bytene. I PHP:
$data = ['cms' => 'Navnet på CMS-et ditt', 'editorUrl' => 'https://cms.example.com/pages/123/edit'];
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('AES-256-CBC'));
$encrypted = openssl_encrypt(json_encode($data), 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
$hmac = hash_hmac('sha256', $encrypted, $key, true);
$content = base64_encode($iv . $hmac . $encrypted);
// $content er innholdet i meta-taggen.
4. Test det
- Distribuer endringene dine. Hvis du la til meta-taggen, tøm eventuelle hurtigbuffere slik at de offentlige sidene inneholder den.
- Test nettstedet på nytt i Silktide.
- Åpne en side i Inspektøren. Åpne i CMS skal vises og åpne siden i CMS-et ditt.
- Publiser en side i CMS-et ditt. Silktide skal begynne å teste den innen ett minutt.
Hvis noe ikke fungerer, velger du Kontakt brukerstøtte i Silktide.