Palautelomakeen ominaisuudet määritellään YAML-muotoisessa asetustiedostossa /local/config/finna/FeedbackForms.yaml. Tiedoston alussa on dokumentoitu muokattavissa olevat asetukset. Lomakkeelle on esimerkiksi mahdollista lisätä uusia kenttiä tai ohjetekstejä. Myös uusien lomakkeiden tekeminen on mahdollista.
Muokkaukset sijoitetaan tiedostoon /local/config/vufind/FeedbackForms.yaml. Finnan esimerkkitiedoston voi kopioida malliksi ja tehdä kopioon omat muokkaukset.
Lomakkeet sijaitsevat päätason 'forms' -listan sisällä. Oletuksena tämä sisältää ainoastaan yleisen palautelomakkeen (FeedbackSite).
'fields' asetus (joka sisältää lomakkeen kentät) yliajetaan kokonaisuudessaan, muut kentät yksitellen. Eli jos haluat muokata yleisen palautelomakkeen kenttiä, kopioi 'fields' alkuperäisestä ja tee muutokset siihen. Muiden asetusten kanssa riittää kun kopioi yksittäisen yliajettavan asetuksen paikalliseen tiedostoon.
Hallintaliittymä antaa tallennuksen yhteydessä virheilmoituksen mikäli asetustiedosto ei ole YAMl-formaatin mukainen. Yleinen virhe liittyy rivin sisennykseen, milloin virheilmoituksessa mainitaan "Indentation problem at line ".
Lomakkeen yleiset asetukset
Asetus | Selitys | Mahdolliset arvot |
---|---|---|
enabled | Onko lomake käytössä? |
|
title | Lomakkeen otsikko | Käännösavain |
onlyForLoggedUsers | Näytetäänkö lomake ainoastaan kirjautuneille käyttäjille? |
|
emailSubject | Lomakkeen tallennuksen yhteydessä lähetettävän sähköpostiviestin otsikko. Otsikkoon voi lisätä mukaan lomakekentän arvon. Esimerkiksi jos lomakkeella on alasvetovalikko (nimellä "toimipiste"), voi valikon arvon lisätä mukaan viestin otsikkoon näin: emailSubject: Hankintaehdotus - %%toimipiste%% | Käännösavain |
recipient | Lomakkeen vastaanottajan nimi ja sähköpostiosoite. 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). Lomakkeelle voi määritellä 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. Tallennettujen palautteiden käsittely tapahtuu hallintaliittymän Lomakkeet-osiossa. Osiossa listataan tuotantonäkymien kautta lähetetyt palautteet. Tietokantaan tallennusta ei siis 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 |
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 |
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 useCaptcha: false 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
Lomakkeelle voi tehdä linkin lisäämällä sivupohjaan:
<a href="<?=$this->url('feedback-form', ['id' => 'AcquisitionRequest'])?>">Tee hankintaehdotus!</a>
Navigaatiovalikkoon voi lisätä linkin lomakkeelle määrittämällä linkille toiminnon muodossa
/Feedback/Form/<lomakkeen nimi>