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, jolloin virheilmoituksessa mainitaan, millä rivillä virhe esiintyy ("Indentation problem at line..").

Lomakkeen yleiset asetukset

AsetusSelitysMahdolliset arvot
enabledOnko lomake käytössä
  • true
  • false
useCaptchaKä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ä.
  • true
  • false (älä käytä)
titleLomakkeen otsikkoKäännösavain
onlyForLoggedUsersNäytetäänkö lomake ainoastaan kirjautuneille käyttäjille
  • true
  • false
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ä:

  • %%record%% (nimeke)
  • %%record_id%% (tietueen ID)
  • Käännösavain
  • Teksti, joka voi sisältää lomakekenttien arvoja, esim. 'Tilaus: %%record%% - %%toimipiste%%'


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.

  • email
  • database
  • api (v2.71.0 eli 21.9.2021 alkaen)
reminderEmailJos 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
hideSenderInfoKysytäänkö lomakkeella lähettäjän yhteystietoja (nimi ja sähköposti)? Oletuksena kysytään.
  • true
  • false
senderInfoRequiredEdellytetäänkö lomakkeen lähettäjän syöttävän yhteystietonsa?
  • true
  • false
senderInfoHelpLähettäjän yhteystietojen ohjeteksti.Käännösavain
reportReferrerSisällytetäänkö palautesivulle viitannut sivu palautteeseen
  • true
  • false
reportUserAgent

(käytettävissä v2.71.0 eli 21.9.2021 alkaen)


Sisällytetäänkö käyttäjän selaimen tunniste palautteeseen

  • true
  • false
responseLomakkeen 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
fieldsLomakkeen kentätLista

Lomakkeen kenttien asetukset

AsetusSelitysMahdolliset arvot
nameKentän nimi
typeKentän tyyppi.
  • date (päivämäärä kalenteritoiminnolla, käytettävissä v2.71.0 eli 21.9.2021 alkaen)
  • text (tekstikenttä)
  • textarea (tekstialue)
  • email (sähköpostikenttä)
  • url (URL-kenttä)
  • select (valikko)
  • radio (valintanappi)
  • checkbox (valintaruutu)
labelKentän otsikkoKäännösavain
requiredOnko kenttä pakollinen? Oletuksena ei ole.
  • true
helpElementin ohjetekstiKää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-1@email.com
    label: Vastaanottaja 1
  - value: email-2@email.com
    label: Vastaanottaja 2

tai käyttäen 'optionGroups'-asetusta:

recipient: true
optionGroups:
  - label: otsikko-1
    options:
     - value: email-1@email.com
       label: Vastaanottaja 1
     - value: email-2@email.com
       label: Vastaanottaja 2
  - label: otsikko-2
    options:
     - value: email-3@email.com
       label: Vastaanottaja 3
     - value: email-4@email.com
       label: Vastaanottaja 4
  • true
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@email.com

    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.

Huom! Lomakkeen nimen täytyy olla RepositoryLibraryRequest.

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@email.com
    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]





  • No labels