Skip to content

Konfigurace licencí

Jan Rychtář edited this page Aug 10, 2023 · 12 revisions

Příklad kompletní konfigurace klineta

var APP_GLOBAL = {
  share_url: "https://dnnt.mzk.cz/uuid/${UUID}",
  ga: "UA-74530605-2",
  enablePeriodicalVolumesYearsLayout: true,
  enablePeriodicalIsssuesCalendarLayout: true,
  defaultPeriodicalVolumesLayout: "years",
  defaultPeriodicalIssuesLayout: "calendar",
  publicFilterDefault: false,
  bigHomeLogo: true,
  hideHomeTitle: false,
  advancedSearch: false,
  newestAll: true,
  aboutPage: {
    cs: '/assets/shared/about.cs.html',
    en: '/assets/shared/about.en.html',
  },
  footer: {
    cs: '/assets/shared/footer.cs.html',
    en: '/assets/shared/footer.cs.html',
  },
  actions: {
    pdf: 'public',
    print: 'public',
    jpeg: 'public',
    text: 'public',
    citation: 'always',
    metadata: 'always',
    share: 'always',
    selection: 'public',
    crop: 'public'
  },
  krameriusList: [
    {
      title: 'Moravská zemská knihovna',
      code: "mzk",
      version: 7,
      logo: 'https://registr.digitalniknihovna.cz/libraries/mzk/logo',
      url: 'https://k7-api.k7-test.mzk.cz',
      adminClientUrl: 'https://k7-admin.k7-test.mzk.cz/',
      keycloak: true,
      termsPage: {
        cs: '/assets/shared/terms/terms.cs.html',
        en: '/assets/shared/terms/terms.en.html'
      },
      termsPage2: {
        cs: '/assets/shared/terms/terms2.cs.html',
        en: '/assets/shared/terms/terms2.en.html'
      },
      termsUrl: {
        cs: 'https://kramerius.k7-test.mzk.cz/assets/shared/terms/terms_of_use.html',
        en: 'https://kramerius.k7-test.mzk.cz/assets/shared/terms/terms_of_use.html?lang=en'
      },
      ignorePolicyFlag: false,
      iiif: true,
      mapSearch: true,
      doctypes: ['monograph', 'periodical', 'graphic', 'map', 'sheetmusic', 'soundrecording', 'archive', 'manuscript', 'collection'],
      filters: ['accessibility', 'licences', 'doctypes', 'authors', 'keywords', 'geonames', 'locations', 'languages'],
      copyrightedText: {
        cs: '/assets/shared/licences/copyright.cs.html',
        en: '/assets/shared/licences/copyright.en.html'
      },
      licences: {
        dnnto: {
          access: 'login',
          label: {
            cs: 'Díla nedostupná na trhu - online',
            en: 'Out of Commerce Works - online'
          },
          message: {
            cs: '/assets/shared/licences/dnnto.cs.html',
            en: '/assets/shared/licences/dnnto.en.html',
          },
          message2: {
            cs: '/assets/shared/licences/dnnto2.cs.html',
            en: '/assets/shared/licences/dnnto2.en.html',

          },
          message3: {
            cs: '/assets/shared/licences/dnnto3.cs.html',
            en: '/assets/shared/licences/dnnto3.en.html',
          },
          instruction: {
            cs: '/assets/shared/licences/dnnto.instruction.cs.html',
            en: '/assets/shared/licences/dnnto.instruction.en.html',
          },
          bar: true,
          actions: {
            pdf: false,
            print: false,
            jpeg: false,
            text: false,
            citation: true,
            metadata: true,
            share: true,
            selection: false,
            crop: false
          },
          image: '/assets/img/license_dnnto.png', 
          web: 'https://dnnt.cz',
          watermark: {
            defaultText: 'DNNT',
            color: 'rgba(0, 0, 0, 0.3)',
            fontSize: 16,
            rowCount: 0,
            colCount: 0,
            probability: 0
          }
        },
        onsite: {
          access: 'terminal',
          label: {
            cs: 'Studovna',
            en: 'Studovna'
          },
          message: {
            cs: '/assets/shared/licences/onsite.cs.html',
            en: '/assets/shared/licences/onsite.en.html'
          },
          instruction: {
            cs: '/assets/shared/licences/onsite.instruction.cs.html',
            en: '/assets/shared/licences/onsite.instruction.en.html',
          },
          bar: false,
          actions: {
            pdf: false,
            print: false,
            jpeg: false,
            text: false,
            citation: true,
            metadata: true,
            share: true,
            selection: true,
            crop: false
          }
        },
        _private: {
          access: 'terminal',
          label: {
            cs: 'Pouze v MZK',
            en: 'Only in MZK'
          },
          message: {
            cs: '/assets/shared/licences/_private.cs.html',
            en: '/assets/shared/licences/_private.en.html'
          },
          instruction: {
            cs: '/assets/shared/licences/_private.instruction.cs.html',
            en: '/assets/shared/licences/_private.instruction.en.html',
          }
        }
      }
    }
  ]
}

Nastavení url pro přihlášení a odhlášení je pro Každého Krameria zvlášť v APP_GLOBAL.krameriusList

auth: {
  logoutUrl: 'https://dnnt.mzk.cz/Shibboleth.sso/Logout',
  loginUrl: 'https://dnnt.mzk.cz/podminky-zpristupneni'
}

auth.loginUrl je možné parametrizovat přes placeholder ${LANG}, který se nahradí kódem právě používaného jazyka. Např.

loginUrl: 'https://dnnt.mzk.cz/podminky-zpristupneni-${LANG}'
// https://dnnt.mzk.cz/podminky-zpristupneni-en
// https://dnnt.mzk.cz/podminky-zpristupneni-cs

Nebo

loginUrl: 'https://dnnt.mzk.cz/podminky-zpristupneni/${LANG}.html'
// https://dnnt.mzk.cz/podminky-zpristupneni/en.html
// https://dnnt.mzk.cz/podminky-zpristupneni/cs.html

Konfigurace licencí je pro Každého Krameria zvlášť v APP_GLOBAL.krameriusList Pro každou požadovanou licenci se v licences nastaví přes klíč s identifikátorem licence různé parametry licence, např.

dnnto: {
  access: 'login',
  label: {
    cs: 'Díla nedostupná na trhu',
    en: 'Out of Commerce Works'
  },
  message: {
    cs: '/assets/shared/licences/dnnto.cs.html',
    en: '/assets/shared/licences/dnnto.en.html'
  },
  message2: {
    cs: '/assets/shared/licences/dnnto2.cs.html',
    en: '/assets/shared/licences/dnnto2.en.html'
  },
  message3: {
    cs: '/assets/shared/licences/dnnto3.cs.html',
    en: '/assets/shared/licences/dnnto3.en.html'
  },
  instruction: {
    cs: '/assets/shared/licences/dnnto.instruction.cs.html',
    en: '/assets/shared/licences/dnnto.instruction.en.html'
  },
  image: '/assets/img/license_dnnto.png',
  web: 'https://dnnt.cz',
  bar: true,
  actions: {
    pdf: true,
    print: true,
    jpeg: true,
    text: true,
    citation: true,
    metadata: true,
    share: true,
    selection: true,
    crop: true
  },
  watermark: {
    defaultText: 'DNNT',
    color: 'rgba(0, 0, 0, 0.3)',
    fontSize: 16,
    rowCount: 3,
    colCount: 5,
    probability: 75
  }
}

Jednotlivé parametry

  • access - typ licence, jedna z 'open', 'login', 'terminal' (Veřejné, Po přihlášení, V knihovně)
  • label - název licence v češtině a angličtině
  • message - odkazy na text licence v html pro případ, že uživatel není přihlášený a nemá přístup k licenci
  • message2 - odkazy na text licence v html pro případ, že uživatel je přihlášený a nemá přístup k licenci
  • message3 - odkazy na text licence v html pro případ, že uživatel má přístup k licenci
  • instruction - odkazy na krátky text licence v html pro zobrazení jednořádkových instrukcí
  • bar - zobrazení lišty v prohlížečce
  • image - obrázek uplatněné licence v podrobnostech
  • web - odkaz při prokliku z obrázků uplatněné licence v podrobnostech
  • actions - zobrazení tlačítek pro akce, pokud jsou uvedeny, tak přebijí ty globálně nastavené APP_GLOBAL.actions
  • watermark - nastavení watermarku na obrázku

nastavení watermarku na obrázku - možnosti

  1. text s identifikátorem přihlášeného uživatele
watermark: {
  defaultText: 'DNNT',
  color: 'rgba(0, 0, 0, 0.3)',
  fontSize: 16,
  rowCount: 3,
  colCount: 5,
  probability: 75
}
  • defaultText - Výchozí text, který se použije, pokud není dostupný jmenný identifikátor uživatele.
  • color - Barva textu
  • fontSize - Velikost fontu
  • rowCount - Počet výskytů v řádku
  • colCount - Počet výskytů v sloupci
  • probability - Pravděpodobnost se kterou se watermark zobrazí - aplikuje se na každý zvlášť (v matici rowCount * colCount). Rozsah 0 - 100, kde 0 = watermark se nezobrazí, 50 = watermark se zobrazí s 50% pravděpodobností, 100 = watermark se zobrazí.

Takže příklad konfigurace výše říká, že watermark se zobrazí černou poloprůhlednou barvou fontem o velikosti 16px. Maximálně se zobrazí 15 watermarků (3*5) v mřížce 3 (řádek) * 5 (sloupec). Každý z těch 15 watermarků se zobrazí se 75% pravděpodobností. Text watermarku bude jméno/id uživatele a pokud chybí, pak bude text DNNT.

  1. statický text
watermark: {
  staticText: 'DNNT',
  color: 'rgba(0, 0, 0, 0.3)',
  fontSize: 16,
  rowCount: 3,
  colCount: 5,
  probability: 75
}
  • staticText - Text watermaku
  • zbylé parametry jako v předchozím případě
  1. obrázek
watermark: {
  type: 'image',
  opacity: 0.3,
  scale: 0.2,
  logo: 'assets/shared/img/logo_nkp.png',
  rowCount: 4,
  colCount: 4,
  probability: 100
}
  • type - type: 'image' zapne vykreslování obrázku jako watermarku
  • opacity - průhlednost obrázku [0, 1]
  • scale - zvětšení/zmenšení obrázku vůči originálu
  • logo - zdroj obrázku - měl by být součásti shared a mělo by se odkazovat relativně
  • zbylé parametry jako v prvním případě

Taky hlášky k neveřejného dokumentu můžu nastavit stejným způsobem jako licence přes klíč _private

_private: {
  access: 'terminal',
  label: {
    cs: 'Dokument není veřejně dostupný',
    en: 'The document is not publicly accessible'
  },
  message: {
    cs: '/assets/shared/licences/_private.cs.html',
    en: '/assets/shared/licences/_private.en.html'
  }
}

Vzorové texty pro obecné licence (private, DNNT online a DNNT terminál) jsou k dispozici v dokumentu zde a nebo rozepsané na githubu ceskaexpedice/kramerius zde.