Drupali vestlusroboti moodul
Kasutage ametlikku ChattyBoxi Drupali moodulit, kui soovite Drupal 10 või Drupal 11 saidile Composeri hallatavat paigaldust. Kohapeal auditeeritud mooduli versioon 0.1.0 lisab hostitud vidina laadija ainult sobivatele päringutele: haldusmarsruutidel ja päringute puhul, mille Drupali päringuvorming pole HTML, laadijat ei lisata. Moodul kasutab püsikodeeritud API lõpp-punkti. See juhend kirjeldab töökorraldust. Drupali AI-vestlusroboti mooduli leht annab ülevaate tootest ja hindamisprotsessist.
Enne paigaldamist
Lõpetage esmalt Alustamise töövoog: ühendage oma avalik Drupali URL, vaadake indekseeritud lehed üle ja kontrollige esinduslikke vastuseid jaotises Testi vestlusrobotit. Jaotises Paigalda → Võtmed ja domeenid kontrollige, kas sobiv avalik vidinavõti on olemas, või looge see; mõlemal juhul kontrollige võtme origin’i seadeid. Jaotises Paigalda → Veebisaidi paigaldamine valige sobiv võti ja kopeerige paigalduskoodist selle väärtus data-api-key.
Composeri paigaldus
See paigaldus kasutab avalikku GitHubi hoidlat Composeri VCS-allikana. Lisage allolev hoidla deklaratsioon enne composer require käivitamist; kontrollige enne paigaldamist paketi praegust saadavust ja tage.
Lisage avalik GitHubi hoidla seda kasutava Drupali projekti juurkausta composer.json-i:
{
"repositories": {
"chattybox-drupal": {
"type": "vcs",
"url": "https://github.com/OpenStaticFish/chattybox-drupal.git"
}
}
}
Kui projektil on juba jaotis repositories, ühendage kirje chattybox-drupal sellega. Seejärel installige märgistatud moodul:
composer require openstaticfish/chattybox-drupal:^0.1
Pakett on deklareeritud kui drupal-module ja nõuab Drupali ^10 || ^11; mooduli miinimumnõue on PHP 8.1, kuid sinu Drupali versioon võib vajada uuemat PHP-d. Drupali standardsed Composeri paigaldusrajad paigutavad selle sageli kausta web/modules/contrib/, kuid projekti paigutusreeglid võivad erineda. ^0.1 on versioonivahemik, mitte täpne kinnitus: Composer lahendab ja lukustab ühe versiooni. Korratava paigalduse jaoks kasuta täpset versiooni.
Enne uuendamist tutvuge avaliku Drupali mooduli lähtekoodiga ja märgistatud muudatustega; kontrollige, milline uuendusmehhanism teie paigalduse jaoks saadaval on.
Praeguse arendusharu testimiseks kasutage selle asemel:
composer require openstaticfish/chattybox-drupal:dev-main
Lubamine ja seadistamine
- Lubage ChattyBox jaotises Extend või käivitage
drush en chattybox. - Avage Configuration > Web services > ChattyBox.
- Kleepige ainult avalik vidina API-võti veebisaidi paigalduskoodist.
- Jätke hostitud vidina skripti URL alles, välja arvatud juhul, kui ChattyBox on andnud eelvaate või isehostitud laadija URL-i.
- Jätke keele override tühjaks, et järgida projekti lokaadipoliitikat, või sisestage toetatud väiketähtedega kood, näiteks
en,frvõide. Toetatud override on eelisjärjekorras ainult siis, kui projekt lubab skripti ülekirjutust. Hostitud vidina praeguses lähtekoodis (v16) proovib automaatrežiim (Tuvasta automaatselt) järjest lehe keelt, brauseri keeli ja seadistatud vaikekeelt; toetamata väärtused jäetakse vahele ning lõpuks kasutatakse inglise keelt. Fikseeritud režiim (Fikseeritud) kasutab projekti toetatud vaikekeelt või inglise keelt. See käitumine on moodulist eraldi versioonitav: kontrollige enne sellele tuginemist saidile juurutatud loaderit ega eeldage, et kõik versioonid käituvad ühtemoodi. - Lubage vestlusrobot ja salvestage seadistus.
Haldusmarsruutidel ja päringute puhul, mille Drupali päringuvorming pole HTML, ei lisa auditeeritud moodul vidina laadijat. Samuti ei kontrolli see vastuse lõplikku Content-Type-päist ega tuvasta, kas frontend’i sisu on privaatne. Muude sobivate päringute puhul lisab moodul Drupali deklareeritud teegi ja drupalSettings kaudu avaliku võtme, püsikodeeritud lõpp-punkti, valikulise lokaadi ja vidina laadija. Värskelt paigaldatud moodul on välja lülitatud, võti ja lokaadi override on tühjad ning moodul ei kraabi ega sünkrooni Drupali sisu. Seadistusvorm asub aadressil /admin/config/services/chattybox ja nõuab õigust administer chattybox configuration.
Auditeeritud mooduli versioonis on API lõpp-punkt püsikodeeritud — see ei tulene võtmest ega uuene automaatselt. Loaderi URL-i muutmine ei muuda lõpp-punkti. Võrrelge seda veebisaidi paigalduskoodiga; kui kood kasutab teist API juurutust, kasutage selle käsitsi lisatavat vidinaintegratsiooni ilma moodulita. Kaugskriptide URL-id peavad kasutama HTTPS-i (HTTP on lubatud ainult kohalikes arenduskeskkondades).
Piiranguteta loodud võtmed töötavad brauseri eri origin’idel; veebisaidi jaoks ettevalmistatud võti võib juba olla piiratud selle saidi origin’iga. Valikulised piirangud jaotises Paigalda → Võtmed ja domeenid nõuavad iga kasutatava skeemi, hostinime ja pordi lisamist. Piiratud võtme puhul tagastab puuduv või keelatud efektiivne origin vastuse 401 Invalid API key. Efektiivne origin võetakse päisest Origin või selle puudumisel Referer-i origin’ist. Origin’i piirangud on lisakaitse, mitte külastajate autentimine.
Täiendavate marsruutide välistamine
Moodul jätab haldusmarsruudid automaatselt vahele. Kohandatud moodul saab vidina täiendavatel avalikel marsruutidel keelata funktsiooniga hook_chattybox_load_widget_alter():
Haldusmarsruutide kontroll ei kontrolli kogu frontend-sisu privaatsust. Lisage vajaduse korral välistused ostu, konto ja liikmesuse marsruutidele; allpool olev marsruudi nimi on näitlik. Moodul ei lisa hook’i otsuse jaoks vahemälu kontekste ega silte. Rakendage ja kontrollige iga tingimuse jaoks saidipõhine vahemälu varieerimine ja kehtetuks muutmine nii juhul, kui vidina teek lisatakse, kui ka juhul, kui seda ei lisata, ning Drupali ja vahendavate vahemälude lõikes. Välistamine üksi ei ole juurdepääsukontrolli piir.
/**
* Implements hook_chattybox_load_widget_alter().
*/
function mymodule_chattybox_load_widget_alter(&$should_load, $config, $route_match) {
if ('commerce_checkout.form' === $route_match->getRouteName()) {
$should_load = FALSE;
}
}
Käsitsi varuvariant
Composer on soovituslik paigaldusviis. Kui teie Drupali juurutus ei saa Composerit kasutada, kopeerige moodul kausta web/modules/custom/chattybox või mõnda teise kohandatud moodulite kataloogi, lubage see ja seadistage jaotises Configuration > Web services > ChattyBox.
Ärge kleepige moodulisse ChattyBoxi halduse mandaati. Avalik vidina API-võti on mõeldud frontend-koodis kasutamiseks.
Kasutage ainult üht laadijat: ärge lubage moodulit koos teema koodilõigu, GTM-sildi ega SDK paigaldusega. Auditeeritud moodul jätab skripti lisamata, kui leiab ükskõik millise märgistatud skripti script[data-chattybox-widget="true"]; see ei kontrolli ega muuda selle skripti seadeid ega tuvasta märgistamata skripte.
Mooduli automaatne laadija ei kontrolli enne lähtestamist nõusolekut. Kui nõusolek peab olema saadud enne päringute tegemist, kasutage automaatse laadija asemel nõusolekuga arvestavat integratsiooni. SPA-marsruudi muutmisel või nõusoleku tagasivõtmisel takistage laadimist välistatud marsruutidel ning lõpetage juba käivitatud vidina töö ja puhastage see aktiivselt juurutatud laadija toetatud integratsiooni kaudu; ainult vidina peitmisest või skriptisildi eemaldamisest ei piisa. Lähtestage see uuesti vaid siis, kui see on lubatud. Puhastamine ei saa tagasi võtta päringuid, mida server on juba töödelnud.
Kontrollimine
Pärast mooduli seadistamist:
- Avage avalik Drupali leht inkognitoaknas.
- Kontrollige, et vidina avaja ilmuks ühe korra.
- Esitage päris külastaja küsimus.
- Kontrollige, kas toetatud vastus viitab indekseeritud avalikele Drupali lehtedele ja kas toetamata küsimusele kuvatakse varuvastus, millel ei pruugi allikaid olla.
- Kontrollige brauserikonsooli puuduva
data-api-key-i, puuduvadata-api-url-i või võtmevigade suhtes. - Testige nii välistatud kui ka lubatud marsruute Drupali, lehe ja CDN-i soojade ning külmade vahemäludega. Pärast seadete või hook’i muutmist ehitage asjakohased vahemälud uuesti. Serveripoolne marsruudivälistus ei eemalda vidinat, mis laaditi varem kliendipoolse navigeerimise käigus.
Enne vestlusroboti väljakuulutamist läbige käivitamise kontrollnimekiri.