Palautelomakkeen ominaisuudet määritellään YAML-muotoisessa asetustiedostossa, ja oletusasetukset löytyvät tiedostosta /local/config/finna/FeedbackForms.yaml. Tiedoston /local/config/finna/FeedbackForms.yaml.sample alussa on dokumentoitu muokattavissa olevat asetukset. Voit esimerkiksi lisätä lomakkeelle uusia kenttiä tai ohjetekstejä. Voit myös tehdä uusia lomakkeita.
Sijoita lomakkeiden asetukset tiedostoon /local/config/vufind/FeedbackForms.yaml. Voit katsoa mallia Finnan Finnan esimerkkitiedosta.
Lomakkeet sijaitsevat päätason 'forms' -listan sisällä.
'fields' asetus (joka sisältää lomakkeen kentät) yliajetaan kokonaisuudessaan, muut kentät yksitellen. Jos haluat muokata yleisen palautelomakkeen kenttiä, kopioi 'fields' alkuperäisestä ja tee muutokset siihen. Muiden asetusten kanssa riittää, kun kopioit yksittäisen yliajettavan asetuksen paikalliseen tiedostoon.
Hallintaliittymä tarkistaa tallennettavan tiedoston ja antaa virheilmoituksen, jos tiedosto ei ole YAML-formaatin mukainen. Yleinen virhe liittyy rivin sisennykseen, milloin virheilmoituksessa mainitaan millä rivillä virhe esiintyy ("Indentation problem at line..").
Lomakkeen yleiset asetukset
Asetus | Selitys | Mahdolliset arvot |
---|---|---|
enabled | Onko lomake käytössä |
|
useCaptcha | Käytetäänkö lomakkeella captcha-tarkistusta. Finnassa captcha-tarkistus on korvattu toisella, käyttäjälle näkymättömällä mekanismilla. Tämä asetus kannattaa jättää pois omista lomakemäärityksistä. |
|
title | Lomakkeen otsikko | Käännösavain |
onlyForLoggedUsers | Näytetäänkö lomake ainoastaan kirjautuneille käyttäjille |
|
emailFrom | (käytettävissä v2.71.0 eli 21.9.2021 alkaen) Lomakkeen lähettäjän nimi ja sähköpostiosoite (vain, kun sendMethod on 'email') Huom! Yleensä email-asetus kannattaa jättää pois, koska viestin lähettäjän osoitteen vaihtaminen voi aiheuttaa sen, etteivät viestit mene perille tai ne päätyvät roskapostiin. | emailFrom: name: Tilaukset email: kirjasto@joku |
emailSubject | Lomakkeen tallennuksen yhteydessä lähetettävän sähköpostiviestin otsikko. api-lähetyksessä tieto siirtyy emailSubject-kentässä. Voit lisätä otsikkoon lomakekentän arvon. Esimerkiksi jos lomakkeella on alasvetovalikko (nimellä "toimipiste"), voit lisätä valikon arvon viestin otsikkoon näin: emailSubject: Hankintaehdotus - %%toimipiste%% Tietuekohtaisilla lomakkeilla (FeedbackRecord, RepositoryLibraryRequest) voi käyttää myös seuraavia paikanpitäjiä:
|
|
recipient | Lomakkeen vastaanottajan nimi ja sähköpostiosoite (vain, kun sendMethod on 'email'). recipient name: nimi email: osoite Mikäli 'recipient' ei ole määritely, käytetään näkymän yleistä palauteosoitetta (Yleiset asetukset > Näkymän ylläpidon sähköpostiosoite). Voit määritellä lomakkeelle useamman vastaaanottajan asettamalla recipientin listaksi: recipient: - name: nimi-1 email: osoite-1 - name: nimi-2 email: osoite-2 | ks. esimerkit |
sendMethod | Lähetetäänkö lomakkeen vastaukset sähköpostilla (email) vai tallennetaanko vastaukset tietokantaan (database)? Oletuksena lomakkeen kautta kerätyt palautteet lähetetään määriteltyyn sähköpostiosoitteeseen (ks. 'recipient'). Mikäli palautteita ei tietoturvasyistä johtuen voida lähettää sähköpostin välityksellä, voidaan palautteet tallentaa tietokantaan tai lähettää organisaation itse ylläpitämään erilliseen järjestelmään JSON-muotoisena pakettina. Tämän rajapintatoiminnallisuuden käyttämisestä on erillinen ohjesivu. Tallennettujen palautteiden käsittely tapahtuu hallintaliittymän Lomakkeet-osiossa. Osiossa listataan tuotantonäkymien kautta lähetetyt palautteet. Tietokantaan tallennusta ei voi kokeilla testipalvelimella. |
|
reminderEmail | Jos lomakkeen vastaukset tallennetaan tietokantaan (ks. 'sendMethod'), lähetetään käsittelemättömistä palautteista muistutus tähän sähköpostiosoitteeseen. Jos osoitetta ei ole määritelty, lähetetään muistutukset näkymän yleiseen palauteosoiteeseen (Yleiset asetukset > Näkymän ylläpidon sähköpostiosoite). | Sähköpostiosoite |
hideSenderInfo | Kysytäänkö lomakkeella lähettäjän yhteystietoja (nimi ja sähköposti)? Oletuksena kysytään. |
|
senderInfoRequired | Edellytetäänkö lomakkeen lähettäjän syöttävän yhteystietonsa? |
|
senderInfoHelp | Lähettäjän yhteystietojen ohjeteksti. | Käännösavain |
reportReferrer | Sisällytetäänkö palautesivulle viitannut sivu palautteeseen |
|
reportUserAgent | (käytettävissä v2.71.0 eli 21.9.2021 alkaen) Sisällytetäänkö käyttäjän selaimen tunniste palautteeseen |
|
response | Lomakkeen lähetyksen jälkeen näytettävä viesti. | Käännösavain |
help | Lomakkeen ohjetekstit, näytetään lomakkeen alussa ('pre') ja/tai lopussa ('post). Käännös voi sisältää HTML-muotoiluja. help: pre: feedback_help_pre post: feedback_help_post | Käännösavain |
fields | Lomakkeen kentät | Lista |
Lomakkeen kenttien asetukset
Asetus | Selitys | Mahdolliset arvot |
---|---|---|
name | Kentän nimi | |
type | Kentän tyyppi. |
|
label | Kentän otsikko | Käännösavain |
required | Onko kenttä pakollinen? Oletuksena ei ole. |
|
help | Elementin ohjeteksti | Käännösavain |
settings | Lista HTML-elementin arvoista. Esimerkki: listätään elementille omat CSS-luokat: settings: - [class, "css-luokka1 css-luokka2"] | Lista |
options | Elementin valinnat (vain kun type on 'select', 'radio' tai 'checkbox'). options: - valinta-1 - valinta-2 - valinta-3 tai listana options: - value: valinta-1 label: Valinta 1 - value: valinta-2 label: Valinta 2 - value: valinta-3 label: Valinta 3 Ensimmäisessä vaihto options: - valinta-1 - valinta-2 - valinta-3 | Lista käännösavaimia. |
optionGroups | Elementin valinnat eroteltuna omiin ryhmiinsä (vain kun type on 'select'). 'label' määrittää ryhmän otsikon (käännösavain). optionGroups: - label: otsikko-1 options: - valinta-1a - valinta-1b - label: otsikko-2 options: - valinta 2a - valinta 2b | Lista. |
recipient | Elementin arvo määrittää lomakkeen sähköpostin vastaanottajan (vain kun type on 'select'). Asetuksen avulla voi tehdä lomakkeen, jonka vastaanottaja määrittyy käyttäjän valinnan mukaan. Esimerkiksi hankintaehdotus voidaan ohjata suoraan käyttäjän valitsemaan kirjastoon. Vastaanottajien sähköpostiosoitteet määritellään 'options' tai 'optionGroups' -listaan käyttämällä jokaisessa valinnassa 'value' ja 'label' kenttiä. Näistä 'label' on käännösavain joka näytetään lomakkeella. 'value' kentän määrittämää vastaanottajan sähköpostiosoitetta ei näytetä käyttäjille. Esimerkki: recipient: true options: - value: [email protected] label: Vastaanottaja 1 - value: [email protected] label: Vastaanottaja 2 tai käyttäen 'optionGroups'-asetusta: recipient: true optionGroups: - label: otsikko-1 options: - value: [email protected] label: Vastaanottaja 1 - value: [email protected] label: Vastaanottaja 2 - label: otsikko-2 options: - value: [email protected] label: Vastaanottaja 3 - value: [email protected] label: Vastaanottaja 4 |
|
placeholder | Select-valikon ensimmäinen elementti (vain kun type on 'select'). Jos 'placeholder' on määritelty ja elementti on pakollinen ('required = true'), lomakkeen voi lähettää vain jos on valinnut valikosta jonkin muun kuin oletuksena näytettävän ensimmäisen elementin. Esimerkki: select-valikko, jonka ensimmäinen elementti on "Valitse toimipiste" ja tämän jälkeen valittavissa olevat toimipisteet: type: select required: true placeholder: Valitse toimipiste options: - toimipiste-1 - toimipiste-2 | Käännösavain |
format | Päivämäärän muoto (vain, kun type on 'date') Palauteviestissä lähetettävän päivämäärän muoto. Ei vaikuta näytöllä näkyvään muotoon, joka määrittyy selaimen ja käyttäjän käyttöjärjestelmän asetusten perusteella. Päivämäärän muotoilussa käytetään PHP:n formaattia, esim. 'Y-m-d'. | |
minValue | Pienin sallittu päivämäärä (vain, kun type on 'date') Arvona voi käyttää englanninkielisiä päivämäärälauseita, joita PHP:n strtotime tulkitsee, esim. 'now'. | |
maxValue | Suurin sallittu päivämäärä (vain, kun type on 'date') Arvona voi käyttää englanninkielisiä päivämäärälauseita, joita PHP:n strtotime tulkitsee, esim. '+1 year' tai '+6 months'. |
Esimerkkejä
Esimerkki: poistetaan palautelomakkeelta Aihe-valikko ja lisätään Toimipiste-valikko.
Lisätään Toimipiste-valikko fields-listan alkuun. "label" määrittää käännösavaimen, mille pitää lisätä käännöstekstit. "options" -lista sisältää valikossa näytettävät valinnat (käännösavaimet). Toimipisteiden käännöskoodit löytyvät tiedostosta /local/languages/finna/fi.ini
Muut asetukset periytyvät Finnan yleisestä palautelomakkeesta.
forms: # Main Feedback form FeedbackSite: fields: - name: feedback_choose_library type: select options: - 1/Vaski/1/ - 1/Vaski/5/ - 1/Vaski/6/ label: feedback_choose_library - name: message type: textarea label: feedback_message required: true settings: - name: url type: url label: feedback_url settings: - [placeholder, http://...] - [class, 'url']
Esimerkki: lisätään Hankintaehdotus-lomake
Kentän "required" asetus määrittää onko kenttä pakollinen.
recipient-kentässä määritellään mihin sähköpostiosoitteeseen lomakkeen tiedot lähetetään. Vastaanottajan ei tarvitse olla sama kuin yleisellä palautelomakkeella.
forms: AcquisitionRequest: title: Acquisition request enabled: true recipient: name: Your Library email: [email protected] onlyForLoggedUsers: false emailSubject: Hankintaehdotus (%%library%%) response: Thank you for your feedback. senderInfoRequired: false #senderInfoHelp: feedback_info #help: # pre: feedback_help_pre # post: feedback_help_post fields: - name: library type: select options: - 1/Vaski/1/ - 1/Vaski/5/ - 1/Vaski/6/ label: feedback_choose_library - name: author type: text label: Author required: true - name: title type: text label: Title required: true - name: format type: select options: - 0/Book/ - 0/Journal/ - 1/Sound/CD/ - 1/Video/DVD/ - 1/Other/Other/ label: Format - name: info type: textarea label: Additional Information required: false
Linkitys lomakkeeseen
Voit linkittää lomakkeeseen lisäämällä sivupohjaan:
<a href="<?=$this->url('feedback-form', ['id' => 'AcquisitionRequest'])?>">Tee hankintaehdotus!</a>
Voit lisätä navigaatiovalikkoon linkin lomakkeelle määrittämällä linkin toiminnon muodossa
/Feedback/Form/<lomakkeen nimi>
Esimerkki: Lisätään Varastokirjastotilaus-lomake
Tämä toiminnallisuus on käytettävissä v2.71.0 eli 21.9.2021 lähtien.
Tilausnappula näytetään automaattisesti "Tämän aineiston tarjoaa" -palkissa:
forms: RepositoryLibraryRequest: enabled: true title: repository_library_request sendMethod: database includeBarcode: true includePatronId: true onlyForLoggedUsers: true recipient: name: Tilaukset email: tilaukset@joku reminderEmail: [email protected] emailSubject: "Varastokirjastotilaus (%%noutopaikka%%): %%record_id%% - %%record%%" response: repository_library_request_response senderInfoRequired: true hideSenderInfo: true hideRecipientInfo: true help: pre: repository_library_request_info_html fields: - name: noutopaikka type: select options: - 1/Vaski/1/ - 1/Vaski/5/ - 1/Vaski/6/ label: preferred_pickup_location - name: lastdate type: date label: hold_required_by minValue: now required: false - name: name type: text label: feedback_name required: true - name: email type: email label: feedback_email required: true - name: message type: textarea label: feedback_message settings: - [placeholder, repository_library_request_message] - [rows, 3]