Dies ist eine alte Version des Dokuments!
LU13a - Crawler Aufbau Teil 1
Damit alle relevanten Seiten von DokuWiki (https://wiki.bzz.ch) heruntergeladen werden können, nutzen wir eine Kombination aus Collector, Downloader und Orchestrator.
WikiPageDownloaderService
Der WikiPageDownloaderService lädt den Inhalt einer Seite via XML-RPC herunter. Das hat mitunter zur Folge, dass kein HTML-Dokument, sondern direkt der DokuWiki-Markup-Code zurückgeschickt wird.
Dieser Code ist einiges schlanker als das entsprechende HTML und macht das Interpretieren einfacher. Das HTML-Dokument enthält wiederkehrende Elemente wie Header und Footer, die nicht relevant sind. Ebenfalls ist viel Logik und Styling ebenfalls im HTML-Dokument enthalten. Das nachfolgende Beispiel zeigt den Unterschied.
| Beispiel DokuWiki-Markup | ====== 3. Lehrjahr ===== ===== Inhalte ===== <nspages . -subns -nopages -exclude -h1 -textNS="" -simplelist> |
|---|---|
| Beispiel HTML | <html xmlns="http://www.w3.org/1999/xhtml" lang="de" dir="ltr" class="js"><head><style class="anchorjs"></style><style type="text/css">span.iconify, i.iconify, iconify-icon { display: inline-block; width: 1em; }</style> <meta charset="UTF-8"> <title>3. Lehrjahr [BZZ - Modulwiki]</title> <script>(function(H){H.className=H.className.replace(/\bno-js\b/,'js')})(document.documentElement)</script> <meta name="viewport" content="width=device-width,initial-scale=1"> <link rel="shortcut icon" href="https://wiki.bzz.ch/_media/favicon.ico"> <link rel="apple-touch-icon" href="https://wiki.bzz.ch/lib/tpl/bootstrap3/images/apple-touch-icon.png"> <meta name="generator" content="DokuWiki"> <meta name="robots" content="index,follow"> <meta name="keywords" content="de,modul,ffit,3-jahr,start"> <link rel="search" type="application/opensearchdescription+xml" href="https://wiki.bzz.ch/lib/exe/opensearch.php" title="BZZ - Modulwiki"> <link rel="start" href="https://wiki.bzz.ch/"> <link rel="contents" href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=index" title="Übersicht"> <link rel="manifest" href="https://wiki.bzz.ch/lib/exe/manifest.php" crossorigin="use-credentials"> <link rel="alternate" type="application/rss+xml" title="Letzte Änderungen" href="https://wiki.bzz.ch/feed.php"> <link rel="alternate" type="application/rss+xml" title="Aktueller Namensraum" href="https://wiki.bzz.ch/feed.php?mode=list&ns=de:modul:ffit:3-jahr"> <link rel="edit" title="Diese Seite bearbeiten" href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=edit"> <link rel="alternate" type="text/html" title="HTML Klartext" href="https://wiki.bzz.ch/_export/xhtml/de/modul/ffit/3-jahr/start"> <link rel="alternate" type="text/plain" title="Wiki Markup" href="https://wiki.bzz.ch/_export/raw/de/modul/ffit/3-jahr/start"> <link rel="canonical" href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start"> <link rel="stylesheet" href="https://wiki.bzz.ch/lib/exe/css.php?t=bootstrap3&tseed=545d45d4b02c3acfe6aa7a567352a314"> <script>var NS='de:modul:ffit:3-jahr';var SIG="---- [[https:\/\/creativecommons.org\/licenses\/by-nc-sa\/4.0\/|{{https:\/\/i.creativecommons.org\/l\/by-nc-sa\/4.0\/88x31.png}}]] (c) Author Name";var JSINFO = {"deletepagebutton_template":"bootstrap3","move_renameokay":true,"move_allowrename":true,"bootstrap3":{"mode":"show","toc":[],"config":{"collapsibleSections":0,"fixedTopNavbar":1,"showSemanticPopup":0,"sidebarOnNavbar":0,"tagsOnTop":1,"tocAffix":1,"tocCollapseOnScroll":1,"tocCollapsed":0,"tocLayout":"default","useAnchorJS":1,"useAlternativeToolbarIcons":1,"disableSearchSuggest":0}},"id":"de:modul:ffit:3-jahr:start","namespace":"de:modul:ffit:3-jahr","ACT":"show","useHeadingNavigation":1,"useHeadingContent":1};(function(H){H.className=H.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script> <script src="https://wiki.bzz.ch/lib/exe/jquery.php?tseed=8faf3dc90234d51a499f4f428a0eae43" defer="defer"></script> <script src="https://wiki.bzz.ch/lib/exe/js.php?t=bootstrap3&tseed=545d45d4b02c3acfe6aa7a567352a314" defer="defer"></script> <script type="text/x-mathjax-config;executed=true">MathJax.Hub.Config({ tex2jax: { inlineMath: [ ["£","£"], ["\\(","\\)"] ], displayMath: [ ["££","££"], ["\\[","\\]"] ], processEscapes: true } });</script> <script type="text/javascript" charset="utf-8" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-AMS_CHTML.js"></script> <style type="text/css">@media screen { body { margin-top: 65px; } #dw__toc.affix { top: 55px; position: fixed !important; } #dw__toc .nav .nav .nav { display: none; } }</style> <!--[if lt IE 9]> <script type="text/javascript" src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script type="text/javascript" src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--> <style type="text/css">.MathJax_Hover_Frame {border-radius: .25em; -webkit-border-radius: .25em; -moz-border-radius: .25em; -khtml-border-radius: .25em; box-shadow: 0px 0px 15px #83A; -webkit-box-shadow: 0px 0px 15px #83A; -moz-box-shadow: 0px 0px 15px #83A; -khtml-box-shadow: 0px 0px 15px #83A; border: 1px solid #A6D ! important; display: inline-block; position: absolute} .MathJax_Menu_Button .MathJax_Hover_Arrow {position: absolute; cursor: pointer; display: inline-block; border: 2px solid #AAA; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; -khtml-border-radius: 4px; font-family: 'Courier New',Courier; font-size: 9px; color: #F0F0F0} .MathJax_Menu_Button .MathJax_Hover_Arrow span {display: block; background-color: #AAA; border: 1px solid; border-radius: 3px; line-height: 0; padding: 4px} .MathJax_Hover_Arrow:hover {color: white!important; border: 2px solid #CCC!important} .MathJax_Hover_Arrow:hover span {background-color: #CCC!important} </style><style type="text/css">#MathJax_About {position: fixed; left: 50%; width: auto; text-align: center; border: 3px outset; padding: 1em 2em; background-color: #DDDDDD; color: black; cursor: default; font-family: message-box; font-size: 120%; font-style: normal; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; border-radius: 15px; -webkit-border-radius: 15px; -moz-border-radius: 15px; -khtml-border-radius: 15px; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')} #MathJax_About.MathJax_MousePost {outline: none} .MathJax_Menu {position: absolute; background-color: white; color: black; width: auto; padding: 2px; border: 1px solid #CCCCCC; margin: 0; cursor: default; font: menu; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')} .MathJax_MenuItem {padding: 2px 2em; background: transparent} .MathJax_MenuArrow {position: absolute; right: .5em; padding-top: .25em; color: #666666; font-size: .75em} .MathJax_MenuActive .MathJax_MenuArrow {color: white} .MathJax_MenuArrow.RTL {left: .5em; right: auto} .MathJax_MenuCheck {position: absolute; left: .7em} .MathJax_MenuCheck.RTL {right: .7em; left: auto} .MathJax_MenuRadioCheck {position: absolute; left: 1em} .MathJax_MenuRadioCheck.RTL {right: 1em; left: auto} .MathJax_MenuLabel {padding: 2px 2em 4px 1.33em; font-style: italic} .MathJax_MenuRule {border-top: 1px solid #CCCCCC; margin: 4px 1px 0px} .MathJax_MenuDisabled {color: GrayText} .MathJax_MenuActive {background-color: Highlight; color: HighlightText} .MathJax_MenuDisabled:focus, .MathJax_MenuLabel:focus {background-color: #E8E8E8} .MathJax_ContextMenu:focus {outline: none} .MathJax_ContextMenu .MathJax_MenuItem:focus {outline: none} #MathJax_AboutClose {top: .2em; right: .2em} .MathJax_Menu .MathJax_MenuClose {top: -10px; left: -10px} .MathJax_MenuClose {position: absolute; cursor: pointer; display: inline-block; border: 2px solid #AAA; border-radius: 18px; -webkit-border-radius: 18px; -moz-border-radius: 18px; -khtml-border-radius: 18px; font-family: 'Courier New',Courier; font-size: 24px; color: #F0F0F0} .MathJax_MenuClose span {display: block; background-color: #AAA; border: 1.5px solid; border-radius: 18px; -webkit-border-radius: 18px; -moz-border-radius: 18px; -khtml-border-radius: 18px; line-height: 0; padding: 8px 0 6px} .MathJax_MenuClose:hover {color: white!important; border: 2px solid #CCC!important} .MathJax_MenuClose:hover span {background-color: #CCC!important} .MathJax_MenuClose:hover:focus {outline: none} </style><style type="text/css">.MathJax_Preview .MJXf-math {color: inherit!important} </style><style type="text/css">.MJX_Assistive_MathML {position: absolute!important; top: 0; left: 0; clip: rect(1px, 1px, 1px, 1px); padding: 1px 0 0 0!important; border: 0!important; height: 1px!important; width: 1px!important; overflow: hidden!important; display: block!important; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none} .MJX_Assistive_MathML.MJX_Assistive_MathML_Block {width: 100%!important} </style><style type="text/css">#MathJax_Zoom {position: absolute; background-color: #F0F0F0; overflow: auto; display: block; z-index: 301; padding: .5em; border: 1px solid black; margin: 0; font-weight: normal; font-style: normal; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; box-shadow: 5px 5px 15px #AAAAAA; -webkit-box-shadow: 5px 5px 15px #AAAAAA; -moz-box-shadow: 5px 5px 15px #AAAAAA; -khtml-box-shadow: 5px 5px 15px #AAAAAA; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')} #MathJax_ZoomOverlay {position: absolute; left: 0; top: 0; z-index: 300; display: inline-block; width: 100%; height: 100%; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)} #MathJax_ZoomFrame {position: relative; display: inline-block; height: 0; width: 0} #MathJax_ZoomEventTrap {position: absolute; left: 0; top: 0; z-index: 302; display: inline-block; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)} </style><style type="text/css">.MathJax_Preview {color: #888; display: contents} #MathJax_Message {position: fixed; left: 1em; bottom: 1.5em; background-color: #E6E6E6; border: 1px solid #959595; margin: 0px; padding: 2px 8px; z-index: 102; color: black; font-size: 80%; width: auto; white-space: nowrap} #MathJax_MSIE_Frame {position: absolute; top: 0; left: 0; width: 0px; z-index: 101; border: 0px; margin: 0px; padding: 0px} .MathJax_Error {color: #CC0000; font-style: italic} </style><style type="text/css">.MJXp-script {font-size: .8em} .MJXp-right {-webkit-transform-origin: right; -moz-transform-origin: right; -ms-transform-origin: right; -o-transform-origin: right; transform-origin: right} .MJXp-bold {font-weight: bold} .MJXp-italic {font-style: italic} .MJXp-scr {font-family: MathJax_Script,'Times New Roman',Times,STIXGeneral,serif} .MJXp-frak {font-family: MathJax_Fraktur,'Times New Roman',Times,STIXGeneral,serif} .MJXp-sf {font-family: MathJax_SansSerif,'Times New Roman',Times,STIXGeneral,serif} .MJXp-cal {font-family: MathJax_Caligraphic,'Times New Roman',Times,STIXGeneral,serif} .MJXp-mono {font-family: MathJax_Typewriter,'Times New Roman',Times,STIXGeneral,serif} .MJXp-largeop {font-size: 150%} .MJXp-largeop.MJXp-int {vertical-align: -.2em} .MJXp-math {display: inline-block; line-height: 1.2; text-indent: 0; font-family: 'Times New Roman',Times,STIXGeneral,serif; white-space: nowrap; border-collapse: collapse} .MJXp-display {display: block; text-align: center; margin: 1em 0} .MJXp-math span {display: inline-block} .MJXp-box {display: block!important; text-align: center} .MJXp-box:after {content: " "} .MJXp-rule {display: block!important; margin-top: .1em} .MJXp-char {display: block!important} .MJXp-mo {margin: 0 .15em} .MJXp-mfrac {margin: 0 .125em; vertical-align: .25em} .MJXp-denom {display: inline-table!important; width: 100%} .MJXp-denom > * {display: table-row!important} .MJXp-surd {vertical-align: top} .MJXp-surd > * {display: block!important} .MJXp-script-box > * {display: table!important; height: 50%} .MJXp-script-box > * > * {display: table-cell!important; vertical-align: top} .MJXp-script-box > *:last-child > * {vertical-align: bottom} .MJXp-script-box > * > * > * {display: block!important} .MJXp-mphantom {visibility: hidden} .MJXp-munderover, .MJXp-munder {display: inline-table!important} .MJXp-over {display: inline-block!important; text-align: center} .MJXp-over > * {display: block!important} .MJXp-munderover > *, .MJXp-munder > * {display: table-row!important} .MJXp-mtable {vertical-align: .25em; margin: 0 .125em} .MJXp-mtable > * {display: inline-table!important; vertical-align: middle} .MJXp-mtr {display: table-row!important} .MJXp-mtd {display: table-cell!important; text-align: center; padding: .5em 0 0 .5em} .MJXp-mtr > .MJXp-mtd:first-child {padding-left: 0} .MJXp-mtr:first-child > .MJXp-mtd {padding-top: 0} .MJXp-mlabeledtr {display: table-row!important} .MJXp-mlabeledtr > .MJXp-mtd:first-child {padding-left: 0} .MJXp-mlabeledtr:first-child > .MJXp-mtd {padding-top: 0} .MJXp-merror {background-color: #FFFF88; color: #CC0000; border: 1px solid #CC0000; padding: 1px 3px; font-style: normal; font-size: 90%} .MJXp-scale0 {-webkit-transform: scaleX(.0); -moz-transform: scaleX(.0); -ms-transform: scaleX(.0); -o-transform: scaleX(.0); transform: scaleX(.0)} .MJXp-scale1 {-webkit-transform: scaleX(.1); -moz-transform: scaleX(.1); -ms-transform: scaleX(.1); -o-transform: scaleX(.1); transform: scaleX(.1)} .MJXp-scale2 {-webkit-transform: scaleX(.2); -moz-transform: scaleX(.2); -ms-transform: scaleX(.2); -o-transform: scaleX(.2); transform: scaleX(.2)} .MJXp-scale3 {-webkit-transform: scaleX(.3); -moz-transform: scaleX(.3); -ms-transform: scaleX(.3); -o-transform: scaleX(.3); transform: scaleX(.3)} .MJXp-scale4 {-webkit-transform: scaleX(.4); -moz-transform: scaleX(.4); -ms-transform: scaleX(.4); -o-transform: scaleX(.4); transform: scaleX(.4)} .MJXp-scale5 {-webkit-transform: scaleX(.5); -moz-transform: scaleX(.5); -ms-transform: scaleX(.5); -o-transform: scaleX(.5); transform: scaleX(.5)} .MJXp-scale6 {-webkit-transform: scaleX(.6); -moz-transform: scaleX(.6); -ms-transform: scaleX(.6); -o-transform: scaleX(.6); transform: scaleX(.6)} .MJXp-scale7 {-webkit-transform: scaleX(.7); -moz-transform: scaleX(.7); -ms-transform: scaleX(.7); -o-transform: scaleX(.7); transform: scaleX(.7)} .MJXp-scale8 {-webkit-transform: scaleX(.8); -moz-transform: scaleX(.8); -ms-transform: scaleX(.8); -o-transform: scaleX(.8); transform: scaleX(.8)} .MJXp-scale9 {-webkit-transform: scaleX(.9); -moz-transform: scaleX(.9); -ms-transform: scaleX(.9); -o-transform: scaleX(.9); transform: scaleX(.9)} .MathJax_PHTML .noError {vertical-align: ; font-size: 90%; text-align: left; color: black; padding: 1px 3px; border: 1px solid} </style></head> <body class="default dokuwiki mode_show tpl_bootstrap3 loggedIn dw-page-on-panel dw-fluid-container" data-page-id="de:modul:ffit:3-jahr:start"><div id="MathJax_Message" style="display: none;"></div><div class="dokuwiki"> <header id="dokuwiki__header" class="dw-container dokuwiki container-fluid mx-5"> <!-- navbar --> <nav id="dw__navbar" class="navbar navbar-fixed-top navbar-default" role="navigation"> <div class="dw-container container-fluid mx-5"> <div class="navbar-header"> <button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".navbar-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand d-flex align-items-center" href="https://wiki.bzz.ch/start" accesskey="h" title="BZZ - Modulwiki"><img id="dw__logo" class="pull-left h-100 mr-4" alt="BZZ - Modulwiki" src="https://wiki.bzz.ch/_media/wiki/logo.png"><div class="pull-right"><div id="dw__title">BZZ - Modulwiki</div></div></a> </div> <div class="collapse navbar-collapse"> <div class="navbar-right" id="dw__navbar_items"> <!-- navbar-searchform --> <form action="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start" accept-charset="utf-8" class="navbar-form navbar-left search" id="dw__search" method="get" role="search"> <div class="input-group"> <input id="qsearch" autocomplete="off" type="search" placeholder="Suche" value="" accesskey="f" name="q" class="form-control" title="[F]"> <div class="input-group-btn"> <button class="btn btn-default" type="submit" title="Suche"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:magnify" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5l-1.5 1.5l-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16A6.5 6.5 0 0 1 3 9.5A6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14S14 12 14 9.5S12 5 9.5 5z" fill="currentColor"></path></svg> </button> </div> </div> <input type="hidden" name="do" value="search"> </form> <!-- /navbar-searchform --> <!-- tools-menu --> <ul class="nav navbar-nav dw-action-icon" id="dw__tools"> <li class="dropdown"> <a href="" class="dropdown-toggle" data-target="#" data-toggle="dropdown" title="" role="button" aria-haspopup="true" aria-expanded="false"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:wrench" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M22.7 19l-9.1-9.1c.9-2.3.4-5-1.5-6.9c-2-2-5-2.4-7.4-1.3L9 6L6 9L1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4z" fill="currentColor"></path></svg> <span class="hidden-lg hidden-md hidden-sm">Werkzeuge</span> <span class="caret"></span> </a> <ul class="dropdown-menu tools" role="menu"> <li class="dropdown-header"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:account" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M12 4a4 4 0 0 1 4 4a4 4 0 0 1-4 4a4 4 0 0 1-4-4a4 4 0 0 1 4-4m0 10c4.42 0 8 1.79 8 4v2H4v-2c0-2.21 3.58-4 8-4z" fill="currentColor"></path></svg> Benutzer-Werkzeuge </li> <li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=profile" title="Benutzerprofil" rel="nofollow" class="menuitem profile"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M2 3h20c1.05 0 2 .95 2 2v14c0 1.05-.95 2-2 2H2c-1.05 0-2-.95-2-2V5c0-1.05.95-2 2-2m12 3v1h8V6h-8m0 2v1h8V8h-8m0 2v1h7v-1h-7m-6 3.91C6 13.91 2 15 2 17v1h12v-1c0-2-4-3.09-6-3.09M8 6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3z"></path></svg><span>Benutzerprofil</span></a></li><li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=linkbutton" title="Copy Moodle Link" rel="nofollow" class="menuitem linkbutton plugin_urlcopy "><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24px" height="24px"><path d="M 14 3 L 6 4 L 0 8 L 1 8 L 1 18 L 2 18 L 2 8 L 4.011719 8 C 4.007813 8.066406 4 8.125 4 8.195313 C 4 9.378906 4.320313 10.199219 4.320313 10.199219 L 8.765625 11.261719 L 12.015625 7.585938 C 12.015625 7.585938 11.71875 6.359375 11.046875 5.460938 Z M 18.5 7 C 16.929688 7 15.507813 7.675781 14.5 8.742188 C 14.242188 8.46875 13.960938 8.214844 13.652344 8 L 11.632813 10.28125 C 12.441406 10.699219 13 11.53125 13 12.5 L 13 20 L 16 20 L 16 12.5 C 16 11.101563 17.101563 10 18.5 10 C 19.898438 10 21 11.101563 21 12.5 L 21 20 L 24 20 L 24 12.5 C 24 9.480469 21.519531 7 18.5 7 Z M 5.03125 11.910156 C 5.011719 12.105469 5 12.300781 5 12.5 L 5 20 L 8 20 L 8 12.621094 Z"></path></svg><span>Copy Moodle Link</span></a></li><li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=logout&sectok=1675d8366baf52694ca4f2fba5ebd184" title="Abmelden" rel="nofollow" class="menuitem logout"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M17 17.25V14h-7v-4h7V6.75L22.25 12 17 17.25M13 2a2 2 0 0 1 2 2v4h-2V4H4v16h9v-4h2v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9z"></path></svg><span>Abmelden</span></a></li> <li class="divider" role="separator"></li> <li class="dropdown-header"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:toolbox" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M9 5v1h6V5H9m13 13c0 .53-.21 1-.6 1.41c-.4.4-.85.59-1.4.59H4c-.55 0-1-.19-1.4-.59C2.21 19 2 18.53 2 18v-4h5v1h2v-1h6v1h2v-1h5v4M4.5 7.22C4.84 6.41 5.45 6 6.33 6H7V5c0-.55.18-1 .57-1.41C7.96 3.2 8.44 3 9 3h6c.56 0 1.04.2 1.43.59c.39.41.57.86.57 1.41v1h.67c.88 0 1.49.41 1.83 1.22L21.58 12H17v-1h-2v1H9v-1H7v1H2.42L4.5 7.22z" fill="currentColor"></path></svg> Webseiten-Werkzeuge </li> <li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=recent" title="Letzte Änderungen [r]" rel="nofollow" accesskey="r" class="menuitem recent"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M15 13h1.5v2.82l2.44 1.41-.75 1.3L15 16.69V13m4-5H5v11h4.67c-.43-.91-.67-1.93-.67-3a7 7 0 0 1 7-7c1.07 0 2.09.24 3 .67V8M5 21a2 2 0 0 1-2-2V5c0-1.11.89-2 2-2h1V1h2v2h8V1h2v2h1a2 2 0 0 1 2 2v6.1c1.24 1.26 2 2.99 2 4.9a7 7 0 0 1-7 7c-1.91 0-3.64-.76-4.9-2H5m11-9.85A4.85 4.85 0 0 0 11.15 16c0 2.68 2.17 4.85 4.85 4.85A4.85 4.85 0 0 0 20.85 16c0-2.68-2.17-4.85-4.85-4.85z"></path></svg><span>Letzte Änderungen</span></a></li><li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=media&ns=de%3Amodul%3Affit%3A3-jahr" title="Medien-Manager" rel="nofollow" class="menuitem media"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M7 15l4.5-6 3.5 4.5 2.5-3L21 15m1-11h-8l-2-2H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2M2 6H0v14a2 2 0 0 0 2 2h18v-2H2V6z"></path></svg><span>Medien-Manager</span></a></li><li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=linkbutton" title="Copy Moodle Link" rel="nofollow" class="menuitem linkbutton plugin_urlcopy "><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24px" height="24px"><path d="M 14 3 L 6 4 L 0 8 L 1 8 L 1 18 L 2 18 L 2 8 L 4.011719 8 C 4.007813 8.066406 4 8.125 4 8.195313 C 4 9.378906 4.320313 10.199219 4.320313 10.199219 L 8.765625 11.261719 L 12.015625 7.585938 C 12.015625 7.585938 11.71875 6.359375 11.046875 5.460938 Z M 18.5 7 C 16.929688 7 15.507813 7.675781 14.5 8.742188 C 14.242188 8.46875 13.960938 8.214844 13.652344 8 L 11.632813 10.28125 C 12.441406 10.699219 13 11.53125 13 12.5 L 13 20 L 16 20 L 16 12.5 C 16 11.101563 17.101563 10 18.5 10 C 19.898438 10 21 11.101563 21 12.5 L 21 20 L 24 20 L 24 12.5 C 24 9.480469 21.519531 7 18.5 7 Z M 5.03125 11.910156 C 5.011719 12.105469 5 12.300781 5 12.5 L 5 20 L 8 20 L 8 12.621094 Z"></path></svg><span>Copy Moodle Link</span></a></li><li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=index" title="Übersicht [x]" rel="nofollow" accesskey="x" class="menuitem index"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M3 3h6v4H3V3m12 7h6v4h-6v-4m0 7h6v4h-6v-4m-2-4H7v5h6v2H5V9h2v2h6v2z"></path></svg><span>Übersicht</span></a></li> <li class="divider" role="separator"></li> <li class="dropdown-header"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:file-document-outline" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6H6m0 2h7v5h5v11H6V4m2 8v2h8v-2H8m0 4v2h5v-2H8z" fill="currentColor"></path></svg> Seiten-Werkzeuge </li> <li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=edit" title="Diese Seite bearbeiten [e]" rel="nofollow" class="menuitem edit"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"></path></svg><span>Diese Seite bearbeiten</span></a></li><li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=revisions" title="Ältere Versionen [o]" rel="nofollow" class="menuitem revs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M11 7v5.11l4.71 2.79.79-1.28-4-2.37V7m0-5C8.97 2 5.91 3.92 4.27 6.77L2 4.5V11h6.5L5.75 8.25C6.96 5.73 9.5 4 12.5 4a7.5 7.5 0 0 1 7.5 7.5 7.5 7.5 0 0 1-7.5 7.5c-3.27 0-6.03-2.09-7.06-5h-2.1c1.1 4.03 4.77 7 9.16 7 5.24 0 9.5-4.25 9.5-9.5A9.5 9.5 0 0 0 12.5 2z"></path></svg><span>Ältere Versionen</span></a></li><li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=backlink" title="Links hierher" rel="nofollow" class="menuitem backlink"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10.59 13.41c.41.39.41 1.03 0 1.42-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0 5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.982 2.982 0 0 0 0-4.24 2.982 2.982 0 0 0-4.24 0l-3.53 3.53a2.982 2.982 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0 5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.982 2.982 0 0 0 0 4.24 2.982 2.982 0 0 0 4.24 0l3.53-3.53a2.982 2.982 0 0 0 0-4.24.973.973 0 0 1 0-1.42z"></path></svg><span>Links hierher</span></a></li><li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=translate" title="Seite mit DeepL übersetzen" rel="nofollow" class="menuitem translate"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M12.87,15.07L10.33,12.56L10.36,12.53C12.1,10.59 13.34,8.36 14.07,6H17V4H10V2H8V4H1V6H12.17C11.5,7.92 10.44,9.75 9,11.35C8.07,10.32 7.3,9.19 6.69,8H4.69C5.42,9.63 6.42,11.17 7.67,12.56L2.58,17.58L4,19L9,14L12.11,17.11L12.87,15.07M18.5,10H16.5L12,22H14L15.12,19H19.87L21,22H23L18.5,10M15.88,17L17.5,12.67L19.12,17H15.88Z"></path></svg><span>Seite mit DeepL übersetzen</span></a></li><li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=deletepagebutton&sectok=1675d8366baf52694ca4f2fba5ebd184" title="Seite löschen" rel="nofollow" class="menuitem deletepagebutton"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M7,6H17V19H7V6M9,8V17H11V8H9M13,8V17H15V8H13Z"></path></svg><span>Seite löschen</span></a></li><li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=export_pdf" title="PDF exportieren" rel="nofollow" class="menuitem export_pdf"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M14 9h5.5L14 3.5V9M7 2h8l6 6v12a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2m4.93 10.44c.41.9.93 1.64 1.53 2.15l.41.32c-.87.16-2.07.44-3.34.93l-.11.04.5-1.04c.45-.87.78-1.66 1.01-2.4m6.48 3.81c.18-.18.27-.41.28-.66.03-.2-.02-.39-.12-.55-.29-.47-1.04-.69-2.28-.69l-1.29.07-.87-.58c-.63-.52-1.2-1.43-1.6-2.56l.04-.14c.33-1.33.64-2.94-.02-3.6a.853.853 0 0 0-.61-.24h-.24c-.37 0-.7.39-.79.77-.37 1.33-.15 2.06.22 3.27v.01c-.25.88-.57 1.9-1.08 2.93l-.96 1.8-.89.49c-1.2.75-1.77 1.59-1.88 2.12-.04.19-.02.36.05.54l.03.05.48.31.44.11c.81 0 1.73-.95 2.97-3.07l.18-.07c1.03-.33 2.31-.56 4.03-.75 1.03.51 2.24.74 3 .74.44 0 .74-.11.91-.3m-.41-.71l.09.11c-.01.1-.04.11-.09.13h-.04l-.19.02c-.46 0-1.17-.19-1.9-.51.09-.1.13-.1.23-.1 1.4 0 1.8.25 1.9.35M8.83 17c-.65 1.19-1.24 1.85-1.69 2 .05-.38.5-1.04 1.21-1.69l.48-.31m3.02-6.91c-.23-.9-.24-1.63-.07-2.05l.07-.12.15.05c.17.24.19.56.09 1.1l-.03.16-.16.82-.05.04z"></path></svg><span>PDF exportieren</span></a></li><li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=plugin_move" title="Seite umbenennen" rel="nofollow" class="menuitem plugin_move plugin_move_page "><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M18,4V3A1,1 0 0,0 17,2H5A1,1 0 0,0 4,3V7A1,1 0 0,0 5,8H17A1,1 0 0,0 18,7V6H19V10H9V21A1,1 0 0,0 10,22H12A1,1 0 0,0 13,21V12H21V4H18Z"></path></svg><span>Seite umbenennen</span></a></li><li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=linkbutton" title="Copy Moodle Link" rel="nofollow" class="menuitem linkbutton plugin_urlcopy "><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24px" height="24px"><path d="M 14 3 L 6 4 L 0 8 L 1 8 L 1 18 L 2 18 L 2 8 L 4.011719 8 C 4.007813 8.066406 4 8.125 4 8.195313 C 4 9.378906 4.320313 10.199219 4.320313 10.199219 L 8.765625 11.261719 L 12.015625 7.585938 C 12.015625 7.585938 11.71875 6.359375 11.046875 5.460938 Z M 18.5 7 C 16.929688 7 15.507813 7.675781 14.5 8.742188 C 14.242188 8.46875 13.960938 8.214844 13.652344 8 L 11.632813 10.28125 C 12.441406 10.699219 13 11.53125 13 12.5 L 13 20 L 16 20 L 16 12.5 C 16 11.101563 17.101563 10 18.5 10 C 19.898438 10 21 11.101563 21 12.5 L 21 20 L 24 20 L 24 12.5 C 24 9.480469 21.519531 7 18.5 7 Z M 5.03125 11.910156 C 5.011719 12.105469 5 12.300781 5 12.5 L 5 20 L 8 20 L 8 12.621094 Z"></path></svg><span>Copy Moodle Link</span></a></li><li class="action"><a href="#dokuwiki__top" title="Nach oben [t]" rel="nofollow" class="menuitem top"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path></svg><span>Nach oben</span></a></li> </ul> </li> </ul> <!-- /tools-menu --> <ul class="nav navbar-nav"> </ul> <!-- user-menu --> <ul class="nav navbar-nav" id="dw__user_menu"> <li class="dropdown"> <a href="" class="dropdown-toggle" data-target="#" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:account" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M12 4a4 4 0 0 1 4 4a4 4 0 0 1-4 4a4 4 0 0 1-4-4a4 4 0 0 1 4-4m0 10c4.42 0 8 1.79 8 4v2H4v-2c0-2.21 3.58-4 8-4z" fill="currentColor"></path></svg> <span class="hidden-lg hidden-md hidden-sm">apeter</span> <span class="caret"></span> </a> <ul class="dropdown-menu" role="menu"> <li> <div class="container-fluid"> <p class="text-right"> <span style="cursor:help" class="label label-info" title="Gruppen: teacher, user"> User </span> </p> <p class="text-center"> <img alt="apeter" src="https://wiki.bzz.ch/lib/tpl/bootstrap3/images/avatar.png" class="img-circle" width="96" height="96"> </p> <div class="mb-2"> <div class="mb-2"> <strong>Alexander Peter</strong> </div> <div class="small"> <bdi>apeter</bdi> </div> <div class="small"> alexander.peter@bzz.ch </div> </div> </div> </li> <li class="divider"></li> <li class="dropdown-header">Home-Page</li> <li> <a href="https://wiki.bzz.ch/user/apeter" title="Home-Page" rel="nofollow"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:home-account" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M12 3L2 12h3v8h14v-8h3L12 3m0 5.75A2.25 2.25 0 0 1 14.25 11A2.25 2.25 0 0 1 12 13.25A2.25 2.25 0 0 1 9.75 11A2.25 2.25 0 0 1 12 8.75M12 15c1.5 0 4.5.75 4.5 2.25V18h-9v-.75c0-1.5 3-2.25 4.5-2.25z" fill="currentColor"></path></svg> Home-Page </a> </li> <li class="divider"></li> <li class="dropdown-header">Benutzer-Werkzeuge</li> <li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=profile" title="Benutzerprofil" rel="nofollow" class="menuitem profile"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M2 3h20c1.05 0 2 .95 2 2v14c0 1.05-.95 2-2 2H2c-1.05 0-2-.95-2-2V5c0-1.05.95-2 2-2m12 3v1h8V6h-8m0 2v1h8V8h-8m0 2v1h7v-1h-7m-6 3.91C6 13.91 2 15 2 17v1h12v-1c0-2-4-3.09-6-3.09M8 6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3z"></path></svg><span>Benutzerprofil</span></a></li> <li class="divider"></li> <li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=logout&sectok=1675d8366baf52694ca4f2fba5ebd184" title="Abmelden" rel="nofollow" class="menuitem logout"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M17 17.25V14h-7v-4h7V6.75L22.25 12 17 17.25M13 2a2 2 0 0 1 2 2v4h-2V4H4v16h9v-4h2v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9z"></path></svg><span>Abmelden</span></a></li> </ul> </li> </ul> <!-- /user-menu --> </div> </div> </div> </nav> <!-- navbar --> </header> <a name="dokuwiki__top" id="dokuwiki__top"></a> <main role="main" class="dw-container pb-5 dokuwiki container-fluid mx-5"> <div id="dokuwiki__pageheader"> <!-- breadcrumbs --> <nav id="dw__breadcrumbs" class="small"> <hr> <div class="dw__youarehere"> <ol class="breadcrumb" itemscope="" itemtype="http://schema.org/BreadcrumbList"><li>Sie befinden sich hier</li><li itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem"><a href="https://wiki.bzz.ch/start" itemprop="item" title="start"><span itemprop="name"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:home" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M10 20v-6h4v6h5v-8h3L12 3L2 12h3v8h5z" fill="currentColor"></path></svg><span class="sr-only">Home</span></span></a><meta itemprop="position" content="1"></li><li itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem"><span itemprop="name"><a itemprop="item" href="https://wiki.bzz.ch/de/start" class="wikilink2" title="de:start" rel="nofollow">de</a></span><meta itemprop="position" content="2"></li><li itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem"><span itemprop="name"><a itemprop="item" href="https://wiki.bzz.ch/de/modul/start" class="wikilink1" title="de:modul:start">Module</a></span><meta itemprop="position" content="3"></li><li itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem"><span itemprop="name"><a itemprop="item" href="https://wiki.bzz.ch/de/modul/ffit/start" class="wikilink1" title="de:modul:ffit:start">Freifach Informatik</a></span><meta itemprop="position" content="4"></li><li itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem"><span itemprop="name"><a itemprop="item" href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start" class="wikilink1" title="de:modul:ffit:3-jahr:start">3. Lehrjahr</a></span><meta itemprop="position" content="5"></li></ol> </div> <hr> </nav> <!-- /breadcrumbs --> <p class="text-right"> <span class="pageId ml-1 label label-primary">de:modul:ffit:3-jahr:start</span> </p> <div id="dw__msgarea" class="small"> </div> </div> <div class="row"> <article id="dokuwiki__content" class="col-sm-12 col-md-12 " itemscope="" itemtype="http://schema.org/Article" itemref="dw__license"> <!-- page-tools --> <nav id="dw__pagetools" class="hidden-print"> <div class="tools panel panel-default affix-top"> <ul class="nav nav-stacked nav-pills text-muted"> <li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=edit" title="Diese Seite bearbeiten [e]" rel="nofollow" accesskey="e" class="menuitem edit"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"></path></svg><span>Diese Seite bearbeiten</span></a></li><li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=revisions" title="Ältere Versionen [o]" rel="nofollow" accesskey="o" class="menuitem revs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M11 7v5.11l4.71 2.79.79-1.28-4-2.37V7m0-5C8.97 2 5.91 3.92 4.27 6.77L2 4.5V11h6.5L5.75 8.25C6.96 5.73 9.5 4 12.5 4a7.5 7.5 0 0 1 7.5 7.5 7.5 7.5 0 0 1-7.5 7.5c-3.27 0-6.03-2.09-7.06-5h-2.1c1.1 4.03 4.77 7 9.16 7 5.24 0 9.5-4.25 9.5-9.5A9.5 9.5 0 0 0 12.5 2z"></path></svg><span>Ältere Versionen</span></a></li><li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=backlink" title="Links hierher" rel="nofollow" class="menuitem backlink"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10.59 13.41c.41.39.41 1.03 0 1.42-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0 5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.982 2.982 0 0 0 0-4.24 2.982 2.982 0 0 0-4.24 0l-3.53 3.53a2.982 2.982 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0 5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.982 2.982 0 0 0 0 4.24 2.982 2.982 0 0 0 4.24 0l3.53-3.53a2.982 2.982 0 0 0 0-4.24.973.973 0 0 1 0-1.42z"></path></svg><span>Links hierher</span></a></li><li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=translate" title="Seite mit DeepL übersetzen" rel="nofollow" class="menuitem translate"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M12.87,15.07L10.33,12.56L10.36,12.53C12.1,10.59 13.34,8.36 14.07,6H17V4H10V2H8V4H1V6H12.17C11.5,7.92 10.44,9.75 9,11.35C8.07,10.32 7.3,9.19 6.69,8H4.69C5.42,9.63 6.42,11.17 7.67,12.56L2.58,17.58L4,19L9,14L12.11,17.11L12.87,15.07M18.5,10H16.5L12,22H14L15.12,19H19.87L21,22H23L18.5,10M15.88,17L17.5,12.67L19.12,17H15.88Z"></path></svg><span>Seite mit DeepL übersetzen</span></a></li><li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=deletepagebutton&sectok=1675d8366baf52694ca4f2fba5ebd184" title="Seite löschen" rel="nofollow" class="menuitem deletepagebutton"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M7,6H17V19H7V6M9,8V17H11V8H9M13,8V17H15V8H13Z"></path></svg><span>Seite löschen</span></a></li><li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=export_pdf" title="PDF exportieren" rel="nofollow" class="menuitem export_pdf"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M14 9h5.5L14 3.5V9M7 2h8l6 6v12a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2m4.93 10.44c.41.9.93 1.64 1.53 2.15l.41.32c-.87.16-2.07.44-3.34.93l-.11.04.5-1.04c.45-.87.78-1.66 1.01-2.4m6.48 3.81c.18-.18.27-.41.28-.66.03-.2-.02-.39-.12-.55-.29-.47-1.04-.69-2.28-.69l-1.29.07-.87-.58c-.63-.52-1.2-1.43-1.6-2.56l.04-.14c.33-1.33.64-2.94-.02-3.6a.853.853 0 0 0-.61-.24h-.24c-.37 0-.7.39-.79.77-.37 1.33-.15 2.06.22 3.27v.01c-.25.88-.57 1.9-1.08 2.93l-.96 1.8-.89.49c-1.2.75-1.77 1.59-1.88 2.12-.04.19-.02.36.05.54l.03.05.48.31.44.11c.81 0 1.73-.95 2.97-3.07l.18-.07c1.03-.33 2.31-.56 4.03-.75 1.03.51 2.24.74 3 .74.44 0 .74-.11.91-.3m-.41-.71l.09.11c-.01.1-.04.11-.09.13h-.04l-.19.02c-.46 0-1.17-.19-1.9-.51.09-.1.13-.1.23-.1 1.4 0 1.8.25 1.9.35M8.83 17c-.65 1.19-1.24 1.85-1.69 2 .05-.38.5-1.04 1.21-1.69l.48-.31m3.02-6.91c-.23-.9-.24-1.63-.07-2.05l.07-.12.15.05c.17.24.19.56.09 1.1l-.03.16-.16.82-.05.04z"></path></svg><span>PDF exportieren</span></a></li><li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=plugin_move" title="Seite umbenennen" rel="nofollow" class="menuitem plugin_move plugin_move_page "><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M18,4V3A1,1 0 0,0 17,2H5A1,1 0 0,0 4,3V7A1,1 0 0,0 5,8H17A1,1 0 0,0 18,7V6H19V10H9V21A1,1 0 0,0 10,22H12A1,1 0 0,0 13,21V12H21V4H18Z"></path></svg><span>Seite umbenennen</span></a></li><li class="action"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=linkbutton" title="Copy Moodle Link" rel="nofollow" class="menuitem linkbutton plugin_urlcopy "><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24px" height="24px"><path d="M 14 3 L 6 4 L 0 8 L 1 8 L 1 18 L 2 18 L 2 8 L 4.011719 8 C 4.007813 8.066406 4 8.125 4 8.195313 C 4 9.378906 4.320313 10.199219 4.320313 10.199219 L 8.765625 11.261719 L 12.015625 7.585938 C 12.015625 7.585938 11.71875 6.359375 11.046875 5.460938 Z M 18.5 7 C 16.929688 7 15.507813 7.675781 14.5 8.742188 C 14.242188 8.46875 13.960938 8.214844 13.652344 8 L 11.632813 10.28125 C 12.441406 10.699219 13 11.53125 13 12.5 L 13 20 L 16 20 L 16 12.5 C 16 11.101563 17.101563 10 18.5 10 C 19.898438 10 21 11.101563 21 12.5 L 21 20 L 24 20 L 24 12.5 C 24 9.480469 21.519531 7 18.5 7 Z M 5.03125 11.910156 C 5.011719 12.105469 5 12.300781 5 12.5 L 5 20 L 8 20 L 8 12.621094 Z"></path></svg><span>Copy Moodle Link</span></a></li><li class="action"><a href="#dokuwiki__top" title="Nach oben [t]" rel="nofollow" accesskey="t" class="menuitem top"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path></svg><span>Nach oben</span></a></li> </ul> </div> </nav> <!-- /page-tools --> <div class="panel panel-default px-3 py-2" itemprop="articleBody"> <div class="page panel-body"> <!-- page-icons --> <div class="dw-page-icons pull-right hidden-print"> <ul class="list-inline"> <li class="shareon dropdown"><a href="#" title="Teilen per" rel="nofollow" class="menuitem dropdown-toggle shareon" data-toggle="dropdown" data-remote="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start" data-target="#" aria-haspopup="true" aria-expanded="true"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="mdi-share-variant" width="24" height="24" viewBox="0 0 24 24"><path d="M18,16.08C17.24,16.08 16.56,16.38 16.04,16.85L8.91,12.7C8.96,12.47 9,12.24 9,12C9,11.76 8.96,11.53 8.91,11.3L15.96,7.19C16.5,7.69 17.21,8 18,8C19.66,8 21,6.66 21,5C21,3.34 19.66,2 18,2C16.34,2 15,3.34 15,5C15,5.24 15.04,5.47 15.09,5.7L8.04,9.81C7.5,9.31 6.79,9 6,9C4.34,9 3,10.34 3,12C3,13.66 4.34,15 6,15C6.79,15 7.5,14.69 8.04,14.19L15.16,18.34C15.11,18.55 15.08,18.77 15.08,19C15.08,20.61 16.39,21.91 18,21.91C19.61,21.91 20.92,20.61 20.92,19C20.92,17.39 19.61,16.08 18,16.08Z"></path></svg><span>Teilen per</span></a><ul class="dropdown-menu"><li class="dropdown-header"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:share-variant" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7c0-.24-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3a3 3 0 0 0-3-3a3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3a3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66c0 1.61 1.31 2.91 2.92 2.91c1.61 0 2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08z" fill="currentColor"></path></svg> Teilen per...</li><li><a href="#" class="share share-twitter" title="Teilen per Twitter"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:twitter" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M22.46 6c-.77.35-1.6.58-2.46.69c.88-.53 1.56-1.37 1.88-2.38c-.83.5-1.75.85-2.72 1.05C18.37 4.5 17.26 4 16 4c-2.35 0-4.27 1.92-4.27 4.29c0 .34.04.67.11.98C8.28 9.09 5.11 7.38 3 4.79c-.37.63-.58 1.37-.58 2.15c0 1.49.75 2.81 1.91 3.56c-.71 0-1.37-.2-1.95-.5v.03c0 2.08 1.48 3.82 3.44 4.21a4.22 4.22 0 0 1-1.93.07a4.28 4.28 0 0 0 4 2.98a8.521 8.521 0 0 1-5.33 1.84c-.34 0-.68-.02-1.02-.06C3.44 20.29 5.7 21 8.12 21C16 21 20.33 14.46 20.33 8.79c0-.19 0-.37-.01-.56c.84-.6 1.56-1.36 2.14-2.23z" fill="currentColor"></path></svg> Twitter</a></li><li><a href="#" class="share share-linkedin" title="Teilen per LinkedIn"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:linkedin" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.32 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.79M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z" fill="currentColor"></path></svg> LinkedIn</a></li><li><a href="#" class="share share-facebook" title="Teilen per Facebook"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:facebook" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M12 2.04c-5.5 0-10 4.49-10 10.02c0 5 3.66 9.15 8.44 9.9v-7H7.9v-2.9h2.54V9.85c0-2.51 1.49-3.89 3.78-3.89c1.09 0 2.23.19 2.23.19v2.47h-1.26c-1.24 0-1.63.77-1.63 1.56v1.88h2.78l-.45 2.9h-2.33v7a10 10 0 0 0 8.44-9.9c0-5.53-4.5-10.02-10-10.02z" fill="currentColor"></path></svg> Facebook</a></li><li><a href="#" class="share share-pinterest" title="Teilen per Pinterest"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:pinterest" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M9.04 21.54c.96.29 1.93.46 2.96.46a10 10 0 0 0 10-10A10 10 0 0 0 12 2A10 10 0 0 0 2 12c0 4.25 2.67 7.9 6.44 9.34c-.09-.78-.18-2.07 0-2.96l1.15-4.94s-.29-.58-.29-1.5c0-1.38.86-2.41 1.84-2.41c.86 0 1.26.63 1.26 1.44c0 .86-.57 2.09-.86 3.27c-.17.98.52 1.84 1.52 1.84c1.78 0 3.16-1.9 3.16-4.58c0-2.4-1.72-4.04-4.19-4.04c-2.82 0-4.48 2.1-4.48 4.31c0 .86.28 1.73.74 2.3c.09.06.09.14.06.29l-.29 1.09c0 .17-.11.23-.28.11c-1.28-.56-2.02-2.38-2.02-3.85c0-3.16 2.24-6.03 6.56-6.03c3.44 0 6.12 2.47 6.12 5.75c0 3.44-2.13 6.2-5.18 6.2c-.97 0-1.92-.52-2.26-1.13l-.67 2.37c-.23.86-.86 2.01-1.29 2.7v-.03z" fill="currentColor"></path></svg> Pinterest</a></li><li><a href="#" class="share share-telegram" title="Teilen per Telegram"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:telegram" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M9.78 18.65l.28-4.23l7.68-6.92c.34-.31-.07-.46-.52-.19L7.74 13.3L3.64 12c-.88-.25-.89-.86.2-1.3l15.97-6.16c.73-.33 1.43.18 1.15 1.3l-2.72 12.81c-.19.91-.74 1.13-1.5.71L12.6 16.3l-1.99 1.93c-.23.23-.42.42-.83.42z" fill="currentColor"></path></svg> Telegram</a></li><li><a href="#" class="share share-whatsapp" title="Teilen per WhatsApp"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:whatsapp" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M12.04 2c-5.46 0-9.91 4.45-9.91 9.91c0 1.75.46 3.45 1.32 4.95L2.05 22l5.25-1.38c1.45.79 3.08 1.21 4.74 1.21c5.46 0 9.91-4.45 9.91-9.91c0-2.65-1.03-5.14-2.9-7.01A9.816 9.816 0 0 0 12.04 2m.01 1.67c2.2 0 4.26.86 5.82 2.42a8.225 8.225 0 0 1 2.41 5.83c0 4.54-3.7 8.23-8.24 8.23c-1.48 0-2.93-.39-4.19-1.15l-.3-.17l-3.12.82l.83-3.04l-.2-.32a8.188 8.188 0 0 1-1.26-4.38c.01-4.54 3.7-8.24 8.25-8.24M8.53 7.33c-.16 0-.43.06-.66.31c-.22.25-.87.86-.87 2.07c0 1.22.89 2.39 1 2.56c.14.17 1.76 2.67 4.25 3.73c.59.27 1.05.42 1.41.53c.59.19 1.13.16 1.56.1c.48-.07 1.46-.6 1.67-1.18c.21-.58.21-1.07.15-1.18c-.07-.1-.23-.16-.48-.27c-.25-.14-1.47-.74-1.69-.82c-.23-.08-.37-.12-.56.12c-.16.25-.64.81-.78.97c-.15.17-.29.19-.53.07c-.26-.13-1.06-.39-2-1.23c-.74-.66-1.23-1.47-1.38-1.72c-.12-.24-.01-.39.11-.5c.11-.11.27-.29.37-.44c.13-.14.17-.25.25-.41c.08-.17.04-.31-.02-.43c-.06-.11-.56-1.35-.77-1.84c-.2-.48-.4-.42-.56-.43c-.14 0-.3-.01-.47-.01z" fill="currentColor"></path></svg> WhatsApp</a></li><li><a href="#" class="share share-yammer" title="Teilen per Yammer"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:yammer" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M13.54 5.93L9.18 17.11c-.02.08-.92 2.54-3.95 2.54a1 1 0 0 1-1-1c0-.56.45-1 1-1c1.56 0 2.03-1.12 2.08-1.24l.37-1.01l-3.86-9.46c-.2-.51.04-1.1.55-1.3a1 1 0 0 1 1.31.55l3.07 7.53l2.93-7.52c.2-.52.78-.77 1.32-.57c.5.2.75.78.54 1.3m4.96.45c-.18 0-.37.07-.5.19c0 0-4.2 2.99-4 3.31c.19.32 4.83-1.85 4.84-1.88c.31-.1.54-.41.54-.77c0-.47-.38-.85-.88-.85m.77 10.46c-.1-.17-.27-.3-.44-.38c0 0-4.66-2.17-4.83-1.85c-.19.33 4 3.31 4 3.31c.25.22.63.26.94.08c.41-.23.56-.75.33-1.16m1.7-5.42c-.18-.1-.37-.13-.57-.1c0 0-5.11.53-5.1.9c.01.37 5.11.78 5.12.78c.34.05.69-.1.87-.42c.21-.41.09-.93-.32-1.16z" fill="currentColor"></path></svg> Yammer</a></li><li><a href="#" class="share share-reddit" title="Teilen per Reddit"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:reddit" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M14.5 15.41c.08.09.08.28 0 .39c-.73.7-2.09.76-2.5.76c-.39 0-1.75-.06-2.46-.76c-.1-.11-.1-.3 0-.39c.11-.1.28-.1.38 0c.46.46 1.41.59 2.08.59c.69 0 1.66-.13 2.1-.59c.11-.1.28-.1.4 0m-3.75-2.37c0-.57-.47-1.04-1.04-1.04c-.57 0-1.04.47-1.04 1.04c0 .57.47 1.05 1.04 1.04c.57 0 1.04-.47 1.04-1.04M14.29 12c-.57 0-1.04.5-1.04 1.05s.47 1.04 1.04 1.04c.57 0 1.04-.48 1.04-1.04c0-.55-.47-1.05-1.04-1.05M22 12c0 5.5-4.5 10-10 10S2 17.5 2 12S6.5 2 12 2s10 4.5 10 10m-3.33 0c0-.81-.67-1.46-1.45-1.46c-.4 0-.76.16-1.02.41c-1-.72-2.37-1.18-3.9-1.24l.67-3.13l2.17.47c.02.55.48.99 1.04.99c.57 0 1.04-.47 1.04-1.04c0-.57-.47-1.04-1.04-1.04c-.41 0-.77.24-.93.59l-2.43-.52c-.07-.03-.14 0-.19.04c-.06.04-.09.1-.1.17l-.74 3.48c-1.55.05-2.95.51-3.97 1.24c-.26-.25-.62-.4-1.01-.4c-.81 0-1.46.65-1.46 1.44c0 .61.36 1.11.86 1.34c-.02.16-.03.28-.03.44c0 2.22 2.61 4.07 5.82 4.07c3.23 0 5.85-1.82 5.85-4.07c0-.14-.01-.28-.04-.44c.5-.23.86-.74.86-1.34z" fill="currentColor"></path></svg> Reddit</a></li><li><a href="#" class="share share-microsoft-teams" title="Teilen per Teams"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:microsoft-teams" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M19.19 8.77q-.46 0-.86-.17q-.39-.17-.69-.47q-.3-.3-.47-.69q-.17-.4-.17-.86q0-.45.17-.85q.17-.4.47-.69q.3-.3.69-.47q.4-.18.86-.17q.45-.01.85.17q.4.17.7.47q.29.29.47.69q.17.4.17.85q0 .46-.17.86q-.17.39-.47.69q-.3.3-.7.47q-.4.17-.85.17m0-3.12q-.39 0-.69.27q-.25.27-.25.66t.25.67q.3.25.69.25q.39 0 .66-.25q.28-.25.28-.67q0-.39-.28-.66q-.27-.27-.66-.27M22 10.33V15q0 .63-.24 1.2q-.26.57-.67.99q-.43.43-1 .67q-.59.25-1.21.25q-.38 0-.76-.11q-.39-.07-.71-.25q-.24.79-.71 1.44q-.47.65-1.1 1.11q-.63.46-1.39.7q-.76.27-1.58.27q-.96 0-1.81-.33q-.82-.33-1.5-.94q-.66-.57-1.09-1.36q-.44-.8-.57-1.74H2.83q-.33 0-.59-.25q-.24-.24-.24-.58V7.73q0-.34.24-.59q.26-.24.59-.24H10q-.29-.6-.29-1.25q0-.61.23-1.15q.22-.5.62-.92q.4-.39.94-.62q.5-.23 1.12-.23q.61 0 1.14.23q.53.23.93.62q.4.42.62.92q.23.54.23 1.15q0 .6-.23 1.14q-.22.53-.62.92q-.4.4-.93.63q-.53.23-1.14.23q-.15 0-.31-.02q-.15-.02-.31-.05v.9h9.06q.39 0 .67.27q.27.27.27.66M12.63 4q-.35 0-.63.11q-.33.13-.56.36q-.22.23-.35.53q-.13.31-.13.65q0 .35.13.65q.13.3.35.53q.23.22.56.36q.28.13.63.13q.34 0 .64-.13q.3-.14.53-.36q.23-.23.36-.53q.14-.3.14-.65q0-.34-.14-.65q-.13-.3-.36-.53q-.23-.23-.53-.36q-.3-.11-.64-.11m-4.85 6.18h1.88V8.62H4.34v1.56h1.88v5h1.56m8.6 1.09v-5.62H12v5.42q0 .34-.24.58q-.26.25-.59.25H8.92q.13.67.47 1.25q.34.57.82.99q.48.41 1.1.65q.61.21 1.32.21q.77 0 1.45-.27q.68-.3 1.2-.81q.51-.51.8-1.19q.3-.68.3-1.46M20.75 15v-4.35h-3.12v5.71q.25.25.57.38q.3.12.68.12q.39 0 .73-.15q.34-.15.59-.4q.26-.25.4-.6q.15-.34.15-.71z" fill="currentColor"></path></svg> Teams</a></li></ul></li><li class="feed"><a href="https://wiki.bzz.ch/feed.php?ns=de:modul:ffit:3-jahr" title="Letzte Änderungen" rel="nofollow" class="menuitem feed"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="mdi-rss" width="24" height="24" viewBox="0 0 24 24"><path d="M6.18,15.64C7.38,15.64 8.36,16.62 8.36,17.82C8.36,19 7.38,20 6.18,20C5,20 4,19 4,17.82C4,16.62 4.98,15.64 6.18,15.64M4,4.44C12.59,4.44 19.56,11.41 19.56,20H16.73C16.73,12.97 11.03,7.27 4,7.27V4.44M4,10.1C9.47,10.1 13.9,14.53 13.9,20H11.07C11.07,16.1 7.9,12.93 4,12.93V10.1Z"></path></svg><span>Letzte Änderungen</span></a></li><li class="sendmail"><a href="#" title="Per E-Mail senden" rel="nofollow" class="menuitem sendmail"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="mdi-email-plus" width="24" height="24" viewBox="0 0 24 24"><path d="M3,4C1.89,4 1,4.89 1,6V18C1,19.1 1.9,20 3,20H14.09C14.03,19.67 14,19.34 14,19C14,15.69 16.69,13 20,13C20.34,13 20.67,13.03 21,13.09V6C21,4.89 20.1,4 19,4H3M3,6L11,11L19,6V8L11,13L3,8V6M19,15V18H16V20H19V23H21V20H24V18H21V15H19Z"></path></svg><span>Per E-Mail senden</span></a></li><li class="printpage"><a href="#" title="Drucken" rel="nofollow" class="menuitem printpage"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="mdi-printer" width="24" height="24" viewBox="0 0 24 24"><path d="M18,3H6V7H18M19,12C18.45,12 18,11.55 18,11C18,10.45 18.45,10 19,10C19.55,10 20,10.45 20,11C20,11.55 19.55,12 19,12M16,19H8V14H16M19,8H5C3.34,8 2,9.34 2,11V17H6V21H18V17H22V11C22,9.34 20.66,8 19,8Z"></path></svg><span>Drucken</span></a></li><li class="linkbutton"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start?do=linkbutton" title="Copy Moodle Link" rel="nofollow" class="menuitem linkbutton plugin_urlcopy "><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24px" height="24px"><path d="M 14 3 L 6 4 L 0 8 L 1 8 L 1 18 L 2 18 L 2 8 L 4.011719 8 C 4.007813 8.066406 4 8.125 4 8.195313 C 4 9.378906 4.320313 10.199219 4.320313 10.199219 L 8.765625 11.261719 L 12.015625 7.585938 C 12.015625 7.585938 11.71875 6.359375 11.046875 5.460938 Z M 18.5 7 C 16.929688 7 15.507813 7.675781 14.5 8.742188 C 14.242188 8.46875 13.960938 8.214844 13.652344 8 L 11.632813 10.28125 C 12.441406 10.699219 13 11.53125 13 12.5 L 13 20 L 16 20 L 16 12.5 C 16 11.101563 17.101563 10 18.5 10 C 19.898438 10 21 11.101563 21 12.5 L 21 20 L 24 20 L 24 12.5 C 24 9.480469 21.519531 7 18.5 7 Z M 5.03125 11.910156 C 5.011719 12.105469 5 12.300781 5 12.5 L 5 20 L 8 20 L 8 12.621094 Z"></path></svg><span>Copy Moodle Link</span></a></li><li class="permalink"><a href="https://wiki.bzz.ch/doku.php?id=de:modul:ffit:3-jahr:start&rev=1764019846" title="Permalink" rel="nofollow" class="menuitem permalink" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="mdi-link" width="24" height="24" viewBox="0 0 24 24"><path d="M3.9,12C3.9,10.29 5.29,8.9 7,8.9H11V7H7C4.24,7 2,9.24 2,12C2,14.76 4.24,17 7,17H11V15.1H7C5.29,15.1 3.9,13.71 3.9,12M8,13H16V11H8V13M17,7H13V8.9H17C18.71,8.9 20.1,10.29 20.1,12C20.1,13.71 18.71,15.1 17,15.1H13V17H17C19.76,17 22,14.76 22,12C22,9.24 19.76,7 17,7Z"></path></svg><span>Permalink</span></a></li> </ul> </div> <span class="clearfix"></span> <!-- /page-icons --> <div class="help modal fade" tabindex="-1" role="dialog"> <div class="modal-dialog modal-lg" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close btn btn-default" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title"></h4> </div> <div class="modal-body px-5"></div> </div> </div> </div> <div class="dw-content-page "><!-- content --><div class="dw-content"><div class="section_highlight_wrapper"><h1 class="sectionedit1 page-header pb-3 mb-4 mt-0" id="lehrjahr">3. Lehrjahr<a class="anchorjs-link " href="#lehrjahr" aria-label="Anchor link for: lehrjahr" data-anchorjs-icon="" style="font-family: anchorjs-icons; font-style: normal; font-variant: normal; font-weight: normal; line-height: 1; padding-left: 0.375em;"></a></h1><div class="level1"> </div><div class="secedit editbutton_section editbutton_1"><form class="button btn_secedit form-inline" method="post" action="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start"><div class="no"><input type="hidden" name="do" value="edit"><input type="hidden" name="rev" value="1764019846"><input type="hidden" name="summary" value="[3. Lehrjahr] "><input type="hidden" name="target" value="section"><input type="hidden" name="hid" value="lehrjahr"><input type="hidden" name="codeblockOffset" value="0"><input type="hidden" name="range" value="1-26"><button type="submit" title="3. Lehrjahr" class="btn btn-xs btn-default btn btn-default"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:pencil" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83l3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z" fill="currentColor"></path></svg> Bearbeiten</button></div></form></div></div> <div class="section_highlight_wrapper"><h2 class="sectionedit2 page-header pb-3 mb-4 mt-0" id="inhalte">Inhalte<a class="anchorjs-link " href="#inhalte" aria-label="Anchor link for: inhalte" data-anchorjs-icon="" style="font-family: anchorjs-icons; font-style: normal; font-variant: normal; font-weight: normal; line-height: 1; padding-left: 0.375em;"></a></h2><div class="level2"> <p> </p><div class="plugin_nspages"><ul class=" fix-media-list-overlap"> <li class="level1 node"><div class="li"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/start" class="wikilink1" title="de:modul:ffit:3-jahr:java:start" data-wiki-id="de:modul:ffit:3-jahr:java:start">1. Semester: Java</a></div> </li> <li class="level1 node"><div class="li"><a href="https://wiki.bzz.ch/de/modul/ffit/3-jahr/cicd/start" class="wikilink1" title="de:modul:ffit:3-jahr:cicd:start" data-wiki-id="de:modul:ffit:3-jahr:cicd:start">2. Semester: CI/CD</a></div> </li> </ul> <div class="catpageeofidx"></div></div> <p></p> </div><div class="secedit editbutton_section editbutton_2"><form class="button btn_secedit form-inline" method="post" action="https://wiki.bzz.ch/de/modul/ffit/3-jahr/start"><div class="no"><input type="hidden" name="do" value="edit"><input type="hidden" name="rev" value="1764019846"><input type="hidden" name="summary" value="[Inhalte] "><input type="hidden" name="target" value="section"><input type="hidden" name="hid" value="inhalte"><input type="hidden" name="codeblockOffset" value="0"><input type="hidden" name="range" value="27-"><button type="submit" title="Inhalte" class="btn btn-xs btn-default btn btn-default"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:pencil" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83l3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z" fill="currentColor"></path></svg> Bearbeiten</button></div></form></div></div> </div><!-- /content --></div> </div> </div> <div class="small text-right"> <span class="docInfo"> <ul class="list-inline"><li><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify text-muted" data-icon="mdi:file-document-outline" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6H6m0 2h7v5h5v11H6V4m2 8v2h8v-2H8m0 4v2h5v-2H8z" fill="currentColor"></path></svg> <span title="de/modul/ffit/3-jahr/start.txt">de/modul/ffit/3-jahr/start.txt</span></li><li><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify text-muted" data-icon="mdi:calendar" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M19 19H5V8h14m-3-7v2H8V1H6v2H5c-1.11 0-2 .89-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2h-1V1m-1 11h-5v5h5v-5z" fill="currentColor"></path></svg> Zuletzt geändert: <span title="2025/11/24 22:30">2025/11/24 22:30</span></li><li class="text-muted">von <bdi>apeter</bdi></li></ul> </span> </div> </article> </div> </main> <footer id="dw__footer" class="dw-container py-5 dokuwiki container-fluid"> <!-- footer --> <div class="dw-container small container-fluid mx-5"> <div class="footer-dw-title"> <div class="media"> <div class="media-left"> <img src="https://wiki.bzz.ch/_media/wiki/logo.png" alt="BZZ - Modulwiki" class="media-object" style="height:32px"> </div> <div class="media-body"> <div class="row"> <div class="col-sm-2"> <h4 class="media-heading">BZZ - Modulwiki</h4> <p> </p> </div> <div class="col-sm-10"> </div> </div> </div> </div> </div> <div class="footer-license row"> <hr> <div id="dw__license" class="col-sm-6"> <p> <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.de" title="CC Attribution-Noncommercial-Share Alike 4.0 International" target="_blank" itemscope="" itemtype="http://schema.org/CreativeWork" itemprop="license" rel="license" class="license navbar-link"><img src="https://wiki.bzz.ch/lib/tpl/bootstrap3/images/license/cc.png" width="24" height="24" alt="cc"> <img src="https://wiki.bzz.ch/lib/tpl/bootstrap3/images/license/by.png" width="24" height="24" alt="by"> <img src="https://wiki.bzz.ch/lib/tpl/bootstrap3/images/license/nc.png" width="24" height="24" alt="nc"> <img src="https://wiki.bzz.ch/lib/tpl/bootstrap3/images/license/sa.png" width="24" height="24" alt="sa"> </a> </p> <p class="small"> Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht:<br><a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.de" title="CC Attribution-Noncommercial-Share Alike 4.0 International" target="_blank" itemscope="" itemtype="http://schema.org/CreativeWork" itemprop="license" rel="license" class="license navbar-link">CC Attribution-Noncommercial-Share Alike 4.0 International</a> </p> </div> <div class="col-sm-6"> <!-- badges --> <div class="text-right"> <ul id="dw__badges" class="list-inline hidden-print"> <li> <a href="https://www.dokuwiki.org/template:bootstrap3" title="Bootstrap template for DokuWiki" target="_blank" class="navbar-link"> <img src="https://wiki.bzz.ch/lib/tpl/bootstrap3/images/bootstrap.png" width="20" alt="Bootstrap template for DokuWiki"> </a> </li> <li> <a href="https://www.php.net" title="Powered by PHP" target="_blank" class="navbar-link"> <img src="https://wiki.bzz.ch/lib/tpl/bootstrap3/images/php.png" width="20" alt="Powered by PHP"> </a> </li> <li> <a href="http://validator.w3.org/check/referer" title="Valid HTML5" target="_blank" class="navbar-link"> <img src="https://wiki.bzz.ch/lib/tpl/bootstrap3/images/html5.png" width="20" alt="Valid HTML5"> </a> </li> <li> <a href="http://jigsaw.w3.org/css-validator/check/referer?profile=css3" title="Valid CSS" target="_blank" class="navbar-link"> <img src="https://wiki.bzz.ch/lib/tpl/bootstrap3/images/css3.png" width="20" alt="Valid CSS"> </a> </li> <li> <a href="https://www.dokuwiki.org/" title="Driven by DokuWiki" target="_blank" class="navbar-link"> <img src="https://wiki.bzz.ch/lib/tpl/bootstrap3/images/logo.png" width="20" alt="Driven by DokuWiki"> </a> </li> </ul> </div> <!-- /badges --> </div> </div> </div> <!-- /footer --> </footer> <a href="#dokuwiki__top" class="back-to-top hidden-print btn btn-default" title="zum Inhalt springen" accesskey="t"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" class="iconify" data-icon="mdi:chevron-up" style="vertical-align: -0.125em; transform: rotate(360deg);"><path d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6l-6 6l1.41 1.41z" fill="currentColor"></path></svg> </a> <div id="screen__mode"> <span class="visible-xs-block"></span> <span class="visible-sm-block"></span> <span class="visible-md-block"></span> <span class="visible-lg-block"></span> </div> <img src="https://wiki.bzz.ch/lib/exe/taskrunner.php?id=de%3Amodul%3Affit%3A3-jahr%3Astart&1764629725" width="2" height="1" alt=""> </div> </body></html> |
WikiPageCollectorService
Der WikiPageCollectorService sammelt die URLs von den Seiten, die heruntergeladen werden sollen.
Der Benutzer soll einen Unterordner beziehungsweise einen „Namespace“ angeben können und sämtliche darunterliegenden Seiten sollen rekursiv gesammelt werden.
Leider gibt es dazu keine geeignete und funktionierende XML-RPC-Funktion. Theoretisch könnte man alle Seiten als HTML-Dokumente runterladen und dann sämtliche links (<a href=…) speichern.
In unserem Fall nutzen
Daher nutzen wir dieselbe Funktionen, die auch vom Wiki verwendet wird, um Unterseiten aufzulisten.
<nspages . -h1 -exclude -simpleList -textPages="">
WikiCrawlerPipelineService
Orchestriert wird das Ganze Filter