Forbind et brugerdefineret CMS
Hvis Silktide ikke har et plugin til dit CMS, kan dine udviklere selv forbinde det. En brugerdefineret forbindelse gør de samme to ting som de andre (se CMS-forbindelser):
- Udgivelse: Når en side udgives eller ændres, fortæller dit CMS det til Silktide, som tester den igen.
- Redigering: Hver side indeholder et meta-tag, der angiver, hvor den redigeres, så Åbn i CMS i Silktide åbner den side i dit CMS.
Du kan opbygge enten den ene del eller begge.
1. Hent din nøgle og API-adresse
- Åbn Indstillinger i Silktide, derefter Integrationer, og vælg CMS.
- Vælg Brugerdefineret CMS, vælg, hvad forbindelsen gælder for, og vælg Forbind.
- Kopiér Nøglen og API-adressen.
API-adressen afhænger af den region, din konto er i, for eksempel https://api.eu.silktide.com. Brug den, Silktide viser. I eksemplerne nedenfor skal du erstatte https://api.eu.silktide.com med den og nøglen med din egen.
For at kontrollere, at nøglen virker, skal du sende den til /cms/test-key. Silktide svarer med 200, hvis nøglen er gyldig, og 403, hvis den ikke er:
curl --request POST \
--header "Content-Type: application/json" \
--data '{"apiKey": "eu:your-key"}' \
https://api.eu.silktide.com/cms/test-key
Din integration behøver ikke at kalde dette. Det er der til test.
2. Udgivelse: fortæl Silktide, hvad der er ændret
Når en side tilføjes eller ændres, skal du sende en POST-anmodning til /cms/update med en JSON-brødtekst:
apiKey: din nøgle.url: den offentlige adresse på den side, der er ændret, ellerurls: en liste over adresser.deferRetestSeconds(valgfrit): hvor mange sekunder Silktide skal vente, før der testes, for eksempel mens dine caches ryddes.
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 det samme og sætter testen i kø. Siden testes normalt igen inden for et minut.
Silktide tester kun adresser, der tilhører de websites, forbindelsen gælder for, og som er inden for hvert websites testområde. Alt andet ignoreres.
3. Redigering: angiv, hvor hver side redigeres
Tilføj et meta-tag til <head> på hver side, dit CMS udgiver:
<meta name="silktide-cms" content="...">
Dets content er et JSON-objekt, Base64-kodet:
{"cms": "Your CMS name", "editorUrl": "https://cms.example.com/pages/123/edit"}
cmsangiver navnet på dit CMS. Det er fritekst.editorUrler den adresse, man besøger for at redigere denne side.
Silktide læser tagget, hver gang siden testes. Åbn i CMS åbner editorUrl i en ny fane.
Base64 er let at afkode, så alle, der ser siden, kan læse editorUrl. Læg aldrig noget i det, der logger nogen ind, såsom et token eller et brugernavn. Hvis du helst slet ikke vil vise dine editoradresser, skal du kryptere tagget.
Krypter tagget (valgfrit)
Kryptér JSON med AES-256-CBC ved at bruge din nøgle som krypteringsnøgle. Base64-kod derefter, i denne rækkefølge: initialiseringsvektoren, en SHA-256 HMAC af de krypterede bytes (også med din nøgle) og de krypterede bytes. I PHP:
$data = ['cms' => 'Your CMS name', '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 is the meta tag's content.
4. Test det
- Udrul dine ændringer. Hvis du tilføjede meta-tagget, skal du rydde eventuelle caches, så de offentlige sider indeholder det.
- Test websitet igen i Silktide.
- Åbn en side i Inspektøren. Åbn i CMS bør vises og åbne den pågældende side i dit CMS.
- Udgiv en side i dit CMS. Silktide bør begynde at teste den inden for et minut.
Hvis noget ikke virker, skal du vælge Kontakt support i Silktide.