├── _gdrive ├── discovery.md ├── einleitung.md ├── management.md ├── media ├── metadaten.md ├── mitarbeit.md ├── anforderungen.md ├── infrastruktur.md ├── bibliotheksmanagementsysteme.md ├── Makefile ├── zielgruppe.md ├── chapters.csv ├── README.md └── chapter ├── favicon.ico ├── media ├── hf.png ├── oais.png ├── code39.png ├── vufind.png ├── evolution.png ├── persona.png ├── rfid-tag.png ├── scholia.png ├── wireframe.png ├── buchscanner.jpg ├── FIS_CC_BY_Mau.png ├── die-datenlaube.jpg ├── feedback-links.png ├── original │ ├── matrix.ai │ ├── rfid.afdesign │ ├── sdlc.afdesign │ ├── bms-timeline.ai │ ├── stufenmodell.png │ ├── sw_lifespan.xlsx │ ├── er-modell.afdesign │ ├── schichten.afdesign │ ├── sw_lifespan.afdesign │ ├── usability_ux.afdesign │ ├── usability_ux.graffle │ └── wms_workflow.afdesign ├── wms-workflow.png ├── bibframe2-model.jpg ├── Booksprint-Zeitplan.png ├── FIS_FDM_CC_BY_Mau.png ├── Kitodo MockUp XML-Editor.png ├── prozesse-digitalisierung.jpg ├── internet-nutzungshinweise.jpg ├── massnahmen-und-praevention.jpg ├── datenschutz-vs-sicherheits-beauftragte.png ├── missing.svg ├── orcid.svg ├── BPMN-1.svg ├── tools.svg ├── etl-prozess.svg └── logo.svg ├── abbreviations ├── glossar.md ├── .gitignore ├── adjust-canonical-urls.sh ├── mitarbeit.md ├── templates ├── contributors.md ├── contributors_for_pdf.md ├── script.html ├── chapters.html ├── glossary.lua ├── glossary_for_pdf.lua └── pandoc-quotes.lua ├── literatur.md ├── _quarto.yml.yml ├── about.yml ├── quarto-badge.svg ├── README.md ├── .github └── workflows │ └── quarto-book-gh-pages.yaml ├── style.css ├── Makefile ├── LICENSE.md ├── _quarto.yml ├── abbildungen.md ├── metadata.pl ├── CITATION.cff ├── metadata.yml ├── contributors.yml ├── index.md ├── glossar.yml ├── CONTRIBUTING.md ├── sicherheit.md └── anforderungen.md /_gdrive/discovery.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_gdrive/einleitung.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_gdrive/management.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_gdrive/media: -------------------------------------------------------------------------------- 1 | ../media -------------------------------------------------------------------------------- /_gdrive/metadaten.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_gdrive/mitarbeit.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_gdrive/anforderungen.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_gdrive/infrastruktur.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_gdrive/bibliotheksmanagementsysteme.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/favicon.ico -------------------------------------------------------------------------------- /media/hf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/hf.png -------------------------------------------------------------------------------- /media/oais.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/oais.png -------------------------------------------------------------------------------- /media/code39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/code39.png -------------------------------------------------------------------------------- /media/vufind.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/vufind.png -------------------------------------------------------------------------------- /media/evolution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/evolution.png -------------------------------------------------------------------------------- /media/persona.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/persona.png -------------------------------------------------------------------------------- /media/rfid-tag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/rfid-tag.png -------------------------------------------------------------------------------- /media/scholia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/scholia.png -------------------------------------------------------------------------------- /media/wireframe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/wireframe.png -------------------------------------------------------------------------------- /media/buchscanner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/buchscanner.jpg -------------------------------------------------------------------------------- /media/FIS_CC_BY_Mau.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/FIS_CC_BY_Mau.png -------------------------------------------------------------------------------- /media/die-datenlaube.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/die-datenlaube.jpg -------------------------------------------------------------------------------- /media/feedback-links.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/feedback-links.png -------------------------------------------------------------------------------- /media/original/matrix.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/original/matrix.ai -------------------------------------------------------------------------------- /media/wms-workflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/wms-workflow.png -------------------------------------------------------------------------------- /media/bibframe2-model.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/bibframe2-model.jpg -------------------------------------------------------------------------------- /media/Booksprint-Zeitplan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/Booksprint-Zeitplan.png -------------------------------------------------------------------------------- /media/FIS_FDM_CC_BY_Mau.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/FIS_FDM_CC_BY_Mau.png -------------------------------------------------------------------------------- /media/original/rfid.afdesign: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/original/rfid.afdesign -------------------------------------------------------------------------------- /media/original/sdlc.afdesign: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/original/sdlc.afdesign -------------------------------------------------------------------------------- /abbreviations: -------------------------------------------------------------------------------- 1 | bspw. 2 | bzw. 3 | ggf. 4 | inkl. 5 | o.ä. 6 | u.a. 7 | uvm. 8 | v.a. 9 | vgl. 10 | vs. 11 | z.B. 12 | z.T. 13 | -------------------------------------------------------------------------------- /media/original/bms-timeline.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/original/bms-timeline.ai -------------------------------------------------------------------------------- /media/original/stufenmodell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/original/stufenmodell.png -------------------------------------------------------------------------------- /media/original/sw_lifespan.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/original/sw_lifespan.xlsx -------------------------------------------------------------------------------- /media/Kitodo MockUp XML-Editor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/Kitodo MockUp XML-Editor.png -------------------------------------------------------------------------------- /media/original/er-modell.afdesign: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/original/er-modell.afdesign -------------------------------------------------------------------------------- /media/original/schichten.afdesign: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/original/schichten.afdesign -------------------------------------------------------------------------------- /media/prozesse-digitalisierung.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/prozesse-digitalisierung.jpg -------------------------------------------------------------------------------- /media/internet-nutzungshinweise.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/internet-nutzungshinweise.jpg -------------------------------------------------------------------------------- /media/massnahmen-und-praevention.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/massnahmen-und-praevention.jpg -------------------------------------------------------------------------------- /media/original/sw_lifespan.afdesign: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/original/sw_lifespan.afdesign -------------------------------------------------------------------------------- /media/original/usability_ux.afdesign: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/original/usability_ux.afdesign -------------------------------------------------------------------------------- /media/original/usability_ux.graffle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/original/usability_ux.graffle -------------------------------------------------------------------------------- /media/original/wms_workflow.afdesign: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/original/wms_workflow.afdesign -------------------------------------------------------------------------------- /glossar.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Die wichtigsten Abkürzungen rund um IT in Bibliotheken 3 | --- 4 | 5 | # Abkürzungsverzeichnis {#sec-abk} 6 | 7 | ||glossary|| 8 | 9 | -------------------------------------------------------------------------------- /media/datenschutz-vs-sicherheits-beauftragte.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UB-Mannheim/handbuch-it-in-bibliotheken/main/media/datenschutz-vs-sicherheits-beauftragte.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | _gdrive/*.docx 2 | /_book/ 3 | _published 4 | *.log 5 | contributors.md 6 | index.tex 7 | /.quarto/ 8 | index_files/ 9 | site_libs/ 10 | 11 | /_*.local 12 | .~* 13 | .DS_Store 14 | *.afdesign~lock~ 15 | -------------------------------------------------------------------------------- /adjust-canonical-urls.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | for FILE in _book/*.html; do 4 | KAPITEL=$(basename "$FILE") 5 | [[ "$KAPITEL" == "index.html" ]] && KAPITEL="" 6 | sed -i "s/?_KAPITEL_\"/$KAPITEL\"/" "$FILE" 7 | done 8 | -------------------------------------------------------------------------------- /_gdrive/Makefile: -------------------------------------------------------------------------------- 1 | .SUFFIXES: .docx .md 2 | 3 | DOCX=$(wildcard *.docx) 4 | MARKDOWN=$(DOCX:.docx=.md) 5 | 6 | markdown: $(MARKDOWN) 7 | 8 | .docx.md: 9 | quarto pandoc -t markdown $< > $@ 10 | 11 | download: 12 | ./chapter download all 13 | 14 | update: 15 | ./chapter update all 16 | -------------------------------------------------------------------------------- /media/missing.svg: -------------------------------------------------------------------------------- 1 | [Insert ImageHere] -------------------------------------------------------------------------------- /mitarbeit.md: -------------------------------------------------------------------------------- 1 | # Hinweise zur Mitarbeit {#sec-mitarbeit} 2 | 3 | ::: {.content-visible when-format="html"} 4 | 5 | {{< include CONTRIBUTING.md >}} 6 | 7 | ::: 8 | 9 | ::: {.content-visible unless-format="html"} 10 | 11 | TODO: Hier fehlen noch Hinweise zur Mitarbeit, die in der PDF/Docx-Version auftauchen sollen (statt `CONTRIBUTING.md`). 12 | 13 | ::: 14 | -------------------------------------------------------------------------------- /templates/contributors.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Beteiligte Autor*innen {#sec-contributors} 4 | 5 | $for(contributor)$ 6 | - $it.name$$if(it.position)$, $it.position$$endif$\ 7 | $if(it.orcid)$$endif$$if(it.email)$ [$it.email$](mailto:$it.email$)$endif$$if(it.homepage)$ <$it.homepage$>$endif$ 8 | $endfor$ 9 | -------------------------------------------------------------------------------- /literatur.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Weiterführende Literatur und Quellen zum Themenbereich IT in Bibliotheken 3 | --- 4 | 5 | # Literaturverzeichnis {#sec-literatur} 6 | 7 | Hier nur die explizit im Handbuch referenzierten Publikationen. Die vollständige Bibliografie wird [in einer gemeinsamen Zotero-Gruppe](https://www.zotero.org/groups/4673379/it_in_bibliotheken) verwaltet. 8 | 9 | ::: {#refs} 10 | ::: 11 | -------------------------------------------------------------------------------- /templates/contributors_for_pdf.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Beteiligte Autor*innen {#sec-contributors} 4 | 5 | $for(contributor)$ 6 | - $it.name$$if(it.position)$, $it.position$$endif$$if(it.email)$, $it.email$ $endif$$if(it.orcid)$ $endif$ 7 | $if(it.homepage)$ <$it.homepage$>$endif$ 8 | $endfor$ 9 | 10 | -------------------------------------------------------------------------------- /_quarto.yml.yml: -------------------------------------------------------------------------------- 1 | format: 2 | pdf: 3 | links-as-notes: true 4 | documentclass: scrreprt 5 | classoption: 6 | - twoside 7 | keep-tex: true 8 | abbreviations: abbreviations 9 | number-sections: true 10 | number-depth: 3 11 | fontsize: 11pt 12 | sansfont: Linux Biolinum O 13 | mainfont: Linux Biolinum O 14 | geometry: 15 | - paperheight=24cm 16 | - paperwidth=17cm 17 | - top=2cm 18 | - bottom=2.5cm 19 | - inner=2.5cm 20 | - outer=2cm 21 | - heightrounded 22 | include-in-header: 23 | - text: | 24 | \counterwithout{footnote}{chapter} 25 | -------------------------------------------------------------------------------- /about.yml: -------------------------------------------------------------------------------- 1 | # Metadata fields passed to quarto and used to generate CITATION.cff and metadata.yml 2 | 3 | lang: de 4 | url: https://it-in-bibliotheken.de/ 5 | 6 | book: 7 | title: Handbuch IT in Bibliotheken 8 | date: today 9 | description: "Die wichtigsten Themen zum Einsatz von IT in Bibliotheken: IT-Management, Bibliotheksmanagementsysteme, Digitalisierung..." 10 | abstract: > 11 | Dieses Handbuch gibt einen knappen, umfassenden Überblick über die wesentlichen IT-bezogenen Themen in Bibliotheken. Beschrieben werden zum einen allgemeine Grundlagen wie technische Infrastruktur, Metadaten und IT-Management und zum anderen bibliotheksspezifische Dienste vom Bibliotheksmanagementsystem und Discovery-Systemen bis zu Repositorien und Werkzeugen für Kommunikation und Wissensmanagement. 12 | -------------------------------------------------------------------------------- /templates/script.html: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /media/orcid.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | 9 | 10 | 11 | 13 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /quarto-badge.svg: -------------------------------------------------------------------------------- 1 | built with: quartobuilt withquarto 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Handbuch IT in Bibliotheken 2 | 3 | [![Render and deploy Book](https://github.com/pro4bib/handbuch-it-in-bibliotheken/actions/workflows/quarto-book-gh-pages.yaml/badge.svg)](https://github.com/pro4bib/handbuch-it-in-bibliotheken/actions/workflows/quarto-book-gh-pages.yaml) 4 | [![Build with quarto](quarto-badge.svg)](https://quarto.org/) 5 | 6 | Dieses git-Repository enthält den Quelltext des *Handbuch IT in Bibliotheken*. Weitere Informationen zum Handbuch gibt es auf der Projektseite . Die HTML-Version des gesamten Handbuchs in der jeweils aktuellsten Version liegt unter . 7 | 8 | Korrekturen und Verbesserungen im Handbuch sind herzlich willkommne. Siehe dazu die [Hinweise zur Mitarbeit](https://it-in-bibliotheken.de/mitarbeit.html) in der Datei [CONTRIBUTING.md](CONTRIBUTING.md). 9 | 10 | ## Zitierweise 11 | 12 | Die Datei `CITATION.CFF` enthält bibliographische Angaben zur Zitierung (bislang nicht automatisch aktualisiert). 13 | 14 | ## Lizenz 15 | 16 | Der Inhalt des Handbuchs steht unter der Lizenz *Creative Commons Namensnennung 4.0 International* ([CC BY 4.0](https://creativecommons.org/licenses/by/4.0/deed.de)) zur Verfügung. Ausgenommen sind Abbildungen mit eigener Lizenzangabe. 17 | -------------------------------------------------------------------------------- /.github/workflows/quarto-book-gh-pages.yaml: -------------------------------------------------------------------------------- 1 | # Adapted from https://github.com/quarto-dev/quarto-actions/blob/main/examples/quarto-book-gh-pages.yaml 2 | 3 | on: 4 | push: 5 | branches: main 6 | pull_request: 7 | branches: main 8 | # to be able to trigger a manual build 9 | workflow_dispatch: 10 | 11 | name: Render and deploy Book 12 | 13 | jobs: 14 | build-deploy: 15 | runs-on: ubuntu-latest 16 | steps: 17 | - uses: actions/checkout@v2 18 | 19 | - name: Install Quarto 20 | uses: quarto-dev/quarto-actions/install-quarto@v1 21 | #with: 22 | # To install LaTeX to build PDF book 23 | # tinytex: true 24 | # uncomment below and fill to pin a version 25 | # version: 0.9.105 26 | 27 | # Add installation of any computing dependency you may need, usually either python and Jupyter or R 28 | # More specific examples will be shared on quarto-dev/quarto-actions project 29 | 30 | - name: Render book to HTML and DOCX 31 | run: make html && make docx 32 | 33 | - name: Deploy 🚀 34 | if: github.event_name != 'pull_request' 35 | uses: JamesIves/github-pages-deploy-action@v4 36 | with: 37 | branch: gh-pages 38 | folder: _book 39 | -------------------------------------------------------------------------------- /style.css: -------------------------------------------------------------------------------- 1 | @media (min-width: 992px) { 2 | body.docked #quarto-content { 3 | display: grid; 4 | gap: 0; 5 | grid-template-columns: [screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 145px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 100px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]; 6 | } 7 | } 8 | a { 9 | text-decoration: none; 10 | } 11 | a:hover { 12 | text-decoration: underline; 13 | } 14 | .sidebar-tools-main a.external:after, 15 | figure a.external:after, footer a.external:after { 16 | display: none; 17 | } 18 | .sidebar-logo { 19 | max-width: 100%; 20 | } 21 | .sidebar-title { 22 | display: none; /* TODO: remove */ 23 | } 24 | figure > figcaption { 25 | text-align: center; 26 | margin: 0; 27 | } 28 | div.csl-entry { 29 | margin-bottom: 0.5em; 30 | } 31 | 32 | .sidebar-item:hover { 33 | border-right: 2px solid #747a7f; 34 | } 35 | 36 | /* Infoboxen */ 37 | .callout { 38 | box-shadow: 5px 5px 5px grey; 39 | } 40 | .callout.callout-style-simple .callout-body, 41 | .callout.callout-style-simple > div.callout-header 42 | { 43 | font-size: 1rem; 44 | } 45 | -------------------------------------------------------------------------------- /_gdrive/zielgruppe.md: -------------------------------------------------------------------------------- 1 | # Zielgruppe 2 | 3 | Zur Klärung der Zielgruppe dieses Handbuchs wurden einige sogenannte 4 | Personas definiert: 5 | 6 | - **Janine** Buchinger: Janine leitet die Stadtbibliothek in einer 7 | Stadt mit 250.000 Einwohnern. Die Bibliothek besteht aus einer 8 | Zentrale und zwei Zweigstellen. Mit den Schulbüchereien besteht eine 9 | Kooperation für fachliche Beratung und gemeinsame Aktivitäten bei 10 | der Informationskompetenz-Vermittlung. 11 | 12 | - Dr. **Tillmann** Schuppe: Tillmann ist Leiter einer 13 | Fachhochschulbibliothek mit 500.000 Medieneinheiten. Die Bibliothek 14 | gehört einem Bibliotheksverbund an. Die Bibliothek plant einen 15 | Neubau, der gemeinsam mit dem Rechen- und Medienzentrum bezogen 16 | werden soll. 17 | 18 | - **Magda** Olsowski: Magda ist studierte Informatikerin und leitet 19 | die Gruppe Forschungsdatenmanagement an einer großen 20 | Universitätsbibliothek. Sie hat keine bibliothekarische Vorbildung. 21 | 22 | - **Alicia** Meyer: Alicia studiert Bibliotheksmanagement und plant 23 | eine Masterarbeit, in der sie die Implementierungsprozesse von 24 | Software analysieren möchte. 25 | 26 | - **Robert** Pohlmann: Robert leitet die IT-Abteilung einer 27 | mittelgroßen Universitätsbibliothek und ist nebenberuflich 28 | Lehrbeauftragter für einen bibliothekarischen Studiengang. 29 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | .SUFFIXES: .docx .md 2 | .PHONY: references.bib 3 | 4 | INCLUDES=templates/chapters.html contributors.md glossar.md 5 | INCLUDES_PDF=templates/chapters.html contributors_for_pdf.md glossar.md 6 | 7 | preview: $(INCLUDES) 8 | quarto preview 9 | 10 | all: html docx pdf update 11 | cp _gdrive/*.docx _book/ 12 | rsync -a _book/ _published 13 | 14 | html: $(INCLUDES) 15 | quarto render --to html 16 | ./adjust-canonical-urls.sh 17 | 18 | docx: $(INCLUDES) 19 | quarto render --to docx 20 | 21 | pdf: $(INCLUDES_PDF) 22 | quarto render --to pdf 23 | # rebuild contributors.md to restore standard version (with mailto:-links) 24 | make -B contributors.md 25 | 26 | update: $(INCLUDES) 27 | make -C _gdrive update 28 | ls _gdrive/*.docx 29 | 30 | # TODO: multiple requests with start=N when more than 100 references 31 | refs: references.bib 32 | references.bib: 33 | curl -s 'https://api.zotero.org/groups/4673379/items?format=biblatex&limit=100' > $@ 34 | 35 | templates/chapters.html: _gdrive/chapters.csv 36 | @echo -n "" >> $@ 38 | 39 | # TODO: replace by lua filter as supported by quarto 40 | contributors.md: contributors.yml templates/contributors.md 41 | echo '' | quarto pandoc --metadata-file $< --template templates/contributors.md -M title=- -o $@ 42 | 43 | contributors_for_pdf.md: contributors.yml templates/contributors_for_pdf.md 44 | echo '' | quarto pandoc --metadata-file $< --template templates/contributors_for_pdf.md -M title=- -o contributors.md 45 | 46 | metadata: about.yml contributors.yml 47 | ./metadata.pl 48 | 49 | install: 50 | sudo apt install librsvg2-bin 51 | cpanm install YAML::PP 52 | 53 | -------------------------------------------------------------------------------- /_gdrive/chapters.csv: -------------------------------------------------------------------------------- 1 | einleitung,https://docs.google.com/document/d/1UVQ31DIL_if5dU5PHUCLDJ4EeltrbZMe/edit?usp=sharing&ouid=114825892273840568168&rtpof=true&sd=true,index 2 | management,https://docs.google.com/document/d/1u-2li4kiMG13cYwiXgJ8ZCfA7JZu3gQB/edit?usp=sharing&ouid=114825892273840568168&rtpof=true&sd=true 3 | anforderungen,https://docs.google.com/document/d/1-ulLfARosY4Vk2ZVMuTv6F1Ru5ne76om/edit?usp=sharing&ouid=114825892273840568168&rtpof=true&sd=true 4 | infrastruktur,https://docs.google.com/document/d/1e-THCiAVxPdYtEiV2haztqsGf3k0x_PO/edit?usp=sharing&ouid=114825892273840568168&rtpof=true&sd=true 5 | bibliotheksmanagementsysteme,https://docs.google.com/document/d/1hi3Zf7rmLrYSXB2XdEv_PCl4HrySdQqn/edit?usp=sharing&ouid=114825892273840568168&rtpof=true&sd=true 6 | discovery,https://docs.google.com/document/d/1P1FHgf1wNgER0mjSFMnlGWLo0Is6J0te/edit?usp=sharing&ouid=114825892273840568168&rtpof=true&sd=true 7 | metadaten,https://docs.google.com/document/d/1yM0PULt_6MMrE3fDCrzg20uIw_oni9kT/edit?usp=sharing&ouid=114825892273840568168&rtpof=true&sd=true 8 | mitarbeit,https://docs.google.com/document/d/1gCtGlxyciHjQCZTVbbNLx5EOJ1dxkbwD/edit?usp=sharing&ouid=114825892273840568168&rtpof=true&sd=true,CONTRIBUTING 9 | kommunikation,https://docs.google.com/document/d/1r6m1l6gkw6T4qS-sI1lvD6idf2ZBWcRK/edit?usp=sharing&ouid=114825892273840568168&rtpof=true&sd=true 10 | digitalisierung,https://docs.google.com/document/d/1_DIqvtejlagiG0zvtpOX_Wz5gd4Q41FW/edit?usp=sharing&ouid=114825892273840568168&rtpof=true&sd=true 11 | sicherheit,https://docs.google.com/document/d/1yyFOLw83UyDvE6-9kXfVxVaxR3qriaVV/edit?usp=sharing&ouid=114825892273840568168&rtpof=true&sd=true 12 | forschungsnahe-dienste,https://docs.google.com/document/d/1TImCiRVNEZTNzGbRVpYRFF2GBzrZyYv7/edit?usp=sharing&ouid=114825892273840568168&rtpof=true&sd=true 13 | -------------------------------------------------------------------------------- /templates/chapters.html: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | # License 2 | 3 | Creative Commons License
Non-software content in this project is licensed under a Creative Commons Attribution 4.0 International License. 4 | 5 | ***Individual images and media files in this repository may have a different license!*** 6 | 7 | ## Creative Commons Attribution 4.0 International (CC BY 4.0) 8 | 9 | This is a human-readable summary of (and not a substitute for) the [full legal text of the CC BY 4.0 license](https://creativecommons.org/licenses/by/4.0/legalcode). 10 | 11 | ### You are free to: 12 | 13 | - **Share** — copy and redistribute the material in any medium or format. 14 | 15 | - **Adapt** — remix, transform, and build upon the material for any purpose, even commercially. 16 | 17 | _The licensor cannot revoke these freedoms as long as you follow the license terms._ 18 | 19 | ### Under the following terms: 20 | 21 | - **Attribution** — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. 22 | 23 | - **No additional restrictions** — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. 24 | 25 | ### With the understanding that: 26 | 27 | You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation. 28 | 29 | No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material. 30 | 31 | _This license is acceptable for Free Cultural Works._ 32 | -------------------------------------------------------------------------------- /_gdrive/README.md: -------------------------------------------------------------------------------- 1 | # Verwaltung von Kapiteln als docx-Dokumente in Google Drive 2 | 3 | Dieses Verzeichnis enthält [von Google Drive](https://drive.google.com/drive/folders/1JMBLJlk71JqQMQY7j_uXwV47fX8NA_N2?usp=sharing) exportierte docx-Dateien der einzelnen Kapitel sowie ihre Roh-Konvertierung nach Markdown. Die aus docx erzeugten Markdown-Dateien können nicht direkt weiterverwendet werden, da bei der Konvertierung einiges kaputtgeht. Die eigentlichen Kapiteldateien im Wurzelverzeichnis müssen per Hand aktualisiert werden. 4 | 5 | Die konvertierten Markdown-Dateien werden trotzdem in diesem Verzeichnis im git-repository gespeichert, damit Änderungen an den docx-Dateien leichter nachvollzogen werden können. Die docx-Dateien werden *nicht* im git-repository gespeichert. 6 | 7 | Die einzelnen Kapitel sind in der Datei `chapters.csv` aufgeführt mit 8 | 9 | * Name (nur Kleinbuchstaben und `-`) 10 | * Google-URL zum Kommentieren des Dokumentes 11 | 12 | Beim Anlegen neuer Kapitel ist zu beachten dass das Dokument **als docx-Datei** statt als einfaches Google Docs Dokument in Google Drive gespeichert wird (einfach ein vorhandenes docx-Dokument kopieren und ändern). 13 | 14 | ## Arbeitsschritte 15 | 16 | Alle Kapitel herunterladen: 17 | 18 | make download 19 | 20 | Alternativ nur ein Kapitel herunterladen: 21 | 22 | ./chapter download einleitung 23 | 24 | Vorhandene Kapitel nach Markdown konvertieren (Roh-Konvertierung): 25 | 26 | make 27 | 28 | Änderungen seit letztem Speichern der Markdown-Dateien ansehen: 29 | 30 | git diff . 31 | 32 | Die Änderungen müssen per Hand in die ensprechenden Markdown-Dateien im Wurzelverzeichnis übertragen werden. 33 | 34 | Änderungen der Markdown-Dateien im Wurzelverzeichnis zurückspielen (überschreibt lokale docx- und Markdown-Dateien in diesem Verzeichnis): 35 | 36 | make update 37 | 38 | Alternativ nur ein Kapitel: 39 | 40 | ./chapter update einleitung 41 | 42 | Das Aktualisieren der docx-Datei muss auf Google Drive hochgeladen und der Stand der Roh-Konvertierung aktualisiert werden (siehe Ausgabe des update-Skript). 43 | 44 | -------------------------------------------------------------------------------- /_gdrive/chapter: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | use v5.14.1; 3 | 4 | my $command = shift @ARGV || 'list'; 5 | 6 | if ($command !~ /^download|update|list$/) { 7 | say "Usage: $0 [download|update|list] "; 8 | exit 1; 9 | } 10 | 11 | open my $fh, '<', 'chapters.csv' or die "Kann chapters.csv nicht lesen"; 12 | 13 | for (<$fh>) { 14 | chomp; 15 | my ( $chapter, $url, $source ) = split ',', $_; 16 | $source ||= $chapter; 17 | 18 | if ( "$chapter$source" !~ /^[a-z-]+$/i || $url !~ qr{^https://docs\.google\.com/document/d/([A-Za-z_0-9-]+)/edit} ) { 19 | warn "Kapitelsource oder Google URL passt so nocht: $_\n"; 20 | exit 1; 21 | } 22 | my $fileid = $1; 23 | 24 | if ($command eq 'list') { 25 | say $source eq $chapter ? $source : "$chapter = $source"; 26 | next; 27 | } 28 | 29 | if ($ARGV[0] ne 'all' && ! grep { $_ eq $source || $_ eq $chapter } @ARGV) { 30 | next; 31 | } 32 | 33 | if ($command eq 'download') { 34 | say $fileid; 35 | `wget \"https://docs.google.com/document/u/0/export?format=docx&id=$fileid\" -O $chapter.docx`; 36 | sleep 2; 37 | } elsif ($command eq 'update') { 38 | $source = "$source.md"; 39 | if ( ! -e "../$source" ) { 40 | warn "Kapiteldatei nicht gefunden: ../$source\n"; 41 | exit 1; 42 | } 43 | 44 | say "\n# $chapter"; 45 | my $opts = "--bibliography=references.bib --citeproc -L templates/pandoc-quotes.lua -L templates/glossary.lua"; 46 | chdir ".."; 47 | my $cmd = "quarto pandoc $source $opts -o _gdrive/$chapter.docx -M lang=de -M date=`date -Iseconds`"; 48 | if (system($cmd)) { chdir "_gdrive"; next; } 49 | chdir "_gdrive"; 50 | if (system("make $chapter.md")) { 51 | if (system("git diff --quiet --exit-code $chapter.md")) { 52 | say "Die Datei $chapter.docx muss nach Google Drive hochgeladen werden um https://docs.google.com/document/d/$fileid zu ersetzen"; 53 | say "Anschließend kann $chapter.md gespeichert werden (`git add $chapter.md; git commit`)"; 54 | } 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /_quarto.yml: -------------------------------------------------------------------------------- 1 | project: 2 | type: book 3 | preview: 4 | port: 15745 5 | browser: false 6 | 7 | metadata-files: 8 | - about.yml 9 | - glossar.yml 10 | 11 | book: 12 | downloads: 13 | - docx 14 | repo-url: https://github.com/pro4bib/handbuch-it-in-bibliotheken/ 15 | repo-actions: 16 | - source 17 | - edit 18 | - issue 19 | chapters: 20 | - index.md # = einleitung.md 21 | - infrastruktur.md 22 | - management.md 23 | - anforderungen.md 24 | - sicherheit.md 25 | - metadaten.md 26 | - bibliotheksmanagementsysteme.md 27 | - discovery.md 28 | - digitalisierung.md 29 | - forschungsnahe-dienste.md 30 | - kommunikation.md 31 | - literatur.md 32 | appendices: 33 | - glossar.md 34 | - abbildungen.md 35 | - mitarbeit.md 36 | - contributors.md 37 | sidebar: 38 | style: docked 39 | logo: media/logo.svg 40 | page-footer: 41 | left: 42 | - text: CC BY 3.0 DE 43 | href: https://creativecommons.org/licenses/by/3.0/de/ 44 | right: 45 | - text: Datenschutz 46 | href: https://www.gbv.de/datenschutz 47 | - text: hosted by VZG 48 | href: https://www.gbv.de/impressum 49 | - icon: github 50 | href: https://github.com/pro4bib/handbuch-it-in-bibliotheken/ 51 | - text: "![](quarto-badge.svg)" 52 | href: https://quarto.org 53 | favicon: favicon.ico 54 | 55 | bibliography: references.bib 56 | 57 | tbl-cap-location: bottom 58 | number-sections: false 59 | number-depth: 1 60 | 61 | format: 62 | html: 63 | theme: cosmo 64 | css: style.css 65 | link-external-icon: true 66 | email-obfuscation: javascript 67 | header-includes: '' 68 | include-before-body: templates/chapters.html 69 | include-after-body: templates/script.html 70 | callout-appearance: simple 71 | published-title: "Letzte Änderung" 72 | abbreviations: abbreviations 73 | number-sections: true 74 | number-depth: 3 75 | twitter-card: true 76 | filters: 77 | - templates/pandoc-quotes.lua 78 | - templates/glossary.lua 79 | docx: 80 | number-sections: true 81 | number-depth: 3 82 | filters: 83 | - templates/pandoc-quotes.lua 84 | - templates/glossary.lua 85 | pdf: 86 | filters: 87 | - templates/pandoc-quotes.lua 88 | - templates/glossary_for_pdf.lua 89 | -------------------------------------------------------------------------------- /abbildungen.md: -------------------------------------------------------------------------------- 1 | # Abbildungsverzeichnis {#sec-abbildungen} 2 | 3 | Die Bilddateien sind unter den in Klammern angegebenen Dateinamen unter 4 | 5 | verfügbar. In einigen Fällen gibt es zusätzlich im Unterzeichnis `original` eine Originalversion. 6 | 7 | - @fig-transponder (`rfid-curves.svg`) CC0 8 | - @fig-barcode (`code39.png`) 9 | - @fig-speicher-rfid (`rfid-tag.png`) 10 | - @fig-nutzungshinweis (`internet-nutzungshinweise.jpg`) 11 | - @fig-it-zyklus (`sdlc.svg`) 12 | - @fig-verweildauer (`sw_lifespan.svg`) 13 | - @fig-schichtmodell (`schichten.svg`) CC0 14 | - @fig-usux (`usability_ux.svg`) CC-BY David Zellhöfer 15 | - @fig-persona (`persona.png`) 16 | 17 | CC-BY Kerstin Wendt, Matthias Finck 18 | - @fig-wireframe (`wireframe.png`) 19 | 20 | CC-BY Matthias Finck und Kerstin Wendt 21 | - @fig-datenschutz-datensicherheit (`datenschutz-vs-sicherheits-beauftragte.png`) 22 | von @Rehm2023, @Schmidt2023 23 | - @fig-sso (`sso-approaches.svg`) 24 | Three aproaches to Single Sign On. 25 | 26 | Public Domain 27 | - @fig-massnahmen-praevention (`massnahmen-und-praevention.jpg`) 28 | - @fig-er-diagram (`er-modell.svg`) CC0 29 | - @fig-etl (`etl-prozess.svg`) 30 | 31 | CC0 Jakob Voß und Clemens Kynast 32 | - @fig-bmsevol (`bms-timeline.svg`) 33 | - @fig-matrix (`matrix.svg`) CC0 34 | - @fig-prozessabbildung (`BPMN-1.svg`) 35 | - @fig-vufind (`vufind.png`) Quelle: 36 | - @fig-scholia (`scholia.png`) CC0 37 | - @fig-prozess-digitalisierung (`prozesse-digitalisierung.jpg`) 38 | - @fig-buchscanner (`buchscanner.jpg`) 39 | - @fig-wms-workflow (`wms-workflow.png`) 40 | - @fig-datenlaube (`die-datenlaube.jpg`) 41 | Die Datenlaube: Projektlogo 42 | 43 | Public Domain 44 | - @fig-forschungsdatenlebenszyklus (`fd-lifecycle.svg`) 45 | - @fig-fis-fdm (`FIS_FDM_CC_BY_Mau.png`) 46 | - @fig-oais (`oais.png`) CC-BY Jørgen Stamp 47 | - @fig-stufenmodell (`stufenmodell.svg`) 48 | Stockmann, 2019 49 | - @fig-forschungsdatenlebenszyklus (`fd-lifecycle.svg`) 50 | - @fig-jobmap (`jobmap.svg`) 51 | - @fig-tools (`tools.svg`) 52 | CC-BY Ralf Stockmann. 53 | Quelle bearbeitbar unter 54 | 55 | -------------------------------------------------------------------------------- /metadata.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | 3 | use v5.14; 4 | use YAML::PP qw(LoadFile DumpFile); 5 | use JSON::PP; 6 | use utf8; 7 | binmode( STDOUT, ":utf8" ); 8 | 9 | my ($about) = LoadFile("about.yml"); 10 | my ($contributors) = LoadFile("contributors.yml"); 11 | 12 | my $authors = [ 13 | map { 14 | my @names = split ' ', $_->{name}; 15 | $a = { 16 | 'family-names' => pop(@names), 17 | 'given-names' => join( ' ', @names ) 18 | }; 19 | $a->{orcid} = $_->{orcid} if $_->{orcid}; 20 | $a->{email} = $_->{email} if $_->{email}; 21 | $a; 22 | } @{ $contributors->{contributor} } 23 | ]; 24 | 25 | DumpFile( 26 | 'CITATION.cff', 27 | { 28 | 'cff-version' => '1.2.0', 29 | type => "dataset", 30 | url => $about->{url}, 31 | title => $about->{book}{title}, 32 | abstract => $about->{book}{description}, 33 | license => "CC-BY-4.0", 34 | 'repository-code' => 35 | "https://github.com/pro4bib/handbuch-it-in-bibliotheken", 36 | authors => $authors, 37 | 38 | # TODO: version => 39 | # TODO: keywords => 40 | # TODO: 'date-released' => 41 | # TODO: references => 42 | # TODO: identifiers => 43 | } 44 | ); 45 | 46 | DumpFile( 47 | 'metadata.yml', 48 | { 49 | '@context' => 'https://schema.org/', 50 | creativeWorkStatus => 'Published', 51 | type => 'LearningResource', 52 | name => $about->{book}{title}, 53 | license => 'https://creativecommons.org/licenses/by/4.0/deed.de', 54 | id => $about->{url}, 55 | creator => [ 56 | map { 57 | my $p = { 58 | type => "Person", 59 | givenName => $_->{'given-names'}, 60 | familyName => $_->{'family-names'}, 61 | 62 | # TODO: affiliation? 63 | }; 64 | $p->{id} = "https://orcid.org/" . $_->{orcid} if $_->{orcid}; 65 | $p; 66 | } @$authors 67 | ], 68 | about => ['https://w3id.org/kim/hochschulfaechersystematik/n262'], 69 | learningResourceType => ['https://w3id.org/kim/hcrt/textbook'], 70 | educationalLevel => ['https://w3id.org/kim/educationalLevel/level_A'], 71 | inLanguage => [ $about->{lang} ], 72 | description => $about->{book}{abstract}, 73 | 74 | # TODO: datePublished 75 | # TODO: keywords (array) 76 | # TODO: image (Vorschaubild) 77 | } 78 | ); 79 | -------------------------------------------------------------------------------- /templates/glossary.lua: -------------------------------------------------------------------------------- 1 | -- This Pandoc Lua filter implements a glossary from metadata field `glossary`: 2 | -- 3 | -- glossary: 4 | -- foo: 5 | -- definition: A thing 6 | -- bar: 7 | -- definition: Another thing 8 | -- url: http://example.org/ 9 | -- 10 | -- The glossary is inserted at `{{< glossary >}}`. Emphasized glossary entries 11 | -- such as `*foo*` are replaced by `term. 12 | 13 | local glossary = {} 14 | 15 | local function htmlescape(s) 16 | local entities = { 17 | ["&"] = "&", 18 | ["<"] = "<", 19 | [">"] = ">", 20 | ['"'] = "\"", 21 | ["'"] = "'" 22 | } 23 | return string.gsub(s, "[\"><'&]", entities) 24 | end 25 | 26 | return { 27 | { 28 | -- collect glossary items 29 | Meta = function(meta) 30 | if pandoc.utils.type(meta["glossary"]) == "table" then 31 | for term, v in pairs(meta["glossary"]) do 32 | if pandoc.utils.type(v) == "Inlines" then 33 | glossary[term] = { definition = v } 34 | elseif pandoc.utils.type(v) == "table" and pandoc.utils.type(v.definition) == "Inlines" then 35 | glossary[term] = { definition = v.definition } 36 | if v.url then 37 | glossary[term].url = pandoc.utils.stringify(v.url) 38 | end 39 | end 40 | end 41 | end 42 | end 43 | }, 44 | { 45 | -- Insert glossary at '||glossary||' 46 | Para = function(elem) 47 | if pandoc.utils.stringify(elem) == "||glossary||" then 48 | local items = { } 49 | for term in pairs(glossary) do table.insert(items, term) end 50 | table.sort(items) 51 | for i, term in ipairs(items) do 52 | local entry = glossary[term] 53 | local def = { { pandoc.Span(term) }, { pandoc.Plain(entry.definition)} } 54 | if entry.url then 55 | def[1] = pandoc.Link(def[1], entry.url) 56 | end 57 | items[i] = def 58 | end 59 | return pandoc.DefinitionList(items) 60 | end 61 | end, 62 | }, 63 | { 64 | -- Replace *term* with term if found in glossary 65 | Emph = function(elem) 66 | local name = pandoc.utils.stringify(elem) 67 | if glossary[name] then 68 | local item = glossary[name] 69 | local definition = pandoc.utils.stringify(item.definition) 70 | -- TODO: optionally add url 71 | if FORMAT:match 'html' then 72 | return pandoc.RawInline('html', '' .. htmlescape(name) .. '') 73 | else 74 | local span = pandoc.Span(name, { class="glossary-item", definition=definition }) 75 | return span 76 | end 77 | end 78 | end 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /media/BPMN-1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Bäckerei 9 | 10 | 11 | 12 | 13 | 14 | 15 | 2 Uhr 16 | 17 | 18 | Brötchen 19 | backen 20 | 21 | 22 | Brötchen 23 | verkaufen 24 | 25 | 26 | Kasse 27 | abrechnen 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /templates/glossary_for_pdf.lua: -------------------------------------------------------------------------------- 1 | -- This Pandoc Lua filter implements a glossary from metadata field `glossary`: 2 | -- 3 | -- glossary: 4 | -- foo: 5 | -- definition: A thing 6 | -- bar: 7 | -- definition: Another thing 8 | -- url: http://example.org/ 9 | -- 10 | -- The glossary is inserted at `{{< glossary >}}`. Emphasized glossary entries 11 | -- such as `*foo*` are replaced by `term. 12 | 13 | local glossary = {} 14 | 15 | local function htmlescape(s) 16 | local entities = { 17 | ["&"] = "&", 18 | ["<"] = "<", 19 | [">"] = ">", 20 | ['"'] = "\"", 21 | ["'"] = "'" 22 | } 23 | return string.gsub(s, "[\"><'&]", entities) 24 | end 25 | 26 | return { 27 | { 28 | -- collect glossary items 29 | Meta = function(meta) 30 | if pandoc.utils.type(meta["glossary"]) == "table" then 31 | for term, v in pairs(meta["glossary"]) do 32 | if pandoc.utils.type(v) == "Inlines" then 33 | glossary[term] = { definition = v } 34 | elseif pandoc.utils.type(v) == "table" and pandoc.utils.type(v.definition) == "Inlines" then 35 | glossary[term] = { definition = v.definition } 36 | if v.url then 37 | -- glossary[term].url = pandoc.utils.stringify(v.url) 38 | glossary[term].url = "" -- set url to null to hide it in the pdf 39 | end 40 | end 41 | end 42 | end 43 | end 44 | }, 45 | { 46 | -- Insert glossary at '||glossary||' 47 | Para = function(elem) 48 | if pandoc.utils.stringify(elem) == "||glossary||" then 49 | local items = { } 50 | for term in pairs(glossary) do table.insert(items, term) end 51 | table.sort(items) 52 | for i, term in ipairs(items) do 53 | local entry = glossary[term] 54 | local def = { { pandoc.Span(term) }, { pandoc.Plain(entry.definition)} } 55 | -- if entry.url then 56 | -- def[1] = pandoc.Link(def[1], entry.url) 57 | -- end 58 | items[i] = def 59 | end 60 | return pandoc.DefinitionList(items) 61 | end 62 | end, 63 | }, 64 | { 65 | -- Replace *term* with term if found in glossary 66 | Emph = function(elem) 67 | local name = pandoc.utils.stringify(elem) 68 | if glossary[name] then 69 | local item = glossary[name] 70 | local definition = pandoc.utils.stringify(item.definition) 71 | -- TODO: optionally add url 72 | if FORMAT:match 'html' then 73 | return pandoc.RawInline('html', '' .. htmlescape(name) .. '') 74 | else 75 | local span = pandoc.Span(name, { class="glossary-item", definition=definition }) 76 | return span 77 | end 78 | end 79 | end 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /CITATION.cff: -------------------------------------------------------------------------------- 1 | --- 2 | abstract: 'Die wichtigsten Themen zum Einsatz von IT in Bibliotheken: IT-Management, Bibliotheksmanagementsysteme, Digitalisierung...' 3 | authors: 4 | - email: nicolas.bach@posteo.de 5 | family-names: Bach 6 | given-names: Nicolas 7 | - email: pascal@the-library-code.de 8 | family-names: Becker 9 | given-names: Pascal-Nicolas 10 | orcid: 0000-0003-2169-1261 11 | - email: dorian-bela-monty.bitto@stud.hs-hannover.de 12 | family-names: Bitto 13 | given-names: Monty 14 | orcid: 0009-0004-0865-257X 15 | - email: janna.brechmacher@sbb.spk-berlin.de 16 | family-names: Brechmacher 17 | given-names: Janna 18 | orcid: 0000-0001-7233-7153 19 | - email: jens.bemme@slub-dresden.de 20 | family-names: Bemme 21 | given-names: Jens 22 | orcid: 0000-0001-6860-0924 23 | - email: rqst@nvsbl.cm 24 | family-names: Carlin 25 | given-names: Sascha A. 26 | - email: christensen@effective-webwork.de 27 | family-names: Christensen 28 | given-names: Anne 29 | orcid: 0000-0001-7753-1078 30 | - email: jana.eger@stadtbibliothek-chemnitz.de 31 | family-names: Eger 32 | given-names: Jana 33 | - email: matthias.finck@haw-hamburg.de 34 | family-names: Finck 35 | given-names: Matthias 36 | orcid: 0000-0002-0848-2935 37 | - email: ulrike.golas@tu-berlin.de 38 | family-names: Golas 39 | given-names: Ulrike 40 | orcid: 0000-0002-6567-0000 41 | - email: tina.goldammer@slub-chemnitz.de 42 | family-names: Goldammer 43 | given-names: Tina 44 | - email: gerrit.gragert@sbb.spk-berlin.de 45 | family-names: Gragert 46 | given-names: Gerrit 47 | orcid: 0000-0002-0542-1555 48 | - email: lambert.heller@tib.eu 49 | family-names: Heller 50 | given-names: Lambert 51 | orcid: 0000-0003-0232-7085 52 | - family-names: Hurnik 53 | given-names: Sina 54 | - email: akarsten@uni-muenster.de 55 | family-names: Karsten 56 | given-names: Adienne 57 | orcid: 0000-0002-0562-7393 58 | - email: clemens.kynast@uni-jena.de 59 | family-names: Kynast 60 | given-names: Clemens 61 | - email: lukas.lerche@tu-dortmund.de 62 | family-names: Lerche 63 | given-names: Lukas 64 | orcid: 0000-0002-4027-6840 65 | - email: lmossburger@t-online.de 66 | family-names: Moßburger 67 | given-names: Luis 68 | orcid: 0000-0002-5326-219X 69 | - email: stefanie.nagel@ub.tu-freiberg.de 70 | family-names: Nagel 71 | given-names: Stefanie 72 | orcid: 0000-0001-8020-1440 73 | - email: polla@wias-berlin.de 74 | family-names: Polla 75 | given-names: Silvia 76 | orcid: 0000-0002-2395-2448 77 | - email: michael.schaarwaechter@tu-dortmund.de 78 | family-names: Schaarwächter 79 | given-names: Michael 80 | orcid: 0000-0002-0180-5930 81 | - email: zoe.schubert@tib.eu 82 | family-names: Schubert 83 | given-names: Zoe 84 | orcid: 0000-0001-9043-3632 85 | - email: fseeliger@th-wildau.de 86 | family-names: Seeliger 87 | given-names: Frank 88 | orcid: 0000-0003-0602-8082 89 | - email: b.steinke@tu-berlin.de 90 | family-names: Steinke 91 | given-names: Britta 92 | orcid: 0000-0001-6816-5168 93 | - email: katja.sternitzke@sbb.spk-berlin.de 94 | family-names: Sternitzke 95 | given-names: Katja 96 | orcid: 0000-0002-9815-0490 97 | - email: ralf.stockmann@zlb.de 98 | family-names: Stockmann 99 | given-names: Ralf 100 | orcid: 0000-0002-0977-5908 101 | - email: florian.strauss@tu-clausthal.de 102 | family-names: Strauß 103 | given-names: Florian 104 | orcid: 0000-0003-0168-0450 105 | - email: streck@zbmed.de 106 | family-names: Streck 107 | given-names: Alexandra 108 | - email: r.stroetgen@tu-braunschweig.de 109 | family-names: Strötgen 110 | given-names: Robert 111 | orcid: 0000-0003-3320-5187 112 | - email: jakob.voss@gbv.de 113 | family-names: Voß 114 | given-names: Jakob 115 | orcid: 0000-0002-7613-4123 116 | - email: info@it-expert-voss.de 117 | family-names: Voss 118 | given-names: Michael 119 | orcid: 0000-0002-7402-1598 120 | - email: kerstin.wendt@sub.uni-hamburg.de 121 | family-names: Wendt 122 | given-names: Kerstin 123 | - email: carolin.zapke@bibliothek.tu-chemnitz.de 124 | family-names: Zapke 125 | given-names: Carolin 126 | orcid: 0000-0002-2516-535X 127 | - email: david.zellhoefer@hwr-berlin.de 128 | family-names: Zellhöfer 129 | given-names: David 130 | orcid: 0000-0002-0403-457X 131 | cff-version: 1.2.0 132 | license: CC-BY-4.0 133 | repository-code: https://github.com/pro4bib/handbuch-it-in-bibliotheken 134 | title: Handbuch IT in Bibliotheken 135 | type: dataset 136 | url: https://it-in-bibliotheken.de/ 137 | -------------------------------------------------------------------------------- /metadata.yml: -------------------------------------------------------------------------------- 1 | --- 2 | '@context': https://schema.org/ 3 | about: 4 | - https://w3id.org/kim/hochschulfaechersystematik/n262 5 | creativeWorkStatus: Published 6 | creator: 7 | - familyName: Bach 8 | givenName: Nicolas 9 | type: Person 10 | - familyName: Becker 11 | givenName: Pascal-Nicolas 12 | id: https://orcid.org/0000-0003-2169-1261 13 | type: Person 14 | - familyName: Bitto 15 | givenName: Monty 16 | id: https://orcid.org/0009-0004-0865-257X 17 | type: Person 18 | - familyName: Brechmacher 19 | givenName: Janna 20 | id: https://orcid.org/0000-0001-7233-7153 21 | type: Person 22 | - familyName: Bemme 23 | givenName: Jens 24 | id: https://orcid.org/0000-0001-6860-0924 25 | type: Person 26 | - familyName: Carlin 27 | givenName: Sascha A. 28 | type: Person 29 | - familyName: Christensen 30 | givenName: Anne 31 | id: https://orcid.org/0000-0001-7753-1078 32 | type: Person 33 | - familyName: Eger 34 | givenName: Jana 35 | type: Person 36 | - familyName: Finck 37 | givenName: Matthias 38 | id: https://orcid.org/0000-0002-0848-2935 39 | type: Person 40 | - familyName: Golas 41 | givenName: Ulrike 42 | id: https://orcid.org/0000-0002-6567-0000 43 | type: Person 44 | - familyName: Goldammer 45 | givenName: Tina 46 | type: Person 47 | - familyName: Gragert 48 | givenName: Gerrit 49 | id: https://orcid.org/0000-0002-0542-1555 50 | type: Person 51 | - familyName: Heller 52 | givenName: Lambert 53 | id: https://orcid.org/0000-0003-0232-7085 54 | type: Person 55 | - familyName: Hurnik 56 | givenName: Sina 57 | type: Person 58 | - familyName: Karsten 59 | givenName: Adienne 60 | id: https://orcid.org/0000-0002-0562-7393 61 | type: Person 62 | - familyName: Kynast 63 | givenName: Clemens 64 | type: Person 65 | - familyName: Lerche 66 | givenName: Lukas 67 | id: https://orcid.org/0000-0002-4027-6840 68 | type: Person 69 | - familyName: Moßburger 70 | givenName: Luis 71 | id: https://orcid.org/0000-0002-5326-219X 72 | type: Person 73 | - familyName: Nagel 74 | givenName: Stefanie 75 | id: https://orcid.org/0000-0001-8020-1440 76 | type: Person 77 | - familyName: Polla 78 | givenName: Silvia 79 | id: https://orcid.org/0000-0002-2395-2448 80 | type: Person 81 | - familyName: Schaarwächter 82 | givenName: Michael 83 | id: https://orcid.org/0000-0002-0180-5930 84 | type: Person 85 | - familyName: Schubert 86 | givenName: Zoe 87 | id: https://orcid.org/0000-0001-9043-3632 88 | type: Person 89 | - familyName: Seeliger 90 | givenName: Frank 91 | id: https://orcid.org/0000-0003-0602-8082 92 | type: Person 93 | - familyName: Steinke 94 | givenName: Britta 95 | id: https://orcid.org/0000-0001-6816-5168 96 | type: Person 97 | - familyName: Sternitzke 98 | givenName: Katja 99 | id: https://orcid.org/0000-0002-9815-0490 100 | type: Person 101 | - familyName: Stockmann 102 | givenName: Ralf 103 | id: https://orcid.org/0000-0002-0977-5908 104 | type: Person 105 | - familyName: Strauß 106 | givenName: Florian 107 | id: https://orcid.org/0000-0003-0168-0450 108 | type: Person 109 | - familyName: Streck 110 | givenName: Alexandra 111 | type: Person 112 | - familyName: Strötgen 113 | givenName: Robert 114 | id: https://orcid.org/0000-0003-3320-5187 115 | type: Person 116 | - familyName: Voß 117 | givenName: Jakob 118 | id: https://orcid.org/0000-0002-7613-4123 119 | type: Person 120 | - familyName: Voss 121 | givenName: Michael 122 | id: https://orcid.org/0000-0002-7402-1598 123 | type: Person 124 | - familyName: Wendt 125 | givenName: Kerstin 126 | type: Person 127 | - familyName: Zapke 128 | givenName: Carolin 129 | id: https://orcid.org/0000-0002-2516-535X 130 | type: Person 131 | - familyName: Zellhöfer 132 | givenName: David 133 | id: https://orcid.org/0000-0002-0403-457X 134 | type: Person 135 | description: | 136 | Dieses Handbuch gibt einen knappen, umfassenden Überblick über die wesentlichen IT-bezogenen Themen in Bibliotheken. Beschrieben werden zum einen allgemeine Grundlagen wie technische Infrastruktur, Metadaten und IT-Management und zum anderen bibliotheksspezifische Dienste vom Bibliotheksmanagementsystem und Discovery-Systemen bis zu Repositorien und Werkzeugen für Kommunikation und Wissensmanagement. 137 | educationalLevel: 138 | - https://w3id.org/kim/educationalLevel/level_A 139 | id: https://it-in-bibliotheken.de/ 140 | inLanguage: 141 | - de 142 | learningResourceType: 143 | - https://w3id.org/kim/hcrt/textbook 144 | license: https://creativecommons.org/licenses/by/4.0/deed.de 145 | name: Handbuch IT in Bibliotheken 146 | type: LearningResource 147 | -------------------------------------------------------------------------------- /contributors.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Bitte nach Nachname sortieren! email, orcid und position sind optional. 3 | contributor: 4 | - email: nicolas.bach@posteo.de 5 | name: Nicolas Bach 6 | position: Student an der HdM Stuttgart 7 | - email: pascal@the-library-code.de 8 | name: Pascal-Nicolas Becker 9 | position: Gründer und Geschäftsführer der The Library Code GmbH 10 | orcid: 0000-0003-2169-1261 11 | - email: dorian-bela-monty.bitto@stud.hs-hannover.de 12 | name: Monty Bitto 13 | position: Student an der HSH 14 | orcid: 0009-0004-0865-257X 15 | - email: janna.brechmacher@sbb.spk-berlin.de 16 | name: Janna Brechmacher 17 | position: Stabstelle IT in der Benutzungsabteilung der Staatsbibliothek zu Berlin 18 | orcid: 0000-0001-7233-7153 19 | - email: jens.bemme@slub-dresden.de 20 | name: Jens Bemme 21 | position: SLUB Dresden, Referat Saxonica und Kartensammlung (Citizen Science) 22 | orcid: 0000-0001-6860-0924 23 | - email: rqst@nvsbl.cm 24 | name: Sascha A. Carlin 25 | position: Agile Coach für Führungskräfte in der Softwareentwicklung 26 | - email: christensen@effective-webwork.de 27 | name: Anne Christensen 28 | orcid: 0000-0001-7753-1078 29 | position: Bibliothekarin und Projektmanagerin bei effective WEBWORK sowie Lehrbeauftragte an verschiedenen Hochschulen 30 | - email: jana.eger@stadtbibliothek-chemnitz.de 31 | name: Jana Eger 32 | position: Stadtbibliothek Chemnitz 33 | - email: matthias.finck@haw-hamburg.de 34 | name: Matthias Finck 35 | orcid: 0000-0002-0848-2935 36 | position: Professur für Informationstechnologie, Hochschule für Angewandte Wissenschaft Hamburg 37 | - email: ulrike.golas@tu-berlin.de 38 | name: Ulrike Golas 39 | orcid: 0000-0002-6567-0000 40 | position: IT-Leitung der Universitätsbibliothek der TU Berlin 41 | - email: tina.goldammer@slub-chemnitz.de 42 | name: Tina Goldammer 43 | position: stellv. Leiterin/Fortbildungen bei der SLUB/Sächsische Landesfachstelle für Bibliotheken 44 | - email: gerrit.gragert@sbb.spk-berlin.de 45 | name: Gerrit Gragert 46 | orcid: 0000-0002-0542-1555 47 | position: Leitung IT-Services für die Digitale Bibliothek in der Staatsbibliothek Berlin 48 | - email: dorian.grosch@sbb.spk-berlin.de 49 | name: Dorian Grosch 50 | orcid: 0009-0002-1975-1114 51 | position: Bibliotheksreferendar an der Staatsbibliothek zu Berlin 52 | - email: lambert.heller@tib.eu 53 | name: Lambert Heller 54 | orcid: 0000-0003-0232-7085 55 | position: Leitung Open Science Lab an der TIB - Leibniz‐Informationszentrum Technik und Naturwissenschaften 56 | - name: Sina Hurnik 57 | position: Studio für Kommunikationsdesign 58 | homepage: https://sinahurnik.com/ 59 | - email: akarsten@uni-muenster.de 60 | name: Adienne Karsten 61 | orcid: 0000-0002-0562-7393 62 | position: Referentin für Forschungsdatenmanagement, Universität Münster/Universitäts- und Landesbibliothek 63 | - email: clemens.kynast@uni-jena.de 64 | name: Clemens Kynast 65 | position: Discoverysysteme & Bibliotheksautomatisierung an der ThULB Jena 66 | - email: lukas.lerche@tu-dortmund.de 67 | name: Lukas Lerche 68 | orcid: 0000-0002-4027-6840 69 | position: UB Dortmund 70 | - email: lmossburger@t-online.de 71 | name: Luis Moßburger 72 | orcid: 0000-0002-5326-219X 73 | - name: Stefanie Nagel 74 | email: stefanie.nagel@ub.tu-freiberg.de 75 | orcid: 0000-0001-8020-1440 76 | position: Abteilungsleiterin Open Science an der Universitätsbibliothek TU Bergakademie Freiberg 77 | - name: Silvia Polla 78 | email: polla@wias-berlin.de 79 | orcid: 0000-0002-2395-2448 80 | position: Forschungsdatenmanagement, Bibliothek 81 | - email: michael.schaarwaechter@tu-dortmund.de 82 | name: Michael Schaarwächter 83 | orcid: 0000-0002-0180-5930 84 | position: Bibliotheks-IT an der UB Dortmund 85 | - email: zoe.schubert@tib.eu 86 | name: Zoe Schubert 87 | orcid: 0000-0001-9043-3632 88 | position: Wissenschaftliche Mitarbeiterin & Entwicklerin bei der TIB Hannover und der Staatsbibliothek zu Berlin 89 | - email: fseeliger@th-wildau.de 90 | name: Frank Seeliger 91 | orcid: 0000-0003-0602-8082 92 | position: Bibliotheksleiter TH Wildau 93 | - email: b.steinke@tu-berlin.de 94 | name: Britta Steinke 95 | orcid: 0000-0001-6816-5168 96 | position: Referentin für Forschungsdatenmanagement 97 | - email: katja.sternitzke@sbb.spk-berlin.de 98 | name: Katja Sternitzke 99 | orcid: 0000-0002-9815-0490 100 | position: Wissenschaftliche Mitarbeiterin an der Staatsbibliothek zu Berlin 101 | - email: ralf.stockmann@zlb.de 102 | name: Ralf Stockmann 103 | orcid: 0000-0002-0977-5908 104 | position: Direktor Digitale Entwicklung und Verbundangelegenheiten (DEVA) - Zentral- und Landesbibliothek Berlin 105 | - email: florian.strauss@tu-clausthal.de 106 | name: Florian Strauß 107 | orcid: 0000-0003-0168-0450 108 | position: Abteilungsleiter forschungsunterstützende Dienste Universitätsbibliothek Clausthal 109 | - email: streck@zbmed.de 110 | name: Alexandra Streck 111 | position: Online-Redakteurin, Marketing ZB MED - Informationszentrum Lebenswissenschaften 112 | - email: r.stroetgen@tu-braunschweig.de 113 | name: Robert Strötgen 114 | orcid: 0000-0003-3320-5187 115 | position: Leiter der Universitätsbibliothek der TU Braunschweig 116 | - email: jakob.voss@gbv.de 117 | name: Jakob Voß 118 | orcid: 0000-0002-7613-4123 119 | position: Forschung und Entwicklung an der VZG Göttingen 120 | - email: info@it-expert-voss.de 121 | name: Michael Voss 122 | orcid: 0000-0002-7402-1598 123 | position: Consultant; IT-Expert-Voss 124 | - email: kerstin.wendt@sub.uni-hamburg.de 125 | name: Kerstin Wendt 126 | position: Stabsstelle Digitalisierung, Staats- und Universitätsbibliothek Hamburg 127 | - email: carolin.zapke@bibliothek.tu-chemnitz.de 128 | name: Carolin Zapke 129 | orcid: 0000-0002-2516-535X 130 | position: Fachreferat und ÖA an der UB Chemnitz 131 | - email: david.zellhoefer@hwr-berlin.de 132 | name: David Zellhöfer 133 | orcid: 0000-0002-0403-457X 134 | position: Professor für Digitale Innovation in der öffentlichen Verwaltung an der HWR Berlin 135 | ... 136 | -------------------------------------------------------------------------------- /index.md: -------------------------------------------------------------------------------- 1 | # Einleitung 2 | 3 | ## Motivation 4 | 5 | > Because the library has become software, it is no longer viable for 6 | > our services to exist separately from our software. \[\...\] Most 7 | > importantly, all library staff must understand that our software is 8 | > our library, and is everyone's responsibility. 9 | > 10 | > --- [@hanson_cody_opinion_2015] 11 | 12 | Mit der wachsenden Bedeutung der **Informationstechnologie (IT) im Allgemeinen 13 | und für Bibliotheken im Besonderen** bleibt kaum ein Aspekt bibliothekarischer 14 | Aufgaben, der nicht durch IT unterstützt wird. Deutlich wird dies z.B. durch 15 | das stetig zunehmende Angebot an elektronischen Informationsmitteln, die 16 | Digitalisierung historischer Bestände, interoperable Metadaten oder auch die 17 | digitale Langzeitarchivierung. Die alltägliche Handhabung von IT (Smartphones, 18 | Automatisierung, Vernetzung ...) wird häufig einfacher, die zugrunde liegenden 19 | Systeme werden jedoch immer komplexer und erfordern entsprechend mehr Wissen zu 20 | ihrem Aufbau und Betrieb. Während sich einige Teile der IT in Bibliotheken 21 | nicht wesentlich von IT in anderen Bereichen unterscheiden, gibt es doch 22 | zahlreiche Aspekte von Bibliotheks-IT, die nicht oder nicht speziell genug an 23 | anderer Stelle behandelt werden. Das vorliegende Handbuch möchte diese Lücke 24 | schließen. 25 | 26 | ## Zielgruppe 27 | 28 | Als Einführung und Nachschlagewerk wendet sich dieses Handbuch vor allem an 29 | Personen, die sich einen ersten **Überblick über die verschiedenen IT-Dienste 30 | an Bibliotheken** verschaffen wollen. Dies können z. B. Personen sein, die sich 31 | im Rahmen ihrer bibliothekarischen Ausbildung mit IT-Diensten in Bibliotheken 32 | beschäftigen oder die sich im Rahmen der Einarbeitung in eine neue Position mit 33 | IT-Diensten in Bibliotheken beschäftigen. Zur Veranschaulichung der Zielgruppen 34 | dienen mehrere sogenannte [Personas](mitarbeit.md#zielgruppe). 35 | 36 | ## Inhalt 37 | 38 | ::: {.callout-tip} 39 | 40 | Das Handbuch ist ein "lebendiges Buch", das stetig ergänzt und aktualisiert 41 | werden kann und soll. **Tipps und Korrekturen** sind daher sehr willkommen! 42 | Hinweise zur Mitarbeit und Details zur Umsetzung des Handbuchs finden sich in @sec-mitarbeit! 43 | 44 | ::: 45 | 46 | Dieses Handbuch soll einen knappen und gleichzeitig umfassenden Überblick über 47 | die wichtigsten **IT-bezogenen Themen in Bibliotheken** geben. Die einzelnen 48 | Themenkapitel sind weitgehend unabhängig voneinander lesbar und mit 49 | Querverweisen verbunden. Die Kapitel bilden grob zwei Blöcke: 50 | 51 | ### Allgemeine technische Grundlagen 52 | 53 | - **Technische Infrastruktur** (siehe @sec-infrastruktur) beschreibt grundlegende technischen Einrichtungen einer Bibliothek für den Betrieb von Prozessen und Dienstleistungen 54 | 55 | - **Management von IT-Systemen** (siehe @sec-management) beinhaltet die Einführung und den Betrieb von IT-Systemen allgemein 56 | 57 | - **Anforderungsanalyse** (siehe @sec-anforderungen) zur Anforderungsanalyse umfasst die Ermittlung und Erfüllung von Bedarfen und Anforderungen an IT-Systeme 58 | 59 | - **Sicherheit & Datenschutz** (siehe @sec-sicherheit) beschreibt Vorgaben und Maßnahmen zur Förderung der IT-Sicherheit und des Datenschutz 60 | 61 | - **Daten & Metadaten** (siehe @sec-metadaten) stellt wichtige Begriffe, Standards und Prozesse der Datenverarbeitung in Bibliotheken vor 62 | 63 | ### Bibliotheksspezifische Dienste 64 | 65 | - **Bibliotheksmanagementsysteme** (siehe @sec-bibliotheksmanagementsysteme) sind spezialisierte Anwendungen für Arbeitsprozesse rund um Erwerbung, Erschließung, Ausleihe, Zugriff und Auffindbarmachung von Bibliotheksbeständen 66 | 67 | - **Discovery-Systeme** (siehe @sec-discovery) stellt Arten, Bestandteile und Funktionen von Rechercheplattformen vor und liefert Hinweise zu Auswahl und Betrieb von Discovery-Systemen 68 | 69 | - **Digitalisierung** (siehe @sec-digitalisierung) umfasst Prozesse und Werkzeuge zur Digitalisierung, Erschließung und Präsentation von Kulturgütern 70 | 71 | - **Forschungsnahe Dienste** (siehe @sec-forschungsnahe-dienste) beschreibt Dienste wie Repositorien und Forschungsdatenmanagement zur Unterstützung von Forschungsprozessen 72 | 73 | - **Kommunikation** (siehe @sec-kommunikation) beinhaltet Werkzeuge und Methoden interner und externer Kommunikation von Wissensmanagement bis Öffentlichkeitsarbeit 74 | 75 | ## Entstehungsgeschichte 76 | 77 | Zur Erstellung des Handbuchs wurden zwischen April 2022 und Oktober 2023 [drei 78 | Book Sprints](https://www.th-wildau.de/book-sprint/) an der Bibliothek der 79 | Technischen Hochschule Wildau durchgeführt. Dabei trafen sich IT-affine 80 | Expert\*innen aus dem Bibliotheksbereich, um innerhalb von wenigen Tagen eine 81 | umfassende Übersicht zu den **[wichtigsten Themen](#inhalt) rund im IT in 82 | Bibliotheken** zu verfassen. Die Veranstaltung wurde mit Mitteln des 83 | [Publikationsfonds für Open-Access-Monografien des Landes 84 | Brandenburg](https://open-access-brandenburg.de/fonds/) gefördert. 85 | Kontaktinformationen, Neuigkeiten und Hintergrund zum Projekt finden sich auf 86 | der Seite und in den Artikeln von 87 | @Bach2023 und @christensen_wie_2022. 88 | 89 | Eine Liste aller Beteiligten Autor\*innen findet sich im [Anhang D](#sec-contributors). 90 | 91 | ## Rechte an den Inhalten {#lizenz} 92 | 93 | Alle Inhalte dieses Buches werden unter der Lizenz *Creative Commons Namensnennung 4.0 International* ([CC BY 4.0](https://creativecommons.org/licenses/by/4.0/deed.de)) veröffentlicht. Für Abbildungen kann auch eine CC-BY-Lizenz (kein -NC oder -ND) verwendet werden (siehe Abbildungsverzeichnis, @sec-abbildungen). 94 | 95 | Das heißt: Sie dürfen das Material in jedwedem Format oder Medium 96 | vervielfältigen und weiterverbreiten (**Teilen**) und das Material remixen, 97 | verändern und darauf aufbauen (**Bearbeiten**) und zwar für beliebige Zwecke, 98 | inklusive kommerzielle Zwecke, unter der Bedingung, dass Sie angemessene 99 | Urheber\*innen- und Rechteangaben machen, einen Link zur Lizenz beifügen und 100 | angeben, ob Änderungen vorgenommen wurden (**Namensnennung**). 101 | -------------------------------------------------------------------------------- /glossar.yml: -------------------------------------------------------------------------------- 1 | glossary: 2 | API: 3 | url: https://de.wikipedia.org/wiki/Programmierschnittstelle 4 | definition: Application Programming Interface, Programmierschnittstelle 5 | 6 | APC: 7 | url: https://en.wikipedia.org/wiki/Article_processing_charge 8 | definition: Article processing charge, gebräuchlich auch als publication fee 9 | 10 | # Avram: 11 | # url: https://format.gbv.de/schema/avram/specification 12 | # definition: Schemasprache für feldbasierte Datenformate, insbesondere MARC und PICA+ 13 | 14 | BSZ: 15 | url: https://www.bsz-bw.de/ 16 | definition: Bibliotheksservice-Zentrum Baden-Württemberg, zentrale Einrichtung des Südwestdeutscher Bibliotheksverbund (SWB) 17 | 18 | BMS/LMS: 19 | definition: Bibliotheksmanagementsystem, gebräuchlich auch als Library Management System 20 | 21 | CBS: 22 | definition: Katalogdatenbank von OCLC, wird insbesondere für den Verbundkatalog K10plus verwendet 23 | 24 | CMS: 25 | url: https://de.wikipedia.org/wiki/Content-Management-System 26 | definition: Content-Management-System 27 | 28 | COUNTER: 29 | definition: Counting Online Usage of NeTworked Electronic Resources 30 | url: https://www.projectcounter.org/ 31 | 32 | DDC: 33 | url: https://de.wikipedia.org/wiki/Dewey-Dezimalklassifikation 34 | definition: Dewey-Dezimalklassifikation, Klassifikation für die Sacherschließung von Bibliotheksbeständen 35 | 36 | DMP: 37 | url: https://forschungsdaten.info/themen/informieren-und-planen/datenmanagementplan/ 38 | definition: Datenmanagementplan 39 | 40 | DNS: 41 | definition: Domain Name System. Auflösung von Server-Namen zu IP-Adressen 42 | 43 | DOI: 44 | url: https://de.wikipedia.org/wiki/Digital_Object_Identifier 45 | definition: Digital Object Identifier, eindeutiger und dauerhafter digitaler Identifikator für Objekte 46 | 47 | # Discovery-System: 48 | # definition: Auf Suchmaschinentechnologie beruhende Systeme zur Suche in großen (auch externen) Datenbeständen 49 | # url: https://de.wikipedia.org/wiki/Discovery-System 50 | 51 | EDIFACT: 52 | definition: Electronic Data Interchange for Administration, Commerce and Transport 53 | url: https://de.wikipedia.org/wiki/EDIFACT 54 | 55 | ELN: 56 | url: https://de.wikipedia.org/wiki/Elektronisches_Laborbuch 57 | definition: elektronisches Laborbuch 58 | 59 | EMERAC: 60 | definition: Electromagnetic MEmory and Research Arithmetical Calculator 61 | 62 | ERM: 63 | definition: Electronic Resource Management, Verwaltung von Lizenzinformationen zu E-Ressourcen 64 | url: https://en.wikipedia.org/wiki/Electronic_resource_management 65 | 66 | ERP: 67 | url: https://de.wikipedia.org/wiki/Enterprise-Resource-Planning 68 | definition: Enterprise-Ressource-Planning, Ressourcen wie z.B. Finanzen unternehmerisch überwachen und planen 69 | 70 | FDM: 71 | url: https://forschungsdaten.info/themen/informieren-und-planen/was-ist-forschungsdatenmanagement/ 72 | definition: Forschungsdatenmanagement 73 | 74 | FID: 75 | url: https://de.wikipedia.org/wiki/Fachinformationsdienste_f%C3%BCr_die_Wissenschaft 76 | definition: Fachinformationsdienst 77 | 78 | FIS: 79 | url: https://de.wikipedia.org/wiki/Forschungsinformationssystem 80 | definition: Forschungsinformationssystem 81 | 82 | # FOLIO: 83 | # definition: Open-Source Bibliotheksmanagementsystem 84 | # url: https://www.folio-bib.org/ 85 | 86 | GOKb: 87 | definition: Global Open Knowledgebase, Freie Datenbank zu E-Ressourcen, insbesondere für ERM 88 | url: https://gokb.org/ 89 | 90 | ID: 91 | definition: Identifikator, eindeutige Referenz auf einen Datensatz 92 | 93 | IDM: 94 | url: https://en.wikipedia.org/wiki/Identity_management 95 | definition: Identity Management, das Speichern von Metadaten zu Personen 96 | 97 | IIIF: 98 | url: https://de.wikipedia.org/wiki/International_Image_Interoperability_Framework 99 | definition: International Image Interoperability Framework, Standard für digitale Bilder 100 | 101 | KBART: 102 | url: https://www.niso.org/standards-committees/kbart 103 | definition: Knowledgebases and related tools, Datenformat zum Transfer von Metadaten 104 | 105 | KDSF: 106 | url: https://www.kerndatensatz-forschung.de/ 107 | definition: Kerndatensatz Forschung, ein Standard für Forschungsinformationen für das deutsche Wissenschaftssystem 108 | 109 | # Lock-In-Effekt: 110 | # url: https://de.wikipedia.org/wiki/Lock-in-Effekt 111 | # definition: Kundenbindung durch hohen Wechselaufwand 112 | 113 | LLM: 114 | definition: Large Language Model, eine statistisches Sprachmodell zur Erzeugung von Text 115 | 116 | LZA: 117 | url: https://de.wikipedia.org/wiki/Langzeitarchivierung 118 | definition: Langzeitarchivierung 119 | 120 | MARC: 121 | url: https://de.wikipedia.org/wiki/Machine-Readable_Cataloging 122 | definition: MAchine-Readable Cataloging, ältestes und noch immer wichtigstes bibliothekarisches Austauschformat 123 | 124 | NFDI: 125 | url: https://www.nfdi.de/ 126 | definition: Nationale Forschungsdateninfrastruktur 127 | 128 | OAI-PMH: 129 | url: https://www.openarchives.org/pmh/ 130 | definition: Open Archives Initiative Protocol for Metadata Harvesting 131 | 132 | OCR: 133 | definition: Automatische Erkennung von Texten in Bildern (Optical Character Recognition) 134 | url: https://de.wikipedia.org/wiki/Texterkennung 135 | 136 | OER: 137 | definition: Open Educational Resources, freie Bildungsmaterlien wie Kurse, Lernvideos und Bilder 138 | 139 | OJS: 140 | url: https://ojs-de.net/ueber-ojs 141 | definition: Open Journal Systems, Software zur Publikation von Zeitschriften 142 | 143 | OMP: 144 | url: https://pkp.sfu.ca/software/omp/ 145 | definition: Open Monograph Press, Software zur Publikation von Monographien 146 | 147 | OPAC: 148 | url: https://de.wikipedia.org/wiki/OPAC 149 | definition: Online Public Access Catalogue, Katalog einer Bibliothek 150 | 151 | PDA: 152 | definition: Patron-Driven-Acquisition 153 | 154 | PID: 155 | url: https://de.wikipedia.org/wiki/Persistent_Identifier 156 | definition: Persistent Identifier, eine eindeutige und dauherhafte Benennung einer digitalen Ressource 157 | 158 | SaaS: 159 | url: https://de.wikipedia.org/wiki/Software_as_a_Service 160 | definition: Software as a Service, Software und Hardware bei externem Dienstleister 161 | 162 | SIP2: 163 | url: https://en.wikipedia.org/wiki/Standard_Interchange_Protocol 164 | definition: Protokoll zur Anbindung von Selbstbedienungsautomaten an Bibliothekssysteme 165 | 166 | SRU: 167 | url: https://de.wikipedia.org/wiki/Search/Retrieve_via_URL 168 | definition: Search/Retrieve via URL, ein technischer Standard für Suchanfragen in Bibliothekskatalogen 169 | 170 | SWORD: 171 | url: https://en.wikipedia.org/wiki/SWORD_(protocol) 172 | definition: Simple Webservice Offering Repository Deposit 173 | 174 | # Usability: 175 | # url: https://de.wikipedia.org/wiki/Gebrauchstauglichkeit_(Produkt) 176 | # definition: Gebrauchstauglichkeit 177 | # 178 | # User Experience: 179 | # url: https://de.wikipedia.org/wiki/User_Experience 180 | # definition: Nutzererfahrung 181 | 182 | WCAG: 183 | url: https://www.w3.org/WAI/standards-guidelines/wcag/ 184 | definition: Web Content Accessibilty Guidelines 185 | 186 | # Z39.50: 187 | # definition: Protokoll zur Abfrage von bibliografischen Daten 188 | -------------------------------------------------------------------------------- /media/tools.svg: -------------------------------------------------------------------------------- 1 | CMSSocialIntranetKollaborativSolitärInternExternTeamarbeitDialogPortaleWissensspeicherBlogForumWebsiteVideokonferenzWikiNetzlaufwerkeKanboardSocial MediaScreencasts/ PodcastsE-Mail/ KontaktPad/ Web-OfficeUmfragenChat -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Dieses Handbuch wird in einem offenen Prozess erarbeitet und verbessert. Mitarbeit ist dabei grundsätzlich sehr willkommen und in verschiedener Form möglich. Voraussetzung ist ein Verständnis des [Arbeitsablauf], die Einhaltung des [Styleguide] und die freie [Lizenzierung](index.md#lizenz) der eigenen Beiträge. Die Dokumentation der [technischen Umsetzung](#technische-umsetzung) ist nur relevant wenn Änderungen direkt im Markdown-Quelltext auf dem eigenen Rechner umgesetzt werden sollen oder als Inspiration für eigene Buchprojekte. 2 | 3 | ## Arbeitsablauf {.unnumbered} 4 | 5 | Alle Kapitel wurden in Booksprints vor Ort geplant und in Form von gemeinsam bearbeitbar Dokumenten bei Google Docs erstellt. Die Kapitel wurden anschließend einmalig ins Markdown-Format übertragen und auf [it-in-bibliotheken.de](https://it-in-bibliotheken.de) veröffentlicht (siehe [Technische Umsetzung]). Abgesehen von den Anhängen stehen die Inhalte des Handbuchs somit nun in zwei Formen zur Verfügung: 6 | 7 | - Aktuelle Quelltexte in Quarto Markdown unter 8 | - Snapshots der Kapitel in rudimentärem Layout als kommentierbares Dokument [in Google Drive](https://drive.google.com/drive/folders/1JMBLJlk71JqQMQY7j_uXwV47fX8NA_N2?usp=sharing) 9 | 10 | Änderungen und Beiträge zum Handbuch sind somit auf folgende Weisen möglich: 11 | 12 | 1. **Bearbeitungsvorschläge und Kommentare** in Google Docs ("Kapitel Kommentieren"). Dies ist im Zweifelsfall die einfachste Methode aber möglicherweise etwas langsamer: Beiträge von Google Docs werden in unregelmäßigen Abständen von der Redaktion in die Markdown-Quellen übernommen und die Google Docs Dokumente ebenso unregelmäßig aktualisiert. [Bilder](#mitarbeit-medien), [Literaturverzeichnis](#mitarbeit-literatur) und Anhänge wie das [Glossar](#mitarbeit-glossar) können auf diese Weise nicht geändert werden. 13 | 14 | 2. Direkte Bearbeitung der Markdown-Quellen durch einen **Pull-Request** ("Seite editieren"). Dies erfordert einen GitHub-Account und rudimentäre Markdown-Kenntnisse, dafür können die Beiträge am schnellsten übernommen werden. 15 | 16 | 3. Öffentlicher **Kommentar als [GitHub-Issue](https://github.com/pro4bib/handbuch-it-in-bibliotheken/issues)** ("Problem melden"). Dies erfordert einen GitHub-Account und ggf. anschließende öffentliche Diskussion. 17 | 18 | 4. Persönlicher Hinweis an die Autor*innen (siehe @sec-contributors) 19 | 20 | In der HTML-Version unter gibt es rechts neben jedem Kapitel etsprechende Feedback-Links: 21 | 22 | ![Feedback-Links (rechts unter dem Inhaltsverzeichnis der einzelnen Kapitel)](media/feedback-links.png) 23 | 24 | Zur Vorbereitung der Druckversion gab es nach den Booksprints, in denen die wesentlichen Inhalte des Buches geschrieben wurden, eine Lektoratsphase, bei der einzelne Kapitel gezielt ein bis zwei Personen zur Prüfung zugewiesen wurden. Der wesentliche Arbeitsablauf war allerdings der Gleiche. 25 | 26 | 35 | 36 | ## Styleguide {#styleguide .unnumbered} 37 | 38 | Dieser Styleguide soll eine einheitliche Form trotz [unterschiedlicher Autor*innen](#mitarbeit-autorinnen) gewährleisten. Dazu gibt es Hinweise zu [Zielgruppe](#zielgruppe), [Stil und Aktualität](#schreibstil), [Schreibweise](#schreibweise) und [Struktur](#struktur) sowie Vorgaben zu besonderen Inhalten wie [Bildern und anderen Medien](#mitarbeit-medien), [Literaturverzeichnis](#mitarbeit-literatur) und [Abkürzungsverzeichnis](#mitarbeit-glossar). 39 | 40 | Bei der Bearbeitung sollten folgende Grundsätze beachtet werden: 41 | 42 | - Wir verzichten auf individuelle Autor\*innenschaft an einzelnen 43 | Textteilen. Alle können an allen Teilen mitarbeiten. 44 | 45 | - Das Handbuch ist keine wissenschaftliche Arbeit, sondern soll einen 46 | Überblick geben. Für Details kann auf weiterführende Quellen 47 | verwiesen werden. 48 | 49 | ### Zielgruppe {#zielgruppe .unnumbered} 50 | 51 | Zur Klärung der Zielgruppe dieses Handbuchs wurden einige sogenannte 52 | *Personas* definiert: 53 | 54 | - **Janine** Buchinger: Janine leitet die Stadtbibliothek in einer 55 | Stadt mit 250.000 Einwohnern. Die Bibliothek besteht aus einer 56 | Zentrale und zwei Zweigstellen. Mit den Schulbüchereien besteht 57 | eine Kooperation für fachliche Beratung und gemeinsame Aktivitäten 58 | bei der Informationskompetenz-Vermittlung. 59 | 60 | - Dr. **Tillmann** Schuppe: Tillmann ist Leiter einer 61 | Fachhochschulbibliothek mit 500.000 Medieneinheiten. Die 62 | Bibliothek gehört einem Bibliotheksverbund an. Die Bibliothek 63 | plant einen Neubau, der gemeinsam mit dem Rechen- und 64 | Medienzentrum bezogen werden soll. 65 | 66 | - **Magda** Olsowski: Magda ist studierte Informatikerin und leitet 67 | die Gruppe Forschungsdatenmanagement an einer großen 68 | Universitätsbibliothek. Sie hat keine bibliothekarische 69 | Vorbildung. 70 | 71 | - **Alicia** Meyer: Alicia studiert Bibliotheksmanagement und plant 72 | eine Masterarbeit, in der sie die Implementierungsprozesse von 73 | Software analysieren möchte. 74 | 75 | - **Robert** Pohlmann: Robert leitet die IT-Abteilung einer 76 | mittelgroßen Universitätsbibliothek und ist nebenberuflich 77 | Lehrbeauftragter für einen bibliothekarischen Studiengang. 78 | 79 | ### Stil und Aktualität {#schreibstil .unnumbered} 80 | 81 | - **Journalistische oder enzyklopädische Neutralität sind nicht oberstes Prinzip dieses Buches.** Es soll vielmehr fundiert und praxisorientiert informieren und beraten und darf dabei auch parteiisch sein. 82 | 83 | - **Dieses Buch ist keine wissenschaftliche Forschungsveröffentlichung.** Nicht jede Aussage muss mit einer Quelle belegt werden. Für die Anwendung in der Hochschullehre reicht es, wenn das Buch zentrale Aussagen belegt bzw. auf die wichtigsten aktuellen Studien verweist und somit auch Tipps zur weiterführenden Lektüre bietet. 84 | 85 | - **Das Buch sollte in 2-5 Jahren noch aktuell und verständlich sein, aber nicht mehr unbedingt in 10 Jahren.** 86 | 87 | - **Das Buch soll als Nachschlagewerk dienen, das nicht vollständig durchgelesen werden muss.** Dabei helfen Redundanz und Querverweise (siehe [Hinweise zur Struktur](#struktur)). 88 | 89 | - **Zumindest die einzelnen Kapitel sollen sich gut durchlesen lassen.** Insbesondere Brüche in Stil und Aussage, Widersprüche oder unnötige Redundanzen sind innerhalb der Kapitel unbedingt zu vermeiden. Unter Berücksichtung des Nachschlagewerk-Charakters streben wir auch einen guten Lesefluss innerhalb der Kapitel an. 90 | 91 | ### Struktur {#struktur .unnumbered} 92 | 93 | #### Struktur des Texts {.unnumbered} 94 | 95 | - Wir verwenden **kurze, unverschachtelte Sätze**. 96 | 97 | - Wir erzeugen **Sinnabschnitte**, die möglichst für sich stehend verständlich sind. 98 | 99 | - Wir schreiben **stark strukturiert**, also 100 | 101 | - mit vielen **Zwischenüberschriften**, bis maximal zur vierten Gliederungsebene, 102 | 103 | - wo es inhaltlich passt, in stichpunktartigen **Listen** und 104 | 105 | - mit Hervorhebung **wichtiger Begriff durch Fettdruck** als Gliederungshilfe. 106 | 107 | - Wir verwenden **[Infoboxen](https://quarto.org/docs/authoring/callouts.html)**, die auch 108 | unabhängig vom übrigen Text lesbar sind. 109 | 110 | - Wir liefern **wichtige Informationen zusätzlich** zum Text in Form von Bildern, Tabellen, Listen, Infoboxen und/oder Zusammenfassungen. 111 | 112 | #### Struktur der Hauptkapitel {.unnumbered} 113 | 114 | Das Handbuch behandelt [aufgeteilt in Hauptkapitel](#inhalt) die wesentlichen Themen rund um IT in Bibliotheken. 115 | 116 | - Jedes Kapitel beginnt mit einer **Kurzfassung** als Infobox gefolgt von einer **Einleitung** und endet mit einem Abschnitt **Zusammenfassung und Ausblick**. 117 | 118 | - Kapitel haben normalerweise einen Umfang von rund 4.000 Wörtern. Deutlich längere Kapitel sind darauf zu prüfen, ob sie sich in mehrere Kapitel trennen lassen, und wenn das nicht möglich ist, müssen sie sorgfältig in Unterkapitel aufgeteilt werden. 119 | 120 | - Die Strukturierung in Unterkapitel sollte stimmig und ausgewogen sein, insbesondere mit Blick auf die Ziele des Buches. 121 | 122 | - Die Übergänge zwischen einzelnen Unterabschnitten sollten stimmig sein. 123 | 124 | - Jedes Kapitel beinhaltet ein aussagekräftiges Metadatenfeld `description` [für Suchmaschinen](https://developers.google.com/search/docs/advanced/appearance/snippet) (maximal 158 Zeichen) 125 | 126 | ### Schreibweise, Fachbegriffe und Verweise {#schreibweise .unnumbered} 127 | 128 | - Wir verwenden im gesamten Buch gendergerechte Schreibweise mit Sternchen (\*). In Markdown ist es sicherer dem Sternchen einen Backslash voranzustellen, z.B. `Autor\*innen`. 129 | 130 | - Eine Schreibweise für häufig verwendete Fachbegriffe sollte quer durch das Buch eingehalten werden, so z.B. BMS für Bibliotheksmanagementsysteme 131 | 132 | - Fachbegriffe (z.B. Bibliotheksverbund) werden dort verwendet, wo sie wiederholt relevant sind, und werden bei ihrer ersten Erwähnung 133 | definiert. Abkürzungen werden zusätzlich [im Abkürzungsverzeichnis](#mitarbeit-glossar) erfasst. 134 | 135 | - Wir vermeiden IT-Jargon. 136 | 137 | - Wir vermeiden Substantivierung ("Digitalisierungswürdigkeit") und unnötige Passiv-Formen. 138 | 139 | - Quellen sollten nur dann genannt werden wenn in der jeweiligen Textpassage auch wirklich paraphrasiert oder wörtlich zitiert wird. 140 | 141 | #### Typografie 142 | 143 | - Abkürzungen werden durch geschützte Leerzeichen getrennt (z. B.) 144 | 145 | - Gerade Anführungszeichen `"..."` werden automatisch durch die Deutschland und Österreich übliche Anführungszeichen ("...") ersetzt. 146 | 147 | Externe Links, die nur auf Anbieter oder andere Websites verweisen, werden inline verlinkt. 148 | 149 | - Links, die auf später entstehende Kapitel verweisen, werden durch eckige Klammern kenntlich gemacht. 150 | 151 | - *Kursive* Hervorhebung sollte nur für Namen und [Glossareinträge](#mitarbeit-glossar) verwendet werden. 152 | 153 | - Wir verzichten auf Fußnoten. 154 | 155 | ### Bilder und andere Medien {#mitarbeit-medien .unnumbered} 156 | 157 | - Bilder und andere Mediendateien kommen in das Verzeichnis `media` im [git-Repository](#technische-umsetzung). Alternativ können sie von externen Quellen per URL eingebunden werden wenn die Quelle voraussichtlich dauerhaft verfügbar ist. 158 | 159 | - Bilder sollten möglichst als Vektorgrafik (SVG) bereitgestellt werden. 160 | 161 | - Standardschriftart ist [Source Sans](https://de.wikipedia.org/wiki/Source_Sans) und Standard-Farbe für Hervorhebungen ist Blau mit dem Farbcode `#2780e3` und darauf aufbauende Hellblau-Töne. 162 | 163 | - Bitte nutzt sprechende Dateinamen! 164 | 165 | ### Literaturverzeichnis {#mitarbeit-literatur .unnumbered} 166 | 167 | Die zitierte und weiterführende Literatur wird in einer Zotero-Gruppe unter verwaltet. Der BibLaTex-Export dieser Bibliographie wird mit Aufruf von `make refs` von dort heruntergeladen und unter `references.bib` gespeichert. Diese Datei sollte also nicht direkt bearbeitet werden! Innerhalb des Markdown-Quelltext kann mittels [Pandoc-Citation Syntax](https://quarto.org/docs/authoring/footnotes-and-citations.html#sec-citations) und dem jeweiligen Citekey aus `references.bib` auf Literatur verwiesen werden. 168 | 169 | ### Glossar {#mitarbeit-glossar .unnumbered} 170 | 171 | Das Abkürzungsverzeichnis in der Datei `glossar.yml` enthält erklärungswürdige Begriffe mit Kurzbeschreibung und optionalem Link auf eine weiterführende Quelle (meist Wikipedia). Es werden \_keine\_ Firmennamen aufgenommen, auch wenn sie Akronyme sind. Die Glossarbegriffe werden in den Textdateien zur Hervorhebung *kursiv* gesetzt (in Markdown so `ein *Fachbegriff*`). Bei Erzeugung der HTML-Version des Handbuchs wird die Hervorhebung in einen Tooltip umgewandelt. 172 | 173 | ### Autor\*innen-Verzeichnis {#mitarbeit-autorinnen .unnumbered} 174 | 175 | Wenn Du etwas beigetragen hast und möchtest, dass Du im [Verzeichnis der Autor\*innen](#autorinnen) auftauchst, trage Dich in der YAML-Datei [`contributors.yml`](https://github.com/pro4bib/handbuch-it-in-bibliotheken/blob/main/contributors.yml) ein. Die Einträge sollten nach Nachname sortiert werden. Die Felder `email`, `position` und `orcid` sind optional. 176 | 177 | ## Technische Umsetzung {.unnumbered} 178 | 179 | [quarto]: https://quarto.org/ 180 | 181 | Die Master-Version des Handbuch liegt in einem git-Repository unter . Die Ergebnisdateien werden automatisch via GitHub und einen Server der *VZG* mit der Software [quarto] aktualisiert, sodass unter immer der aktuellste Stand einsehbar sein sollte. 182 | 183 | ### Verzeichnisstruktur {.unnumbered} 184 | 185 | Die Markdown-Dateien im Wurzelverzeichnis (`*.md`) sind die Masterdateien. 186 | 187 | * `about.yml` bibliographische Metadaten (Titel, Abstract...) 188 | 189 | * `_quarto.yml` zentrale Konfigurationsdatei zur Anpassung der [Konvertierung mit Quarto](#konvertierung) 190 | 191 | * [`contributors.yml`](contributors.yml) [Autor*innen-Verzeichnis](#autorinnen-verzeichnis) 192 | 193 | * `references.bib` [Literaturverzeichnis](#literaturverzeichnis) (bitte nicht direkt bearbeiten!) 194 | 195 | Weitere Unterverzeichnisse: 196 | 197 | * `media/` [Bilder und andere Medien](#bilder-und-andere-medien) 198 | 199 | Die Dateien in folgenden Verzeichnissen sollen nicht per Hand geändert werden: 200 | 201 | * `_gdrive/` von bzw. nach Google-Drive importierte bzw. exportierte Kapitel. 202 | 203 | 204 | ### Konvertierung {.unnumbered} 205 | 206 | Zur Anpassung der Konvertierung des Handbuchs mit [quarto] muss das Repository lokale geklont und Quarto installiert werden. Für die DOCX-Ausgabe muss außerdem `rsvg-convert` installiert werden (Paket `librsvg2-bin` bzw. `libsrvg`). 207 | 208 | Die Aufrufe sind zur Vereinfachung in [`Makefile`](Makefile) zusammengefasst: 209 | 210 | * `make preview` konvertiert das Handbuch nach HTML und ermöglicht eine Vorschau unter (der Port ist die Postleitzahl von Wildau). Die HTML-Ansicht wird automatisch aktualisiert wenn die Quelldateien lokale geändert werden. 211 | 212 | * `make html`, `make docx` und `make pdf` erzeugt jeweils die HTML-, DOCX- oder PDF-Version und legt das Ergebnis im Verzeichnis `_book` ab. HTML- und DOCX-Version werden auch automatisch nach jedem Push auf GitHub erzeugt. 213 | 214 | * `make all` erzeugt alle Ausgabeformate und aktualisiert zusätzlich die einzelnen Google-Docs-Dateien. 215 | 216 | * `make refs` aktualisiert das [Literaturverzeichnis](#literaturverzeichnis) in `references.bib` von Zotero. 217 | 218 | Mit dem Skript `chapter` im Verzeichnis `_gdrive` können 219 | 220 | - Kapitel von Google Docs heruntergeladen und nach Markdown konvertiert und 221 | 222 | - DOCX-Dateien der einzelnen Kapitel zum Hochladen bei Goodle Docs erstellt werden (siehe `Makefile` im Verzeichnis `_gdrive`) 223 | 224 | -------------------------------------------------------------------------------- /media/etl-prozess.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 33 | 35 | 41 | 46 | 47 | 53 | 58 | 59 | 65 | 70 | 71 | 77 | 82 | 83 | 84 | 86 | Extraktion 96 | Transformation 106 | Laden 116 | 123 | 127 | 131 | 138 | 145 | 149 | 153 | Magnetic Disk (Database) 155 | A magnetic disk. (ISO) 157 | 161 | 165 | 166 | 170 | 174 | Magnetic Disk (Database) 177 | A magnetic disk. (ISO) 180 | 184 | 188 | 189 | 193 | Magnetic Disk (Database) 195 | A magnetic disk. (ISO) 197 | 201 | 205 | 206 | 210 | Magnetic Disk (Database) 212 | A magnetic disk. (ISO) 214 | 218 | 222 | 223 | Zielsystem 233 | Quellsysteme 243 | Prüfung, Anpassung, 253 | 257 | 261 | Vereinheitlichung 272 | 273 | 274 | -------------------------------------------------------------------------------- /templates/pandoc-quotes.lua: -------------------------------------------------------------------------------- 1 | --- Replaces plain quotation marks with typographic ones. 2 | -- 3 | -- # SYNOPSIS 4 | -- 5 | -- pandoc --lua-filter pandoc-quotes.lua 6 | -- 7 | -- 8 | -- # DESCRIPTION 9 | -- 10 | -- pandoc-quotes.lua is a filter for pandoc that replaces non-typographic 11 | -- quotation marks with typographic ones for languages other than American 12 | -- English. 13 | -- 14 | -- You can define which typographic quotation marks to replace plain ones with 15 | -- by setting either a document's quot-marks, quot-lang, or lang 16 | -- metadata field. If none of these is set, pandoc-quotes.lua does nothing. 17 | -- 18 | -- You can add your own mapping of a language to quotation marks or override 19 | -- the default ones by setting quot-marks-by-lang. 20 | -- 21 | -- ## quot-marks 22 | -- 23 | -- A list of four strings, where the first item lists the primary left 24 | -- quotation mark, the second the primary right quotation mark, the third 25 | -- the secondary left quotation mark, and the fourth the secondary right 26 | -- quotation mark. 27 | -- 28 | -- For example: 29 | -- 30 | -- ```yaml 31 | -- --- 32 | -- quot-marks: 33 | -- - '' 34 | -- - '' 35 | -- - ' 36 | -- - ' 37 | -- ... 38 | -- ``` 39 | -- 40 | -- You always have to set all four. 41 | -- 42 | -- If each quotation mark consists of one character only, 43 | -- you can write the whole list as a simple string. 44 | -- 45 | -- For example: 46 | -- 47 | -- ```yaml 48 | -- --- 49 | -- quot-marks: ""'' 50 | -- ... 51 | -- ``` 52 | -- 53 | -- If quot-marks is set, the other fields are ignored. 54 | -- 55 | -- 56 | -- # quotation-lang 57 | -- 58 | -- An RFC 5646-like code for the language the quotation marks of 59 | -- which shall be used (e.g., "pt-BR", "es"). 60 | -- 61 | -- For example: 62 | -- 63 | -- ```yaml 64 | -- --- 65 | -- quot-lang: de-AT 66 | -- ... 67 | -- ``` 68 | -- 69 | -- Note: Only the language and the country tags of RFC 5646 are supported. 70 | -- For example, "it-CH" (i.e., Italian as spoken in Switzerland) is fine, 71 | -- but "it-756" (also Italian as spoken in Switzerland) will return the 72 | -- quotation marks for "it" (i.e., Italian as spoken in general). 73 | -- 74 | -- If quot-marks is set, quot-lang is ignored. 75 | -- 76 | -- 77 | -- # lang 78 | -- 79 | -- The format of lang is the same as for quot-lang. If quot-marks 80 | -- or quot-lang is set, lang is ignored. 81 | -- 82 | -- For example: 83 | -- 84 | -- ```yaml 85 | -- --- 86 | -- lang: de-AT 87 | -- ... 88 | -- ``` 89 | -- 90 | -- 91 | -- # ADDING LANGUAGES 92 | -- 93 | -- You can add quotation marks for unsupported languages, or override the 94 | -- defaults, by setting the metadata field quot-marks-by-lang to a maping 95 | -- of RFC 5646-like language codes (e.g., "pt-BR", "es") to lists of quotation 96 | -- marks, which are given in the same format as for the quot-marks 97 | -- metadata field. 98 | -- 99 | -- For example: 100 | -- 101 | -- ```yaml 102 | -- --- 103 | -- quot-marks-by-lang: 104 | -- abc-XYZ: ""'' 105 | -- lang: abc-XYZ 106 | -- ... 107 | -- ``` 108 | -- 109 | -- 110 | -- # CAVEATS 111 | -- 112 | -- pandoc represents documents as abstract syntax trees internally, and 113 | -- quotations are nodes in that tree. However, pandoc-quotes.lua replaces 114 | -- those nodes with their content, adding proper quotation marks. That is, 115 | -- pandoc-quotes.lua pushes quotations from the syntax of a document's 116 | -- representation into its semantics. That being so, you should not 117 | -- use pandoc-quotes.lua with output formats that represent quotes 118 | -- syntactically (e.g., HTML, LaTeX, ConTexT). Moroever, filters running after 119 | -- pandoc-quotes won't recognise quotes. So, it should be the last or 120 | -- one of the last filters you apply. 121 | -- 122 | -- Support for quotation marks of different languages is certainly incomplete 123 | -- and likely erroneous. See if 124 | -- you'd like to help with this. 125 | -- 126 | -- pandoc-quotes.lua is Unicode-agnostic. 127 | -- 128 | -- 129 | -- # SEE ALSO 130 | -- 131 | -- pandoc(1) 132 | -- 133 | -- 134 | -- # AUTHOR 135 | -- 136 | -- Copyright 2019 Odin Kroeger 137 | -- 138 | -- 139 | -- # LICENSE 140 | -- 141 | -- Permission is hereby granted, free of charge, to any person obtaining a copy 142 | -- of this software and associated documentation files (the "Software"), to 143 | -- deal in the Software without restriction, including without limitation the 144 | -- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 145 | -- sell copies of the Software, and to permit persons to whom the Software is 146 | -- furnished to do so, subject to the following conditions: 147 | -- 148 | -- The above copyright notice and this permission notice shall be included in 149 | -- all copies or substantial portions of the Software. 150 | -- 151 | -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 152 | -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 153 | -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 154 | -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 155 | -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 156 | -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 157 | -- IN THE SOFTWARE. 158 | -- 159 | -- 160 | -- @script pandoc-quotes.lua 161 | -- @release 0.1.10 162 | -- @author Odin Kroeger 163 | -- @copyright 2018, 2020 Odin Kroeger 164 | -- @license MIT 165 | 166 | 167 | -- # INITIALISATION 168 | 169 | local M = {} 170 | 171 | local pairs = pairs 172 | local require = require 173 | 174 | local io = io 175 | local table = table 176 | local package = package 177 | 178 | local pandoc = pandoc 179 | if not pandoc.utils then pandoc.utils = require 'pandoc.utils' end 180 | 181 | local _ENV = M 182 | 183 | local text = require 'text' 184 | 185 | 186 | -- # CONSTANTS 187 | 188 | --- The name of this script. 189 | SCRIPT_NAME = 'pandoc-quotes.lua' 190 | 191 | --- The path seperator of the operating system. 192 | PATH_SEP = package.config:sub(1, 1) 193 | 194 | --- The character sequence to end a line. 195 | if PATH_SEP == '\\' then EOL = '\r\n' 196 | else EOL = '\n' end 197 | 198 | 199 | --- A list of mappings from RFC 5646-ish language codes to quotation marks. 200 | -- 201 | -- I have adopted the list below from: 202 | -- 203 | -- 204 | -- I tried to come up with reasonable defaults for secondary quotes for 205 | -- language that, according to the Wikipedia, don't have any. 206 | -- 207 | -- Adding languages: 208 | -- 209 | -- Add an ordered pair, where the first item is an RFC 5646 language 210 | -- code (though only the language and country tags are supported) and the 211 | -- second item is a list of quotation marks, in the following order: 212 | -- primary left, primary right, secondary left, secondary right. 213 | -- 214 | -- You have to list four quotation marks, even if the langauge you add does 215 | -- not use secondary quotation marks. Just come up with something that makes 216 | -- sense. This is because a user may, rightly, find that just because their 217 | -- language does not 'officially' have secondary quotation marks, they 218 | -- are going to use them anyway. And they should get a reasonable result, 219 | -- not a runtime error. 220 | -- 221 | -- The order in which languages are listed is meaningless. If you define 222 | -- variants for a language that is spoken in different countries, also 223 | -- define a 'default' for the language alone, without the country tag. 224 | QUOT_MARKS_BY_LANG = { 225 | ar = {'”', '“', '’', '‘' }, 226 | bs = {'”', '”', '’', '’' }, 227 | bo = {'「', '」', '『', '』' }, 228 | bs = {'”', '”', '’', '’' }, 229 | cn = {'「', '」', '『', '』' }, 230 | cs = {'„', '“', '‚', '‘' }, 231 | cy = {'‘', '’', '“', '”' }, 232 | da = {'»', '«', '›', '‹' }, 233 | de = {'„', '“', '‚', '‘' }, 234 | ['de-CH'] = {'«', '»', '‹', '›' }, 235 | el = {'«', '»', '“', '”' }, 236 | en = {'“', '”', '‘', '’' }, 237 | ['en-US'] = {'“', '”', '‘', '’' }, 238 | ['en-GB'] = {'‘', '’', '“', '”' }, 239 | ['en-UK'] = {'‘', '’', '“', '”' }, 240 | ['en-CA'] = {'“', '”', '‘', '’' }, 241 | eo = {'“', '”', '‘', '’' }, 242 | es = {'«', '»', '“', '”' }, 243 | et = {'„', '“', '‚', '‘' }, 244 | fi = {'”', '”', '’', '’' }, 245 | fil = {'“', '”', '‘', '’' }, 246 | fa = {'«', '»', '‹', '›' }, 247 | fr = {'«', '»', '‹', '›' }, 248 | ga = {'“', '”', '‘', '’' }, 249 | gd = {'‘', '’', '“', '”' }, 250 | gl = {'«', '»', '‹', '›' }, 251 | he = {'“', '”', '‘', '’' }, 252 | hi = {'“', '”', '‘', '’' }, 253 | hu = {'„', '”', '»', '«' }, 254 | hr = {'„', '“', '‚', '‘' }, 255 | ia = {'“', '”', '‘', '’' }, 256 | id = {'“', '”', '‘', '’' }, 257 | is = {'„', '“', '‚', '‘' }, 258 | it = {'«', '»', '“', '”' }, 259 | ['it-CH'] = {'«', '»', '‹', '›' }, 260 | ja = {'「', '」', '『', '』' }, 261 | jbo = {'lu', 'li\'u', 'lu', 'li\'u'}, 262 | ka = {'„', '“', '‚', '‘' }, 263 | khb = {'《', '》', '〈', '〉' }, 264 | kk = {'«', '»', '‹', '›' }, 265 | km = {'«', '»', '‹', '›' }, 266 | ko = {'《', '》', '〈', '〉' }, 267 | ['ko-KR'] = {'“', '”', '‘', '’' }, 268 | lt = {'„', '“', '‚', '‘' }, 269 | lv = {'„', '“', '‚', '‘' }, 270 | lo = {'«', '»', '‹', '›' }, 271 | nl = {'„', '”', '‚', '’' }, 272 | mk = {'„', '“', '’', '‘' }, 273 | mn = {'«', '»', '‹', '›' }, 274 | mt = {'“', '”', '‘', '’' }, 275 | no = {'«', '»', '«', '»' }, 276 | pl = {'„', '”', '»', '«' }, 277 | ps = {'«', '»', '‹', '›' }, 278 | pt = {'«', '»', '“', '”' }, 279 | ['pt-BR'] = {'“', '”', '‘', '’' }, 280 | rm = {'«', '»', '‹', '›' }, 281 | ro = {'„', '”', '«', '»' }, 282 | ru = {'«', '»', '“', '”' }, 283 | sk = {'„', '“', '‚', '‘' }, 284 | sl = {'„', '“', '‚', '‘' }, 285 | sq = {'„', '“', '‚', '‘' }, 286 | sr = {'„', '“', '’', '’' }, 287 | sv = {'”', '”', '’', '’' }, 288 | tdd = {'「', '」', '『', '』' }, 289 | ti = {'«', '»', '‹', '›' }, 290 | th = {'“', '”', '‘', '’' }, 291 | thi = {'「', '」', '『', '』' }, 292 | tr = {'«', '»', '‹', '›' }, 293 | ug = {'«', '»', '‹', '›' }, 294 | uk = {'«', '»', '„', '“' }, 295 | uz = {'«', '»', '„', '“' }, 296 | vi = {'“', '”', '‘', '’' }, 297 | wen = {'„', '“', '‚', '‘' }, 298 | ka = {'„', '“', '‚', '‘' }, 299 | khb = {'《', '》', '〈', '〉' }, 300 | kk = {'«', '»', '‹', '›' }, 301 | km = {'«', '»', '‹', '›' }, 302 | ko = {'《', '》', '〈', '〉' }, 303 | ['ko-KR'] = {'“', '”', '‘', '’' }, 304 | lt = {'„', '“', '‚', '‘' }, 305 | lv = {'„', '“', '‚', '‘' }, 306 | lo = {'«', '»', '‹', '›' }, 307 | nl = {'„', '”', '‚', '’' }, 308 | mk = {'„', '“', '’', '‘' }, 309 | mn = {'«', '»', '‹', '›' }, 310 | mt = {'“', '”', '‘', '’' }, 311 | no = {'«', '»', '«', '»' }, 312 | pl = {'„', '”', '»', '«' }, 313 | ps = {'«', '»', '‹', '›' }, 314 | pt = {'«', '»', '“', '”' }, 315 | ['pt-BR'] = {'“', '”', '‘', '’' }, 316 | rm = {'«', '»', '‹', '›' }, 317 | ro = {'„', '”', '«', '»' }, 318 | ru = {'«', '»', '“', '”' }, 319 | sk = {'„', '“', '‚', '‘' }, 320 | sl = {'„', '“', '‚', '‘' }, 321 | sq = {'„', '“', '‚', '‘' }, 322 | sr = {'„', '“', '’', '’' }, 323 | sv = {'”', '”', '’', '’' }, 324 | tdd = {'「', '」', '『', '』' }, 325 | ti = {'«', '»', '‹', '›' }, 326 | th = {'“', '”', '‘', '’' }, 327 | thi = {'「', '」', '『', '』' }, 328 | tr = {'«', '»', '‹', '›' }, 329 | ug = {'«', '»', '‹', '›' }, 330 | uk = {'«', '»', '„', '“' }, 331 | uz = {'«', '»', '„', '“' }, 332 | vi = {'“', '”', '‘', '’' }, 333 | wen = {'„', '“', '‚', '‘' } 334 | } 335 | 336 | 337 | -- # FUNCTIONS 338 | 339 | --- Prints warnings to STDERR. 340 | -- 341 | -- Prefixes messages with `SCRIPT_NAME` and ": ". 342 | -- Also appends an end of line sequence. 343 | -- 344 | -- @tparam string str A string format to be written to STDERR. 345 | -- @tparam string ... Arguments to that format. 346 | function warn (str, ...) 347 | io.stderr:write(SCRIPT_NAME, ': ', string.format(str, ...), EOL) 348 | end 349 | 350 | 351 | --- Applies a function to every element of a list. 352 | -- 353 | -- @tparam func f The function. 354 | -- @tparam tab list The list. 355 | -- @treturn tab The return values of `f`. 356 | function map (f, list) 357 | local ret = {} 358 | for k, v in pairs(list) do ret[k] = f(v) end 359 | return ret 360 | end 361 | 362 | do 363 | local stringify = pandoc.utils.stringify 364 | 365 | --- Reads quotation marks from a `quot-marks` metadata field. 366 | -- 367 | -- @tparam pandoc.MetaValue The content of a metadata field. 368 | -- Must be either of type pandoc.MetaInlines or pandoc.MetaList. 369 | -- @treturn[1] {pandoc.Str,pandoc.Str,pandoc.Str,pandoc.Str} 370 | -- A table of quotation marks 371 | -- @treturn[2] `nil` if an error occurred. 372 | -- @treturn[2] string An error message. 373 | function get_quotation_marks (meta) 374 | if meta.t == 'MetaInlines' then 375 | local marks = stringify(meta) 376 | if text.len(marks) ~= 4 then 377 | return nil, 'not four quotation marks' 378 | end 379 | local ret = {} 380 | for i = 1, 4 do ret[i] = text.sub(marks, i, i) end 381 | return ret 382 | elseif meta.t == 'MetaList' then 383 | local marks = map(stringify, meta) 384 | if #marks ~= 4 then 385 | return nil, 'not four quotation marks' 386 | end 387 | return marks 388 | end 389 | return nil, 'neither a string nor a list' 390 | end 391 | end 392 | 393 | 394 | do 395 | local stringify = pandoc.utils.stringify 396 | 397 | -- Holds the quotation marks for the language of the document. 398 | -- Common to `configure` and `insert_quot_marks`. 399 | local QUOT_MARKS = nil 400 | 401 | --- Determines the quotation marks for the document. 402 | -- 403 | -- Stores them in `QUOT_MARKS`, which it shares with `insert_quot_marks`. 404 | -- Prints errors to STDERR. 405 | -- 406 | -- @tparam pandoc.Meta The document's metadata. 407 | function configure (meta) 408 | local quot_marks, lang 409 | if meta['quot-marks-by-lang'] then 410 | for k, v in pairs(meta['quot-marks-by-lang']) do 411 | local quot_marks, err = get_quotation_marks(v) 412 | if not quot_marks then 413 | warn('metadata field "quot-marks-by-lang": lang "%s": %s.', 414 | k, err) 415 | return 416 | end 417 | QUOT_MARKS_BY_LANG[k] = quot_marks 418 | end 419 | end 420 | if meta['quot-marks'] then 421 | local err 422 | quot_marks, err = get_quotation_marks(meta['quot-marks']) 423 | if not quot_marks then 424 | warn('metadata field "quot-marks": %s.', err) 425 | return 426 | end 427 | elseif meta['quot-lang'] then 428 | lang = stringify(meta['quot-lang']) 429 | elseif meta['lang'] then 430 | lang = stringify(meta['lang']) 431 | end 432 | if lang then 433 | for i = 1, 3 do 434 | if i == 2 then lang = lang:match '^(%a+)' 435 | elseif i == 3 then 436 | local expr = '^' .. lang .. '-' 437 | for k, v in pairs(QUOT_MARKS_BY_LANG) do 438 | if k:match(expr) then quot_marks = v break end 439 | end 440 | end 441 | if i < 3 then quot_marks = QUOT_MARKS_BY_LANG[lang] end 442 | if quot_marks then break end 443 | end 444 | end 445 | if quot_marks then QUOT_MARKS = map(pandoc.Str, quot_marks) 446 | elseif lang then warn('%s: unknown language.', lang) end 447 | end 448 | 449 | 450 | do 451 | local insert = table.insert 452 | --- Replaces quoted elements with quoted text. 453 | -- 454 | -- Uses the quotation marks stored in `QUOT_MARKS`, 455 | -- which it shares with `configure`. 456 | -- 457 | -- @tparam pandoc.Quoted quoted A quoted element. 458 | -- @treturn {pandoc.Str,pandoc.Inline,...,pandoc.Str} 459 | -- A list with the opening quote (as `pandoc.Str`), 460 | -- the content of `quoted`, and the closing quote (as `pandoc.Str`). 461 | function insert_quot_marks (quoted) 462 | if not QUOT_MARKS then return end 463 | local quote_type = quoted.quotetype 464 | local inlines = quoted.content 465 | local left, right 466 | if quote_type == 'DoubleQuote' then left, right = 1, 2 467 | elseif quote_type == 'SingleQuote' then left, right = 3, 4 468 | else error('unknown quote type') end 469 | insert(inlines, 1, QUOT_MARKS[left]) 470 | insert(inlines, QUOT_MARKS[right]) 471 | return inlines 472 | end 473 | end 474 | end 475 | 476 | return {{Meta = configure}, {Quoted = insert_quot_marks}} 477 | -------------------------------------------------------------------------------- /media/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 10 | 12 | 16 | 20 | 24 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /sicherheit.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Vorgaben und Maßnahmen zur Förderung der IT-Sicherheit und des Datenschutz 3 | --- 4 | 5 | # Sicherheit & Datenschutz {#sec-sicherheit} 6 | 7 | ::: {.callout-note title="Zusammenfassung"} 8 | 9 | Dieses Kapitel soll für das Thema IT-Sicherheit und Datenschutz sensibilisieren und geht dabei auch auf bibliotheksspezifische Besonderheiten ein. Nach der Beschreibung eines [Sicherheitsvorfalls](#sicherheitsvorfall) werden [Richtlinien und Vorgaben](#richtlinien-und-vorgaben) diskutiert, [Präventivmaßnahmen](#präventivmaßnahmen) vorgestellt und [Handlungsempfehlungen](#handlungsempfehlungen) gegeben. Im Anschluss werden wichtige Aspekte des [Datenschutzes](#datenschutz) erläutert. 10 | 11 | ::: 12 | 13 | ## Einleitung 14 | 15 | In den letzten Jahren ist die Zahl der Angriffe auf Bildungseinrichtungen, 16 | insbesondere Hochschulen und ihre Bibliotheken, deutlich gestiegen. Laut der 17 | Hochschulrektorenkonferenz (HRK) waren bis Januar 2023 insgesamt 24 Hochschulen 18 | bzw. Universitäten solchen cyberkriminellen Angriffen ausgesetzt und nahmen 19 | Schaden [@MDR2023]. Informationseinrichtungen aller Sparten werden zudem mit 20 | sicherheits- und datenschutzrelevanten Aufgaben konfrontiert. 21 | 22 | Die Entwicklung hin zur Digitalisierung, Automatisierung und Virtualisierung 23 | zieht nicht nur die Technisierung eigener Geschäftsgänge und Dienstleistungen 24 | nach sich. Diese Entwicklung erfordert auch eine größere Sensibilität und 25 | Aufmerksamkeit hinsichtlich der Sicherheit der eigenen Systeme. Safety und 26 | Security sind hierfür wichtige, zu unterscheidende Grundprinzipien. 27 | 28 | ::: {.callout-important title="Definition"} 29 | 30 | **Security** beinhaltet alle Maßnahmen zum Schutz vor Diebstahl oder 31 | Beschädigung von Soft- und Hardware. **Safety** meint den sicherheitsbewussten 32 | Umgang mit Netzwerken und Daten [@Hollaender2023]. 33 | 34 | ::: 35 | 36 | Bibliotheken verstehen sich als Orte, die ihre Informationen und 37 | vielschichtigen Dienstleistungen i.d.R. einer großen Nutzendenschaft zur 38 | Verfügung stellen. Sie tragen durch ihre Arbeit zur Umsetzung der 39 | Openness-Strategie in Gesellschaft und Wissenschaft bei. Offenheit und 40 | Transparenz sind schützenswerte Haltungen von Bibliotheken, welche gleichzeitig 41 | aber auch eine größere Angriffsfläche ermöglichen. 42 | 43 | Doch was macht Bibliotheken und Hochschulen so interessant für Angriffe? An 44 | diesen Orten werden für Cyberkriminelle interessante Daten verwaltet. Dazu 45 | gehören personenbezogene Daten von Nutzenden und Beschäftigten, schützenswerte 46 | Forschungsdaten, Bewegungsdaten, Lizenzdaten, Daten zur Nutzung von Literatur, 47 | etc. Die dabei abgegriffenen Daten können u.a. für Identitätsdiebstahl, 48 | Offenlegung privater Informationen oder für die Erstellung eines detaillierten 49 | Nutzerprofils herangezogen werden [@Hollaender2023]. 50 | 51 | IT-Sicherheit und Datenschutz sind auch immer eine Frage der Zuständigkeit. Je 52 | nach Größe, Art und Organisationsstruktur der Bibliothek muss die IT-Sicherheit 53 | mit den beteiligten Instanzen wie Stadtverwaltung, Verbundzentrale, den Rechen- 54 | und IT-Zentren der Institution und den IT-Sicherheitsbeauftragten und 55 | Datenschutzbeauftragten in Bezug auf die Verantwortlichkeiten abgestimmt 56 | werden. Grundsätzlich liegt die Aufgabe der Sensibilisierung und Schulung des 57 | Bibliothekspersonals im direkten Verantwortungsbereich der Bibliothek. 58 | 59 | ![Abgrenzung Datenschutzbeauftragte\*r IT-Sicherheitsbeauftrage\*r](media/datenschutz-vs-sicherheits-beauftragte.png){#fig-datenschutz-datensicherheit} 60 | 61 | Wenig ist zum Thema IT-Sicherheit in Bibliotheken veröffentlicht worden 62 | [@Kost2022]. Deshalb soll dieses Kapitel zur Vorbeugung nicht nur für das Thema 63 | IT-Sicherheit sensibilisieren, eine Beschreibung eines Sicherheitsvorfalls und 64 | einen Überblick über die Richtlinien und Vorgaben geben, sondern auch für 65 | Präventivmaßnahmen werben und Handlungsempfehlungen geben. Gleiches gilt für 66 | den Datenschutz. 67 | 68 | ## Sicherheitsvorfall 69 | 70 | ### Einfallstore 71 | 72 | Prominente Vorfälle in verschiedenen wissenschaftlichen Einrichtungen 73 | haben in den letzten Jahren Schwachstellen in IT-Systemen offenbart, die 74 | ernstzunehmende Sicherheitslücken darstellen. Dabei ist zu beachten, 75 | dass sowohl Maschinen als auch Menschen verantwortlich für diese Lücken 76 | sein können. Folgende sind die häufigsten Angriffsmethoden: 77 | 78 | - **Social Engineering:** Unter Social Engineering versteht 79 | man Methoden, die zum Vertrauensgewinn eingesetzt werden, um 80 | anschließend an sensible Informationen, Zugangsdaten für Systeme 81 | oder finanzielle Mittel zu gelangen. Social Engineering-Attacken 82 | können über persönliche Kontakte oder über Webdienste wie E-Mails 83 | oder Webseiten durchgeführt werden. 84 | 85 | - **Phishing:** Hierbei werden seriös wirkende E-Mails 86 | versendet, um den Empfänger\*innen Kennwörter oder 87 | Zahlungsinformationen zu entlocken, um so an sensible Daten zu 88 | gelangen. Die "Qualität" derartiger gefälschter E-Mails variiert 89 | stark. Es zeigt sich jedoch, dass sie kontinuierlich professioneller 90 | umgesetzt werden und schwieriger zu identifizieren sind. Häufig 91 | werden Phishing-Attacken mit Links auf präparierte Webseiten (sog. 92 | Watering Holes) kombiniert. In diesem Fall dienen sie auch als 93 | Haupteintrittstore für Ransomware, Malware, Viren und Würmer. 94 | 95 | - **Ransomware:** Bei dieser Art des Angriffs wird der 96 | Zugriff auf Daten eingeschränkt oder unterbunden, z.B. durch 97 | Verschlüsselung. Für die Wiederherstellung des Zugriffs wird ein 98 | Lösegeld gefordert. Ransomware hat von allen Angriffsmethoden das 99 | größte Schadenspotential. Neben Lösegeldforderungen entstehen hohe 100 | Ausfalls- und Wiederherstellungskosten.\ 101 | Als Beispiel: Für die direkten Kosten des Ransomware-Angriffs 2019 102 | auf die JLU Gießen werden mit Stand 2023 ca. 1,7 Mio. € für 103 | Schadensanalyse und -behebung kalkuliert. Zusätzliche Kosten für 104 | Aufwände und Workarounds sind in dieser Analyse nicht berücksichtigt 105 | und lassen sich schwer beziffern (@Kost2022). 106 | 107 | - **Denial-of-Service-Attacken (DoS):** Bezeichnet einen 108 | Angriff, um die Verfügbarkeit eines Netzwerkes zu beeinträchtigen 109 | und gleichzeitig Daten abzugreifen und umzuleiten. 110 | 111 | ### Bisherige Erfahrungen 112 | 113 | Bisherige Erfahrungen zeigen die weitreichenden Auswirkungen eines 114 | cyberkriminellen Angriffs auf Bibliotheken. In den meisten Fällen ist jedoch 115 | nicht nur die Bibliothek alleine betroffen, sondern die gesamte Hochschule, 116 | Kommune oder Forschungseinrichtun. Kommt es zu einem Angriff, ist es meist 117 | notwendig, alle IT-Dienste herunterzufahren. Eine Abschottung einzelner Dienste 118 | kann kaum vorgenommen werden. Man kann sich dies als einen "harten Cut" und ein 119 | Herunterfahren aller eigenen Server und virtuellen Maschinen zur Eingrenzung 120 | des schadhaften Fremdzugriffs vorstellen. Diese harte Maßnahme wird 121 | vorgenommen, da man nicht abschätzen kann, wo es im System schon zu welchen 122 | Schäden gekommen ist. Die Folgen: es funktioniert schlimmstenfalls NICHTS mehr. 123 | (W)LAN, Netzlaufwerke, Identity-Management und Anmeldedienste, E-Mail-Dienste, 124 | Terminverwaltungstools, Personal-Verwaltungssysteme, Türschließmechanismen, 125 | Zeiterfassung, IP-Telefonie, Lüftungs- und Beleuchtungssysteme, etc. Alle 126 | netzbetriebenen Dienste sind ggf. für mehrere Tage, Wochen oder sogar Monate 127 | außer Betrieb. 128 | 129 | Im Ernstfall können die vorhandenen Dienstgeräte und 130 | Kommunikationsdienste nicht mehr verwendet werden. Aufgrund dessen kann 131 | man zur Kommunikation auf private Geräte (Notebooks, Smartphones, etc., 132 | sofern die Mitarbeiter\*innen bereit dazu sind) und alternative 133 | E-Mail-Dienste ausweichen. Hier ist zu bedenken, dass diese 134 | Adhoc-Lösungen nicht unbedingt den datenschutzrechtlichen Ansprüchen 135 | entsprechen wenn keine Vertrag zur Auftragsdatenverarbeitung abgeschlossen wird. 136 | Von besonderer Bedeutung ist in diesem Fall auch das 137 | Identity Management System (IDMS), das nach einem Angriff gegebenenfalls 138 | alternativ aufgebaut werden muss. 139 | 140 | Die fortschreitende Digitalisierung, Automatisierung und Virtualisierung kann 141 | durchaus auch hilfreich sein, wenn die Systeme nicht mehr ausschließlich im 142 | eigenen Rechenzentrum betrieben werden. So können die extern betriebenen 143 | Anwendungen ggfs. über alternative (mobile) Netzwerke und mit bereits geprüften 144 | und wieder freigegebenen Notebooks schnell wieder genutzt werden. Als Beispiel 145 | sei hier das Bibliotheksmanagementsystem (siehe @sec-bibliotheksmanagementsysteme) 146 | genannt. Wenn dieses bei einem Dienstleister gehostet wird, ist es in der Regel 147 | vom Angriff nicht betroffen, so dass die Ausleihe und Rückgabe wieder zeitnah 148 | ermöglicht werden können. 149 | 150 | Zu guter Letzt darf auch nicht unterschätzt werden, welche zeitlichen Ausmaße 151 | ein Angriff einnehmen kann und welche psychischen und sozialen Auswirkungen er 152 | verursacht. Mitunter muss mit monatelangen Einschränkungen gerechnet werden und 153 | es kann nicht davon ausgegangen werden, dass alle Daten vollständig 154 | wiederhergestellt werden können. Daher gilt es nicht nur, einen Angriff 155 | möglichst zu vermeiden, sondern das Ausmaß möglicher Schäden zu minimieren. 156 | 157 | ### Wo bleibt die Künstliche Intelligenz der IT-Sicherheit? 158 | 159 | Im Zuge der heutigen digitalen Entwicklungen wirft dieses Thema 160 | natürlich auch die Frage auf, welche Auswirkungen KI auf die 161 | IT-Sicherheit hat. Nach jetzigen Erfahrungen hat KI bislang noch nicht 162 | dazu geführt, dass Systeme anfälliger für Angriffe werden. Denkbar ist, 163 | dass Phishing-Angriffe vereinfachen kann. Im Gegenzug könnten 164 | cyberkriminelle Angriffe durch Monitoring unserer Systeme mit KI 165 | erschwert werden. 166 | 167 | ## Richtlinien und Vorgaben 168 | 169 | Wie in jedem Bereich unseres Lebens finden sich auch in der 170 | IT-Sicherheit mehrere Richtlinien und Vorgaben sowohl auf nationaler als 171 | auch auf europäischer Ebene. 172 | 173 | ### IT-Sicherheit 174 | 175 | Auf nationaler Ebene liegt die Zuständigkeit unter anderem beim 176 | Bundesamt für Sicherheit in der Informationstechnik 177 | ([BSI](https://www.bsi.bund.de/DE/Das-BSI/Auftrag/auftrag_node.html)), 178 | welches seit 1991 mit der Aufgabe betraut ist, das Regierungsnetz und 179 | die kritischen Infrastrukturen (KRITIS) zu schützen. Auf Bundesebene 180 | wurde es eine zentrale Anlaufstelle für Sicherheitsstandards, sowie 181 | Meldestelle bei IT-Krisen. Es stellt unterschiedliche Normen zur 182 | IT-Sicherung zur Verfügung. Wann welcher Standard greift, hängt von der 183 | Komplexität des Einzelfalls ab. 184 | 185 | Für Bibliotheken sind hierbei auch die "Checklisten zum 186 | [IT-Grundschutz-Kompendium](https://www.bsi.bund.de/DE/Themen/Unternehmen-und-Organisationen/Standards-und-Zertifizierung/IT-Grundschutz/IT-Grundschutz-Kompendium/it-grundschutz-kompendium_node.html)" 187 | nach dem BSI-Standard 200-2 sehr empfehlenswert, da in diesen der 188 | aktuelle Stand der Integration des Grundschutzes überprüft werden kann. 189 | In diesem Zusammenhang wird auch auf die ISO/IEC-27000-Familie 190 | hingewiesen. In dieser Normenreihe sind neben definierten und stets 191 | aktuell gehaltenen Standards, die Anforderungen an Information Security 192 | Management Systems (ISMS), Empfehlungen für Kontrollmechanismen, als 193 | auch Best-Practices-Empfehlungen zu Aufbau und Organisation von 194 | Informationsfreiheit enthalten. 195 | 196 | ### Datenschutz 197 | 198 | Weitere Institutionen, die einen entscheidenden Einfluss auf die 199 | Vereinheitlichung des Datenschutzes in der Europäischen Union durch den 200 | Erlass der Datenschutz-Grundverordnung 201 | ([DSGVO](https://www.bmwk.de/Redaktion/DE/Artikel/Digitale-Welt/europaeische-datenschutzgrundverordnung.html)) 202 | von 2016 hatten, sind das Europäische Parlament und der Europäische Rat. 203 | Die DSGVO gilt seit 2018 unmittelbar in allen der EU zugehörigen Länder. 204 | Sie regelt unter anderem, dass jede Person das Recht auf Schutz der sie 205 | betreffenden personenbezogenen Daten hat. So dürfen Daten nur für einen 206 | bestimmten Zweck erhoben (Zweckbindung) und auch nicht für andere 207 | Vorhaben weiterverarbeitet werden (gem. Art 5 II DSGVO). Ferner wird in 208 | Art 37 DSGVO die Ernennung eines Datenschutzbeauftragten geregelt. 209 | 210 | Ergänzt wird diese Grundverordnung durch die einzelnen nationalen 211 | gesetzgebenden Instanzen. In Deutschland geschieht dies sowohl auf 212 | Bundes- als auch auf Landesebene, in Form des Bundesdatenschutzgesetzes 213 | (BDSG) sowie der 16 Landesdatenschutzgesetze. 214 | 215 | In Österreich wird die DSGVO ergänzt durch das Datenschutzgesetz (DSG) 216 | und das Netz- und Informationssystemsicherheitsgesetz (NISG). 217 | 218 | Ähnliche Gesetze wurden auch außerhalb der EU erlassen. So trat Anfang 219 | September 2023 in der Schweiz die neue Verordnung über 220 | Datenschutzzertifizierungen (VDSZ) in Kraft, welche sich an den 221 | Grundzügen der DSGVO orientiert. 222 | 223 | In ihrer besonderen Rolle als Institutionen für Informationsversorgung 224 | und Bereitstellung von Wissensinfrastruktur greifen Bibliotheken auch 225 | auf die Dienste externer Anbieter zurück, z.B. durch Verträge mit 226 | Wissenschaftsverlagen über digitale Literaturangebote. Hierbei ist es 227 | wichtig, dass Bibliotheken in diesen Verträgen darauf bestehen, dass das 228 | Tracking des Nutzungsverhaltens der Forschenden ausgeschlossen wird 229 | (@Reda2022), um die Wissenschaftsfreiheit und 230 | die informationelle Selbstbestimmung zu schützen [@DFG2021]. 231 | 232 | Aufgrund der stetigen Weiterentwicklung von Software und neuen 233 | Technologien hat die Europäische Kommission einen Vorschlag für ein 234 | neues Gesetz zur Widerstandsfähigkeit von Cyberangriffen, den [Cyber 235 | Resilience Act](https://digital-strategy.ec.europa.eu/en/policies/cyber-resilience-act), 236 | auf den Weg gebracht. Gemäß diesem Vorschlag sollen Verbraucher\*innen 237 | und Unternehmen beim Kauf von Produkten und Software mit digitalen 238 | Komponenten geschützt werden, indem verbindliche 239 | Cyber-Sicherheits-Anforderungen für diese Leistungen durch die 240 | Hersteller eingeführt werden sollen. Im nächsten Schritt werden nun das 241 | Europäische Parlament und der Europäische Rat über diesen Vorschlag 242 | beraten. 243 | 244 | ## Präventivmaßnahmen 245 | 246 | ### Passwortsicherheit 247 | 248 | Zu einem umfassenden IT-Sicherheitskonzept gehört, dass alle Beteiligten 249 | einen bewussten Umgang mit Passwörtern praktizieren. Passwörter sollten 250 | zum Beispiel nicht ohne Weiteres für Dritte zugänglich auf Papier oder 251 | einem anderen Medium (z. B. unverschlüsselt auf dem Computer) 252 | festgehalten werden. Bei Verdacht auf Angriff sollten alle betroffenen 253 | Passwörter umgehend geändert werden. Bei einer großen Menge an 254 | Passwörtern empfiehlt es sich, einen Passwort-Manager zu verwenden. Für 255 | die Wahl des Passworts sollten die allgemein gültigen Empfehlungen 256 | beachtet werden (beispielsweise die [Passwort-Empfehlungen des BSI]( Tipps zur Erstellung sicherer Passwörter: https://www.bsi.bund.de/DE/Themen/Verbraucherinnen-und-Verbraucher/Informationen-und-Empfehlungen/Cyber-Sicherheitsempfehlungen/Accountschutz/Sichere-Passwoerter-erstellen/sichere-passwoerter-erstellen_node.html)). 257 | 258 | ### Authentifizierung und Autorisierung 259 | 260 | Unter Authentifizierung verstehen wir grundsätzlich das eindeutige 261 | Erkennen eines Zugriffs auf eine Ressource wie z.B. einen Dienst oder 262 | einen Computer, aber auch auf ein physisches Objekt wie z.B. einen 263 | Drucker. 264 | 265 | In der Regel erfolgt heutzutage der Zugriff über ein Netzwerk, d. h., 266 | auch die Authentifizierung muss über das Netzwerk erfolgen. Für Geräte 267 | (Computer) kann dies durch technische Merkmale wie den Media Access Code 268 | (MAC Adresse) oder - flexibler - über die IP-Adresse durchgeführt 269 | werden. Diese Merkmale authentifizieren jedoch nur das Gerät und lassen 270 | noch keine Aussage darüber zu, wer dieses Gerät gerade benutzt. 271 | 272 | Eine Authentifizierung einer Person erfolgt meistens über eine 273 | eindeutige Kennung und ein zugehöriges Passwort. Wenn möglich, sollten 274 | verschiedene Authentifizierungsverfahren miteinander kombiniert werden. 275 | Es wird dann auch von einer 2-Faktor-Authentifizierung (2FA) bzw. einer 276 | Mehrfaktor-Authentifizierung (MFA) gesprochen. 277 | 278 | Ist ein Zugriff eindeutig durch entsprechende Authentifizierung erkannt, 279 | kann auf Basis verschiedener Informationen je nach Bedarf entschieden 280 | werden, ob der Zugriff auch berechtigt ist. D. h., der Zugriff muss 281 | autorisiert werden. Dies kann sehr individuell erfolgen (Konto A hat 282 | Zugriff, Konto B nicht) oder anhand der Zugehörigkeit eines Kontos zu 283 | einer bestimmten Personengruppe. 284 | 285 | Alle Komponenten, die zur Authentifizierung und Autorisierung in einer 286 | Einrichtung notwendig sind, werden auch als Authentifizierungs- und 287 | Autorisierungsinfrastruktur (AAI) bezeichnet. Wurde in einer Einrichtung 288 | eine AAI aufgebaut, auf welche jede Anwendung zurückgreifen kann, kann 289 | man festlegen, dass nach einmaligem Login ein Zugriff auf alle 290 | Anwendungen möglich und ein separates Einloggen nicht nötig ist. Dies 291 | wird auch als **Single-Sign-On (SSO)** bezeichnet. 292 | 293 | ![Herangehensweisen für Single-Sign-On](media/sso-approaches.svg){#fig-sso} 294 | 295 | **Links:** Benutzer\*in meldet sich auf einem **Portal** an und bekommt 296 | Zugriff auf alle eingebundenen Dienste. **Mitte:** Benutzer\*in 297 | speichert alle Anmeldedaten auf einem Datenträger oder im Netzwerk. Ein 298 | **lokal**es Programm meldet ihn\*sie separat bei jedem Dienst, Portal oder 299 | Ticketing-System ein. **Rechts:** Benutzer\*in meldet sich bei einem der 300 | Dienste an und bekommt ein **Ticket** für den gesamten "Kreis der 301 | Vertrauten". 302 | 303 | Zentrale Komponenten sind hierbei der **Identity Provider (IDP)**, der auf 304 | Basis des dahinterliegenden IDMS eine digitale Identität inkl. notwendiger 305 | Benutzer\*innenattribute bereitstellt und an dem die einmalige Anmeldung 306 | stattfindet. Die genutzten Anwendungen werden allgemein als **Service Provider 307 | (SP)** bezeichnet. 308 | 309 | Eine gute Möglichkeit, das Internet sicher zu nutzen, ist das **Virtual 310 | Private Network (VPN)**. Das VPN verschlüsselt die Identität von 311 | Internetnutzer\*innen. Damit wird es Dritten erschwert, die 312 | Nutzer\*innen im Internet zu verfolgen und Daten abzugreifen. VPN nutzt 313 | dabei eine Echtzeitverschlüsselung. Informationen werden in eine 314 | unleserliche Form umgewandelt und können nur mit einem Schlüssel wieder 315 | in die ursprüngliche leserliche Form gebracht werden. 316 | 317 | ### Updates und Backups 318 | 319 | Eine sichere Hard- und Software ist unabdingbar. Rechner sollten 320 | ausreichend geschützt sein. Dazu gehören unter anderem aktuelle 321 | Virenscanner und automatische Updates des Virenscanners, des 322 | Betriebssystems und jeder auf dem Rechner laufenden Software. Fehlende 323 | Updates können als Einfallstore genutzt werden, um Schadsoftware auf den 324 | Computer und damit auch in das Netzwerk einzuschleusen. 325 | 326 | Falls es zu einem Angriff oder Ausfall des Systems kommt, muss auf 327 | Backups zurückgegriffen werden. Dabei wird eine Sicherungskopie 328 | angelegt, meist auf einem anderen Medium, wie z. B. einer externen 329 | Festplatte. Server werden mittels eines RAID-Verfahrens gespiegelt, d. 330 | h. die Daten werden auf einen zweiten Server übertragen. Da es bei einem 331 | Backup auch zu Datenverlust oder -beschädigung kommen kann, empfiehlt es 332 | sich, mehr als eine Kopie anzulegen, z. B. auf Magnetbändern. 333 | 334 | ::: {.callout-important title="Definition"} 335 | 336 | Ein **Server** ist ein zentraler Rechner (virtuell oder 337 | physikalisch), der Daten zur Verfügung hält und diese auf Anfrage 338 | durch einen Client (PC, mobiles Gerät) zur Verfügung stellt. 339 | 340 | ::: 341 | 342 | ### Schulungen 343 | 344 | Regelmäßige Weiterbildungen ermöglichen es den Mitarbeiter\*innen von 345 | Bibliotheken, ihre Fähigkeiten auszubauen und die Sensibilität für 346 | Themen wie IT-Sicherheit zu erhöhen. Die im Abschnitt [Richtlinien und 347 | Vorgaben \[interne Verlinkung\]]{.underline} erwähnten Rahmenbedingungen 348 | schaffen dabei ein Grundgerüst für Schulungsinhalte und können für 349 | verpflichtende IT-Sicherheitsschulungen - wie sie bereits von einigen 350 | Bibliotheken durchgeführt werden - verwendet werden. 351 | 352 | Es sollten zwei Arten von Schulungen durchgeführt werden: für 353 | Mitarbeiter\*innen und Nutzer\*innen. Mitarbeiter\*innen sollten 354 | dahingehend sensibilisiert werden, dass sie mit schützenswerten Daten 355 | arbeiten. Es ist bspw. wichtig, daran zu denken, dass gerade Geräte in 356 | Büros im Sichtfeld von Personen durch sinnhafte Positionierung oder 357 | Blickschutzfilter vor unbefugtem Sehen geschützt werden. Auf die 358 | Wichtigkeit sicherer Passwörter wurde bereits weiter oben in diesem 359 | Abschnitt hingewiesen. Es sollte zudem auf die Angriffsmöglichkeiten im 360 | Abschnitt ["Sicherheitsvorfall" \[interne Verlinkung\]]{.underline} 361 | aufmerksam gemacht werden. Beispielhafte Erklärungen möglicher 362 | Angriffsszenarien und Möglichkeiten (z. B. Tools) sich zu schützen, 363 | sollten aufgezeigt werden. 364 | 365 | ## Handlungsempfehlungen 366 | 367 | Sind öffentliche Einrichtungen (Hochschulen, Kommunen) von Cyberattacken 368 | betroffen, hat dies allumfassende Folgen. Im schlimmsten Fall sind 369 | sämtliche Dienste nicht mehr verfügbar und die Ausfallzeit und 370 | Schadenshöhe weisen ins Ungewisse. Dann können Notfall- und 371 | Sicherheitskonzepte teils detaillierte Anleitungen für die Ersthilfe 372 | bieten. Generell gilt, dass Cyberattacken nicht nur eine kommunikative, 373 | sondern häufig auch eine Organisationskrise nach sich ziehen. 374 | 375 | ![Übersicht über mögliche Gefahrenquellen und Maßnahmen zur Prävention und im Fall eines Schadenfalles](media/massnahmen-und-praevention.jpg){#fig-massnahmen-praevention} 376 | 377 | Zum einen muss intern (mit vorbereiteten Notfallgeräten oder ggf. privaten 378 | Endgeräten) und extern (mit Dienstleister\*innen, Bibliothekspartner\*innen, 379 | Bibliotheksnutzer\*innen) kommuniziert werden u.a. über den Vorfall, und ggf. 380 | weiterlaufende Dienste (cloudbasierte und von Drittanbieter\*innen). Besonders 381 | cloudbasierte Dienste können im Notfall evt. gute Alternativlösungen bieten, 382 | das gilt zum einen für alternative Loginverfahren z.B. bei extern gehosteten 383 | Plattformen für E-Ressourcen, wenn das IDMS nicht zur Verfügung steht. 384 | 385 | Ist das BMS einer Bibliothek cloudbasiert, kann ein Ausleihbetrieb mit 386 | Notfallgeräten schneller wieder aufgenommen werden, da die Daten vor dem Hacker 387 | besser geschützt sind. Ähnlich kann man mit eigenen Dokumenten vorgehen, in dem 388 | das Active Directory des eigenen Systems ein tägliches Update erstellt und z.B. 389 | im CSV-Format an eine Cloud exportiert. Im einfachsten Fall betrifft es nur 390 | Notfalldokumente, die einem Krisenstab zugänglich sind. Tritt ein Notfall ein, 391 | kann man über die Standard-Benutzeroberfläche der Cloud die gesicherten Skripte 392 | starten. Der Cloudbetreiber sollte Erfahrungen mit Notfall-Lösungen und 393 | Umgebungen haben. Trotzdem sollte die Bibliothek ihre Datensicherung gut planen 394 | und cloudbasierte oder andere netzwerkunabhängige Backups länger vorhalten 395 | (mindestens 14 Tage), um auf nicht infizierte Sicherungen zurückgreifen zu 396 | können. Es ist ja nicht auszuschließen, dass die Angreifer die Zugangsdaten für 397 | die Datensicherung abgreifen konnten. Daher sollte auch über eine 398 | Verschlüsselung der Datensicherung in Erwägung gezogen werden. Genauso gilt es, 399 | die Wiederherstellung der Daten zu planen und zu üben. Unerlässlich ist auch 400 | eine gute Dokumentation der gesamten Notfall-Architektur. 401 | 402 | Und zum anderen sind alternative Abläufe aufzubauen, um wieder an der 403 | digitalen Arbeitswelt teilzunehmen und den Bibliotheksbetrieb 404 | weitestgehend wieder anbieten zu können. 405 | 406 | Die kommunikativen Anforderungen sind wie die organisatorischen als sehr 407 | hoch einzuschätzen, da Informationseinrichtungen mit ihren analogen 408 | Begegnungsmöglichkeiten Schnittstellen für eine ganze Hochschule sein 409 | können. Für beide Aufgaben können andere Bibliotheken und externe Firmen 410 | Unterstützung bieten. 411 | 412 | Stehen Plan und eine Notfallumgebung, ist es unerlässlich, regelmäßige 413 | Notfallübungen durchzuführen. Damit trainiert man die Abläufe und kann diese 414 | regelmäßig überprüfen und optimieren [@Mueller2023]. Die dadurch entstehende 415 | Routine kann Sicherheit für den Ernstfall geben. Dennoch darf man nicht 416 | unterschätzen, dass ein Angriff auch persönliche Auswirkungen auf alle 417 | Betroffenen hat. 418 | 419 | ## Fazit 420 | 421 | Lässt man die Informationen in diesem Kapitel noch einmal Revue 422 | passieren, bleibt als abschließendes Fazit frei nach Ringelnatz nur zu 423 | sagen: "Sicher ist, dass nichts sicher ist. Selbst das nicht". 424 | Trotzdem ist man der Gefahr nicht hilflos ausgeliefert. Durch 425 | Präventivmaßnahmen, Notfall-Systeme und Pläne kann man einen Angriff 426 | wohl nicht verhindern. Man kann jedoch versuchen, den Schaden und die 427 | daraus folgenden Belastungen so gering wie möglich zu halten. In vielen 428 | Bibliotheken entstehen derzeit individuelle Sicherheitskonzepte und neue 429 | Sicherheitsmaßnahmen. Die nächsten Monate und Jahre werden zeigen, mit 430 | welchen neuen Strategien sich Bibliotheken vor Cyberangriffen schützen 431 | und sich auf diese vorbereiten können. 432 | 433 | 442 | 443 | -------------------------------------------------------------------------------- /anforderungen.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Wie muss die IT in Bibliotheken beschaffen sein und mit welchen Methoden lassen sich Bedarfe und Anforderungen ermitteln? 3 | --- 4 | 5 | # Anforderungsanalyse {#sec-anforderungen} 6 | 7 | ::: {.callout-note title="Zusammenfassung"} 8 | 9 | Dieses Kapitel behandelt die Anforderungsanalyse als Kernbestandteil des Entwicklungsprozesses von IT-Systemen. Der Schwerpunkt liegt dabei auf verschiedenen Möglichkeiten zur [Einbeziehung von Nutzer*innen](#einbeziehung), um die tatsächlichen Bedürfnisse möglichst passend zu erfüllen. 10 | 11 | ::: 12 | 13 | ## Einleitung 14 | 15 | Im Kapitel IT-Management (@sec-management) 16 | wurde bereits auf Themen wie Barrierefreiheit und software-ergonomische 17 | Anforderungen sowie den permanenten Anpassungsbedarf an Systeme 18 | im Laufe ihrer Lebenszeit eingegangen. 19 | 20 | Betrachtet man sein persönliches Nutzungsverhalten im digitalen Bereich, wird 21 | klar, dass sich auch die eigenen Präferenzen bezüglich der Nutzung von Apps 22 | oder Webseiten ändern. Ursachen dafür sind beispielsweise Veränderungen an 23 | Lebens- oder Arbeitskontexten, Erwartungen an die Bedienbarkeit von Systemen 24 | oder neue Nutzungsformen von Medien, die durch technischen Fortschritt und 25 | digitale Transformation möglich gewordene sind. 26 | 27 | IT-Entwicklung in Bibliotheken sollte sich daher in erster Linie an den 28 | [Bedürfnissen](#bedarfsermittlung) von [Nutzer\*innen](#einbeziehung) 29 | ausrichten. Es gibt verschiedene Methoden, die entsprechenden Bedarfe und 30 | Anforderungen zu ermitteln und sie in die Entwicklung einzubeziehen. Dazu 31 | gehören unter anderem der Einsatz von Personas, Use Cases oder Storyboards. 32 | Weitere [Methoden](#methoden) sind zum Beispiel Storyboards, Wireframes oder 33 | auch Prototypen. 34 | 35 | ## Nutzer\*innenorientierte Gestaltung {#sec-nutzerinnenorientierte-gestaltung} 36 | 37 | Nutzer\*innenorientierte Gestaltung heißt, die Bedürfnisse von Nutzenden 38 | in den gesamten Entwicklungsprozess einzubeziehen. Das bedeutet, dass 39 | deren Bedarfe nicht nur als Quelle von initialen Anforderungen dienen, 40 | sondern kontinuierlich in den Entwicklungsprozess einbezogen werden. 41 | Hierbei ist es besonders wichtig, die Fähigkeiten und Bedürfnisse der 42 | Nutzenden sowie ihre Arbeitskontexte und -aufgaben in den Entwurf von 43 | IT-Systemen einzubeziehen. Diese Aspekte finden sich auch in den 44 | zugrunde liegenden Definitionen, wie der Usability (siehe Abschnitt [Was 45 | beeinflusst den Nutzungseindruck?](#was-beeinflusst-den-nutzungseindruck)) 46 | wieder. 47 | 48 | Beim nutzer\*innenorientierten Design oder dem User-Centered Design 49 | (UCD) handelt es sich nicht im formale Methoden im engeren Sinn, sondern 50 | um eine Sammlung i.d.R. empirisch abgesicherter Techniken mit drei 51 | Kernideen [@gould_designing_1987]: 52 | 53 | 1. Fokussierung auf Nutzer\*innen und deren Aufgaben von Beginn der 54 | Entwicklung an 55 | 56 | 2. deren kontinuierliche Einbeziehung und Auswertung von 57 | Nutzer\*innen-Feedback sowie Performance-Messung 58 | 59 | 3. Nutzung eines iterativen Design-Prozesses 60 | 61 | @kling_human_1998 ergänzen, dass die ganz individuellen Fähigkeiten der 62 | Nutzenden in Betracht gezogen werden müssen, was allein 63 | schon aus Gründen der digitalen Teilhabe sinnvoll erscheint. 64 | 65 | Generell zielt UCD darauf ab, interaktive Systeme zu entwickeln, welche einfach 66 | zu nutzen und nützlich sind. Hierbei wird ein Fokus auf Aspekte wie 67 | [Effektivität, Effizienz und Zufriedenheit](https://www.usability.de/usability-user-experience.html) 68 | gelegt [@din_2020]. Diese Aspekte werden im 69 | Abschnitt [Was beeinflusst den 70 | Nutzungseindruck?](#was-beeinflusst-den-nutzungseindruck) weiter erläutert. 71 | 72 | Das Central Digital and Data Office des Vereinigten Köngreichs fasst 73 | die zentral zu bearbeitenden Arbeitspunkte im nutzer\*innenzentrierten 74 | Gestaltungsprozess und den Weg dahin prägnant in seinen "Government 75 | Design Principles" zusammen @noauthor_government_2012: 76 | 77 | 1. Start with user needs 78 | 79 | 2. Do less 80 | 81 | 3. Design with data 82 | 83 | 4. Do the hard work to make it simple 84 | 85 | 5. Iterate. Then iterate again 86 | 87 | 6. This is for everyone 88 | 89 | 7. Understand context 90 | 91 | 8. Build digital services, not websites 92 | 93 | 9. Be consistent, not uniform 94 | 95 | 10. Make things open: it makes things better 96 | 97 | Unter der oben genannten Website des Central Digital and Data Office 98 | finden sich auch umfangreiche Hinweise, wie sich die einzelnen Punkte 99 | praktisch umsetzen lassen. 100 | 101 | ### Was beeinflusst den Nutzungseindruck? 102 | 103 | Gut bedienbare, interaktive Systeme sollen Zufriedenheit auslösen und 104 | zugänglich sein. Die Erreichung dieser Ziele und zentrale 105 | Begriffsdefinitionen sind Teil des Arbeits- und Forschungsgebiets der 106 | Software-Ergonomie und finden sich in den einschlägigen Normen wie der 107 | DIN EN ISO 9241-11 wieder [@din_2020]. 108 | 109 | Von zentraler Bedeutung sind dabei zwei Kernbegriffe: die Usability 110 | (Gebrauchstauglichkeit) und die User Experience (Nutzer\*innenerfahrung) 111 | 112 | ::: {.callout-tip} 113 | 114 | **Usability** ist das "Ausmaß, in dem ein System, ein Produkt oder eine 115 | Dienstleistung durch bestimmte Benutzer in einem bestimmten Nutzungskontext 116 | genutzt werden kann, um festgelegte Ziele effektiv, effizient und 117 | zufriedenstellend zu erreichen" [DIN EN ISO 9241-11](https://de.wikipedia.org/wiki/ISO_9241) 118 | 119 | **User Experience** bezeichnet die "Wahrnehmungen und Reaktionen einer Person, 120 | die aus der tatsächlichen und/oder der erwarteten Benutzung eines Produkts, 121 | eines Systems oder einer Dienstleistung resultieren" 122 | [DIN ISO 9241-210:2011](https://germanupa.de/wissen/berufsbild-usability-ux-professional/grundlegend/menschzentrierte-gestaltung) 123 | 124 | ::: 125 | 126 | Bei Usability handelt es sich um eine Eigenschaft eines Systems, die während 127 | der konkreten Interaktion mit diesem relevant wird und beispielsweise angibt, 128 | inwiefern Hürden bei der Bedienung auftreten (@fig-usux). Es ist also keine 129 | Produkt- sondern eine Gebrauchsqualität, die sich erst während der Nutzung 130 | zeigt. 131 | 132 | Zur Vermeidung von Usability-Problemen 133 | existieren ein Vielzahl von Heuristiken, die in den einschlägigen Normen 134 | skizziert werden bzw. durch Autoren wie @shneiderman_designing_2005 in 135 | ihren "8 golden rules" oder Nielsen mit seinen "[10 136 | Heuristics](https://www.nngroup.com/articles/ten-usability-heuristics/)" 137 | benannt werden. 138 | 139 | Die User Experience hingen bezieht sich auf die Wahrnehmung der 140 | Nutzenden sowohl vor, nach und auch während der Interaktion. Sie 141 | bezeichnet sozusagen die Positionierung gegenüber einem System und hat 142 | damit Auswirkungen darauf, ob Nutzende ein System erneut benutzen werden 143 | oder, z. B. aufgrund von schlechter Bedienbarkeit, d. h. schlechter 144 | Usability, vor einer zukünftigen Nutzung zurückschrecken. Es reicht 145 | folglich nicht aus, einzelne Aspekte einer Nutzer\*innenschnittstelle zu 146 | optimieren. Vielmehr muss der gesamte angebotene Service aus Sicht der 147 | Nutzenden optimiert werden, damit sich ein positives Nutzungserlebnis 148 | einstellt. Diese Optimierung beschränkt sich dabei nicht nur auf die 149 | digitalisierten Anteile eines Services sondern bezieht alle 150 | Arbeitsschritte, egal ob analog oder digital, mit ein. 151 | 152 | ![Zusammenhang zwischen Usability und User Experience](media/usability_ux.svg){#fig-usux width=90%} 153 | 154 | ## Wie beziehen wir unsere Nutzer\*innen ein? {#einbeziehung} 155 | 156 | Mit der Einführung einer neuen IT-Lösung werden bestimmte strategische 157 | Ziele verfolgt wie die Ablösung eines veralteten Systems, die Einführung 158 | einer neuen Dienstleistung und dergleichen. Die konkrete Ausgestaltung 159 | dieser strategischen Ziele sollte unter Einbeziehungen der 160 | beabsichtigten Nutzenden erfolgen. Die konsequente Bedarfsorientierung 161 | sichert die Qualität der Dienste und verhindert, dass eigene Bedürfnisse 162 | und Einschätzungen von Expert\*innen die Entwicklung dominieren. Für die 163 | Einbeziehung von Nutzer\*innen gibt es verschiedene Methoden, die im 164 | Folgenden kurz dargestellt werden sollen. 165 | 166 | ### Bedarfsermittlung {#bedarfsermittlung} 167 | 168 | #### Klassische Methoden zur Bedarfsermittlung 169 | 170 | Zu den in Bibliotheken auch jenseits der Entwicklung von digitalen 171 | Diensten häufig genutzten Methoden der Bedarfsermittlung gehören 172 | qualitative und quantitative Befragungen sowie Beobachtungen. Diese 173 | Methoden sind aus der empirischen Sozialforschung entlehnt. Für viele 174 | Software-Projekte sind groß angelegte Befragungen zu aufwändig, 175 | allerdings ist es empfehlenswert, sich über Studien aus vergleichbaren 176 | Projekten zu informieren und daraus nach Möglichkeiten Ableitungen für 177 | eigene Zielsetzungen zu entwickeln. 178 | 179 | Beobachtungen können sehr flexibel angelegt und geplant werden. Dadurch 180 | können valide Ergebnisse mit vertretbarem Aufwand produziert und 181 | die Studie bei Bedarf gut skaliert werden. Der Fokus bei solchen Studien 182 | liegt darauf, Nutzer\*innen in ihrem Arbeitsalltag zu beobachten, um 183 | ihre Herangehensweise bei der Lösung von Aufgaben und Problemen zu 184 | ermitteln. Übertragen auf digitale Dienste kann das zum Beispiel im 185 | Rahmen eines Usability-Tests passieren, in dem eine oder mehrere 186 | Personen ein System nutzen. Typischerweise werden während des Tests 187 | nicht nur Notizen oder Aufnahmen gesichert, sondern die Tester\*innen 188 | nutzen die Think-Aloud-Methode. Dabei sollen Nutzende in Echtzeit laut 189 | kommentieren, was sie denken, sehen und tun (siehe Abschnitt 190 | [Methoden](#methoden)). 191 | 192 | Fokusgruppen dagegen sind eine qualitative Methode, in der 193 | Vertreter\*innen verschiedener Zielgruppen gemeinsam an einem 194 | bestimmten, vorher formulierten Thema arbeiten. Das können sowohl 195 | Diskussionen über Anforderungen und Wünsche an ein bestimmtes System 196 | sein, als auch die Planung von Einsatzszenarien oder Workflows. Durch 197 | die freie Wahl von Themen und Mitgliedern, z. B. Nutzende ohne 198 | Vorerfahrungen und/oder Expert\*innen, sind Fokusgruppen ebenfalls eine 199 | sehr flexible, breit anwendbare Methode. 200 | 201 | #### Bedarfsermittlung mit Personas und Use Cases 202 | 203 | Personas sind fiktive Persönlichkeiten, die stellvertretend für einzelne 204 | Zielgruppen eines Dienstes entwickelt werden. Die Beschreibungen 205 | enthalten vielfältige Informationen über die Persona und laden damit 206 | dazu ein, den zu entwickelnden Dienst aus der Perspektive der jeweiligen 207 | Persona zu beurteilen, jenseits von abstrakten Anforderungen. Darüber 208 | hinaus helfen Personas dabei, Prioritäten zu setzen und die 209 | Zielerreichung zu überprüfen. Es empfiehlt sich, für jedes strategische 210 | Ziel eine Persona zu erstellen, mindestens drei bis fünf Personas 211 | insgesamt. 212 | 213 | Abgeleitet von solchen Personas fällt es häufig leicht, konkrete Use 214 | Cases für die Interaktion mit einem System zu definieren. Ein Use Case 215 | beschreibt dabei eine Reihe von Aktionen, die eine Person in bzw. mit 216 | einem System durchführen kann. Das kann beispielsweise in einem 217 | Fließtext passieren, in dem ein Szenario beschrieben wird. 218 | 219 | ![Bild einer Personabeschreibung](media/persona.png){#fig-persona width=90%} 220 | 221 | Außerdem kann es sich lohnen, solche Use Cases zu visualisieren. Dabei können 222 | Start, Ende, mögliche Verzweigungen, alternative Aktionen und mehr mit 223 | verschiedenen Formen modelliert werden. Dafür können formalisierte Systeme wie 224 | die Unified Modelling Language (UML) zum Einsatz kommen. Sie bietet ein Set 225 | verschiedener Formen, um Start, Ende, Verzweigungen, Alternativen und mehr 226 | visuell zu beschreiben. Aber auch Skizzen können Nutzungsszenarien bereits 227 | verdeutlichen und als Diskussionsgrundlage dienen, z. B. in Form von 228 | Storyboards, die in einem eigenen [Unterkapitel zu dieser 229 | Methode](#storyboards-als-frühe-methode) noch beschrieben werden. 230 | 231 | Use Cases können sowohl als Grundlage für den Entwicklungsprozess dienen 232 | als auch für die Evaluation eines Systems (siehe Abschnitt 233 | [Evaluierung](#evaluierung)). Für die Nutzenden-Personas 234 | einer Bibliothek kann eine breite Palette von Use Cases existieren. 235 | Manche sind dabei eher allgemein zu verstehen, andere 236 | bibliotheksspezifisch und natürlich sind alle je nach Einrichtung bzw. 237 | Anforderungen beliebig erweiterbar. Zu beachten ist, dass sowohl 238 | Personas als auch Use Cases zwingend auf der Grundlage 239 | vertrauenswürdiger Daten wie denen aus der Bedarfsermittlung erstellt 240 | werden sollten. Solche Methoden ohne Kenntnisse der Zielgruppen 241 | anzuwenden kann nur zur Reproduktion der eigenen Meinung führen. 242 | 243 | ### Methoden {#methoden} 244 | 245 | Testaufgaben für Usability-Tests werden erstellt, um typische 246 | Nutzungsszenarien mit Hinblick auf die Usability des Systems hin zu 247 | überprüfen. Die folgenden Methoden können relativ einfach umgesetzt 248 | werden, generieren jedoch bereits wertvolle Erkenntnisse. 249 | 250 | #### Think-Aloud-Methode 251 | 252 | Die zentrale Idee der Think-Aloud-Methode ist, dass Proband\*innen 253 | während der Interaktion mit dem zu evaluierenden System ihre Meinungen, 254 | Gedanken und Gefühle laut aussprechen. 255 | 256 | Dadurch wird es den Beobachter\*innen ermöglicht, zuvor unsichtbare, 257 | kognitive Prozesse der Proband\*innen zu beobachten sowie einen Einblick 258 | in typische Nutzungsweisen zu gewinnen. Durch die Verbalisierung und 259 | Beschreibung des Systems durch die Nutzenden lernt man zeitgleich die 260 | Nutzer\*innenterminologie für bestimmte Sachverhalte kennen, die teils 261 | erheblich von der Fachsprache abweichen wird. Die Ergebnisse der Methode 262 | können z. B. durch Notizen oder Audioaufnahmen festgehalten werden. 263 | 264 | #### Co-Discovery Learning 265 | 266 | Die Kernherausforderung bei der Erstellung von Think-Aloud-Protokollen 267 | ist es, die Proband\*innen kontinuierlich zu motivieren, selbst kleinste 268 | Gedanken zu verbalisieren. Beim Co-Discovery Learning arbeiten zwei 269 | Testpersonen gleichzeitig an einem System und helfen sich gegenseitig 270 | bei der Erfüllung der Aufgaben. Dadurch entstehen Gespräche und 271 | gewissermaßen automatisch ein Think-Aloud-Protokoll beider Personen. 272 | 273 | Die Methode bildet einerseits eine realistische Arbeitssituation des 274 | gegenseitigen Helfens ab und normalisiert andererseits das laute 275 | Aussprechen von Gedanken innerhalb einer Dialogsituation. 276 | 277 | #### Quantitative Methoden 278 | 279 | Beobachtungsmethoden generieren primär qualitative Daten, ebenso wie 280 | viele Inspektionsmethoden. Aus Managementsicht werden jedoch oft 281 | Entscheidungen auf Grundlage von quantitativen Daten bevorzugt, da diese 282 | häufiger als Fakten wahrgenommen werden. 283 | 284 | Einfache, relativ leicht zu erhebende quantitative Metriken im Rahmen 285 | von Usability-Tests sind z.B.: 286 | 287 | - Nutzungsfehler pro Zeiteinheit, 288 | 289 | - Anzahl nicht benötigter Befehle (Menüs, Icons, Links) 290 | 291 | - Benötigte Zeit für den Abschluss einer Arbeitsaufgabe (insbesondere 292 | im Vergleich mit einer vorherigen Iteration) 293 | 294 | - Benötigte Anzahl an Klicks/Links, um an ein bestimmtes Ziel zu 295 | kommen. 296 | 297 | Der "Benutzungsfragebogen ISONORM 9241/10" bietet einen interessanten 298 | Kompromiss zwischen qualitativen und quantitativen Daten, da er 299 | qualitative Aussagen bezüglich der Usability eines Systems (z.B. 300 | Aufgabenangemessenheit und Selbstbeschreibungsfähigkeit) mithilfe einer 301 | siebenstufigen Likert-Skala abbildet. Der 302 | [Fragebogen](https://people.f3.htw-berlin.de/Professoren/Pruemper/instrumente.html) 303 | ist frei im Internet verfügbar. Beachtet werden muss, dass für 304 | belastbare quantitative Daten die Größe der Testgruppe deutlich steigen 305 | muss, um Verfälschungen durch Einzelpersonen zu vermeiden. 306 | 307 | ### Einbeziehung von Nutzenden in die Entwicklung 308 | 309 | Als Grundlage für Personas oder Use Cases und alle weiteren Schritte ist 310 | die Einbeziehung von tatsächlichen Nutzenden in die Entwicklung also 311 | bereits in einem frühen Stadium möglich und sinnvoll. Diese Einbeziehung 312 | sichert ab, dass wesentliche Ziele der Nutzenden erreicht werden und in 313 | mitunter komplexen Entwicklungsprozessen die richtigen Schwerpunkte 314 | gesetzt werden. Dafür stehen verschiedene Methoden zur Verfügung. 315 | 316 | Nachfolgend werden drei Ansätze vorgestellt: 317 | 318 | - Storyboards - Skizzierung von Interaktionskonzepten 319 | 320 | - Wireframes und Mock-Ups - Skizzen der Oberflächen 321 | 322 | - Prototypen - erste funktionsfähige Iterationen 323 | 324 | #### Storyboards als frühe Methode 325 | 326 | Ein Storyboard illustriert, wie ein User Interface (UI, 327 | Nutzer\*innenoberfläche) auf Eingaben reagiert, ohne das Interface 328 | visuell perfekt darzustellen. Es kann genutzt werden, um in Use Cases 329 | bestimmte Aktionen zu illustrieren. 330 | 331 | Die Visualisierung von Interaktionsideen kann Beteiligten helfen, 332 | mögliche Abläufe nachzuvollziehen. Storyboards sind dabei oft leichter 333 | verständlich als z. B. technische Diagramme mit der oben genannten UML. 334 | Trotzdem ist darauf zu achten, dass Ideen und Konzepte für Stakeholder 335 | und Nutzende klar beschrieben werden, um Missverständnisse zu vermeiden. 336 | In dieser Form lassen sich Storyboards nutzen, um z.B. verbale 337 | Beschreibungen oder Nutzungsszenarien zu ergänzen. 338 | 339 | Durch die noch vage Darstellung der Idee können dann Diskussionen 340 | angeregt werden. Beispielsweise können Storyboards in Fokusgruppen 341 | vorgestellt und diskutiert oder auch in Einzelgesprächen mit 342 | verschiedenen Stakeholdern analysiert werden. Möglichst alle Fragen und 343 | Ideen sollten dabei ohne Limitierungen behandelt werden können und die 344 | Ergebnisse festgehalten werden. 345 | 346 | Vor- und Nachteile von Storyboards im Überblick: 347 | 348 | ----------------------------------------------------------------------- 349 | Vorteile Nachteile 350 | ----------------------------------- ----------------------------------- 351 | leicht verständlich, für alle nicht jeder Use Case oder jede 352 | Stakeholder geeignet Interaktionsmöglichkeit ist 353 | darstellbar 354 | 355 | bereits im frühen Entwurfsprozess digitale, nichtlineare Produkte 356 | einsetzbar (z.B. Websites) sind schwer 357 | darstellbar 358 | 359 | schnelle Erstellung ohne ggf. Unklarheiten bei der Nutzung 360 | Vorkenntnisse möglich (z.B. durch unklare Symbole) 361 | ----------------------------------------------------------------------- 362 | 363 | #### Wireframes und Mock-Ups 364 | 365 | Wireframes und Mock-Ups sind Prototypen und werden vor allem dazu genutzt, 366 | erste Skizzen für Struktur, Layout und Funktionalitäten eines Interface 367 | vorzustellen. Ähnlich wie Storyboards dienen sie als einfach zu erstellende 368 | Diskussionsgrundlage, mit deren Hilfe ein Abgleich der Vorstellungen von einem 369 | System und der Gestaltungsmöglichkeiten durchgeführt werden kann. 370 | 371 | ![Bild eines Papierprototypen für den Relaunch des Digitalisierungssystems Kitodo](media/wireframe.png){#fig-wireframe width=45%} 372 | 373 | Ein Wireframe ("Drahtmodell") ist eine noch undetaillierte ("low-level") 374 | Ausarbeitung eines Interfaces, v. a. darauf ausgerichtet, die 375 | Positionierung der einzelnen Elemente zu planen. Daher sind z.B. Bilder 376 | oder Buttons als Kästchen dargestellt und Texte als Striche und ähnliches 377 | (siehe @fig-wireframe). Ein Mock-Up ist, im Kontext Design, eine 378 | ausgereifte ("high-level") Version des Interfaces mit realistischen 379 | Farben, Schriftarten und Elementen. Sowohl Wireframes als auch Mock-Ups 380 | sind also rein statische Entwürfe des zukünftigen Produkts im Gegensatz 381 | zu interaktiven Prototypen, die echte Funktionalitäten 382 | enthalten. 383 | 384 | #### Prototypen 385 | 386 | Interaktive Prototypen besitzen als nächsthöhere Form eines geplanten Produkts 387 | bereits erste Funktionen des geplanten Interfaces. Auch hier gibt es eine 388 | Spanne von rudimentären, low-level bis hin zu ausgereiften, high-level 389 | Prototypen, die durch Iterationen schrittweise erreicht werden. Üblich ist 390 | außerdem die Unterteilung in "vertical slice", die qualitativ hochwertige 391 | Umsetzung nur eines bestimmten Teils des Produkts, und "horizontal slice", die 392 | prototypische Umsetzung einer möglichst großen Bandbreite des späteren Systems. 393 | 394 | Erste Prototypen müssen dabei noch nicht zwingend programmiert werden, 395 | sondern können durch entsprechende Prototyping-Software, wie 396 | [Figma](https://www.figma.com) oder 397 | [Axure](https://www.axure.com), umgesetzt werden. Diese 398 | besitzen eine Art Bausystem für Interfaces mit mehreren Ansichten, die 399 | über Aktionen wie den Klick auf einen Button verbunden werden können. So 400 | kann Nutzenden gewissermaßen ein Produkt vorgetäuscht werden, das dann 401 | mit rudimentären Funktionen bereits getestet werden kann. 402 | 403 | Während des eigentlichen Softwareentwicklungsprozesses wird der 404 | anfängliche Prototyp mit jeder Iteration hochwertiger und nimmt mehr den 405 | Charakter eines vollen Systems an. Es empfiehlt sich, nach Iterationen 406 | regelmäßig zu evaluieren, ob neue Funktionen oder Änderungen noch für 407 | die Zielgruppen geeignet sind. 408 | 409 | ### Evaluierung 410 | 411 | Die vorangegangenen Abschnitte haben herausgestellt, wie wichtig es ist, 412 | regelmäßig Feedback der Nutzenden zu erhalten. Eine zentrale Datenquelle 413 | dafür ist die Begleitung eines Projekts durch Evaluierungen. Ein 414 | Beispiel für eine lebendige Evaluierungskultur ist das "[User Research 415 | Center" der Harvard Library](https://urc.library.harvard.edu/), das regelmäßig 416 | verschiedene Methoden anwendet, um Angebote gemeinsam mit Nutzenden zu 417 | evaluieren und diese öffentlich in einem 418 | [Wiki](https://wiki.harvard.edu/confluence/pages/viewpage.action?pageId=232199222) 419 | teilt. 420 | 421 | Im Rahmen der Usability-Evaluierung entscheidet man dabei grob zwei 422 | Methoden: Beobachtungs- und Inspektionstests (@fig-usux). 423 | Während erstgenannte unter Einbeziehung von Nutzer\*innen durchgeführt 424 | werden, werden Inspektionstests häufig durch Usability-Expert\*innen 425 | realisiert. 426 | 427 | Als Vorteil der Beobachtungstests erweist sich aus der Praxissicht, dass 428 | diese auch ohne eine formale Usability-Ausbildung durch engagierte 429 | Mitarbeiter\*innen durchgeführt werden können. Im Folgenden soll deshalb 430 | das prinzipielle Vorgehen bei einem Beobachtungstest skizziert werden. 431 | 432 | #### Testgruppen 433 | 434 | Die Testgruppe muss die potentielle Nutzungsgruppe bestmöglich 435 | repräsentieren, jedoch nicht sehr groß sein. Die Erfahrung zeigt, dass 436 | ca. fünf Testpersonen ausreichen, um die wichtigsten Usabilityprobleme 437 | eines Systems zu identifizieren @jakob_nielsen_why_2000. Statt eines einzigen Tests mit 438 | vielen Teilnehmenden bieten sich daher schnell durchzuführende Tests mit 439 | wenigen Teilnehmenden an, um ein Produkt iterativ zu verbessern. Möchte 440 | man jedoch verschiedene Typen von Nutzer\*innen analysieren oder 441 | quantitative Ergebnisse sammeln, muss die Gruppengröße entsprechend 442 | wachsen. 443 | 444 | Neben den typischen Streuungsmerkmalen wie demographischen und 445 | kulturellen Faktoren (z.B. Bildungshintergrund) bietet es sich an, 446 | Nutzer\*innen auszuwählen, die über ein unterschiedliches Maß an 447 | Vorwissen über das zu entwickelnde oder verwandte Produkte verfügen. 448 | Außerdem sollten Personen integriert werden, welche von Einschränkungen 449 | betroffen sind, die im Abschnitt 450 | [Accessibility](#accessibility) thematisiert wurden. 451 | 452 | #### Testablauf und Vorbereitungen 453 | 454 | Nach der Rekrutierung repräsentativer Nutzer\*innen und der Vorbereitung 455 | der benötigten Materialien und der Testumgebung bietet sich ein 456 | Pilottest mit Proband\*innen an. Dieser dient der Validierung der 457 | eigenen Annahmen über die Testaufgaben (s.u.) und die Machbarkeit des 458 | Ablaufs. 459 | 460 | Die Testumgebung sollte eine entspannte und natürliche Arbeitsumgebung 461 | vermitteln. Diese ist in jedem Fall einer künstlichen Laborumgebung 462 | vorzuziehen. Während der Beobachtungstests ist sicherzustellen, dass 463 | keine Unterbrechungen, z.B. in Form von Telefonanrufen erfolgen, damit 464 | die Proband\*innen das zu evaluierende System konzentriert testen 465 | können. 466 | 467 | Nach dem Beobachtungstest sollte es den Proband\*innen ermöglicht 468 | werden, die Testergebnisse zu erhalten. Außerdem ist es neben dem 469 | obligatorischen Dank für die Teilnahme üblich, eine Aufmerksamkeit - je 470 | nach Dauer z. B. Kaffee, Süßes, Gutscheine - auszuhändigen, um die 471 | eigene Wertschätzung für das zeitliche Investment der Proband\*innen 472 | auszudrücken. In einer Erklärung zum Datenschutz ist die anonyme 473 | Datennutzung zuzusichern. 474 | 475 | #### Testaufgaben 476 | 477 | Wie die Testgruppen müssen auch die Testaufgaben repräsentativ für den 478 | späteren Einsatzzweck des Systems sein. Die von den Proband\*innen zu 479 | bearbeitenden Testaufgaben müssen realistische Aufgaben in bzw. mit dem 480 | System sein und in der gegebenen Zeit absolvierbar sein. Dabei ist zu 481 | beachten, dass sich die Arbeitsaufgaben an tatsächlichen Use Cases 482 | orientieren und nicht trivial sind. 483 | 484 | Die Formulierung der Arbeitsaufgaben muss unmissverständlich für die 485 | Proband\*innen sein und auf deren (mitunter variierendes) Vorwissen 486 | eingehen. Ein Pilottest hilft, dies zu überprüfen. 487 | 488 | Die Gestaltung der einzelnen Aufgaben sollte einer Dramaturgie folgen, 489 | um die Proband\*innen während des gesamten Tests zu motivieren. Das 490 | heißt konkret, dass die ersten Teilaufgaben leicht zu lösen sein sollten 491 | und deren Schwierigkeit dann kontinuierlich zunimmt, um durch komplexere 492 | Aufgaben belastbare Aussagen zu erhalten. 493 | 494 | ## Zusammenfassung und Ausblick 495 | 496 | Es gibt verschiedenste Methoden mit denen Bedarfe ermittelt und Nutzende in die 497 | Entwicklung von Software einbezogen werden können - je nach Umfang des Produkts 498 | und des Anwender\*innenkreises. Usertests erfordern ein anderes Zeitmanagement 499 | als die Entwicklung von Personas. Auch der Anwendungsfall nimmt Einfluss auf 500 | die Methodenauswahl. So kann für die Entwicklung eines neuen Designs die 501 | Verwendung von Wireframes und Mockups bei der Bedarfsermittlung hilfreich sein. 502 | Wird ein Portal mit neuen Interaktionsmöglichkeiten entwickelt, empfehlen sich 503 | Prototypen, mit denen auch die Interaktionen getestet werden können. 504 | --------------------------------------------------------------------------------