From c12db0be9908f91bc88562c8d3a174ca99653474 Mon Sep 17 00:00:00 2001 From: waldek Date: Thu, 11 Mar 2021 16:57:21 +0100 Subject: [PATCH] adds all web pages --- classes_outline.csv | 72 + css/tjmanual.css | 85 + css/tjreport.css | 493 ++ gantt_overview.html | 11214 ++++++++++++++++++++++++++++++++++ general_overview.html | 5534 +++++++++++++++++ ical_report.ics | 2619 ++++++++ icons/details.png | Bin 0 -> 744 bytes icons/flag-green.png | Bin 0 -> 583 bytes icons/flag-red.png | Bin 0 -> 578 bytes icons/flag-yellow.png | Bin 0 -> 577 bytes icons/resource.png | Bin 0 -> 722 bytes icons/resourcegroup.png | Bin 0 -> 866 bytes icons/task.png | Bin 0 -> 494 bytes icons/taskgroup.png | Bin 0 -> 488 bytes icons/trend-down.png | Bin 0 -> 756 bytes icons/trend-flat.png | Bin 0 -> 735 bytes icons/trend-up.png | Bin 0 -> 768 bytes prerequisite alexandra.html | 106 + prerequisite antoine.html | 106 + prerequisite steve.html | 106 + prerequisite wouter.html | 225 + qualifying alexandra.html | 106 + qualifying antoine.html | 182 + qualifying steve.html | 138 + qualifying wouter.html | 879 +++ resources alexandra.html | 182 + resources antoine.html | 106 + resources steve.html | 214 + resources wouter.html | 621 ++ scripts/wz_tooltip.js | 1301 ++++ 30 files changed, 24289 insertions(+) create mode 100644 classes_outline.csv create mode 100644 css/tjmanual.css create mode 100644 css/tjreport.css create mode 100644 gantt_overview.html create mode 100644 general_overview.html create mode 100644 ical_report.ics create mode 100644 icons/details.png create mode 100644 icons/flag-green.png create mode 100644 icons/flag-red.png create mode 100644 icons/flag-yellow.png create mode 100644 icons/resource.png create mode 100644 icons/resourcegroup.png create mode 100644 icons/task.png create mode 100644 icons/taskgroup.png create mode 100644 icons/trend-down.png create mode 100644 icons/trend-flat.png create mode 100644 icons/trend-up.png create mode 100644 prerequisite alexandra.html create mode 100644 prerequisite antoine.html create mode 100644 prerequisite steve.html create mode 100644 prerequisite wouter.html create mode 100644 qualifying alexandra.html create mode 100644 qualifying antoine.html create mode 100644 qualifying steve.html create mode 100644 qualifying wouter.html create mode 100644 resources alexandra.html create mode 100644 resources antoine.html create mode 100644 resources steve.html create mode 100644 resources wouter.html create mode 100644 scripts/wz_tooltip.js diff --git a/classes_outline.csv b/classes_outline.csv new file mode 100644 index 0000000..ee0cda8 --- /dev/null +++ b/classes_outline.csv @@ -0,0 +1,72 @@ +"Start";"End";"Name";"Effort";"Id";"Resources";"Responsible" +"Thu 2021-04-01";"Thu 2021-04-01";"Overview of communication channels";0.5;"prerequisite.theory.communication";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Thu 2021-04-01";"Thu 2021-04-01";"Introduction to markdown for notekeeping";0.3;"prerequisite.theory.markdown";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Thu 2021-04-01";"Fri 2021-04-02";"Short introdution to git for notekeeping";1.0;"prerequisite.theory.git";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Fri 2021-04-02";"Tue 2021-04-06";"Optimize your personal notekeeping toolchain";1.0;"prerequisite.practice.optimize_toolchain";"Homework (homework), Student (student)";"Wouter Gordts" +"Tue 2021-04-06";"Wed 2021-04-07";"FRACZ wargame";0.8;"prerequisite.practice.wargame";"Labo (labo), Classroom (classroom), Student (student)";"Wouter Gordts" +"Wed 2021-04-07";"Wed 2021-04-07";"History of unix/linux and Debian";0.5;"resources.linux.theory.intro";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Thu 2021-04-08";"Thu 2021-04-08";"Quick dive into a GUI installation";0.5;"resources.linux.theory.gui";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Thu 2021-04-08";"Fri 2021-04-09";"Introduction to the shell";1.0;"resources.linux.theory.cli";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Fri 2021-04-09";"Fri 2021-04-09";"Introduction to vim";0.5;"resources.linux.theory.vimtutor";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Mon 2021-04-12";"Mon 2021-04-12";"Very brief introdution to bandit and SSH";0.5;"resources.linux.theory.bandit";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Mon 2021-04-12";"Tue 2021-04-13";"Bandit";1.0;"resources.linux.practice.bandit";"Labo (labo), Classroom (classroom), Student (student)";"Wouter Gordts" +"Tue 2021-04-13";"Wed 2021-04-14";"Leviathan";1.0;"resources.linux.test.wargame";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Wed 2021-04-14";"Wed 2021-04-21";"Classes";5.0;"resources.networking.theory.theory";"Steve Dejongh (steve), Classroom (classroom), Student (student)";"Steve Dejongh" +"Wed 2021-04-21";"Thu 2021-04-22";"Labo";1.0;"resources.networking.theory.practice";"Labo (labo), Classroom (classroom), Student (student)";"Steve Dejongh" +"Thu 2021-04-22";"Mon 2021-04-26";"Networking theory self study";1.8;"resources.networking.theory.study";"Homework (homework), Student (student)";"Steve Dejongh" +"Mon 2021-04-26";"Tue 2021-04-27";"Networking theory evaluation";1.0;"resources.networking.theory.test";"Steve Dejongh (steve), Classroom (classroom), Student (student)";"Steve Dejongh" +"Tue 2021-04-27";"Thu 2021-04-29";"Debian implementations of essential services";2.5;"resources.networking.services.theory.debian";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Thu 2021-04-29";"Fri 2021-04-30";"Breakdown of IT internals and externals";0.5;"resources.hardware.theory.breakdown";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Fri 2021-04-30";"Fri 2021-04-30";"Overview of computer architectures";0.3;"resources.hardware.theory.architectures";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Fri 2021-04-30";"Fri 2021-04-30";"ARM vs x86";0.3;"resources.hardware.theory.rpi";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Fri 2021-04-30";"Tue 2021-05-04";"Group deployment of essential services on VM";2.0;"resources.networking.services.practice.debian";"Labo (labo), Classroom (classroom), Student (student)";"Wouter Gordts" +"Tue 2021-05-04";"Wed 2021-05-05";"Group deployment of RPI clients and headless servers";1.0;"resources.hardware.theory.deployment";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Wed 2021-05-05";"Mon 2021-05-10";"Classes";2.9;"resources.itil.theory";"Alexandra Degeest (alexandra), Classroom (classroom), Student (student)";"Alexandra Degeest" +"Mon 2021-05-10";"Mon 2021-05-10";"Introduction to compiled languages and compilation targets";0.3;"resources.hardware.theory.compilation";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Mon 2021-05-10";"Tue 2021-05-11";"Comparison of platforms vs protocols";0.3;"resources.hardware.theory.protocols";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Tue 2021-05-11";"Fri 2021-05-14";"Prepare certificate self study";2.0;"resources.hardware.study.certificate";"Homework (homework), Student (student)";"Wouter Gordts" +"Fri 2021-05-14";"Tue 2021-05-18";"Personal deployment of essential services on RPI";2.0;"resources.networking.services.study.rpi";"Homework (homework), Student (student)";"Wouter Gordts" +"Tue 2021-05-18";"Tue 2021-05-18";"Research RAID and ZFS";0.5;"resources.hardware.study.raid";"Homework (homework), Student (student)";"Wouter Gordts" +"Tue 2021-05-18";"Wed 2021-05-19";"Linux Professional Institute Linux Essentials";1.0;"resources.hardware.test.certificate";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Wed 2021-05-19";"Thu 2021-05-20";"Self study";0.9;"resources.itil.study";"Homework (homework), Student (student)";"Alexandra Degeest" +"Thu 2021-05-20";"Thu 2021-05-20";"Evaluation of essential services on Linux";0.3;"resources.networking.services.test.pihole";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Thu 2021-05-20";"Thu 2021-05-20";"ITIL evaluation";0.1;"resources.itil.test";"Alexandra Degeest (alexandra), Classroom (classroom), Student (student)";"Alexandra Degeest" +"Thu 2021-05-20";"Thu 2021-05-27";"The Debian OS";4.0;"qualifying.servers.deployment.theory.debian";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Thu 2021-05-27";"Fri 2021-05-28";"iptables and fail2ban";1.0;"qualifying.networking.theory.firewall";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Fri 2021-05-28";"Mon 2021-06-07";"Conceive and plan network layouts";5.0;"qualifying.networking.theory.network_conception";"Steve Dejongh (steve), Classroom (classroom), Student (student)";"Steve Dejongh" +"Mon 2021-06-07";"Tue 2021-06-08";"Introduction to cryptography";1.0;"qualifying.networking.theory.crypto";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Tue 2021-06-08";"Mon 2021-06-14";"Exposing local services to the internet";3.5;"qualifying.networking.theory.exposing_services";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Fri 2021-06-11";"Tue 2021-07-06";"Classes";5.8;"qualifying.support.theory";"Antoine Degeest (antoine), Classroom (classroom), Student (student)";"Antoine Degeest" +"Mon 2021-06-14";"Tue 2021-06-15";"Theory and application of OpenWRT";1.0;"qualifying.networking.theory.openwrt";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Tue 2021-06-15";"Fri 2021-06-18";"Succesfully deploy and expose services to the internet";3.0;"qualifying.networking.practice.exposing_services";"Labo (labo), Classroom (classroom), Student (student)";"Wouter Gordts" +"Fri 2021-06-18";"Tue 2021-06-22";"Krypton wargame";2.0;"qualifying.networking.practice.crypto";"Labo (labo), Classroom (classroom), Student (student)";"Wouter Gordts" +"Tue 2021-06-22";"Thu 2021-06-24";"Conceive multiple network scenarios";2.0;"qualifying.networking.practice.network_conception";"Labo (labo), Classroom (classroom), Student (student)";"Steve Dejongh" +"Thu 2021-06-24";"Fri 2021-06-25";"Personal OpenWRT deployment on RPI";1.0;"qualifying.networking.practice.openwrt";"Labo (labo), Classroom (classroom), Student (student)";"Wouter Gordts" +"Tue 2021-07-06";"Thu 2021-07-08";"Labo";2.0;"qualifying.support.practice";"Labo (labo), Classroom (classroom), Student (student)";"Antoine Degeest" +"Thu 2021-07-08";"Mon 2021-07-12";"Redhat as an alternative";2.0;"qualifying.servers.deployment.theory.redhat";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Mon 2021-07-12";"Wed 2021-07-14";"Deployment of Debian on hardware and VM";2.0;"qualifying.servers.deployment.practice.debian";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Wed 2021-07-14";"Thu 2021-07-15";"Deployment of Redhat on VM";1.0;"qualifying.servers.deployment.practice.redhat";"Labo (labo), Classroom (classroom), Student (student)";"Wouter Gordts" +"Thu 2021-07-15";"Fri 2021-07-16";"Certificate preparation";1.0;"qualifying.servers.deployment.practice.solo";"Labo (labo), Classroom (classroom), Student (student)";"Wouter Gordts" +"Fri 2021-07-16";"Mon 2021-08-23";"Introduction to scripting in BASH and python3";5.0;"qualifying.servers.maintenance.theory.scripting";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Fri 2021-08-20";"Fri 2021-08-27";"Research and write personal project";2.0;"personal_project.research";"Homework (homework), Student (student)";"Wouter Gordts" +"Mon 2021-08-23";"Mon 2021-08-30";"Advanced system management";4.0;"qualifying.servers.maintenance.theory.debian";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Mon 2021-08-30";"Fri 2021-09-03";"Deep dive into CLI tools";3.0;"qualifying.servers.maintenance.theory.tools";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Fri 2021-09-03";"Tue 2021-09-07";"Advanced python scripting";2.0;"qualifying.servers.maintenance.theory.advanced_python";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Tue 2021-09-07";"Thu 2021-09-09";"Tools and system maintenance in practice";2.5;"qualifying.servers.maintenance.practice.general";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Thu 2021-09-09";"Fri 2021-09-10";"Development of a usefull script";1.0;"qualifying.servers.maintenance.practice.scripting";"Labo (labo), Classroom (classroom), Student (student)";"Wouter Gordts" +"Fri 2021-09-10";"Mon 2021-09-13";"Certificate preparation";1.0;"qualifying.servers.maintenance.practice.certificate";"Labo (labo), Classroom (classroom), Student (student)";"Wouter Gordts" +"Mon 2021-09-13";"Wed 2021-09-15";"Setup synapse homeserver";1.8;"qualifying.networking.test.homeserver";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Wed 2021-09-15";"Thu 2021-09-16";"Linux Professional Institute LPIC-1";1.0;"qualifying.servers.deployment.test.certificate";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Thu 2021-09-16";"Mon 2021-09-20";"Linux Professional Institute LPIC-2";1.8;"qualifying.servers.maintenance.test.certificate";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Fri 2021-09-17";"Fri 2021-09-17";"Test";0.3;"qualifying.support.test";"Antoine Degeest (antoine), Classroom (classroom), Student (student)";"Antoine Degeest" +"Mon 2021-09-20";"Wed 2021-09-22";"Freenas as a platform to deploy VM's and docker instances";2.0;"qualifying.vm.theory.freenas";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Wed 2021-09-22";"Wed 2021-09-22";"General configuration of VM's";0.5;"qualifying.vm.theory.general";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Thu 2021-09-23";"Fri 2021-09-24";"Personal deployment of VM's";2.0;"qualifying.vm.practice.solo";"Labo (labo), Classroom (classroom), Student (student)";"Wouter Gordts" +"Mon 2021-09-27";"Mon 2021-09-27";"Deployment of diverse VM's via Windows, Debian and Freenas";0.5;"qualifying.vm.practice.supervised";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Mon 2021-09-27";"Wed 2021-09-29";"TODO";2.0;"qualifying.clients.theory.sub1";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Wed 2021-09-29";"Tue 2021-10-05";"Labo two";3.0;"qualifying.clients.practice.solo";"Labo (labo), Classroom (classroom), Student (student)";"Wouter Gordts" +"Tue 2021-10-05";"Thu 2021-10-07";"Labo one";2.0;"qualifying.clients.practice.supervised";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Thu 2021-10-07";"Mon 2021-10-11";"Follow up of personal project";2.0;"personal_project.followup";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Mon 2021-10-11";"Tue 2021-10-12";"TODO";1.0;"qualifying.clients.test.test";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Tue 2021-10-12";"Wed 2021-10-13";"Presentation of personal projects";1.0;"personal_project.presentation";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" +"Wed 2021-10-13";"Thu 2021-10-14";"Setup a freenas server with a Debian VM running inside";0.9;"qualifying.vm.test.freenas";"Wouter Gordts (wouter), Classroom (classroom), Student (student)";"Wouter Gordts" diff --git a/css/tjmanual.css b/css/tjmanual.css new file mode 100644 index 0000000..5018890 --- /dev/null +++ b/css/tjmanual.css @@ -0,0 +1,85 @@ +pre { + font-size:16px; + font-family: Courier; + padding-left:8px; + padding-right:8px; + padding-top:0px; + padding-bottom:0px; +} +p { + margin-top:8px; + margin-bottom:8px; +} +code { + font-size:16px; + font-family: Courier; +} +.table { + background-color:#ABABAB; + width:100%; +} +.tag { + background-color:#E0E0F0; + font-size:16px; + font-weight:bold; + padding-left:8px; + padding-right:8px; + padding-top:5px; + padding-bottom:5px; +} +.descr { + background-color:#F0F0F0; + font-size:16px; + padding-left:8px; + padding-right:8px; + padding-top:5px; + padding-bottom:5px; +} +.attrtable { + background-color:#ABABAB; +} +.attrtag { + background-color:#F0F0F0; + font-family: Courier; + padding-left:6px; + padding-right:6px; + padding-top:3px; + padding-bottom:3px; +} +.attrdescr { + background-color:#F0F0F0; + padding-left:6px; + padding-right:6px; + padding-top:3px; + padding-bottom:3px; + width:100%; +} +.codeframe{ + border-width:2px; + border-color:#ABABAB; + border-style:solid; + background-color:#F0F0F0; + margin-top:8px; + margin-bottom:8px; +} +.code { + padding-left:15px; + padding-right:15px; + padding-top:0px; + padding-bottom:0px; +} +div[codesection] { + border-width:2px; + border-color:#ABABAB; + border-style:solid; + background-color:#F0F0F0; + margin-top:8px; + margin-bottom:8px; +} +pre[codesection] { + padding-left:15px; + padding-right:15px; + padding-top:0px; + padding-bottom:0px; +} + diff --git a/css/tjreport.css b/css/tjreport.css new file mode 100644 index 0000000..9c6371e --- /dev/null +++ b/css/tjreport.css @@ -0,0 +1,493 @@ +/* WARNING: This is an automatically generated file. DO NOT EDIT IT! + * If you want to use your own style sheet, keep a master copy + * somewhere else and copy it over this file if needed. This file will + * be overwritten whenever the stylesheet that comes with TaskJuggler + * has been modified. */ +body { + font-family:Bitstream Vera Sans, Tahoma, sans-serif; + font-size:15px; +} +h1, h2, table, tr, td, div, span { +} +table { +} +/* Treat images in tables as block and not line elements. This will + * eliminate surprising space at the bottom. */ +td img {display: block;} +p { + font-size:15px; +} +td, div { + padding:0px; + margin:0px; +} +h1 { font-size:22px; } +h2 { font-size:18px; } +h3 { font-size:16px; } + +.tj_journal { + font-size:11px; +} +i.tj_journal { font-size:9px; } +h1.tj_journal { + font-size:16px; + margin-left:0px; +} +h2.tj_journal { + font-size:14px; + margin-left:10px; +} +h3.tj_journal { + margin-top:5px; + font-size:13px; + margin-bottom:1px; + margin-left:20px; +} +h4.tj_journal { + font-size:12px; + margin-left:30px; +} +p.tj_journal { + margin-top:1px; + margin-bottom:5px; + margin-left:30px; +} + +/* The basic elements of a text report page. */ +.tj_text_page { + width:100%; + border-spacing:0px; +} + +.tj_text_row { +} +.tj_column_left { + vertical-align:top; +} + +.tj_column_center { + vertical-align:top; +} + +.tj_column_right { + vertical-align:top; +} + +/* The top-level page layout */ +.tj_page { + margin: 35px 5% 25px 5%; +} + +/* The container that holds report tables */ +.tj_table_frame { + margin-left:auto; + margin-right:auto; + text-align:center; + background-color:#9a9a9a; + margin-top:15px; + margin-bottom:15px; + border-spacing:1px; + font-size:13px; +} + +/* The headline box for report tables */ +.tj_table_headline { + font-size:16px; + font-weight:bold; + white-space:nowrap; + padding:5px; + margin:1px; + text-align:center; + color:#000000; + background-color:#d4dde6; +} + +.tj_table { + background-color:#9a9a9a; + margin:0px; + border-spacing:1px; +} + +/* The cells of the table header. */ +.tj_table_header_cell { + padding:1px 3px 1px 3px; + white-space:nowrap; + border-spacing:0px; + color:#ffffff; + overflow:hidden; +} + +/* A regular table cell. It usually contains the cell icon, the text + * label and a tooltip trigger. */ +.tj_table_cell { + font-size:13px; + vertical-align:top; + padding:1px 3px 1px 3px; + margin:0px; + width:100%; + border-spacing:0px; + position: relative; + overflow:hidden; +} + +/* The symbol is the icon to the left of the text label in a table + * cell. */ +.tj_table_cell_icon { + vertical-align:top; + text-align:right; + padding:1px 3px 0px 0px; + width:19px; +} + +/* This is the text label of a cell. */ +.tj_table_cell_label { + font-size:12px; + vertical-align:top; + padding-top:1px; +} + +/* The box around the icon to the right of the text label. This is + * optional and triggers the tooltip with the full text of the cell in + * case the cell is not large enough to show everything. */ +.tj_table_cell_tooltip { + font-size:13px; + vertical-align:top; + padding:2px 0px 0px 3px; +} + +/* The container that holds the invisible tooltips. */ +.tj_tooltip_box{ + position:fixed; + top:0px; + left:0px; + display:none; + visibility:hidden; +} + +/* The caption box for report tables */ +.tj_table_caption { + padding: 5px 13px 5px 13px; + background-color:#ebf2ff; + text-align:left; + white-space:normal; + margin:1px; + font-size:13px +} + +.tj_table_legend_frame { + padding:5px; + margin:1px; + background-color:#d4dde6; +} + +/* The legend of reports with calendar and Gantt charts */ +.tj_table_legend { + margin-left:auto; + margin-right:auto; + text-align:center; + font-size:11px; + color:#000000; + border-spacing:1px; +} + +/* A row of the table legend */ +.tj_legend_row { + height:19px; +} + +/* Headlines used for the legend when both chart types are used in a + * report */ +.tj_legend_headline { + font-size:12px; + font-weight:bold; +} + +/* A legend row has 3 items. An item contains a label and a symbol */ +.tj_legend_item { +} + +.tj_legend_symbol { + position: relative; + width:45px; + height:19px; +} + +.tj_legend_label { + text-align: left; +} + +.tj_legend_spacer { + width:30px; +} + +.tj_gantt_jag { + position:absolute; + border-style: solid; + width: 0px; + height: 0px; + line-height: 0px; + border-top: 5px solid black; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-bottom: none +} + +.tj_diamond_top { + position:absolute; + border-style: solid; + width: 0px; + height: 0px; + line-height: 0px; + border-top: none; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid black; +} +.tj_diamond_bottom { + position:absolute; + border-style: solid; + width: 0px; + height: 0px; + line-height: 0px; + border-top: 7px solid black; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: none; +} + +.tj_arrow_head { + position:absolute; + border-style: solid; + width: 0px; + height: 0px; + line-height: 0px; + border-top: 5px solid transparent; + border-left: 5px solid black; + border-right: none; + border-bottom: 5px solid transparent; +} + +.tabback { + background-color:#9a9a9a; + overflow:visible; +} +.tabfront { background-color:#d4dde6; } +.tabhead { + white-space:nowrap; + background-color:#7a7a7a; + color:#ffffff; + text-align:center; +} +.tabhead_offduty { + white-space:nowrap; + background-color:#bdbdaa; + color:#000000; +} +.tabfooter { + white-space:nowrap; + background-color:#9a9a9a; + color:#ffffff; + text-align:center; +} +.headercelldiv { + padding-top:1px; + padding-right:3px; + padding-left:3px; + padding-bottom:0px; + white-space:nowrap; + overflow:hidden; +} +.celldiv { + padding:1px 3px 2px 3px; + white-space:nowrap; + overflow:hidden; + position: relative; +} +.tabline { color:#000000 } +.tabcell { + white-space:nowrap; + overflow:hidden; + padding:0px; +} +.costaccountcell1 { + background-color:#fff2eb; + white-space:nowrap; + padding:0px; +} +.costaccountcell2 { + background-color:#ebdfd9; + white-space:nowrap; + padding:0px; +} +.revenueaccountcell1 { + background-color:#cbffcc; + white-space:nowrap; + padding:0px; +} +.revenueaccountcell2 { + background-color:#a6d0a6; + white-space:nowrap; + padding:0px; +} +.accountcell1 { + background-color:#ebf2ff; + white-space:nowrap; + padding:0px; +} +.accountcell2 { + background-color:#d9dfeb; + white-space:nowrap; + padding:0px; +} +.taskcell1 { + background-color:#ebf2ff; + white-space:nowrap; + padding:0px; +} +.taskcell2 { + background-color:#d9dfeb; + white-space:nowrap; + padding:0px; +} +.resourcecell1 { + background-color:#fff2eb; + white-space:nowrap; + padding:0px; +} +.resourcecell2 { + background-color:#ebdfd9; + white-space:nowrap; + padding:0px; +} +/* The *2 versions have a 20 points less HSV value of the *1 versions*/ +.busy1 { background-color:#ff3b3b; } +.busy2 { background-color:#eb3636; } +.loaded1 { background-color:#ff9b9b; } +.loaded2 { background-color:#eb8f8f; } +.free1 { background-color:#a5ffb4; } +.free2 { background-color:#98eba6; } +.offduty1 { background-color:#bdbdaa; } +.offduty2 { background-color:#a9a999; } +.calconttask1 { background-color:#abbeae; } +.calconttask2 { background-color:#99aa9c; } +.caltask1 { background-color:#2050e5; } +.caltask2 { background-color:#1c4ad1; } +.todo1 { background-color:#beabab; } +.todo2 { background-color:#aa9999; } + +.tabvline { + background-color:#9a9a9a; + position:absolute; +} +.tj_gantt_frame { + position:absolute; + /* Make sure this element is above all other elements */ + z-index:100; +} +.containerbar { + background-color:#09090a; + position:absolute; +} +.taskbarframe { + background-color:#09090a; + position:absolute; +} +.taskbar { + background-color:#2f57ea; + position:absolute; +} +.progressbar { + background-color:#36363f; + position:absolute; +} +.milestone { + background-color:#09090a; + position:absolute; +} +.loadstackframe { + background-color:#452a2a; + position:absolute; +} +.free { + background-color:#a5ffb5; + position:absolute; +} +.busy { + background-color:#ff9b9b; + position:absolute; +} +.assigned { + background-color:#ff3b3b; + position:absolute; +} +.offduty { + background-color:#bdbdaa; + white-space:nowrap; + position:absolute; +} +.depline { + background-color:#000000; + position:absolute; +} +.nowline { + background-color:#EE0000; + position:absolute; +} +.markdateline { + background-color:#000000; + position:absolute; +} +.white { + background-color:#FFFFFF; + position:absolute; +} + +.navbar_topruler { + margin:7px 0px 0px 0px; +} +.navbar_midruler { + margin:5px 0px 0px 0px; +} +.navbar_bottomruler { + margin:5px 0px 7px 0px; +} +.navbar_current { + background-color:#606060; + font-size:13px; + font-weight:bold; + padding:5px; + color:#FFFFFF; +} +.navbar_other { + background-color:#FFFFFF; + font-size:13px; + font-weight:bold; + padding:2px; +} +.navbar { + font-size:20px; + font-weight:bold; + padding:0px; +} +.copyright { + font-size:9px; + color:#101010; + text-align:center; + margin-top:10px; +} +div[codesection] { + border-width:2px; + border-color:#ABABAB; + border-style:solid; + background-color:#F0F0F0; + margin-top:8px; + margin-bottom:8px; +} +pre[codesection] { + padding-left:15px; + padding-right:15px; + padding-top:0px; + padding-bottom:0px; +} + + diff --git a/gantt_overview.html b/gantt_overview.html new file mode 100644 index 0000000..6c3f34a --- /dev/null +++ b/gantt_overview.html @@ -0,0 +1,11214 @@ + + + + + Linux Administrator class - GANNT + + + + + + + + + + +
+
+

Linux for system administrators

+

Course description GIT

+ +
+
+

GANTT Chart

+

The GANTT chart show the sequence of actual topics to be seen in class.

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name
Responsible
Effort
+
+
Mar 2021
+
Apr 2021
+
May 2021
+
Jun 2021
+
Jul 2021
+
Aug 2021
+
Sep 2021
+
Oct 2021
+
30
+
31
+
01
+
02
+
03
+
04
+
05
+
06
+
07
+
08
+
09
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
01
+
02
+
03
+
04
+
05
+
06
+
07
+
08
+
09
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
01
+
02
+
03
+
04
+
05
+
06
+
07
+
08
+
09
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
01
+
02
+
03
+
04
+
05
+
06
+
07
+
08
+
09
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
01
+
02
+
03
+
04
+
05
+
06
+
07
+
08
+
09
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
01
+
02
+
03
+
04
+
05
+
06
+
07
+
08
+
09
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
01
+
02
+
03
+
04
+
05
+
06
+
07
+
08
+
09
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + +
IconPrerequisite Modules
+
+ ID: prerequisite
+
Wouter Gordts
3.5
+ + + +
IconOverview of communication channels
+
+ ID: prerequisite.theory.communication
+
Wouter Gordts
0.5
+ + + + +
IconIntroduction to markdown for notekeepin...
+
+ ID: prerequisite.theory.markdown
+
Introduction to markdown for notekeeping
+
Wouter Gordts
0.3
+ + + + +
IconShort introdution to git for notekeepin...
+
+ ID: prerequisite.theory.git
+
Short introdution to git for notekeeping
+
Wouter Gordts
1.0
+ + + + +
IconOptimize your personal notekeeping tool...
+
+ ID: prerequisite.practice.optimize_toolchain
+
Optimize your personal notekeeping toolchain
+
Wouter Gordts
1.0
+ + + +
IconFRACZ wargame
+
+ ID: prerequisite.practice.wargame
+
Wouter Gordts
0.8
+ + + +
IconResource Modules
+
+ ID: resources
+
Wouter Gordts
30.4
+ + + +
IconHistory of unix/linux and Debian
+
+ ID: resources.linux.theory.intro
+
Wouter Gordts
0.5
+ + + +
IconQuick dive into a GUI installation
+
+ ID: resources.linux.theory.gui
+
Wouter Gordts
0.5
+ + + +
IconIntroduction to the shell
+
+ ID: resources.linux.theory.cli
+
Wouter Gordts
1.0
+ + + +
IconIntroduction to vim
+
+ ID: resources.linux.theory.vimtutor
+
Wouter Gordts
0.5
+ + + + +
IconVery brief introdution to bandit and SS...
+
+ ID: resources.linux.theory.bandit
+
Very brief introdution to bandit and SSH
+
Wouter Gordts
0.5
+ + + +
IconBandit
+
+ ID: resources.linux.practice.bandit
+
Wouter Gordts
1.0
+ + + +
IconLeviathan
+
+ ID: resources.linux.test.wargame
+
Wouter Gordts
1.0
+ + + +
IconClasses
+
+ ID: resources.networking.theory.theory
+
Steve Dejongh
5.0
+ + + +
IconLabo
+
+ ID: resources.networking.theory.practice
+
Steve Dejongh
1.0
+ + + +
IconNetworking theory self study
+
+ ID: resources.networking.theory.study
+
Steve Dejongh
1.8
+ + + +
IconNetworking theory evaluation
+
+ ID: resources.networking.theory.test
+
Steve Dejongh
1.0
+ + + + +
IconDebian implementations of essential ser...
+
+ ID: resources.networking.services.theory.debian
+
Debian implementations of essential services
+
Wouter Gordts
2.5
+ + + +
IconBreakdown of IT internals and externals
+
+ ID: resources.hardware.theory.breakdown
+
Wouter Gordts
0.5
+ + + +
IconOverview of computer architectures
+
+ ID: resources.hardware.theory.architectures
+
Wouter Gordts
0.3
+ + + +
IconARM vs x86
+
+ ID: resources.hardware.theory.rpi
+
Wouter Gordts
0.3
+ + + + +
IconGroup deployment of essential services ...
+
+ ID: resources.networking.services.practice.debian
+
Group deployment of essential services on VM
+
Wouter Gordts
2.0
+ + + + +
IconGroup deployment of RPI clients and hea...
+
+ ID: resources.hardware.theory.deployment
+
Group deployment of RPI clients and headless servers
+
Wouter Gordts
1.0
+ + + +
IconClasses
+
+ ID: resources.itil.theory
+
Alexandra Degeest
2.9
+ + + + +
IconIntroduction to compiled languages and ...
+
+ ID: resources.hardware.theory.compilation
+
Introduction to compiled languages and compilation targets
+
Wouter Gordts
0.3
+ + + +
IconComparison of platforms vs protocols
+
+ ID: resources.hardware.theory.protocols
+
Wouter Gordts
0.3
+ + + +
IconPrepare certificate self study
+
+ ID: resources.hardware.study.certificate
+
Wouter Gordts
2.0
+ + + + +
IconPersonal deployment of essential servic...
+
+ ID: resources.networking.services.study.rpi
+
Personal deployment of essential services on RPI
+
Wouter Gordts
2.0
+ + + +
IconResearch RAID and ZFS
+
+ ID: resources.hardware.study.raid
+
Wouter Gordts
0.5
+ + + + +
IconLinux Professional Institute Linux Esse...
+
+ ID: resources.hardware.test.certificate
+
Linux Professional Institute Linux Essentials
+
Wouter Gordts
1.0
+ + + +
IconSelf study
+
+ ID: resources.itil.study
+
Alexandra Degeest
0.9
+ + + + +
IconEvaluation of essential services on Lin...
+
+ ID: resources.networking.services.test.pihole
+
Evaluation of essential services on Linux
+
Wouter Gordts
0.3
+ + + +
IconITIL evaluation
+
+ ID: resources.itil.test
+
Alexandra Degeest
0.1
+ + + +
IconQualifying Modules
+
+ ID: qualifying
+
74.4
+ + + +
IconThe Debian OS
+
+ ID: qualifying.servers.deployment.theory.debian
+
Wouter Gordts
4.0
+ + + +
Iconiptables and fail2ban
+
+ ID: qualifying.networking.theory.firewall
+
Wouter Gordts
1.0
+ + + +
IconConceive and plan network layouts
+
+ ID: qualifying.networking.theory.network_conception
+
Steve Dejongh
5.0
+ + + +
IconIntroduction to cryptography
+
+ ID: qualifying.networking.theory.crypto
+
Wouter Gordts
1.0
+ + + +
IconExposing local services to the internet
+
+ ID: qualifying.networking.theory.exposing_services
+
Wouter Gordts
3.5
+ + + +
IconClasses
+
+ ID: qualifying.support.theory
+
Antoine Degeest
5.8
+ + + +
IconTheory and application of OpenWRT
+
+ ID: qualifying.networking.theory.openwrt
+
Wouter Gordts
1.0
+ + + + +
IconSuccesfully deploy and expose services ...
+
+ ID: qualifying.networking.practice.exposing_services
+
Succesfully deploy and expose services to the internet
+
Wouter Gordts
3.0
+ + + +
IconKrypton wargame
+
+ ID: qualifying.networking.practice.crypto
+
Wouter Gordts
2.0
+ + + +
IconConceive multiple network scenarios
+
+ ID: qualifying.networking.practice.network_conception
+
Steve Dejongh
2.0
+ + + +
IconPersonal OpenWRT deployment on RPI
+
+ ID: qualifying.networking.practice.openwrt
+
Wouter Gordts
1.0
+ + + +
IconLabo
+
+ ID: qualifying.support.practice
+
Antoine Degeest
2.0
+ + + +
IconRedhat as an alternative
+
+ ID: qualifying.servers.deployment.theory.redhat
+
Wouter Gordts
2.0
+ + + +
IconDeployment of Debian on hardware and VM
+
+ ID: qualifying.servers.deployment.practice.debian
+
Wouter Gordts
2.0
+ + + +
IconDeployment of Redhat on VM
+
+ ID: qualifying.servers.deployment.practice.redhat
+
Wouter Gordts
1.0
+ + + +
IconCertificate preparation
+
+ ID: qualifying.servers.deployment.practice.solo
+
Wouter Gordts
1.0
+ + + + +
IconIntroduction to scripting in BASH and p...
+
+ ID: qualifying.servers.maintenance.theory.scripting
+
Introduction to scripting in BASH and python3
+
Wouter Gordts
5.0
+ + + +
IconPersonal project
+
+ ID: personal_project
+
Wouter Gordts
5.0
+ + + +
IconResearch and write personal project
+
+ ID: personal_project.research
+
Wouter Gordts
2.0
+ + + +
IconAdvanced system management
+
+ ID: qualifying.servers.maintenance.theory.debian
+
Wouter Gordts
4.0
+ + + +
IconDeep dive into CLI tools
+
+ ID: qualifying.servers.maintenance.theory.tools
+
Wouter Gordts
3.0
+ + + +
IconAdvanced python scripting
+
+ ID: qualifying.servers.maintenance.theory.advanced_python
+
Wouter Gordts
2.0
+ + + + +
IconTools and system maintenance in practic...
+
+ ID: qualifying.servers.maintenance.practice.general
+
Tools and system maintenance in practice
+
Wouter Gordts
2.5
+ + + +
IconDevelopment of a usefull script
+
+ ID: qualifying.servers.maintenance.practice.scripting
+
Wouter Gordts
1.0
+ + + +
IconCertificate preparation
+
+ ID: qualifying.servers.maintenance.practice.certificate
+
Wouter Gordts
1.0
+ + + +
IconSetup synapse homeserver
+
+ ID: qualifying.networking.test.homeserver
+
Wouter Gordts
1.8
+ + + +
IconLinux Professional Institute LPIC-1
+
+ ID: qualifying.servers.deployment.test.certificate
+
Wouter Gordts
1.0
+ + + +
IconLinux Professional Institute LPIC-2
+
+ ID: qualifying.servers.maintenance.test.certificate
+
Wouter Gordts
1.8
+ + + +
IconTest
+
+ ID: qualifying.support.test
+
Antoine Degeest
0.3
+ + + + +
IconFreenas as a platform to deploy VM's an...
+
+ ID: qualifying.vm.theory.freenas
+
Freenas as a platform to deploy VM's and docker instances
+
Wouter Gordts
2.0
+ + + +
IconGeneral configuration of VM's
+
+ ID: qualifying.vm.theory.general
+
Wouter Gordts
0.5
+ + + +
IconPersonal deployment of VM's
+
+ ID: qualifying.vm.practice.solo
+
Wouter Gordts
2.0
+ + + + +
IconDeployment of diverse VM's via Windows,...
+
+ ID: qualifying.vm.practice.supervised
+
Deployment of diverse VM's via Windows, Debian and Freenas
+
Wouter Gordts
0.5
+ + + +
IconTODO
+
+ ID: qualifying.clients.theory.sub1
+
Wouter Gordts
2.0
+ + + +
IconLabo two
+
+ ID: qualifying.clients.practice.solo
+
Wouter Gordts
3.0
+ + + +
IconLabo one
+
+ ID: qualifying.clients.practice.supervised
+
Wouter Gordts
2.0
+ + + +
IconFollow up of personal project
+
+ ID: personal_project.followup
+
Wouter Gordts
2.0
+ + + +
IconTODO
+
+ ID: qualifying.clients.test.test
+
Wouter Gordts
1.0
+ + + +
IconPresentation of personal projects
+
+ ID: personal_project.presentation
+
Wouter Gordts
1.0
+ + + + +
IconSetup a freenas server with a Debian VM...
+
+ ID: qualifying.vm.test.freenas
+
Setup a freenas server with a Debian VM running inside
+
Wouter Gordts
0.9
+ + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
Container Task
+
+
+
+
+
Normal Task
+
+
+
+
Milestone
Off-duty period
+
+

+ +
+ + diff --git a/general_overview.html b/general_overview.html new file mode 100644 index 0000000..3e3f980 --- /dev/null +++ b/general_overview.html @@ -0,0 +1,5534 @@ + + + + + Linux Administrator class - general overview + + + + + + + + + + +
+
+

Linux for system administrators

+

Course description GIT

+ +
+
+

Resources overview

+

This report gives an overview of who works when. The total invoiced days can also be found here in the 'Teachers' cell. The total duration of the coarse can be seen in the 'All resources' cell.

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name
Effort
+
+
Apr 2021
+
May 2021
+
Jun 2021
+
Jul 2021
+
Aug 2021
+
Sep 2021
+
Oct 2021
+
01
+
02
+
03
+
04
+
05
+
06
+
07
+
08
+
09
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
01
+
02
+
03
+
04
+
05
+
06
+
07
+
08
+
09
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
01
+
02
+
03
+
04
+
05
+
06
+
07
+
08
+
09
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
01
+
02
+
03
+
04
+
05
+
06
+
07
+
08
+
09
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
01
+
02
+
03
+
04
+
05
+
06
+
07
+
08
+
09
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
01
+
02
+
03
+
04
+
05
+
06
+
07
+
08
+
09
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
01
+
02
+
03
+
04
+
05
+
06
+
07
+
08
+
09
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + +
IconAll resources
+
+ ID: all
+
+ + +
113.3
+ + + + +
IconHomework
+
+ ID: homework
+
+ + +
10.1
+ + + + +
IconLabo
+
+ ID: labo
+
+ + +
23.8
+ + + + +
IconTeachers
+
+ ID: teachers
+
+ + +
79.4
+ + + + +
IconAlexandra Degeest
+
+ ID: alexandra
+
3.0
+ + + + +
IconAntoine Degeest
+
+ ID: antoine
+
6.0
+ + + + +
IconSteve Dejongh
+
+ ID: steve
+
11.0
+ + + + +
IconWouter Gordts
+
+ ID: wouter
+
59.4
+ + + + + + + + + + +
Resource assigned to task(s)
Resource available
Off-duty period
+
+

Detailed breakdown of all modules and tasks

+

All tasks and milestones.

+
    +
  • yellow tasks: labo
  • +
  • green tasks: homework
  • +
  • red tasks: certificates
  • +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BSI
Name
Note
Responsible
Effort
1
+ + + +
IconPrerequisite Modules
+
+ ID: prerequisite
+
Not part of the reference but essential for the course.
Wouter Gordts
+ + +
3.5
1.1
+ + + + +
IconClasses
+
+ ID: prerequisite.theory
+
Wouter Gordts
+ + +
1.8
1.1.1
+ + + + +
IconOverview of communication channels
+
+ ID: prerequisite.theory.communication
+
Account creation for local gitea, matrix etc
Wouter Gordts
+ + +
0.5
1.1.2
+ + + + +
IconIntroduction to markdown for notekeeping
+
+ ID: prerequisite.theory.markdown
+
Wouter Gordts
+ + +
0.3
1.1.3
+ + + + +
IconShort introdution to git for notekeeping
+
+ ID: prerequisite.theory.git
+
Wouter Gordts
+ + +
1.0
1.2
+ + + + +
IconLabo
+
+ ID: prerequisite.practice
+
Wouter Gordts
+ + +
1.8
1.2.2
+ + + + +
IconOptimize your personal notekeeping toolchain
+
+ ID: prerequisite.practice.optimize_toolchain
+
Wouter Gordts
+ + +
1.0
1.2.1
+ + + + +
IconFRACZ wargame
+
+ ID: prerequisite.practice.wargame
+
Wouter Gordts
+ + +
0.8
2
+ + + +
IconResource Modules
+
+ ID: resources
+
Modules part of the resource curriculum.
Wouter Gordts
+ + +
30.4
2.3
+ + + + +
IconMR04/R71 Introduction to linux
+
+ ID: resources.linux
+
Introduction to the history and usage of Linux as an OS with both graphical and shell interfaces.
Wouter Gordts
+ + +
5.0
2.3.1
+ + + + +
IconClasses
+
+ ID: resources.linux.theory
+
Wouter Gordts
+ + +
3.0
2.3.1.1
+ + + + +
IconHistory of unix/linux and Debian
+
+ ID: resources.linux.theory.intro
+
Wouter Gordts
+ + +
0.5
2.3.1.2
+ + + + +
IconQuick dive into a GUI installation
+
+ ID: resources.linux.theory.gui
+
Wouter Gordts
+ + +
0.5
2.3.1.3
+ + + + +
IconIntroduction to the shell
+
+ ID: resources.linux.theory.cli
+
Based on Ryan's tutorials
Wouter Gordts
+ + +
1.0
2.3.1.4
+ + + + +
IconIntroduction to vim
+
+ ID: resources.linux.theory.vimtutor
+
Wouter Gordts
+ + +
0.5
2.3.1.5
+ + + + +
IconVery brief introdution to bandit and SSH
+
+ ID: resources.linux.theory.bandit
+
Wouter Gordts
+ + +
0.5
2.3.2
+ + + + +
IconLabo
+
+ ID: resources.linux.practice
+
Wouter Gordts
+ + +
1.0
2.3.2.1
+ + + + +
IconBandit
+
+ ID: resources.linux.practice.bandit
+
Bandit as a basic in class exercise.
Wouter Gordts
+ + +
1.0
2.3.3
+ + + + +
IconTest
+
+ ID: resources.linux.test
+
Evaluation of basic shell knowledge with Leviathan as a wargame
Wouter Gordts
+ + +
1.0
2.3.3.1
+ + + + +
IconLeviathan
+
+ ID: resources.linux.test.wargame
+
Leviathan as an in class test.
Wouter Gordts
+ + +
1.0
2.2
+ + + + +
IconNetworking
+
+ ID: resources.networking
+
+ + +
15.5
2.2.1
+ + + + +
IconMR02/R60 Networking theory
+
+ ID: resources.networking.theory
+
Steve Dejongh
+ + +
8.8
2.2.1.1
+ + + + +
IconClasses
+
+ ID: resources.networking.theory.theory
+
Steve Dejongh
+ + +
5.0
2.2.1.2
+ + + + +
IconLabo
+
+ ID: resources.networking.theory.practice
+
Steve Dejongh
+ + +
1.0
2.2.1.3
+ + + + +
IconNetworking theory self study
+
+ ID: resources.networking.theory.study
+
Steve Dejongh
+ + +
1.8
2.2.1.4
+ + + + +
IconNetworking theory evaluation
+
+ ID: resources.networking.theory.test
+
Steve Dejongh
+ + +
1.0
2.2.2
+ + + + +
IconMR03/R61 Introduction to centralized administration of networking services
+
+ ID: resources.networking.services
+
Wouter Gordts
+ + +
6.8
2.2.2.1
+ + + + +
IconClasses
+
+ ID: resources.networking.services.theory
+
Wouter Gordts
+ + +
2.5
2.2.2.1.1
+ + + + +
IconDebian implementations of essential services
+
+ ID: resources.networking.services.theory.debian
+
Focus on DHCP, DNS, SFTP, SSH, CUPS, LDAP
Wouter Gordts
2.5
2.2.2.2
+ + + + +
IconLabo
+
+ ID: resources.networking.services.practice
+
Wouter Gordts
+ + +
2.0
2.2.2.2.1
+ + + + +
IconGroup deployment of essential services on VM
+
+ ID: resources.networking.services.practice.debian
+
Wouter Gordts
2.0
2.2.2.3
+ + + + +
IconSelf study of essential services
+
+ ID: resources.networking.services.study
+
Wouter Gordts
+ + +
2.0
2.2.2.3.1
+ + + + +
IconPersonal deployment of essential services on RPI
+
+ ID: resources.networking.services.study.rpi
+
Wouter Gordts
2.0
2.2.2.4
+ + + + +
IconTest
+
+ ID: resources.networking.services.test
+
Wouter Gordts
+ + +
0.3
2.2.2.4.1
+ + + + +
IconEvaluation of essential services on Linux
+
+ ID: resources.networking.services.test.pihole
+
Wouter Gordts
0.3
2.4
+ + + + +
IconMR05/XX Introduction to hardware components of servers and clients
+
+ ID: resources.hardware
+
In this module we will focus on hardware and the exposure to Raspberry Pi's as an alternative target platform
Wouter Gordts
+ + +
6.0
2.4.1
+ + + + +
IconClasses
+
+ ID: resources.hardware.theory
+
Wouter Gordts
+ + +
2.5
2.4.1.1
+ + + + +
IconBreakdown of IT internals and externals
+
+ ID: resources.hardware.theory.breakdown
+
Wouter Gordts
+ + +
0.5
2.4.1.2
+ + + + +
IconOverview of computer architectures
+
+ ID: resources.hardware.theory.architectures
+
Wouter Gordts
+ + +
0.3
2.4.1.3
+ + + + +
IconARM vs x86
+
+ ID: resources.hardware.theory.rpi
+
Wouter Gordts
+ + +
0.3
2.4.1.6
+ + + + +
IconGroup deployment of RPI clients and headless servers
+
+ ID: resources.hardware.theory.deployment
+
Wouter Gordts
+ + +
1.0
2.4.1.4
+ + + + +
IconIntroduction to compiled languages and compilation targets
+
+ ID: resources.hardware.theory.compilation
+
Wouter Gordts
+ + +
0.3
2.4.1.5
+ + + + +
IconComparison of platforms vs protocols
+
+ ID: resources.hardware.theory.protocols
+
Wouter Gordts
+ + +
0.3
2.4.2
+ + + + +
IconSelf study
+
+ ID: resources.hardware.study
+
Wouter Gordts
+ + +
2.5
2.4.2.2
+ + + + +
IconPrepare certificate self study
+
+ ID: resources.hardware.study.certificate
+
Wouter Gordts
+ + +
2.0
2.4.2.1
+ + + + +
IconResearch RAID and ZFS
+
+ ID: resources.hardware.study.raid
+
Used as a base for Freenas installation in a later module
Wouter Gordts
+ + +
0.5
2.4.3
+ + + + +
IconTest
+
+ ID: resources.hardware.test
+
Test done through certificate exam.
Wouter Gordts
+ + +
1.0
2.4.3.1
+ + + + +
IconLinux Professional Institute Linux Essentials
+
+ ID: resources.hardware.test.certificate
+
Wouter Gordts
+ + +
1.0
2.1
+ + + + +
IconMR01/R59 Introduction to ITIL
+
+ ID: resources.itil
+
Alexandra Degeest
+ + +
3.9
2.1.1
+ + + + +
IconClasses
+
+ ID: resources.itil.theory
+
Alexandra Degeest
+ + +
2.9
2.1.2
+ + + + +
IconSelf study
+
+ ID: resources.itil.study
+
Alexandra Degeest
+ + +
0.9
2.1.3
+ + + + +
IconITIL evaluation
+
+ ID: resources.itil.test
+
Alexandra Degeest
+ + +
0.1
3
+ + + +
IconQualifying Modules
+
+ ID: qualifying
+
Modules part of the qualifying curriculum.
+ + +
74.4
3.4
+ + + + +
IconLinux server machines
+
+ ID: qualifying.servers
+
Wouter Gordts
+ + +
31.3
3.4.1
+ + + + +
IconMQ07/QE7 Installation and configuration of a Linux server
+
+ ID: qualifying.servers.deployment
+
Installation and configuration of Debian and Redhat servers.
Wouter Gordts
+ + +
11.0
3.4.1.1
+ + + + +
IconClasses
+
+ ID: qualifying.servers.deployment.theory
+
Wouter Gordts
+ + +
6.0
3.4.1.1.1
+ + + + +
IconThe Debian OS
+
+ ID: qualifying.servers.deployment.theory.debian
+
Follows the Debian System Administrator handbook
Wouter Gordts
4.0
3.4.1.1.2
+ + + + +
IconRedhat as an alternative
+
+ ID: qualifying.servers.deployment.theory.redhat
+
Wouter Gordts
2.0
3.4.1.2
+ + + + +
IconLabo
+
+ ID: qualifying.servers.deployment.practice
+
Wouter Gordts
+ + +
4.0
3.4.1.2.1
+ + + + +
IconDeployment of Debian on hardware and VM
+
+ ID: qualifying.servers.deployment.practice.debian
+
TODO
Wouter Gordts
2.0
3.4.1.2.2
+ + + + +
IconDeployment of Redhat on VM
+
+ ID: qualifying.servers.deployment.practice.redhat
+
Wouter Gordts
1.0
3.4.1.2.3
+ + + + +
IconCertificate preparation
+
+ ID: qualifying.servers.deployment.practice.solo
+
In class labo to prepare for the certificate.
Wouter Gordts
1.0
3.4.1.3
+ + + + +
IconTest
+
+ ID: qualifying.servers.deployment.test
+
Test through certificate
Wouter Gordts
+ + +
1.0
3.4.1.3.1
+ + + + +
IconLinux Professional Institute LPIC-1
+
+ ID: qualifying.servers.deployment.test.certificate
+
Wouter Gordts
1.0
3.4.2
+ + + + +
IconMQ08/QE8 Administrate, exploit and maintain a Linux server
+
+ ID: qualifying.servers.maintenance
+
More in depth usage of the command line and an introdution to scripting in BASH and python3.
Wouter Gordts
+ + +
20.3
3.4.2.1
+ + + + +
IconClasses
+
+ ID: qualifying.servers.maintenance.theory
+
Wouter Gordts
+ + +
14.0
3.4.2.1.3
+ + + + +
IconIntroduction to scripting in BASH and python3
+
+ ID: qualifying.servers.maintenance.theory.scripting
+
Wouter Gordts
5.0
3.4.2.1.2
+ + + + +
IconAdvanced system management
+
+ ID: qualifying.servers.maintenance.theory.debian
+
Focus on systemd, dbus, udev, apt, pip3
Wouter Gordts
4.0
3.4.2.1.1
+ + + + +
IconDeep dive into CLI tools
+
+ ID: qualifying.servers.maintenance.theory.tools
+
Focus on essential tools such as tmux, zsh, ohmyzsh, vim
Wouter Gordts
3.0
3.4.2.1.4
+ + + + +
IconAdvanced python scripting
+
+ ID: qualifying.servers.maintenance.theory.advanced_python
+
Wouter Gordts
2.0
3.4.2.2
+ + + + +
IconLabo
+
+ ID: qualifying.servers.maintenance.practice
+
Wouter Gordts
+ + +
4.5
3.4.2.2.1
+ + + + +
IconTools and system maintenance in practice
+
+ ID: qualifying.servers.maintenance.practice.general
+
Wouter Gordts
2.5
3.4.2.2.2
+ + + + +
IconDevelopment of a usefull script
+
+ ID: qualifying.servers.maintenance.practice.scripting
+
Wouter Gordts
1.0
3.4.2.2.3
+ + + + +
IconCertificate preparation
+
+ ID: qualifying.servers.maintenance.practice.certificate
+
Wouter Gordts
1.0
3.4.2.3
+ + + + +
IconTest
+
+ ID: qualifying.servers.maintenance.test
+
Test through certificate
Wouter Gordts
+ + +
1.8
3.4.2.3.1
+ + + + +
IconLinux Professional Institute LPIC-2
+
+ ID: qualifying.servers.maintenance.test.certificate
+
Wouter Gordts
1.8
3.3
+ + + + +
IconMQ03/QB4 Conceive and improve networking architecture
+
+ ID: qualifying.networking
+
Deep dive into networking and the securisation of exposed services.
Wouter Gordts
+ + +
21.3
3.3.1
+ + + + +
IconClasses
+
+ ID: qualifying.networking.theory
+
Wouter Gordts
+ + +
11.5
3.3.1.1
+ + + + +
Iconiptables and fail2ban
+
+ ID: qualifying.networking.theory.firewall
+
Wouter Gordts
+ + +
1.0
3.3.1.4
+ + + + +
IconConceive and plan network layouts
+
+ ID: qualifying.networking.theory.network_conception
+
Steve Dejongh
+ + +
5.0
3.3.1.2
+ + + + +
IconIntroduction to cryptography
+
+ ID: qualifying.networking.theory.crypto
+
Wouter Gordts
+ + +
1.0
3.3.1.5
+ + + + +
IconExposing local services to the internet
+
+ ID: qualifying.networking.theory.exposing_services
+
Theory and application of VPN, nginx reverse proxy, SSH, DNS and dynamic DNS
Wouter Gordts
+ + +
3.5
3.3.1.3
+ + + + +
IconTheory and application of OpenWRT
+
+ ID: qualifying.networking.theory.openwrt
+
Wouter Gordts
+ + +
1.0
3.3.2
+ + + + +
IconLabo
+
+ ID: qualifying.networking.practice
+
Wouter Gordts
+ + +
8.0
3.3.2.4
+ + + + +
IconSuccesfully deploy and expose services to the internet
+
+ ID: qualifying.networking.practice.exposing_services
+
Wouter Gordts
+ + +
3.0
3.3.2.1
+ + + + +
IconKrypton wargame
+
+ ID: qualifying.networking.practice.crypto
+
Wouter Gordts
+ + +
2.0
3.3.2.3
+ + + + +
IconConceive multiple network scenarios
+
+ ID: qualifying.networking.practice.network_conception
+
Steve Dejongh
+ + +
2.0
3.3.2.2
+ + + + +
IconPersonal OpenWRT deployment on RPI
+
+ ID: qualifying.networking.practice.openwrt
+
Wouter Gordts
+ + +
1.0
3.3.3
+ + + + +
IconTest
+
+ ID: qualifying.networking.test
+
TODO
Wouter Gordts
+ + +
1.8
3.3.3.1
+ + + + +
IconSetup synapse homeserver
+
+ ID: qualifying.networking.test.homeserver
+
Wouter Gordts
+ + +
1.8
3.2
+ + + + +
IconMQ02/QB3 Fournir un support général et un accompagnement à l’utilisateur
+
+ ID: qualifying.support
+
Antoine Degeest
+ + +
8.0
3.2.1
+ + + + +
IconClasses
+
+ ID: qualifying.support.theory
+
Antoine Degeest
+ + +
5.8
3.2.2
+ + + + +
IconLabo
+
+ ID: qualifying.support.practice
+
Antoine Degeest
+ + +
2.0
3.2.3
+ + + + +
IconTest
+
+ ID: qualifying.support.test
+
Antoine Degeest
+ + +
0.3
3.5
+ + + + +
IconMQ09/XX Administrate, exploit and maintain a virtual environnement
+
+ ID: qualifying.vm
+
Extends on the general knowledge built up throughout the coarse but adds freenas as a platform to deploy VM's
Wouter Gordts
+ + +
5.9
3.5.1
+ + + + +
IconClasses
+
+ ID: qualifying.vm.theory
+
Wouter Gordts
+ + +
2.5
3.5.1.2
+ + + + +
IconFreenas as a platform to deploy VM's and docker instances
+
+ ID: qualifying.vm.theory.freenas
+
Wouter Gordts
+ + +
2.0
3.5.1.1
+ + + + +
IconGeneral configuration of VM's
+
+ ID: qualifying.vm.theory.general
+
Wouter Gordts
+ + +
0.5
3.5.2
+ + + + +
IconLabo
+
+ ID: qualifying.vm.practice
+
Wouter Gordts
+ + +
2.5
3.5.2.2
+ + + + +
IconPersonal deployment of VM's
+
+ ID: qualifying.vm.practice.solo
+
Wouter Gordts
+ + +
2.0
3.5.2.1
+ + + + +
IconDeployment of diverse VM's via Windows, Debian and Freenas
+
+ ID: qualifying.vm.practice.supervised
+
Wouter Gordts
+ + +
0.5
3.5.3
+ + + + +
IconTest
+
+ ID: qualifying.vm.test
+
TODO
Wouter Gordts
+ + +
0.9
3.5.3.1
+ + + + +
IconSetup a freenas server with a Debian VM running inside
+
+ ID: qualifying.vm.test.freenas
+
Wouter Gordts
+ + +
0.9
3.1
+ + + + +
IconMQ06/QB2 Install, deplay, configure and maintain client machines
+
+ ID: qualifying.clients
+
Wouter Gordts
+ + +
8.0
3.1.1
+ + + + +
IconClasses
+
+ ID: qualifying.clients.theory
+
TODO
Wouter Gordts
+ + +
2.0
3.1.1.1
+ + + + +
IconTODO
+
+ ID: qualifying.clients.theory.sub1
+
Wouter Gordts
+ + +
2.0
3.1.2
+ + + + +
IconLabo
+
+ ID: qualifying.clients.practice
+
TODO
Wouter Gordts
+ + +
5.0
3.1.2.2
+ + + + +
IconLabo two
+
+ ID: qualifying.clients.practice.solo
+
Wouter Gordts
+ + +
3.0
3.1.2.1
+ + + + +
IconLabo one
+
+ ID: qualifying.clients.practice.supervised
+
Wouter Gordts
+ + +
2.0
3.1.3
+ + + + +
IconTest
+
+ ID: qualifying.clients.test
+
TODO
Wouter Gordts
+ + +
1.0
3.1.3.1
+ + + + +
IconTODO
+
+ ID: qualifying.clients.test.test
+
Wouter Gordts
+ + +
1.0
4
+ + + +
IconPersonal project
+
+ ID: personal_project
+
Wouter Gordts
+ + +
5.0
4.1
+ + + + +
IconResearch and write personal project
+
+ ID: personal_project.research
+
Wouter Gordts
+ + +
2.0
4.2
+ + + + +
IconFollow up of personal project
+
+ ID: personal_project.followup
+
Wouter Gordts
+ + +
2.0
4.3
+ + + + +
IconPresentation of personal projects
+
+ ID: personal_project.presentation
+
Wouter Gordts
+ + +
1.0
+
+

+ +
+ + diff --git a/ical_report.ics b/ical_report.ics new file mode 100644 index 0000000..c2d136f --- /dev/null +++ b/ical_report.ics @@ -0,0 +1,2619 @@ +BEGIN:VCALENDAR +PRODID:-//The TaskJuggler Project/NONSGML TaskJuggler 3.7.1//EN +VERSION:2.0 + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-prerequisite-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Prerequisite Modules +DTSTART:20210401T070000Z +DESCRIPTION:Not part of the reference but essential for the course. +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210407T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-prerequisite.theory-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Classes +DTSTART:20210401T070000Z +RELATED-TO:linuxlong-prerequisite-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210402T130000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-prerequisite.theory.communication-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Overview of communication channels +DTSTART:20210401T070000Z +DESCRIPTION:Account creation for local gitea\, matrix etc +RELATED-TO:linuxlong-prerequisite.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210401T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-prerequisite.theory.markdown-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Introduction to markdown for notekeeping +DTSTART:20210401T110000Z +RELATED-TO:linuxlong-prerequisite.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210401T130000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-prerequisite.theory.git-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Short introdution to git for notekeeping +DTSTART:20210401T130000Z +RELATED-TO:linuxlong-prerequisite.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210402T130000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-prerequisite.practice-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Labo +DTSTART:20210402T130000Z +RELATED-TO:linuxlong-prerequisite-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210407T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-prerequisite.practice.wargame-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:FRACZ wargame +DTSTART:20210406T130000Z +RELATED-TO:linuxlong-prerequisite.practice-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210407T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-prerequisite.practice.optimize_toolchain-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Optimize your personal notekeeping toolchain +DTSTART:20210402T130000Z +RELATED-TO:linuxlong-prerequisite.practice-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210406T130000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Resource Modules +DTSTART:20210407T110000Z +DESCRIPTION:Modules part of the resource curriculum. +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Alexandra Degeest:mailto:adegeest@he2b.be +ATTENDEE;CN=Steve Dejongh:mailto:sdejongh@he2b.be +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210520T140000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.itil-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:MR01/R59 Introduction to ITIL +DTSTART:20210505T130000Z +RELATED-TO:linuxlong-resources-TODO +ORGANIZER;CN=Alexandra Degeest:mailto:adegeest@he2b.be +ATTENDEE;CN=Alexandra Degeest:mailto:adegeest@he2b.be +DUE:20210520T140000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.itil.theory-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Classes +DTSTART:20210505T130000Z +RELATED-TO:linuxlong-resources.itil-TODO +ORGANIZER;CN=Alexandra Degeest:mailto:adegeest@he2b.be +ATTENDEE;CN=Alexandra Degeest:mailto:adegeest@he2b.be +DUE:20210510T120000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.itil.study-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Self study +DTSTART:20210519T120000Z +RELATED-TO:linuxlong-resources.itil-TODO +ORGANIZER;CN=Alexandra Degeest:mailto:adegeest@he2b.be +DUE:20210520T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.itil.test-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:ITIL evaluation +DTSTART:20210520T130000Z +RELATED-TO:linuxlong-resources.itil-TODO +ORGANIZER;CN=Alexandra Degeest:mailto:adegeest@he2b.be +ATTENDEE;CN=Alexandra Degeest:mailto:adegeest@he2b.be +DUE:20210520T140000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Networking +DTSTART:20210414T110000Z +RELATED-TO:linuxlong-resources-TODO +ATTENDEE;CN=Steve Dejongh:mailto:sdejongh@he2b.be +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210520T130000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.theory-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:MR02/R60 Networking theory +DTSTART:20210414T110000Z +RELATED-TO:linuxlong-resources.networking-TODO +ORGANIZER;CN=Steve Dejongh:mailto:sdejongh@he2b.be +ATTENDEE;CN=Steve Dejongh:mailto:sdejongh@he2b.be +DUE:20210427T090000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.theory.theory-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Classes +DTSTART:20210414T110000Z +RELATED-TO:linuxlong-resources.networking.theory-TODO +ORGANIZER;CN=Steve Dejongh:mailto:sdejongh@he2b.be +ATTENDEE;CN=Steve Dejongh:mailto:sdejongh@he2b.be +DUE:20210421T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.theory.practice-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Labo +DTSTART:20210421T110000Z +RELATED-TO:linuxlong-resources.networking.theory-TODO +ORGANIZER;CN=Steve Dejongh:mailto:sdejongh@he2b.be +DUE:20210422T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.theory.study-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Networking theory self study +DTSTART:20210422T110000Z +RELATED-TO:linuxlong-resources.networking.theory-TODO +ORGANIZER;CN=Steve Dejongh:mailto:sdejongh@he2b.be +DUE:20210426T090000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.theory.test-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Networking theory evaluation +DTSTART:20210426T090000Z +RELATED-TO:linuxlong-resources.networking.theory-TODO +ORGANIZER;CN=Steve Dejongh:mailto:sdejongh@he2b.be +ATTENDEE;CN=Steve Dejongh:mailto:sdejongh@he2b.be +DUE:20210427T090000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.services-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:MR03/R61 Introduction to centralized administration of networking s + ervices +DTSTART:20210427T090000Z +RELATED-TO:linuxlong-resources.networking-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210520T130000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.services.theory-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Classes +DTSTART:20210427T090000Z +RELATED-TO:linuxlong-resources.networking.services-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210429T130000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.services.theory.debian-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Debian implementations of essential services +DTSTART:20210427T090000Z +DESCRIPTION:Focus on DHCP\, DNS\, SFTP\, SSH\, CUPS\, LDAP +RELATED-TO:linuxlong-resources.networking.services.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210429T130000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.services.practice-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Labo +DTSTART:20210430T130000Z +RELATED-TO:linuxlong-resources.networking.services-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210504T130000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.services.practice.debian-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Group deployment of essential services on VM +DTSTART:20210430T130000Z +RELATED-TO:linuxlong-resources.networking.services.practice-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210504T130000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.services.study-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Self study of essential services +DTSTART:20210514T080000Z +RELATED-TO:linuxlong-resources.networking.services-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210518T080000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.services.study.rpi-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Personal deployment of essential services on RPI +DTSTART:20210514T080000Z +RELATED-TO:linuxlong-resources.networking.services.study-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210518T080000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.services.test-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Test +DTSTART:20210520T110000Z +RELATED-TO:linuxlong-resources.networking.services-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210520T130000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.services.test.pihole-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Evaluation of essential services on Linux +DTSTART:20210520T110000Z +RELATED-TO:linuxlong-resources.networking.services.test-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210520T130000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.linux-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:MR04/R71 Introduction to linux +DTSTART:20210407T110000Z +DESCRIPTION:Introduction to the history and usage of Linux as an OS with bo + th graphical and shell interfaces. +RELATED-TO:linuxlong-resources-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210414T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.linux.theory-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Classes +DTSTART:20210407T110000Z +RELATED-TO:linuxlong-resources.linux-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210412T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.linux.theory.intro-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:History of unix/linux and Debian +DTSTART:20210407T110000Z +RELATED-TO:linuxlong-resources.linux.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210407T150000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.linux.theory.gui-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Quick dive into a GUI installation +DTSTART:20210408T070000Z +RELATED-TO:linuxlong-resources.linux.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210408T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.linux.theory.cli-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Introduction to the shell +DTSTART:20210408T110000Z +DESCRIPTION:Based on Ryan's tutorials +RELATED-TO:linuxlong-resources.linux.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210409T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.linux.theory.vimtutor-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Introduction to vim +DTSTART:20210409T110000Z +RELATED-TO:linuxlong-resources.linux.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210409T150000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.linux.theory.bandit-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Very brief introdution to bandit and SSH +DTSTART:20210412T070000Z +RELATED-TO:linuxlong-resources.linux.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210412T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.linux.practice-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Labo +DTSTART:20210412T110000Z +RELATED-TO:linuxlong-resources.linux-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210413T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.linux.practice.bandit-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Bandit +DTSTART:20210412T110000Z +DESCRIPTION:Bandit as a basic in class exercise. +RELATED-TO:linuxlong-resources.linux.practice-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210413T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.linux.test-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Test +DTSTART:20210413T110000Z +DESCRIPTION:Evaluation of basic shell knowledge with Leviathan as a wargame +RELATED-TO:linuxlong-resources.linux-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210414T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.linux.test.wargame-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Leviathan +DTSTART:20210413T110000Z +DESCRIPTION:Leviathan as an in class test. +RELATED-TO:linuxlong-resources.linux.test-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210414T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:MR05/XX Introduction to hardware components of servers and clients +DTSTART:20210429T130000Z +DESCRIPTION:In this module we will focus on hardware and the exposure to Ra + spberry Pi's as an alternative target platform +RELATED-TO:linuxlong-resources-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210519T120000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.theory-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Classes +DTSTART:20210429T130000Z +RELATED-TO:linuxlong-resources.hardware-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210511T080000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.theory.breakdown-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Breakdown of IT internals and externals +DTSTART:20210429T130000Z +RELATED-TO:linuxlong-resources.hardware.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210430T090000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.theory.architectures-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Overview of computer architectures +DTSTART:20210430T090000Z +RELATED-TO:linuxlong-resources.hardware.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210430T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.theory.rpi-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:ARM vs x86 +DTSTART:20210430T110000Z +RELATED-TO:linuxlong-resources.hardware.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210430T130000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.theory.compilation-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Introduction to compiled languages and compilation targets +DTSTART:20210510T120000Z +RELATED-TO:linuxlong-resources.hardware.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210510T140000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.theory.protocols-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Comparison of platforms vs protocols +DTSTART:20210510T140000Z +RELATED-TO:linuxlong-resources.hardware.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210511T080000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.theory.deployment-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Group deployment of RPI clients and headless servers +DTSTART:20210504T130000Z +RELATED-TO:linuxlong-resources.hardware.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210505T130000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.study-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Self study +DTSTART:20210511T080000Z +RELATED-TO:linuxlong-resources.hardware-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210518T120000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.study.raid-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Research RAID and ZFS +DTSTART:20210518T080000Z +DESCRIPTION:Used as a base for Freenas installation in a later module +RELATED-TO:linuxlong-resources.hardware.study-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210518T120000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.study.certificate-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Prepare certificate self study +DTSTART:20210511T080000Z +RELATED-TO:linuxlong-resources.hardware.study-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210514T080000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.test-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Test +DTSTART:20210518T120000Z +DESCRIPTION:Test done through certificate exam. +RELATED-TO:linuxlong-resources.hardware-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210519T120000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.test.certificate-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Linux Professional Institute Linux Essentials +DTSTART:20210518T120000Z +DESCRIPTION:https://www.lpi.org/our-certifications/linux-essentials-overvie + w +RELATED-TO:linuxlong-resources.hardware.test-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210519T120000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Qualifying Modules +DTSTART:20210520T140000Z +DESCRIPTION:Modules part of the qualifying curriculum. +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Antoine Degeest:mailto:hhh@hhh.hhh +ATTENDEE;CN=Steve Dejongh:mailto:sdejongh@he2b.be +DUE:20211014T100000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.clients-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:MQ06/QB2 Install\, deplay\, configure and maintain client machines +DTSTART:20210927T110000Z +RELATED-TO:linuxlong-qualifying-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20211012T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.clients.theory-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Classes +DTSTART:20210927T110000Z +DESCRIPTION:TODO +RELATED-TO:linuxlong-qualifying.clients-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210929T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.clients.theory.sub1-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:TODO +DTSTART:20210927T110000Z +RELATED-TO:linuxlong-qualifying.clients.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210929T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.clients.practice-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Labo +DTSTART:20210929T110000Z +DESCRIPTION:TODO +RELATED-TO:linuxlong-qualifying.clients-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20211007T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.clients.practice.supervised-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Labo one +DTSTART:20211005T110000Z +RELATED-TO:linuxlong-qualifying.clients.practice-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20211007T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.clients.practice.solo-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Labo two +DTSTART:20210929T110000Z +RELATED-TO:linuxlong-qualifying.clients.practice-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20211005T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.clients.test-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Test +DTSTART:20211011T110000Z +DESCRIPTION:TODO +RELATED-TO:linuxlong-qualifying.clients-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20211012T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.clients.test.test-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:TODO +DTSTART:20211011T110000Z +RELATED-TO:linuxlong-qualifying.clients.test-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20211012T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.support-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:MQ02/QB3 Fournir un support général et un accompagnement à l’u + tilisateur +DTSTART:20210611T140000Z +RELATED-TO:linuxlong-qualifying-TODO +ORGANIZER;CN=Antoine Degeest:mailto:hhh@hhh.hhh +ATTENDEE;CN=Antoine Degeest:mailto:hhh@hhh.hhh +DUE:20210917T140000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.support.theory-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Classes +DTSTART:20210611T140000Z +RELATED-TO:linuxlong-qualifying.support-TODO +ORGANIZER;CN=Antoine Degeest:mailto:hhh@hhh.hhh +ATTENDEE;CN=Antoine Degeest:mailto:hhh@hhh.hhh +DUE:20210706T080000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.support.practice-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Labo +DTSTART:20210706T080000Z +RELATED-TO:linuxlong-qualifying.support-TODO +ORGANIZER;CN=Antoine Degeest:mailto:hhh@hhh.hhh +DUE:20210708T080000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.support.test-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Test +DTSTART:20210917T120000Z +RELATED-TO:linuxlong-qualifying.support-TODO +ORGANIZER;CN=Antoine Degeest:mailto:hhh@hhh.hhh +ATTENDEE;CN=Antoine Degeest:mailto:hhh@hhh.hhh +DUE:20210917T140000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:MQ03/QB4 Conceive and improve networking architecture +DTSTART:20210527T140000Z +DESCRIPTION:Deep dive into networking and the securisation of exposed servi + ces. +RELATED-TO:linuxlong-qualifying-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Steve Dejongh:mailto:sdejongh@he2b.be +DUE:20210915T100000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.theory-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Classes +DTSTART:20210527T140000Z +RELATED-TO:linuxlong-qualifying.networking-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Steve Dejongh:mailto:sdejongh@he2b.be +DUE:20210615T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.theory.firewall-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:iptables and fail2ban +DTSTART:20210527T140000Z +RELATED-TO:linuxlong-qualifying.networking.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210528T140000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.theory.crypto-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Introduction to cryptography +DTSTART:20210607T140000Z +RELATED-TO:linuxlong-qualifying.networking.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210608T140000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.theory.openwrt-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Theory and application of OpenWRT +DTSTART:20210614T110000Z +RELATED-TO:linuxlong-qualifying.networking.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210615T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.theory.network_conception-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Conceive and plan network layouts +DTSTART:20210528T140000Z +RELATED-TO:linuxlong-qualifying.networking.theory-TODO +ORGANIZER;CN=Steve Dejongh:mailto:sdejongh@he2b.be +ATTENDEE;CN=Steve Dejongh:mailto:sdejongh@he2b.be +DUE:20210607T140000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.theory.exposing_services-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Exposing local services to the internet +DTSTART:20210608T140000Z +DESCRIPTION:Theory and application of VPN\, nginx reverse proxy\, SSH\, DNS + and dynamic DNS +RELATED-TO:linuxlong-qualifying.networking.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210614T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.practice-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Labo +DTSTART:20210615T110000Z +RELATED-TO:linuxlong-qualifying.networking-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210625T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.practice.crypto-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Krypton wargame +DTSTART:20210618T110000Z +RELATED-TO:linuxlong-qualifying.networking.practice-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210622T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.practice.openwrt-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Personal OpenWRT deployment on RPI +DTSTART:20210624T110000Z +RELATED-TO:linuxlong-qualifying.networking.practice-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210625T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.practice.network_conception-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Conceive multiple network scenarios +DTSTART:20210622T110000Z +RELATED-TO:linuxlong-qualifying.networking.practice-TODO +ORGANIZER;CN=Steve Dejongh:mailto:sdejongh@he2b.be +DUE:20210624T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.practice.exposing_services-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Succesfully deploy and expose services to the internet +DTSTART:20210615T110000Z +RELATED-TO:linuxlong-qualifying.networking.practice-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210618T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.test-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Test +DTSTART:20210913T120000Z +DESCRIPTION:TODO +RELATED-TO:linuxlong-qualifying.networking-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210915T100000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.test.homeserver-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Setup synapse homeserver +DTSTART:20210913T120000Z +RELATED-TO:linuxlong-qualifying.networking.test-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210915T100000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Linux server machines +DTSTART:20210520T140000Z +RELATED-TO:linuxlong-qualifying-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210920T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.deployment-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:MQ07/QE7 Installation and configuration of a Linux server +DTSTART:20210520T140000Z +DESCRIPTION:Installation and configuration of Debian and Redhat servers. +RELATED-TO:linuxlong-qualifying.servers-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210916T100000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.deployment.theory-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Classes +DTSTART:20210520T140000Z +RELATED-TO:linuxlong-qualifying.servers.deployment-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210712T080000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.deployment.theory.debian-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:The Debian OS +DTSTART:20210520T140000Z +DESCRIPTION:Follows the Debian System Administrator handbook +RELATED-TO:linuxlong-qualifying.servers.deployment.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210527T140000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.deployment.theory.redhat-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Redhat as an alternative +DTSTART:20210708T080000Z +RELATED-TO:linuxlong-qualifying.servers.deployment.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210712T080000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.deployment.practice-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Labo +DTSTART:20210712T080000Z +RELATED-TO:linuxlong-qualifying.servers.deployment-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210716T080000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.deployment.practice.debian-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Deployment of Debian on hardware and VM +DTSTART:20210712T080000Z +DESCRIPTION:TODO +RELATED-TO:linuxlong-qualifying.servers.deployment.practice-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210714T080000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.deployment.practice.redhat-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Deployment of Redhat on VM +DTSTART:20210714T080000Z +RELATED-TO:linuxlong-qualifying.servers.deployment.practice-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210715T080000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.deployment.practice.solo-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Certificate preparation +DTSTART:20210715T080000Z +DESCRIPTION:In class labo to prepare for the certificate. +RELATED-TO:linuxlong-qualifying.servers.deployment.practice-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210716T080000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.deployment.test-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Test +DTSTART:20210915T100000Z +DESCRIPTION:Test through certificate +RELATED-TO:linuxlong-qualifying.servers.deployment-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210916T100000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.deployment.test.certificate-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Linux Professional Institute LPIC-1 +DTSTART:20210915T100000Z +DESCRIPTION:https://www.lpi.org/our-certifications/lpic-1-overview +RELATED-TO:linuxlong-qualifying.servers.deployment.test-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210916T100000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.maintenance-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:MQ08/QE8 Administrate\, exploit and maintain a Linux server +DTSTART:20210716T080000Z +DESCRIPTION:More in depth usage of the command line and an introdution to s + cripting in BASH and python3. +RELATED-TO:linuxlong-qualifying.servers-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210920T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.maintenance.theory-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Classes +DTSTART:20210716T080000Z +RELATED-TO:linuxlong-qualifying.servers.maintenance-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210907T080000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.maintenance.theory.tools-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Deep dive into CLI tools +DTSTART:20210830T080000Z +DESCRIPTION:Focus on essential tools such as tmux\, zsh\, ohmyzsh\, vim +RELATED-TO:linuxlong-qualifying.servers.maintenance.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210903T080000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.maintenance.theory.debian-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Advanced system management +DTSTART:20210823T080000Z +DESCRIPTION:Focus on systemd\, dbus\, udev\, apt\, pip3 +RELATED-TO:linuxlong-qualifying.servers.maintenance.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210830T080000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.maintenance.theory.scripting-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Introduction to scripting in BASH and python3 +DTSTART:20210716T080000Z +RELATED-TO:linuxlong-qualifying.servers.maintenance.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210823T080000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.maintenance.theory.advanced_python-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Advanced python scripting +DTSTART:20210903T080000Z +RELATED-TO:linuxlong-qualifying.servers.maintenance.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210907T080000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.maintenance.practice-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Labo +DTSTART:20210907T080000Z +RELATED-TO:linuxlong-qualifying.servers.maintenance-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210913T120000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.maintenance.practice.general-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Tools and system maintenance in practice +DTSTART:20210907T080000Z +RELATED-TO:linuxlong-qualifying.servers.maintenance.practice-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210909T120000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.maintenance.practice.scripting-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Development of a usefull script +DTSTART:20210909T120000Z +RELATED-TO:linuxlong-qualifying.servers.maintenance.practice-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210910T120000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.maintenance.practice.certificate-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Certificate preparation +DTSTART:20210910T120000Z +RELATED-TO:linuxlong-qualifying.servers.maintenance.practice-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210913T120000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.maintenance.test-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Test +DTSTART:20210916T100000Z +DESCRIPTION:Test through certificate +RELATED-TO:linuxlong-qualifying.servers.maintenance-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210920T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.maintenance.test.certificate-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Linux Professional Institute LPIC-2 +DTSTART:20210916T100000Z +DESCRIPTION:https://www.lpi.org/our-certifications/lpic-2-overview +RELATED-TO:linuxlong-qualifying.servers.maintenance.test-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210920T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.vm-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:MQ09/XX Administrate\, exploit and maintain a virtual environnement +DTSTART:20210920T110000Z +DESCRIPTION:Extends on the general knowledge built up throughout the coarse + but adds freenas as a platform to deploy VM's +RELATED-TO:linuxlong-qualifying-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20211014T100000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.vm.theory-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Classes +DTSTART:20210920T110000Z +RELATED-TO:linuxlong-qualifying.vm-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210922T150000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.vm.theory.general-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:General configuration of VM's +DTSTART:20210922T110000Z +RELATED-TO:linuxlong-qualifying.vm.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210922T150000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.vm.theory.freenas-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Freenas as a platform to deploy VM's and docker instances +DTSTART:20210920T110000Z +RELATED-TO:linuxlong-qualifying.vm.theory-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210922T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.vm.practice-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Labo +DTSTART:20210923T070000Z +RELATED-TO:linuxlong-qualifying.vm-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210927T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.vm.practice.supervised-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Deployment of diverse VM's via Windows\, Debian and Freenas +DTSTART:20210927T070000Z +RELATED-TO:linuxlong-qualifying.vm.practice-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210927T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.vm.practice.solo-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Personal deployment of VM's +DTSTART:20210923T070000Z +RELATED-TO:linuxlong-qualifying.vm.practice-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210924T150000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.vm.test-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Test +DTSTART:20211013T110000Z +DESCRIPTION:TODO +RELATED-TO:linuxlong-qualifying.vm-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20211014T100000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.vm.test.freenas-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Setup a freenas server with a Debian VM running inside +DTSTART:20211013T110000Z +RELATED-TO:linuxlong-qualifying.vm.test-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20211014T100000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-personal_project-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Personal project +DTSTART:20210820T070000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20211013T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-personal_project.research-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Research and write personal project +DTSTART:20210820T070000Z +RELATED-TO:linuxlong-personal_project-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20210827T150000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-personal_project.followup-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Follow up of personal project +DTSTART:20211007T110000Z +RELATED-TO:linuxlong-personal_project-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20211011T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VTODO +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-personal_project.presentation-TODO +LAST-MODIFIED:20210311T150000Z +SUMMARY:Presentation of personal projects +DTSTART:20211012T110000Z +RELATED-TO:linuxlong-personal_project-TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +DUE:20211013T110000Z +PERCENT-COMPLETE:0 +END:VTODO + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-prerequisite.theory.communication-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Overview of communication channels +DTSTART:20210401T070000Z +DESCRIPTION:Account creation for local gitea\, matrix etc +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210401T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-prerequisite.theory.markdown-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Introduction to markdown for notekeeping +DTSTART:20210401T110000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210401T130000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-prerequisite.theory.git-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Short introdution to git for notekeeping +DTSTART:20210401T130000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210402T130000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-prerequisite.practice.wargame-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:FRACZ wargame +DTSTART:20210406T130000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210407T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-prerequisite.practice.optimize_toolchain-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Optimize your personal notekeeping toolchain +DTSTART:20210402T130000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210406T130000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.itil.theory-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Classes +DTSTART:20210505T130000Z +ORGANIZER;CN=Alexandra Degeest:mailto:adegeest@he2b.be +ATTENDEE;CN=Alexandra Degeest:mailto:adegeest@he2b.be +PRIORITY:1 +DTEND:20210510T120000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.itil.study-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Self study +DTSTART:20210519T120000Z +ORGANIZER;CN=Alexandra Degeest:mailto:adegeest@he2b.be +PRIORITY:1 +DTEND:20210520T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.itil.test-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:ITIL evaluation +DTSTART:20210520T130000Z +ORGANIZER;CN=Alexandra Degeest:mailto:adegeest@he2b.be +ATTENDEE;CN=Alexandra Degeest:mailto:adegeest@he2b.be +PRIORITY:1 +DTEND:20210520T140000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.theory.theory-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Classes +DTSTART:20210414T110000Z +ORGANIZER;CN=Steve Dejongh:mailto:sdejongh@he2b.be +ATTENDEE;CN=Steve Dejongh:mailto:sdejongh@he2b.be +PRIORITY:1 +DTEND:20210421T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.theory.practice-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Labo +DTSTART:20210421T110000Z +ORGANIZER;CN=Steve Dejongh:mailto:sdejongh@he2b.be +PRIORITY:1 +DTEND:20210422T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.theory.study-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Networking theory self study +DTSTART:20210422T110000Z +ORGANIZER;CN=Steve Dejongh:mailto:sdejongh@he2b.be +PRIORITY:1 +DTEND:20210426T090000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.theory.test-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Networking theory evaluation +DTSTART:20210426T090000Z +ORGANIZER;CN=Steve Dejongh:mailto:sdejongh@he2b.be +ATTENDEE;CN=Steve Dejongh:mailto:sdejongh@he2b.be +PRIORITY:1 +DTEND:20210427T090000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.services.theory.debian-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Debian implementations of essential services +DTSTART:20210427T090000Z +DESCRIPTION:Focus on DHCP\, DNS\, SFTP\, SSH\, CUPS\, LDAP +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210429T130000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.services.practice.debian-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Group deployment of essential services on VM +DTSTART:20210430T130000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210504T130000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.services.study.rpi-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Personal deployment of essential services on RPI +DTSTART:20210514T080000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210518T080000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.networking.services.test.pihole-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Evaluation of essential services on Linux +DTSTART:20210520T110000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210520T130000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.linux.theory.intro-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:History of unix/linux and Debian +DTSTART:20210407T110000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210407T150000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.linux.theory.gui-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Quick dive into a GUI installation +DTSTART:20210408T070000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210408T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.linux.theory.cli-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Introduction to the shell +DTSTART:20210408T110000Z +DESCRIPTION:Based on Ryan's tutorials +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210409T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.linux.theory.vimtutor-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Introduction to vim +DTSTART:20210409T110000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210409T150000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.linux.theory.bandit-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Very brief introdution to bandit and SSH +DTSTART:20210412T070000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210412T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.linux.practice.bandit-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Bandit +DTSTART:20210412T110000Z +DESCRIPTION:Bandit as a basic in class exercise. +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210413T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.linux.test.wargame-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Leviathan +DTSTART:20210413T110000Z +DESCRIPTION:Leviathan as an in class test. +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210414T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.theory.breakdown-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Breakdown of IT internals and externals +DTSTART:20210429T130000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210430T090000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.theory.architectures-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Overview of computer architectures +DTSTART:20210430T090000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210430T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.theory.rpi-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:ARM vs x86 +DTSTART:20210430T110000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210430T130000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.theory.compilation-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Introduction to compiled languages and compilation targets +DTSTART:20210510T120000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210510T140000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.theory.protocols-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Comparison of platforms vs protocols +DTSTART:20210510T140000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210511T080000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.theory.deployment-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Group deployment of RPI clients and headless servers +DTSTART:20210504T130000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210505T130000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.study.raid-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Research RAID and ZFS +DTSTART:20210518T080000Z +DESCRIPTION:Used as a base for Freenas installation in a later module +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210518T120000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.study.certificate-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Prepare certificate self study +DTSTART:20210511T080000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210514T080000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-resources.hardware.test.certificate-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Linux Professional Institute Linux Essentials +DTSTART:20210518T120000Z +DESCRIPTION:https://www.lpi.org/our-certifications/linux-essentials-overvie + w +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210519T120000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.clients.theory.sub1-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:TODO +DTSTART:20210927T110000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210929T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.clients.practice.supervised-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Labo one +DTSTART:20211005T110000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20211007T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.clients.practice.solo-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Labo two +DTSTART:20210929T110000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20211005T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.clients.test.test-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:TODO +DTSTART:20211011T110000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20211012T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.support.theory-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Classes +DTSTART:20210611T140000Z +ORGANIZER;CN=Antoine Degeest:mailto:hhh@hhh.hhh +ATTENDEE;CN=Antoine Degeest:mailto:hhh@hhh.hhh +PRIORITY:1 +DTEND:20210706T080000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.support.practice-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Labo +DTSTART:20210706T080000Z +ORGANIZER;CN=Antoine Degeest:mailto:hhh@hhh.hhh +PRIORITY:1 +DTEND:20210708T080000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.support.test-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Test +DTSTART:20210917T120000Z +ORGANIZER;CN=Antoine Degeest:mailto:hhh@hhh.hhh +ATTENDEE;CN=Antoine Degeest:mailto:hhh@hhh.hhh +PRIORITY:1 +DTEND:20210917T140000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.theory.firewall-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:iptables and fail2ban +DTSTART:20210527T140000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210528T140000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.theory.crypto-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Introduction to cryptography +DTSTART:20210607T140000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210608T140000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.theory.openwrt-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Theory and application of OpenWRT +DTSTART:20210614T110000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210615T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.theory.network_conception-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Conceive and plan network layouts +DTSTART:20210528T140000Z +ORGANIZER;CN=Steve Dejongh:mailto:sdejongh@he2b.be +ATTENDEE;CN=Steve Dejongh:mailto:sdejongh@he2b.be +PRIORITY:1 +DTEND:20210607T140000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.theory.exposing_services-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Exposing local services to the internet +DTSTART:20210608T140000Z +DESCRIPTION:Theory and application of VPN\, nginx reverse proxy\, SSH\, DNS + and dynamic DNS +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210614T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.practice.crypto-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Krypton wargame +DTSTART:20210618T110000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210622T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.practice.openwrt-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Personal OpenWRT deployment on RPI +DTSTART:20210624T110000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210625T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.practice.network_conception-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Conceive multiple network scenarios +DTSTART:20210622T110000Z +ORGANIZER;CN=Steve Dejongh:mailto:sdejongh@he2b.be +PRIORITY:1 +DTEND:20210624T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.practice.exposing_services-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Succesfully deploy and expose services to the internet +DTSTART:20210615T110000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210618T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.networking.test.homeserver-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Setup synapse homeserver +DTSTART:20210913T120000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210915T100000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.deployment.theory.debian-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:The Debian OS +DTSTART:20210520T140000Z +DESCRIPTION:Follows the Debian System Administrator handbook +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210527T140000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.deployment.theory.redhat-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Redhat as an alternative +DTSTART:20210708T080000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210712T080000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.deployment.practice.debian-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Deployment of Debian on hardware and VM +DTSTART:20210712T080000Z +DESCRIPTION:TODO +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210714T080000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.deployment.practice.redhat-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Deployment of Redhat on VM +DTSTART:20210714T080000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210715T080000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.deployment.practice.solo-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Certificate preparation +DTSTART:20210715T080000Z +DESCRIPTION:In class labo to prepare for the certificate. +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210716T080000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.deployment.test.certificate-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Linux Professional Institute LPIC-1 +DTSTART:20210915T100000Z +DESCRIPTION:https://www.lpi.org/our-certifications/lpic-1-overview +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210916T100000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.maintenance.theory.tools-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Deep dive into CLI tools +DTSTART:20210830T080000Z +DESCRIPTION:Focus on essential tools such as tmux\, zsh\, ohmyzsh\, vim +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210903T080000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.maintenance.theory.debian-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Advanced system management +DTSTART:20210823T080000Z +DESCRIPTION:Focus on systemd\, dbus\, udev\, apt\, pip3 +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210830T080000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.maintenance.theory.scripting-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Introduction to scripting in BASH and python3 +DTSTART:20210716T080000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210823T080000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.maintenance.theory.advanced_python-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Advanced python scripting +DTSTART:20210903T080000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210907T080000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.maintenance.practice.general-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Tools and system maintenance in practice +DTSTART:20210907T080000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210909T120000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.maintenance.practice.scripting-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Development of a usefull script +DTSTART:20210909T120000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210910T120000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.maintenance.practice.certificate-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Certificate preparation +DTSTART:20210910T120000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210913T120000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.servers.maintenance.test.certificate-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Linux Professional Institute LPIC-2 +DTSTART:20210916T100000Z +DESCRIPTION:https://www.lpi.org/our-certifications/lpic-2-overview +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210920T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.vm.theory.general-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:General configuration of VM's +DTSTART:20210922T110000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210922T150000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.vm.theory.freenas-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Freenas as a platform to deploy VM's and docker instances +DTSTART:20210920T110000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210922T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.vm.practice.supervised-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Deployment of diverse VM's via Windows\, Debian and Freenas +DTSTART:20210927T070000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210927T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.vm.practice.solo-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Personal deployment of VM's +DTSTART:20210923T070000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210924T150000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-qualifying.vm.test.freenas-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Setup a freenas server with a Debian VM running inside +DTSTART:20211013T110000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20211014T100000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-personal_project.research-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Research and write personal project +DTSTART:20210820T070000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20210827T150000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-personal_project.followup-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Follow up of personal project +DTSTART:20211007T110000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20211011T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +BEGIN:VEVENT +DTSTAMP:20210311T155604Z +CREATED:20210311T155604Z +UID:linuxlong-personal_project.presentation-EVENT +LAST-MODIFIED:20210311T150000Z +SUMMARY:Presentation of personal projects +DTSTART:20211012T110000Z +ORGANIZER;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +ATTENDEE;CN=Wouter Gordts:mailto:woutergordts@mailbox.org +PRIORITY:1 +DTEND:20211013T110000Z +TRANSP:TRANSPARENT +END:VEVENT + +END:VCALENDAR diff --git a/icons/details.png b/icons/details.png new file mode 100644 index 0000000000000000000000000000000000000000..1cb5429bc5040abe55f2da77b939a67965e4634a GIT binary patch literal 744 zcmVP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iXe_ z2|5&BNRaLT00L-9L_t(2&vlYtXpLbU$3M^WzUS<$O`FDO%wahq`Lm>0l!mPiP1DxQ z#nzO<)uhCQ-5@tax!_{bG{p=}$jQXYS`uS(u|`g3BKdo;Kks?p_jw){j?Lfi)$iu> ztzX{{)V*gsl`mGap+CmD2hEgr=K`?&CjW~VziQu<;f@``OLa2xwHRkKiT1bCQ#Q=v zcId163zh&hB%@gJ2$pr3VCXQ=jxkwy?s=A6$)v9eBIo`A?{aIft$kS58G@k`v=@zl zsYZ$$gK7A)Q-mFOh}MI+sTMX5 zMgZtuJBTsm7+r!C0ZX`j*r$cAIf{-*3usZTGfEm7}JFiyAfg=2!+uOVEuqaPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L05@C!05@C#%g3a-00007bV*G`2iXf6 z3IGw-w#11500GBIL_t(2&z;e`ZWB=u#_|8Tt#{WqLSlzFqM-^(gXs_r4fr8=0XldB z9)JodG&}$`LR3i#NOs)B*Eu>f_KXNL>LJx>@cJ?nl=QuVQ(+0S|1 z?3%9sZdOiC8ZAPiYz8P1`LL;uCfFz&f(mW1q3>#@UrV%4oGx@8j&(l%?NX_%G7e!& zU}H-c023@xP(~!pl*%(pnwXkxNXN9to#bL5FOxz$x!=^`dHG|pfFtfmbAr7uu@>`JN9?l4r4>InQ@#vi>%w~SsI}&Awl9yK0`Ioe@dU>hl{1>Gp>UlNt%TF}isD;V zmCg9t^mt*kereJ;1pME{S%45Lofv(Zw8C3Aa<7Klzjpl<{Yfu|ojBIsWvWsNdDA@< zfEyvDsoiA4O0T!k?JnP)J;&1H_S}iCZm<6Hwg9E~h=`gE_8%P0;ho!i^Ek#hhtEI&1-G19cz=YCtm0G@t+h_yYjD VuRp7*cOL)%002ovPDHLkV1n|j`c41< literal 0 HcmV?d00001 diff --git a/icons/flag-red.png b/icons/flag-red.png new file mode 100644 index 0000000000000000000000000000000000000000..87b6c942e57fa04b1bc3dd8a1db0d08b467129a9 GIT binary patch literal 578 zcmV-I0=@l-P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L05@C!05@C#%g3a-00007bV*G`2iXf6 z3IrI-2DvE!00F{DL_t(2&z+J@Yg0iKhM$?-dz0Ld8*Pn^)u_-#5fmwkr0T+5SFYT+ z5ZCVf2mS!J1;KydMnt+&y01v32x8k*O6Z4}HYqlZO>UT(<01(pW>fpZSq$$y=e)xi z07|9Oi(7YR=QyF3$1ee(0rqP(Yu7g(Jca8gfp6D$ctZ*gAf1iU;eP#D0zLN%zj6(= zb_TnV#Z^3P-9l4=(U+&wJJqVXAOBu^OuGwfPa6d}jhacr%or-p<<2#NiStK^!bID< zc)=28{6F7UKl)qi^Zf)KfQSGHpaK*rrITI|{Kn4$cXnFbGB*$~jE^fNj&kzj`GqX#LWBS-JNCUIWXI`mwEbitcod5%v(O2X!K6 zY?M$-{>s<)Ws!v&1r;P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L05@C!05@C#%g3a-00007bV*G`2iXf6 z3IZAGTP`^O00F^CL_t(2&z+J@YZE~j$A2?B$-3KgW0izr@FjQ>s}LG5f}p2<2|s{0 zFP`-(Dqec=Tc~&wp+`XkL8yjG$YLoiY_#dtU^dyA$3wQznoIN#&tdq_?|GSL0BE;Y zAFf=xvBsQAdo=(wK$7g+DCpjP^njIl;Ha6<{Rjr2>{o&)>fiGWYa6dreEo`a!jNxe zL##DF5Pk{dRyTumu&W+FA9XIb3s~Xho~EibEn~b^5K30|Pp3-P4$)^vcr}XzB{k{3 zEt%f>(-+eY41kE>1W}+otuY#3>rxHn*YGMFrh`=3_p1^E7{n0YdpAkHBI z&N)OZXd%mnbUJ-@lS&jWR-Y)n`RwNws{j{TMP=)(0%6)k&i;WW>HQ`QjXi%(-fPu= zJ?Lj|&Meor1+t@uo5D8NP8bP%=xy`v^A{K2x;fnPn0z(fQl?ee;`T&U_XI!=U?(mz zG#ZWddVTrs@pWu&_%kaS#_Gh`0F1|DoO36Pt9P;)c;S-F!q!@xbBceI0m$=wrt;iy zmSvj%&=I@?jDZL!9rIlg_OEb&c*UhtKwczU0;<3Q5CT3>E<6n=icj$ev7flHpr3lM P00000NkvXXu0mjflJ@!~ literal 0 HcmV?d00001 diff --git a/icons/resource.png b/icons/resource.png new file mode 100644 index 0000000000000000000000000000000000000000..0947c37adcda908f24b208f41e25da150d825148 GIT binary patch literal 722 zcmV;@0xkWCP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU3jzlf0{F;}U;qFDWJyFpR4C7N zlFv(2Q546&=id9~&6|0nGrlnzCda8J6$3+Cq><>xg#}VzL1smZqV{dtMd061K@bRm z{a9xbMi!!iL}6K&iwrfjY{qd$-^{#sZwpICV-B3fxqLt8+%M-4c17P+v!%1^;+;Ua zrcLu0WM@}X^Iu;->woh0cK?vQT&xwv#jRfdp>t=uUqow8l!5*}T4p#FyK=o?CxiV% zljlpqb#ddG74ij~^hbaMhzLr#fGi+UWu7_N>}h#Eo*(4kpRY*eS zQ;_-JaP36|jSao2M(Zv)IVZh2a4(2?LBa&U0ciuS4W^YNm63KyIGvRP$`fs8z9{E< z7$5=VW*}`73yVLK1H<;CV*QS9-+j99cyeO+3o~NiW@0P-3BY4vWNiAuuQfGYa&lXv z$8Ycq%crIwvoj!OKtUp(nMYMcR_$IZFD`EO?(J)C?K-9TB1FOmFaaV4;Rzt*&o{-b z<l8c7R*=@v+ofw&(;1SxZX zlZ7M!p_C30Yy~i~4cEtoL3-srriZcBAPf=#5OI*Z30X*j0C4U_sQh!w4$rQuoTw$M z&2VkP@CUuZ7bUJ&fP@L+I=}>6x8SZUeg84|YU)0EgX4hxtmfSZ&rN&0zCzq$^TnPYw0Qk<=C}*gV8UO$Q07*qoM6N<$ Eg7LFHFaQ7m literal 0 HcmV?d00001 diff --git a/icons/resourcegroup.png b/icons/resourcegroup.png new file mode 100644 index 0000000000000000000000000000000000000000..3d514740d54d8ae86b0da1e37a9dd6fdc618a062 GIT binary patch literal 866 zcmV-o1D*VdP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU3jzlm5;VOeO#lD_^hrcPR4C6~ zl3i$9WdMes@8q15>F!SEgf!A|)02ohiI?A1|eGh>1Rq_AwS%#IQI$4jb z@2G@jqbjeYThaEzW`P1TQ9$R-;>+(*0>Cem3MwA-jo_X{ZN0hTaD=u zhRAx$7iY>BFRUJ}?`@yrF8~!@G7o&X@4)C*`#H-{O(_*7jYIC?^Up*&y|cs(K^Q>G z4~c4m_JZ(00-zRNeDt0c`V);%Gg}TwDbe-**cNw!t=Z?Ll~@;TFCt7-Z}lf_ zZJpBJYZhuQ*?$@VWhazNPRL^2MfHbCG8MbtpE}p9_ND8j01t&T zrDZnM63N(k;u-`JS}jmxSn)pfeh3d$<~u}gpFCQ;d!+BxZTV!h?MvDA1JT!QP`$WY zS_9J}V|$n}fg%(TDmq5XSdD#GJ=Qqk7otXJy`pqezt{W*j&KfuJFU+?=!yEg4nE(I)07*qoM6N<$f+nDr^#A|> literal 0 HcmV?d00001 diff --git a/icons/task.png b/icons/task.png new file mode 100644 index 0000000000000000000000000000000000000000..b8ac923267a231dbf4e6b9ee12543589f69c07ac GIT binary patch literal 494 zcmV4u*Y00001b5ch_0Itp) z=>Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU3jzi-CP|hQWdHyG8FWQhbVF}# zZDnqB07G(RVRU6=Aa`kWXdp*PO;A^X4i^9b0b5B#K~y-)t&=-1L{SjOe>3;od+mC} zBjS;)rBe6;5~VMorWcLqv`XJVqSKIwC`1$ri9)5;XauVwlFee-z1JDVMZDwnPfl{? zB=eis88I^!whwLh;2e+fR`t|B-@VU{VcgXX0Yr_Rxlxgg{WB|-0ac;y}2TZPXQ1F1kAGRLi7rdMsStAp}Q4Z{%0diJzy^?L)$HXfiM k48Sr=5Lz2!t}nZJ04D2&UZ7*L>;M1&07*qoM6N<$f?@g8q5uE@ literal 0 HcmV?d00001 diff --git a/icons/taskgroup.png b/icons/taskgroup.png new file mode 100644 index 0000000000000000000000000000000000000000..b8aa1a81226df0c9c4880a654d18d17ba7e5998e GIT binary patch literal 488 zcmVP)4u*Y00001b5ch_0Itp) z=>Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU3jzi<2RF%Pxc~qF8FWQhbVF}# zZDnqB07G(RVRU6=Aa`kWXdp*PO;A^X4i^9b0aZyvK~y-)t&_V-15pr$znML|o5TxV z5HBFn%EA{AEPVl=LTtp&*3vf+>}*9WL@X=>3oC0I8}U{}gpkB&vYRs&n)>&ufA!icT?TinL(B~$q#iBAC#1O&`7bs~ZpB&jDCDU0)is6wTlQizpm zJ>{-`jTBdoZ7e@R6nR91w3T88p>qHvNrI}Ps(?_4JaO!()(yc(66K**!c|@x-0Upy zABw9-xPd}8`TqWdnd{5$+*|j~J8y}_o+`#xSyd%HaGO+B&1LVR0EISFp eP+v^#X@WNpIh#n*MQhUl0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L02{9W02{9XUK)`c00007bV*G`2iXh> z1~(U0L>!F(00MMLL_t(2&yA8jOjA)D#m~L>^}W~E2egz{P-^ijF@Pk-fe=kxTr}|` zF>!G)41Nqckg(|B;36@ShzKRHBov|Lwtao?I*@2m z(Rjv_^UL`s|3grryTdb`(e!%Iw1fZz2mzXW+Dg~ymcGiYRB0^4)7=gA?qF#e za(NKavF_o9c_Z7g%I%t>(AM&1$(zY!;b4Fu8<%s-srXL}oRN^%Bx`y~WKWvS zvVD*+hYBiDLS+H!AT}7v7KCY*iLNlU#B*{q68`XFccBqyw^~nj_BS6r`*^ci{&k*I^}sG< mQPt?XHS=_k0sxiuP2r!T7zg&1ndwac0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L02{9W02{9XUK)`c00007bV*G`2iXh> z1~wB&GU?R-00Li0L_t(2&y|x+NK{c6hTn6~xmUd=YH68f>P!+L^g}|r3CbWNNvP0r z5oVbSHx@y(3KQu^=+9jvVq%K|L&-&CnIRDvi4-X+O^Ka_l(@~sd8*+*KzMm|nvq^70hY|2~*Cd;7GX4srU*Dc`)hdA5@1dmQjR(6*atm$~S z;r?Yphz9^zPzxbGApy261Z9j6s=zb>5QlKb0k^q`d^3nYpb_8nj7yvRd_8r~#qF`l z?kj9+dKQMwU^uZPaa9sjRe(|poCBt1LD%O=C=^0i3kogZCx&6DGLcu|3Bnn&CgTvmjk(2({&HW;B3h70uAWIIerj%UpJiW~%B|Z=g!1u+c z4fgkT4n4e93Bb(QRfF+oHvj-^iM(>H8WkH&b!`ssCx*Q}9c^{tq3#v{NZfLCQT!tb zx%*42oBF&vDr&m`#SH-MLLkn)_ut(vtZi~7ZYwNXXkScv{_>t8ueu)p!*{4g35Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L02{9W02{9XUK)`c00007bV*G`2iXh> z1~@K`*@#L200MwXL_t(2&wY|xNEC4t#=rl}?2a?5&d#j0u!~(x4KHaLlxuH$6waNg1+&%4A?DmYNU?9Y}-CpW; ztHh`JV3pz(<)>-}06>m^TY_0rmIJ>ghQMXkRqrY*?GXgQ7K!MHM5E9mQ4$VC5RHZz zo{MD%E%iU9Uw3`o)YuF4`v_RwI|o287gsmlPB)v&8O{JoSV}2N5($D>jM9jv6I~05 z0;d=J=6AnwzwcHz?7j6bcIM9goxEUb0AoZV!BLPDLO1~iUWCyo5{BhzB2J)(gL!sY z9{_;);j3V_wO*(bGu9vUYhV}sdi;+@5R7mL>pXlR0~UM~3u+8bZzS$ggM<@k*`fO* ztpLEuR@>~{&+$H=)2W2~o?vlh!?l7P^|sVB2?Rh`(=a_TsZD(x>yT_)1Kf7695T$-7p;Fp{CE*)P+x^C^^J y4Tw_$gOcvT|I~7^50&Qz$y)Q8u4hTH0pKtGY3uk+gTEI50000 + + + + Linux Administrator class - prerequisite + + + + + + + + + + +
+
+

Linux for system administrators

+

Course description GIT

+ +
+
+

Reports of prerequisite modules given by alexandra

+

Milestones of prerequisite

+

Milestones give a broad overview of the content of the modules and the division between theory, practice and testing.

+ + + + +
+ + + +
Name
Effort
Note
+
+

Theory classes for prerequisite module

+

Theory classes are:

+
    +
  • in person at the school
  • +
  • supervised by a teacher
  • +
+ + + + +
+ + + + + +
BSI
Id
Name
Effort
Note
+
+

Labo classes for prerequisite module

+

Labo classes are:

+
    +
  • in person at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + +
BSI
Id
Name
Effort
Note
+
+

Homework

+

Homework is:

+
    +
  • not at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + +
BSI
Id
Name
Effort
Note
+
+

+ +
+ + diff --git a/prerequisite antoine.html b/prerequisite antoine.html new file mode 100644 index 0000000..ed8ca46 --- /dev/null +++ b/prerequisite antoine.html @@ -0,0 +1,106 @@ + + + + + Linux Administrator class - prerequisite + + + + + + + + + + +
+
+

Linux for system administrators

+

Course description GIT

+ +
+
+

Reports of prerequisite modules given by antoine

+

Milestones of prerequisite

+

Milestones give a broad overview of the content of the modules and the division between theory, practice and testing.

+ + + + +
+ + + +
Name
Effort
Note
+
+

Theory classes for prerequisite module

+

Theory classes are:

+
    +
  • in person at the school
  • +
  • supervised by a teacher
  • +
+ + + + +
+ + + + + +
BSI
Id
Name
Effort
Note
+
+

Labo classes for prerequisite module

+

Labo classes are:

+
    +
  • in person at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + +
BSI
Id
Name
Effort
Note
+
+

Homework

+

Homework is:

+
    +
  • not at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + +
BSI
Id
Name
Effort
Note
+
+

+ +
+ + diff --git a/prerequisite steve.html b/prerequisite steve.html new file mode 100644 index 0000000..418c72d --- /dev/null +++ b/prerequisite steve.html @@ -0,0 +1,106 @@ + + + + + Linux Administrator class - prerequisite + + + + + + + + + + +
+
+

Linux for system administrators

+

Course description GIT

+ +
+
+

Reports of prerequisite modules given by steve

+

Milestones of prerequisite

+

Milestones give a broad overview of the content of the modules and the division between theory, practice and testing.

+ + + + +
+ + + +
Name
Effort
Note
+
+

Theory classes for prerequisite module

+

Theory classes are:

+
    +
  • in person at the school
  • +
  • supervised by a teacher
  • +
+ + + + +
+ + + + + +
BSI
Id
Name
Effort
Note
+
+

Labo classes for prerequisite module

+

Labo classes are:

+
    +
  • in person at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + +
BSI
Id
Name
Effort
Note
+
+

Homework

+

Homework is:

+
    +
  • not at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + +
BSI
Id
Name
Effort
Note
+
+

+ +
+ + diff --git a/prerequisite wouter.html b/prerequisite wouter.html new file mode 100644 index 0000000..5bc12d2 --- /dev/null +++ b/prerequisite wouter.html @@ -0,0 +1,225 @@ + + + + + Linux Administrator class - prerequisite + + + + + + + + + + +
+
+

Linux for system administrators

+

Course description GIT

+ +
+
+

Reports of prerequisite modules given by wouter

+

Milestones of prerequisite

+

Milestones give a broad overview of the content of the modules and the division between theory, practice and testing.

+ + + + +
+ + + + + + + + + + + + + + + + + + + + +
Name
Effort
Note
+ + + +
IconPrerequisite Modules
+
+ ID: prerequisite
+
+ + +
3.5
Not part of the reference but essential for the course.
+ + + + +
IconClasses
+
+ ID: prerequisite.theory
+
1.8
+ + + + +
IconLabo
+
+ ID: prerequisite.practice
+
1.8
+
+

Theory classes for prerequisite module

+

Theory classes are:

+
    +
  • in person at the school
  • +
  • supervised by a teacher
  • +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BSI
Id
Name
Effort
Note
1.1.1
prerequisite.theory.communication
+ + + +
IconOverview of communication channels
+
+ ID: prerequisite.theory.communication
+
0.5
Account creation for local gitea, matrix etc
1.1.2
prerequisite.theory.markdown
+ + + +
IconIntroduction to markdown for notekeeping
+
+ ID: prerequisite.theory.markdown
+
0.3
1.1.3
prerequisite.theory.git
+ + + +
IconShort introdution to git for notekeeping
+
+ ID: prerequisite.theory.git
+
1.0
+
+

Labo classes for prerequisite module

+

Labo classes are:

+
    +
  • in person at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + + + + + + + + + + +
BSI
Id
Name
Effort
Note
1.2.1
prerequisite.practice.wargame
+ + + +
IconFRACZ wargame
+
+ ID: prerequisite.practice.wargame
+
0.8
+
+

Homework

+

Homework is:

+
    +
  • not at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + + + + + + + + + + +
BSI
Id
Name
Effort
Note
1.2.2
prerequisite.practice.optimize_toolchain
+ + + +
IconOptimize your personal notekeeping toolchain
+
+ ID: prerequisite.practice.optimize_toolchain
+
1.0
+
+

+ +
+ + diff --git a/qualifying alexandra.html b/qualifying alexandra.html new file mode 100644 index 0000000..271e32c --- /dev/null +++ b/qualifying alexandra.html @@ -0,0 +1,106 @@ + + + + + Linux Administrator class - qualifying + + + + + + + + + + +
+
+

Linux for system administrators

+

Course description GIT

+ +
+
+

Reports of qualifying modules given by alexandra

+

Milestones of qualifying

+

Milestones give a broad overview of the content of the modules and the division between theory, practice and testing.

+ + + + +
+ + + +
Name
Effort
Note
+
+

Theory classes for qualifying module

+

Theory classes are:

+
    +
  • in person at the school
  • +
  • supervised by a teacher
  • +
+ + + + +
+ + + + + +
BSI
Id
Name
Effort
Note
+
+

Labo classes for qualifying module

+

Labo classes are:

+
    +
  • in person at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + +
BSI
Id
Name
Effort
Note
+
+

Homework

+

Homework is:

+
    +
  • not at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + +
BSI
Id
Name
Effort
Note
+
+

+ +
+ + diff --git a/qualifying antoine.html b/qualifying antoine.html new file mode 100644 index 0000000..365eca5 --- /dev/null +++ b/qualifying antoine.html @@ -0,0 +1,182 @@ + + + + + Linux Administrator class - qualifying + + + + + + + + + + +
+
+

Linux for system administrators

+

Course description GIT

+ +
+
+

Reports of qualifying modules given by antoine

+

Milestones of qualifying

+

Milestones give a broad overview of the content of the modules and the division between theory, practice and testing.

+ + + + +
+ + + + + + + + + + + + + + + +
Name
Effort
Note
+ + + +
IconQualifying Modules
+
+ ID: qualifying
+
+ + +
74.4
Modules part of the qualifying curriculum.
+ + + + +
IconMQ02/QB3 Fournir un support général et un accompagnement à l’utilisateur
+
+ ID: qualifying.support
+
8.0
+
+

Theory classes for qualifying module

+

Theory classes are:

+
    +
  • in person at the school
  • +
  • supervised by a teacher
  • +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + +
BSI
Id
Name
Effort
Note
3.2.1
qualifying.support.theory
+ + + +
IconClasses
+
+ ID: qualifying.support.theory
+
5.8
3.2.3
qualifying.support.test
+ + + +
IconTest
+
+ ID: qualifying.support.test
+
0.3
+
+

Labo classes for qualifying module

+

Labo classes are:

+
    +
  • in person at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + + + + + + + + + + +
BSI
Id
Name
Effort
Note
3.2.2
qualifying.support.practice
+ + + +
IconLabo
+
+ ID: qualifying.support.practice
+
2.0
+
+

Homework

+

Homework is:

+
    +
  • not at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + +
BSI
Id
Name
Effort
Note
+
+

+ +
+ + diff --git a/qualifying steve.html b/qualifying steve.html new file mode 100644 index 0000000..7effb55 --- /dev/null +++ b/qualifying steve.html @@ -0,0 +1,138 @@ + + + + + Linux Administrator class - qualifying + + + + + + + + + + +
+
+

Linux for system administrators

+

Course description GIT

+ +
+
+

Reports of qualifying modules given by steve

+

Milestones of qualifying

+

Milestones give a broad overview of the content of the modules and the division between theory, practice and testing.

+ + + + +
+ + + +
Name
Effort
Note
+
+

Theory classes for qualifying module

+

Theory classes are:

+
    +
  • in person at the school
  • +
  • supervised by a teacher
  • +
+ + + + +
+ + + + + + + + + + + + + + +
BSI
Id
Name
Effort
Note
3.3.1.4
qualifying.networking.theory.network_conception
+ + + +
IconConceive and plan network layouts
+
+ ID: qualifying.networking.theory.network_conception
+
5.0
+
+

Labo classes for qualifying module

+

Labo classes are:

+
    +
  • in person at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + + + + + + + + + + +
BSI
Id
Name
Effort
Note
3.3.2.3
qualifying.networking.practice.network_conception
+ + + +
IconConceive multiple network scenarios
+
+ ID: qualifying.networking.practice.network_conception
+
2.0
+
+

Homework

+

Homework is:

+
    +
  • not at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + +
BSI
Id
Name
Effort
Note
+
+

+ +
+ + diff --git a/qualifying wouter.html b/qualifying wouter.html new file mode 100644 index 0000000..c740889 --- /dev/null +++ b/qualifying wouter.html @@ -0,0 +1,879 @@ + + + + + Linux Administrator class - qualifying + + + + + + + + + + +
+
+

Linux for system administrators

+

Course description GIT

+ +
+
+

Reports of qualifying modules given by wouter

+

Milestones of qualifying

+

Milestones give a broad overview of the content of the modules and the division between theory, practice and testing.

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name
Effort
Note
+ + + +
IconQualifying Modules
+
+ ID: qualifying
+
+ + +
74.4
Modules part of the qualifying curriculum.
+ + + + +
IconLinux server machines
+
+ ID: qualifying.servers
+
+ + +
31.3
+ + + + +
IconMQ07/QE7 Installation and configuration of a Linux server
+
+ ID: qualifying.servers.deployment
+
+ + +
11.0
Installation and configuration of Debian and Redhat servers.
+ + + + +
IconClasses
+
+ ID: qualifying.servers.deployment.theory
+
6.0
+ + + + +
IconLabo
+
+ ID: qualifying.servers.deployment.practice
+
4.0
+ + + + +
IconTest
+
+ ID: qualifying.servers.deployment.test
+
1.0
Test through certificate
+ + + + +
IconMQ08/QE8 Administrate, exploit and maintain a Linux server
+
+ ID: qualifying.servers.maintenance
+
+ + +
20.3
More in depth usage of the command line and an introdution to scripting in BASH and python3.
+ + + + +
IconClasses
+
+ ID: qualifying.servers.maintenance.theory
+
14.0
+ + + + +
IconLabo
+
+ ID: qualifying.servers.maintenance.practice
+
4.5
+ + + + +
IconTest
+
+ ID: qualifying.servers.maintenance.test
+
1.8
Test through certificate
+ + + + +
IconMQ03/QB4 Conceive and improve networking architecture
+
+ ID: qualifying.networking
+
+ + +
21.3
Deep dive into networking and the securisation of exposed services.
+ + + + +
IconClasses
+
+ ID: qualifying.networking.theory
+
+ + +
11.5
+ + + + +
IconLabo
+
+ ID: qualifying.networking.practice
+
+ + +
8.0
+ + + + +
IconTest
+
+ ID: qualifying.networking.test
+
+ + +
1.8
TODO
+ + + + +
IconMQ09/XX Administrate, exploit and maintain a virtual environnement
+
+ ID: qualifying.vm
+
+ + +
5.9
Extends on the general knowledge built up throughout the coarse but adds freenas as a platform to deploy VM's
+ + + + +
IconClasses
+
+ ID: qualifying.vm.theory
+
+ + +
2.5
+ + + + +
IconLabo
+
+ ID: qualifying.vm.practice
+
+ + +
2.5
+ + + + +
IconTest
+
+ ID: qualifying.vm.test
+
+ + +
0.9
TODO
+ + + + +
IconMQ06/QB2 Install, deplay, configure and maintain client machines
+
+ ID: qualifying.clients
+
+ + +
8.0
+ + + + +
IconClasses
+
+ ID: qualifying.clients.theory
+
+ + +
2.0
TODO
+ + + + +
IconLabo
+
+ ID: qualifying.clients.practice
+
+ + +
5.0
TODO
+ + + + +
IconTest
+
+ ID: qualifying.clients.test
+
+ + +
1.0
TODO
+
+

Theory classes for qualifying module

+

Theory classes are:

+
    +
  • in person at the school
  • +
  • supervised by a teacher
  • +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BSI
Id
Name
Effort
Note
3.4.1.1.1
qualifying.servers.deployment.theory.debian
+ + + +
IconThe Debian OS
+
+ ID: qualifying.servers.deployment.theory.debian
+
4.0
Follows the Debian System Administrator handbook
3.3.1.1
qualifying.networking.theory.firewall
+ + + +
Iconiptables and fail2ban
+
+ ID: qualifying.networking.theory.firewall
+
1.0
3.3.1.2
qualifying.networking.theory.crypto
+ + + +
IconIntroduction to cryptography
+
+ ID: qualifying.networking.theory.crypto
+
1.0
3.3.1.5
qualifying.networking.theory.exposing_services
+ + + +
IconExposing local services to the internet
+
+ ID: qualifying.networking.theory.exposing_services
+
3.5
Theory and application of VPN, nginx reverse proxy, SSH, DNS and dynamic DNS
3.3.1.3
qualifying.networking.theory.openwrt
+ + + +
IconTheory and application of OpenWRT
+
+ ID: qualifying.networking.theory.openwrt
+
1.0
3.4.1.1.2
qualifying.servers.deployment.theory.redhat
+ + + +
IconRedhat as an alternative
+
+ ID: qualifying.servers.deployment.theory.redhat
+
2.0
3.4.1.2.1
qualifying.servers.deployment.practice.debian
+ + + +
IconDeployment of Debian on hardware and VM
+
+ ID: qualifying.servers.deployment.practice.debian
+
2.0
TODO
3.4.2.1.3
qualifying.servers.maintenance.theory.scripting
+ + + +
IconIntroduction to scripting in BASH and python3
+
+ ID: qualifying.servers.maintenance.theory.scripting
+
5.0
3.4.2.1.2
qualifying.servers.maintenance.theory.debian
+ + + +
IconAdvanced system management
+
+ ID: qualifying.servers.maintenance.theory.debian
+
4.0
Focus on systemd, dbus, udev, apt, pip3
3.4.2.1.1
qualifying.servers.maintenance.theory.tools
+ + + +
IconDeep dive into CLI tools
+
+ ID: qualifying.servers.maintenance.theory.tools
+
3.0
Focus on essential tools such as tmux, zsh, ohmyzsh, vim
3.4.2.1.4
qualifying.servers.maintenance.theory.advanced_python
+ + + +
IconAdvanced python scripting
+
+ ID: qualifying.servers.maintenance.theory.advanced_python
+
2.0
3.4.2.2.1
qualifying.servers.maintenance.practice.general
+ + + +
IconTools and system maintenance in practice
+
+ ID: qualifying.servers.maintenance.practice.general
+
2.5
3.3.3.1
qualifying.networking.test.homeserver
+ + + +
IconSetup synapse homeserver
+
+ ID: qualifying.networking.test.homeserver
+
1.8
3.4.1.3.1
qualifying.servers.deployment.test.certificate
+ + + +
IconLinux Professional Institute LPIC-1
+
+ ID: qualifying.servers.deployment.test.certificate
+
1.0
3.4.2.3.1
qualifying.servers.maintenance.test.certificate
+ + + +
IconLinux Professional Institute LPIC-2
+
+ ID: qualifying.servers.maintenance.test.certificate
+
1.8
3.5.1.2
qualifying.vm.theory.freenas
+ + + +
IconFreenas as a platform to deploy VM's and docker instances
+
+ ID: qualifying.vm.theory.freenas
+
2.0
3.5.1.1
qualifying.vm.theory.general
+ + + +
IconGeneral configuration of VM's
+
+ ID: qualifying.vm.theory.general
+
0.5
3.5.2.1
qualifying.vm.practice.supervised
+ + + +
IconDeployment of diverse VM's via Windows, Debian and Freenas
+
+ ID: qualifying.vm.practice.supervised
+
0.5
3.1.1.1
qualifying.clients.theory.sub1
+ + + +
IconTODO
+
+ ID: qualifying.clients.theory.sub1
+
2.0
3.1.2.1
qualifying.clients.practice.supervised
+ + + +
IconLabo one
+
+ ID: qualifying.clients.practice.supervised
+
2.0
3.1.3.1
qualifying.clients.test.test
+ + + +
IconTODO
+
+ ID: qualifying.clients.test.test
+
1.0
3.5.3.1
qualifying.vm.test.freenas
+ + + +
IconSetup a freenas server with a Debian VM running inside
+
+ ID: qualifying.vm.test.freenas
+
0.9
+
+

Labo classes for qualifying module

+

Labo classes are:

+
    +
  • in person at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BSI
Id
Name
Effort
Note
3.3.2.4
qualifying.networking.practice.exposing_services
+ + + +
IconSuccesfully deploy and expose services to the internet
+
+ ID: qualifying.networking.practice.exposing_services
+
3.0
3.3.2.1
qualifying.networking.practice.crypto
+ + + +
IconKrypton wargame
+
+ ID: qualifying.networking.practice.crypto
+
2.0
3.3.2.2
qualifying.networking.practice.openwrt
+ + + +
IconPersonal OpenWRT deployment on RPI
+
+ ID: qualifying.networking.practice.openwrt
+
1.0
3.4.1.2.2
qualifying.servers.deployment.practice.redhat
+ + + +
IconDeployment of Redhat on VM
+
+ ID: qualifying.servers.deployment.practice.redhat
+
1.0
3.4.1.2.3
qualifying.servers.deployment.practice.solo
+ + + +
IconCertificate preparation
+
+ ID: qualifying.servers.deployment.practice.solo
+
1.0
In class labo to prepare for the certificate.
3.4.2.2.2
qualifying.servers.maintenance.practice.scripting
+ + + +
IconDevelopment of a usefull script
+
+ ID: qualifying.servers.maintenance.practice.scripting
+
1.0
3.4.2.2.3
qualifying.servers.maintenance.practice.certificate
+ + + +
IconCertificate preparation
+
+ ID: qualifying.servers.maintenance.practice.certificate
+
1.0
3.5.2.2
qualifying.vm.practice.solo
+ + + +
IconPersonal deployment of VM's
+
+ ID: qualifying.vm.practice.solo
+
2.0
3.1.2.2
qualifying.clients.practice.solo
+ + + +
IconLabo two
+
+ ID: qualifying.clients.practice.solo
+
3.0
+
+

Homework

+

Homework is:

+
    +
  • not at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + +
BSI
Id
Name
Effort
Note
+
+

+ +
+ + diff --git a/resources alexandra.html b/resources alexandra.html new file mode 100644 index 0000000..d8bc0df --- /dev/null +++ b/resources alexandra.html @@ -0,0 +1,182 @@ + + + + + Linux Administrator class - resources + + + + + + + + + + +
+
+

Linux for system administrators

+

Course description GIT

+ +
+
+

Reports of resources modules given by alexandra

+

Milestones of resources

+

Milestones give a broad overview of the content of the modules and the division between theory, practice and testing.

+ + + + +
+ + + + + + + + + + + + + + + +
Name
Effort
Note
+ + + +
IconResource Modules
+
+ ID: resources
+
+ + +
30.4
Modules part of the resource curriculum.
+ + + + +
IconMR01/R59 Introduction to ITIL
+
+ ID: resources.itil
+
3.9
+
+

Theory classes for resources module

+

Theory classes are:

+
    +
  • in person at the school
  • +
  • supervised by a teacher
  • +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + +
BSI
Id
Name
Effort
Note
2.1.1
resources.itil.theory
+ + + +
IconClasses
+
+ ID: resources.itil.theory
+
2.9
2.1.3
resources.itil.test
+ + + +
IconITIL evaluation
+
+ ID: resources.itil.test
+
0.1
+
+

Labo classes for resources module

+

Labo classes are:

+
    +
  • in person at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + +
BSI
Id
Name
Effort
Note
+
+

Homework

+

Homework is:

+
    +
  • not at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + + + + + + + + + + +
BSI
Id
Name
Effort
Note
2.1.2
resources.itil.study
+ + + +
IconSelf study
+
+ ID: resources.itil.study
+
0.9
+
+

+ +
+ + diff --git a/resources antoine.html b/resources antoine.html new file mode 100644 index 0000000..679d6a3 --- /dev/null +++ b/resources antoine.html @@ -0,0 +1,106 @@ + + + + + Linux Administrator class - resources + + + + + + + + + + +
+
+

Linux for system administrators

+

Course description GIT

+ +
+
+

Reports of resources modules given by antoine

+

Milestones of resources

+

Milestones give a broad overview of the content of the modules and the division between theory, practice and testing.

+ + + + +
+ + + +
Name
Effort
Note
+
+

Theory classes for resources module

+

Theory classes are:

+
    +
  • in person at the school
  • +
  • supervised by a teacher
  • +
+ + + + +
+ + + + + +
BSI
Id
Name
Effort
Note
+
+

Labo classes for resources module

+

Labo classes are:

+
    +
  • in person at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + +
BSI
Id
Name
Effort
Note
+
+

Homework

+

Homework is:

+
    +
  • not at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + +
BSI
Id
Name
Effort
Note
+
+

+ +
+ + diff --git a/resources steve.html b/resources steve.html new file mode 100644 index 0000000..06f3ef0 --- /dev/null +++ b/resources steve.html @@ -0,0 +1,214 @@ + + + + + Linux Administrator class - resources + + + + + + + + + + +
+
+

Linux for system administrators

+

Course description GIT

+ +
+
+

Reports of resources modules given by steve

+

Milestones of resources

+

Milestones give a broad overview of the content of the modules and the division between theory, practice and testing.

+ + + + +
+ + + + + + + + + + + + + + + + + + + + +
Name
Effort
Note
+ + + +
IconResource Modules
+
+ ID: resources
+
+ + +
30.4
Modules part of the resource curriculum.
+ + + + +
IconNetworking
+
+ ID: resources.networking
+
+ + +
15.5
+ + + + +
IconMR02/R60 Networking theory
+
+ ID: resources.networking.theory
+
8.8
+
+

Theory classes for resources module

+

Theory classes are:

+
    +
  • in person at the school
  • +
  • supervised by a teacher
  • +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + +
BSI
Id
Name
Effort
Note
2.2.1.1
resources.networking.theory.theory
+ + + +
IconClasses
+
+ ID: resources.networking.theory.theory
+
5.0
2.2.1.4
resources.networking.theory.test
+ + + +
IconNetworking theory evaluation
+
+ ID: resources.networking.theory.test
+
1.0
+
+

Labo classes for resources module

+

Labo classes are:

+
    +
  • in person at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + + + + + + + + + + +
BSI
Id
Name
Effort
Note
2.2.1.2
resources.networking.theory.practice
+ + + +
IconLabo
+
+ ID: resources.networking.theory.practice
+
1.0
+
+

Homework

+

Homework is:

+
    +
  • not at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + + + + + + + + + + +
BSI
Id
Name
Effort
Note
2.2.1.3
resources.networking.theory.study
+ + + +
IconNetworking theory self study
+
+ ID: resources.networking.theory.study
+
1.8
+
+

+ +
+ + diff --git a/resources wouter.html b/resources wouter.html new file mode 100644 index 0000000..e9db956 --- /dev/null +++ b/resources wouter.html @@ -0,0 +1,621 @@ + + + + + Linux Administrator class - resources + + + + + + + + + + +
+
+

Linux for system administrators

+

Course description GIT

+ +
+
+

Reports of resources modules given by wouter

+

Milestones of resources

+

Milestones give a broad overview of the content of the modules and the division between theory, practice and testing.

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name
Effort
Note
+ + + +
IconResource Modules
+
+ ID: resources
+
+ + +
30.4
Modules part of the resource curriculum.
+ + + + +
IconMR04/R71 Introduction to linux
+
+ ID: resources.linux
+
+ + +
5.0
Introduction to the history and usage of Linux as an OS with both graphical and shell interfaces.
+ + + + +
IconClasses
+
+ ID: resources.linux.theory
+
+ + +
3.0
+ + + + +
IconLabo
+
+ ID: resources.linux.practice
+
+ + +
1.0
+ + + + +
IconTest
+
+ ID: resources.linux.test
+
+ + +
1.0
Evaluation of basic shell knowledge with Leviathan as a wargame
+ + + + +
IconNetworking
+
+ ID: resources.networking
+
+ + +
15.5
+ + + + +
IconMR03/R61 Introduction to centralized administration of networking services
+
+ ID: resources.networking.services
+
+ + +
6.8
+ + + + +
IconClasses
+
+ ID: resources.networking.services.theory
+
2.5
+ + + + +
IconLabo
+
+ ID: resources.networking.services.practice
+
2.0
+ + + + +
IconSelf study of essential services
+
+ ID: resources.networking.services.study
+
2.0
+ + + + +
IconTest
+
+ ID: resources.networking.services.test
+
0.3
+ + + + +
IconMR05/XX Introduction to hardware components of servers and clients
+
+ ID: resources.hardware
+
+ + +
6.0
In this module we will focus on hardware and the exposure to Raspberry Pi's as an alternative target platform
+ + + + +
IconClasses
+
+ ID: resources.hardware.theory
+
+ + +
2.5
+ + + + +
IconSelf study
+
+ ID: resources.hardware.study
+
+ + +
2.5
+ + + + +
IconTest
+
+ ID: resources.hardware.test
+
+ + +
1.0
Test done through certificate exam.
+
+

Theory classes for resources module

+

Theory classes are:

+
    +
  • in person at the school
  • +
  • supervised by a teacher
  • +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BSI
Id
Name
Effort
Note
2.3.1.1
resources.linux.theory.intro
+ + + +
IconHistory of unix/linux and Debian
+
+ ID: resources.linux.theory.intro
+
0.5
2.3.1.2
resources.linux.theory.gui
+ + + +
IconQuick dive into a GUI installation
+
+ ID: resources.linux.theory.gui
+
0.5
2.3.1.3
resources.linux.theory.cli
+ + + +
IconIntroduction to the shell
+
+ ID: resources.linux.theory.cli
+
1.0
Based on Ryan's tutorials
2.3.1.4
resources.linux.theory.vimtutor
+ + + +
IconIntroduction to vim
+
+ ID: resources.linux.theory.vimtutor
+
0.5
2.3.1.5
resources.linux.theory.bandit
+ + + +
IconVery brief introdution to bandit and SSH
+
+ ID: resources.linux.theory.bandit
+
0.5
2.3.3.1
resources.linux.test.wargame
+ + + +
IconLeviathan
+
+ ID: resources.linux.test.wargame
+
1.0
Leviathan as an in class test.
2.2.2.1.1
resources.networking.services.theory.debian
+ + + +
IconDebian implementations of essential services
+
+ ID: resources.networking.services.theory.debian
+
2.5
Focus on DHCP, DNS, SFTP, SSH, CUPS, LDAP
2.4.1.1
resources.hardware.theory.breakdown
+ + + +
IconBreakdown of IT internals and externals
+
+ ID: resources.hardware.theory.breakdown
+
0.5
2.4.1.2
resources.hardware.theory.architectures
+ + + +
IconOverview of computer architectures
+
+ ID: resources.hardware.theory.architectures
+
0.3
2.4.1.3
resources.hardware.theory.rpi
+ + + +
IconARM vs x86
+
+ ID: resources.hardware.theory.rpi
+
0.3
2.4.1.6
resources.hardware.theory.deployment
+ + + +
IconGroup deployment of RPI clients and headless servers
+
+ ID: resources.hardware.theory.deployment
+
1.0
2.4.1.4
resources.hardware.theory.compilation
+ + + +
IconIntroduction to compiled languages and compilation targets
+
+ ID: resources.hardware.theory.compilation
+
0.3
2.4.1.5
resources.hardware.theory.protocols
+ + + +
IconComparison of platforms vs protocols
+
+ ID: resources.hardware.theory.protocols
+
0.3
2.4.3.1
resources.hardware.test.certificate
+ + + +
IconLinux Professional Institute Linux Essentials
+
+ ID: resources.hardware.test.certificate
+
1.0
2.2.2.4.1
resources.networking.services.test.pihole
+ + + +
IconEvaluation of essential services on Linux
+
+ ID: resources.networking.services.test.pihole
+
0.3
+
+

Labo classes for resources module

+

Labo classes are:

+
    +
  • in person at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + +
BSI
Id
Name
Effort
Note
2.3.2.1
resources.linux.practice.bandit
+ + + +
IconBandit
+
+ ID: resources.linux.practice.bandit
+
1.0
Bandit as a basic in class exercise.
2.2.2.2.1
resources.networking.services.practice.debian
+ + + +
IconGroup deployment of essential services on VM
+
+ ID: resources.networking.services.practice.debian
+
2.0
+
+

Homework

+

Homework is:

+
    +
  • not at the school
  • +
  • not supervised by a teacher
  • +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BSI
Id
Name
Effort
Note
2.4.2.2
resources.hardware.study.certificate
+ + + +
IconPrepare certificate self study
+
+ ID: resources.hardware.study.certificate
+
2.0
2.2.2.3.1
resources.networking.services.study.rpi
+ + + +
IconPersonal deployment of essential services on RPI
+
+ ID: resources.networking.services.study.rpi
+
2.0
2.4.2.1
resources.hardware.study.raid
+ + + +
IconResearch RAID and ZFS
+
+ ID: resources.hardware.study.raid
+
0.5
Used as a base for Freenas installation in a later module
+
+

+ +
+ + diff --git a/scripts/wz_tooltip.js b/scripts/wz_tooltip.js new file mode 100644 index 0000000..53e8244 --- /dev/null +++ b/scripts/wz_tooltip.js @@ -0,0 +1,1301 @@ +/* This notice must be untouched at all times. +Copyright (c) 2002-2008 Walter Zorn. All rights reserved. + +wz_tooltip.js v. 5.31 + +The latest version is available at +http://www.walterzorn.com +or http://www.devira.com +or http://www.walterzorn.de + +Created 1.12.2002 by Walter Zorn (Web: http://www.walterzorn.com ) +Last modified: 7.11.2008 + +Easy-to-use cross-browser tooltips. +Just include the script at the beginning of the section, and invoke +Tip('Tooltip text') to show and UnTip() to hide the tooltip, from the desired +HTML eventhandlers. Example: +My home page +No container DIV required. +By default, width and height of tooltips are automatically adapted to content. +Is even capable of dynamically converting arbitrary HTML elements to tooltips +by calling TagToTip('ID_of_HTML_element_to_be_converted') instead of Tip(), +which means you can put important, search-engine-relevant stuff into tooltips. +Appearance & behaviour of tooltips can be individually configured +via commands passed to Tip() or TagToTip(). + +Tab Width: 4 +LICENSE: LGPL + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License (LGPL) as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +For more details on the GNU Lesser General Public License, +see http://www.gnu.org/copyleft/lesser.html +*/ + +var config = new Object(); + + +//=================== GLOBAL TOOLTIP CONFIGURATION =========================// +var tt_Debug = false // false or true - recommended: false once you release your page to the public +var tt_Enabled = true // Allows to (temporarily) suppress tooltips, e.g. by providing the user with a button that sets this global variable to false +var TagsToTip = true // false or true - if true, HTML elements to be converted to tooltips via TagToTip() are automatically hidden; + // if false, you should hide those HTML elements yourself + +// For each of the following config variables there exists a command, which is +// just the variablename in uppercase, to be passed to Tip() or TagToTip() to +// configure tooltips individually. Individual commands override global +// configuration. Order of commands is arbitrary. +// Example: onmouseover="Tip('Tooltip text', LEFT, true, BGCOLOR, '#FF9900', FADEIN, 400)" + +config. Above = false // false or true - tooltip above mousepointer +config. BgColor = '#C3C8DA' // Background colour (HTML colour value, in quotes) +config. BgImg = '' // Path to background image, none if empty string '' +config. BorderColor = '#999999' +config. BorderStyle = 'solid' // Any permitted CSS value, but I recommend 'solid', 'dotted' or 'dashed' +config. BorderWidth = 1 +config. CenterMouse = true // false or true - center the tip horizontally below (or above) the mousepointer +config. ClickClose = false // false or true - close tooltip if the user clicks somewhere +config. ClickSticky = true // false or true - make tooltip sticky if user left-clicks on the hovered element while the tooltip is active +config. CloseBtn = true // false or true - closebutton in titlebar +config. CloseBtnColors = ['#505050', '#FFFFFF', '#A0A0A0', '#000000'] // [Background, text, hovered background, hovered text] - use empty strings '' to inherit title colours +config. CloseBtnText = ' X ' // Close button text (may also be an image tag) +config. CopyContent = true // When converting a HTML element to a tooltip, copy only the element's content, rather than converting the element by its own +config. Delay = 750 // Time span in ms until tooltip shows up +config. Duration = 0 // Time span in ms after which the tooltip disappears; 0 for infinite duration, < 0 for delay in ms _after_ the onmouseout until the tooltip disappears +config. Exclusive = false // false or true - no other tooltip can appear until the current one has actively been closed +config. FadeIn = 400 // Fade-in duration in ms, e.g. 400; 0 for no animation +config. FadeOut = 400 +config. FadeInterval = 30 // Duration of each fade step in ms (recommended: 30) - shorter is smoother but causes more CPU-load +config. Fix = null // Fixated position, two modes. Mode 1: x- an y-coordinates in brackets, e.g. [210, 480]. Mode 2: Show tooltip at a position related to an HTML element: [ID of HTML element, x-offset, y-offset from HTML element], e.g. ['SomeID', 10, 30]. Value null (default) for no fixated positioning. +config. FollowMouse = false // false or true - tooltip follows the mouse +config. FontColor = '#000044' +config. FontFace = 'Verdana,Geneva,sans-serif' +config. FontSize = '8pt' // E.g. '9pt' or '12px' - unit is mandatory +config. FontWeight = 'normal' // 'normal' or 'bold'; +config. Height = 0 // Tooltip height; 0 for automatic adaption to tooltip content, < 0 (e.g. -100) for a maximum for automatic adaption +config. JumpHorz = false // false or true - jump horizontally to other side of mouse if tooltip would extend past clientarea boundary +config. JumpVert = true // false or true - jump vertically " +config. Left = false // false or true - tooltip on the left of the mouse +config. OffsetX = 14 // Horizontal offset of left-top corner from mousepointer +config. OffsetY = 4 // Vertical offset +config. Opacity = 100 // Integer between 0 and 100 - opacity of tooltip in percent +config. Padding = 10 // Spacing between border and content +config. Shadow = true // false or true +config. ShadowColor = '#A0A0A0' +config. ShadowWidth = 4 +config. Sticky = false // false or true - fixate tip, ie. don't follow the mouse and don't hide on mouseout +config. TextAlign = 'left' // 'left', 'right' or 'justify' +config. Title = '' // Default title text applied to all tips (no default title: empty string '') +config. TitleAlign = 'center' // 'left' or 'right' - text alignment inside the title bar +config. TitleBgColor = '#7A7A7A' // If empty string '', BorderColor will be used +config. TitleFontColor = '#FFFFFF' // Color of title text - if '', BgColor (of tooltip body) will be used +config. TitleFontFace = '' // If '' use FontFace (boldified) +config. TitleFontSize = '' // If '' use FontSize +config. TitlePadding = 2 +config. Width = -600 // Tooltip width; 0 for automatic adaption to tooltip content; < -1 (e.g. -240) for a maximum width for that automatic adaption; + // -1: tooltip width confined to the width required for the titlebar +//======= END OF TOOLTIP CONFIG, DO NOT CHANGE ANYTHING BELOW ==============// + + + + +//===================== PUBLIC =============================================// +function Tip() +{ + tt_Tip(arguments, null); +} +function TagToTip() +{ + var t2t = tt_GetElt(arguments[0]); + if(t2t) + tt_Tip(arguments, t2t); +} +function UnTip() +{ + tt_OpReHref(); + if(tt_aV[DURATION] < 0 && (tt_iState & 0x2)) + tt_tDurt.Timer("tt_HideInit()", -tt_aV[DURATION], true); + else if(!(tt_aV[STICKY] && (tt_iState & 0x2))) + tt_HideInit(); +} + +//================== PUBLIC PLUGIN API =====================================// +// Extension eventhandlers currently supported: +// OnLoadConfig, OnCreateContentString, OnSubDivsCreated, OnShow, OnMoveBefore, +// OnMoveAfter, OnHideInit, OnHide, OnKill + +var tt_aElt = new Array(10), // Container DIV, outer title & body DIVs, inner title & body TDs, closebutton SPAN, shadow DIVs, and IFRAME to cover windowed elements in IE +tt_aV = new Array(), // Caches and enumerates config data for currently active tooltip +tt_sContent, // Inner tooltip text or HTML +tt_t2t, tt_t2tDad, // Tag converted to tip, and its DOM parent element +tt_musX, tt_musY, +tt_over, +tt_x, tt_y, tt_w, tt_h; // Position, width and height of currently displayed tooltip + +function tt_Extension() +{ + tt_ExtCmdEnum(); + tt_aExt[tt_aExt.length] = this; + return this; +} +function tt_SetTipPos(x, y) +{ + var css = tt_aElt[0].style; + + tt_x = x; + tt_y = y; + css.left = x + "px"; + css.top = y + "px"; + if(tt_ie56) + { + var ifrm = tt_aElt[tt_aElt.length - 1]; + if(ifrm) + { + ifrm.style.left = css.left; + ifrm.style.top = css.top; + } + } +} +function tt_HideInit() +{ + if(tt_iState) + { + tt_ExtCallFncs(0, "HideInit"); + tt_iState &= ~(0x4 | 0x8); + if(tt_flagOpa && tt_aV[FADEOUT]) + { + tt_tFade.EndTimer(); + if(tt_opa) + { + var n = Math.round(tt_aV[FADEOUT] / (tt_aV[FADEINTERVAL] * (tt_aV[OPACITY] / tt_opa))); + tt_Fade(tt_opa, tt_opa, 0, n); + return; + } + } + tt_tHide.Timer("tt_Hide();", 1, false); + } +} +function tt_Hide() +{ + if(tt_db && tt_iState) + { + tt_OpReHref(); + if(tt_iState & 0x2) + { + tt_aElt[0].style.visibility = "hidden"; + tt_ExtCallFncs(0, "Hide"); + } + tt_tShow.EndTimer(); + tt_tHide.EndTimer(); + tt_tDurt.EndTimer(); + tt_tFade.EndTimer(); + if(!tt_op && !tt_ie) + { + tt_tWaitMov.EndTimer(); + tt_bWait = false; + } + if(tt_aV[CLICKCLOSE] || tt_aV[CLICKSTICKY]) + tt_RemEvtFnc(document, "mouseup", tt_OnLClick); + tt_ExtCallFncs(0, "Kill"); + // In case of a TagToTip tip, hide converted DOM node and + // re-insert it into DOM + if(tt_t2t && !tt_aV[COPYCONTENT]) + tt_UnEl2Tip(); + tt_iState = 0; + tt_over = null; + tt_ResetMainDiv(); + if(tt_aElt[tt_aElt.length - 1]) + tt_aElt[tt_aElt.length - 1].style.display = "none"; + } +} +function tt_GetElt(id) +{ + return(document.getElementById ? document.getElementById(id) + : document.all ? document.all[id] + : null); +} +function tt_GetDivW(el) +{ + return(el ? (el.offsetWidth || el.style.pixelWidth || 0) : 0); +} +function tt_GetDivH(el) +{ + return(el ? (el.offsetHeight || el.style.pixelHeight || 0) : 0); +} +function tt_GetScrollX() +{ + return(window.pageXOffset || (tt_db ? (tt_db.scrollLeft || 0) : 0)); +} +function tt_GetScrollY() +{ + return(window.pageYOffset || (tt_db ? (tt_db.scrollTop || 0) : 0)); +} +function tt_GetClientW() +{ + return tt_GetWndCliSiz("Width"); +} +function tt_GetClientH() +{ + return tt_GetWndCliSiz("Height"); +} +function tt_GetEvtX(e) +{ + return (e ? ((typeof(e.pageX) != tt_u) ? e.pageX : (e.clientX + tt_GetScrollX())) : 0); +} +function tt_GetEvtY(e) +{ + return (e ? ((typeof(e.pageY) != tt_u) ? e.pageY : (e.clientY + tt_GetScrollY())) : 0); +} +function tt_AddEvtFnc(el, sEvt, PFnc) +{ + if(el) + { + if(el.addEventListener) + el.addEventListener(sEvt, PFnc, false); + else + el.attachEvent("on" + sEvt, PFnc); + } +} +function tt_RemEvtFnc(el, sEvt, PFnc) +{ + if(el) + { + if(el.removeEventListener) + el.removeEventListener(sEvt, PFnc, false); + else + el.detachEvent("on" + sEvt, PFnc); + } +} +function tt_GetDad(el) +{ + return(el.parentNode || el.parentElement || el.offsetParent); +} +function tt_MovDomNode(el, dadFrom, dadTo) +{ + if(dadFrom) + dadFrom.removeChild(el); + if(dadTo) + dadTo.appendChild(el); +} + +//====================== PRIVATE ===========================================// +var tt_aExt = new Array(), // Array of extension objects + +tt_db, tt_op, tt_ie, tt_ie56, tt_bBoxOld, // Browser flags +tt_body, +tt_ovr_, // HTML element the mouse is currently over +tt_flagOpa, // Opacity support: 1=IE, 2=Khtml, 3=KHTML, 4=Moz, 5=W3C +tt_maxPosX, tt_maxPosY, +tt_iState = 0, // Tooltip active |= 1, shown |= 2, move with mouse |= 4, exclusive |= 8 +tt_opa, // Currently applied opacity +tt_bJmpVert, tt_bJmpHorz,// Tip temporarily on other side of mouse +tt_elDeHref, // The tag from which we've removed the href attribute +// Timer +tt_tShow = new Number(0), tt_tHide = new Number(0), tt_tDurt = new Number(0), +tt_tFade = new Number(0), tt_tWaitMov = new Number(0), +tt_bWait = false, +tt_u = "undefined"; + + +function tt_Init() +{ + tt_MkCmdEnum(); + // Send old browsers instantly to hell + if(!tt_Browser() || !tt_MkMainDiv()) + return; + tt_IsW3cBox(); + tt_OpaSupport(); + tt_AddEvtFnc(document, "mousemove", tt_Move); + // In Debug mode we search for TagToTip() calls in order to notify + // the user if they've forgotten to set the TagsToTip config flag + if(TagsToTip || tt_Debug) + tt_SetOnloadFnc(); + // Ensure the tip be hidden when the page unloads + tt_AddEvtFnc(window, "unload", tt_Hide); +} +// Creates command names by translating config variable names to upper case +function tt_MkCmdEnum() +{ + var n = 0; + for(var i in config) + eval("window." + i.toString().toUpperCase() + " = " + n++); + tt_aV.length = n; +} +function tt_Browser() +{ + var n, nv, n6, w3c; + + n = navigator.userAgent.toLowerCase(), + nv = navigator.appVersion; + tt_op = (document.defaultView && typeof(eval("w" + "indow" + "." + "o" + "p" + "er" + "a")) != tt_u); + tt_ie = n.indexOf("msie") != -1 && document.all && !tt_op; + if(tt_ie) + { + var ieOld = (!document.compatMode || document.compatMode == "BackCompat"); + tt_db = !ieOld ? document.documentElement : (document.body || null); + if(tt_db) + tt_ie56 = parseFloat(nv.substring(nv.indexOf("MSIE") + 5)) >= 5.5 + && typeof document.body.style.maxHeight == tt_u; + } + else + { + tt_db = document.documentElement || document.body || + (document.getElementsByTagName ? document.getElementsByTagName("body")[0] + : null); + if(!tt_op) + { + n6 = document.defaultView && typeof document.defaultView.getComputedStyle != tt_u; + w3c = !n6 && document.getElementById; + } + } + tt_body = (document.getElementsByTagName ? document.getElementsByTagName("body")[0] + : (document.body || null)); + if(tt_ie || n6 || tt_op || w3c) + { + if(tt_body && tt_db) + { + if(document.attachEvent || document.addEventListener) + return true; + } + else + tt_Err("wz_tooltip.js must be included INSIDE the body section," + + " immediately after the opening tag.", false); + } + tt_db = null; + return false; +} +function tt_MkMainDiv() +{ + // Create the tooltip DIV + if(tt_body.insertAdjacentHTML) + tt_body.insertAdjacentHTML("afterBegin", tt_MkMainDivHtm()); + else if(typeof tt_body.innerHTML != tt_u && document.createElement && tt_body.appendChild) + tt_body.appendChild(tt_MkMainDivDom()); + if(window.tt_GetMainDivRefs /* FireFox Alzheimer */ && tt_GetMainDivRefs()) + return true; + tt_db = null; + return false; +} +function tt_MkMainDivHtm() +{ + return( + '
' + + (tt_ie56 ? ('') + : '') + ); +} +function tt_MkMainDivDom() +{ + var el = document.createElement("div"); + if(el) + el.id = "WzTtDiV"; + return el; +} +function tt_GetMainDivRefs() +{ + tt_aElt[0] = tt_GetElt("WzTtDiV"); + if(tt_ie56 && tt_aElt[0]) + { + tt_aElt[tt_aElt.length - 1] = tt_GetElt("WzTtIfRm"); + if(!tt_aElt[tt_aElt.length - 1]) + tt_aElt[0] = null; + } + if(tt_aElt[0]) + { + var css = tt_aElt[0].style; + + css.visibility = "hidden"; + css.position = "absolute"; + css.overflow = "hidden"; + return true; + } + return false; +} +function tt_ResetMainDiv() +{ + tt_SetTipPos(0, 0); + tt_aElt[0].innerHTML = ""; + tt_aElt[0].style.width = "0px"; + tt_h = 0; +} +function tt_IsW3cBox() +{ + var css = tt_aElt[0].style; + + css.padding = "10px"; + css.width = "40px"; + tt_bBoxOld = (tt_GetDivW(tt_aElt[0]) == 40); + css.padding = "0px"; + tt_ResetMainDiv(); +} +function tt_OpaSupport() +{ + var css = tt_body.style; + + tt_flagOpa = (typeof(css.KhtmlOpacity) != tt_u) ? 2 + : (typeof(css.KHTMLOpacity) != tt_u) ? 3 + : (typeof(css.MozOpacity) != tt_u) ? 4 + : (typeof(css.opacity) != tt_u) ? 5 + : (typeof(css.filter) != tt_u) ? 1 + : 0; +} +// Ported from http://dean.edwards.name/weblog/2006/06/again/ +// (Dean Edwards et al.) +function tt_SetOnloadFnc() +{ + tt_AddEvtFnc(document, "DOMContentLoaded", tt_HideSrcTags); + tt_AddEvtFnc(window, "load", tt_HideSrcTags); + if(tt_body.attachEvent) + tt_body.attachEvent("onreadystatechange", + function() { + if(tt_body.readyState == "complete") + tt_HideSrcTags(); + } ); + if(/WebKit|KHTML/i.test(navigator.userAgent)) + { + var t = setInterval(function() { + if(/loaded|complete/.test(document.readyState)) + { + clearInterval(t); + tt_HideSrcTags(); + } + }, 10); + } +} +function tt_HideSrcTags() +{ + if(!window.tt_HideSrcTags || window.tt_HideSrcTags.done) + return; + window.tt_HideSrcTags.done = true; + if(!tt_HideSrcTagsRecurs(tt_body)) + tt_Err("There are HTML elements to be converted to tooltips.\nIf you" + + " want these HTML elements to be automatically hidden, you" + + " must edit wz_tooltip.js, and set TagsToTip in the global" + + " tooltip configuration to true.", true); +} +function tt_HideSrcTagsRecurs(dad) +{ + var ovr, asT2t; + // Walk the DOM tree for tags that have an onmouseover or onclick attribute + // containing a TagToTip('...') call. + // (.childNodes first since .children is bugous in Safari) + var a = dad.childNodes || dad.children || null; + + for(var i = a ? a.length : 0; i;) + {--i; + if(!tt_HideSrcTagsRecurs(a[i])) + return false; + ovr = a[i].getAttribute ? (a[i].getAttribute("onmouseover") || a[i].getAttribute("onclick")) + : (typeof a[i].onmouseover == "function") ? (a[i].onmouseover || a[i].onclick) + : null; + if(ovr) + { + asT2t = ovr.toString().match(/TagToTip\s*\(\s*'[^'.]+'\s*[\),]/); + if(asT2t && asT2t.length) + { + if(!tt_HideSrcTag(asT2t[0])) + return false; + } + } + } + return true; +} +function tt_HideSrcTag(sT2t) +{ + var id, el; + + // The ID passed to the found TagToTip() call identifies an HTML element + // to be converted to a tooltip, so hide that element + id = sT2t.replace(/.+'([^'.]+)'.+/, "$1"); + el = tt_GetElt(id); + if(el) + { + if(tt_Debug && !TagsToTip) + return false; + else + el.style.display = "none"; + } + else + tt_Err("Invalid ID\n'" + id + "'\npassed to TagToTip()." + + " There exists no HTML element with that ID.", true); + return true; +} +function tt_Tip(arg, t2t) +{ + if(!tt_db || (tt_iState & 0x8)) + return; + if(tt_iState) + tt_Hide(); + if(!tt_Enabled) + return; + tt_t2t = t2t; + if(!tt_ReadCmds(arg)) + return; + tt_iState = 0x1 | 0x4; + tt_AdaptConfig1(); + tt_MkTipContent(arg); + tt_MkTipSubDivs(); + tt_FormatTip(); + tt_bJmpVert = false; + tt_bJmpHorz = false; + tt_maxPosX = tt_GetClientW() + tt_GetScrollX() - tt_w - 1; + tt_maxPosY = tt_GetClientH() + tt_GetScrollY() - tt_h - 1; + tt_AdaptConfig2(); + // Ensure the tip be shown and positioned before the first onmousemove + tt_OverInit(); + tt_ShowInit(); + tt_Move(); +} +function tt_ReadCmds(a) +{ + var i; + + // First load the global config values, to initialize also values + // for which no command is passed + i = 0; + for(var j in config) + tt_aV[i++] = config[j]; + // Then replace each cached config value for which a command is + // passed (ensure the # of command args plus value args be even) + if(a.length & 1) + { + for(i = a.length - 1; i > 0; i -= 2) + tt_aV[a[i - 1]] = a[i]; + return true; + } + tt_Err("Incorrect call of Tip() or TagToTip().\n" + + "Each command must be followed by a value.", true); + return false; +} +function tt_AdaptConfig1() +{ + tt_ExtCallFncs(0, "LoadConfig"); + // Inherit unspecified title formattings from body + if(!tt_aV[TITLEBGCOLOR].length) + tt_aV[TITLEBGCOLOR] = tt_aV[BORDERCOLOR]; + if(!tt_aV[TITLEFONTCOLOR].length) + tt_aV[TITLEFONTCOLOR] = tt_aV[BGCOLOR]; + if(!tt_aV[TITLEFONTFACE].length) + tt_aV[TITLEFONTFACE] = tt_aV[FONTFACE]; + if(!tt_aV[TITLEFONTSIZE].length) + tt_aV[TITLEFONTSIZE] = tt_aV[FONTSIZE]; + if(tt_aV[CLOSEBTN]) + { + // Use title colours for non-specified closebutton colours + if(!tt_aV[CLOSEBTNCOLORS]) + tt_aV[CLOSEBTNCOLORS] = new Array("", "", "", ""); + for(var i = 4; i;) + {--i; + if(!tt_aV[CLOSEBTNCOLORS][i].length) + tt_aV[CLOSEBTNCOLORS][i] = (i & 1) ? tt_aV[TITLEFONTCOLOR] : tt_aV[TITLEBGCOLOR]; + } + // Enforce titlebar be shown + if(!tt_aV[TITLE].length) + tt_aV[TITLE] = " "; + } + // Circumvents broken display of images and fade-in flicker in Geckos < 1.8 + if(tt_aV[OPACITY] == 100 && typeof tt_aElt[0].style.MozOpacity != tt_u && !Array.every) + tt_aV[OPACITY] = 99; + // Smartly shorten the delay for fade-in tooltips + if(tt_aV[FADEIN] && tt_flagOpa && tt_aV[DELAY] > 100) + tt_aV[DELAY] = Math.max(tt_aV[DELAY] - tt_aV[FADEIN], 100); +} +function tt_AdaptConfig2() +{ + if(tt_aV[CENTERMOUSE]) + { + tt_aV[OFFSETX] -= ((tt_w - (tt_aV[SHADOW] ? tt_aV[SHADOWWIDTH] : 0)) >> 1); + tt_aV[JUMPHORZ] = false; + } +} +// Expose content globally so extensions can modify it +function tt_MkTipContent(a) +{ + if(tt_t2t) + { + if(tt_aV[COPYCONTENT]) + tt_sContent = tt_t2t.innerHTML; + else + tt_sContent = ""; + } + else + tt_sContent = a[0]; + tt_ExtCallFncs(0, "CreateContentString"); +} +function tt_MkTipSubDivs() +{ + var sCss = 'position:relative;margin:0px;padding:0px;border-width:0px;left:0px;top:0px;line-height:normal;width:auto;', + sTbTrTd = ' cellspacing="0" cellpadding="0" border="0" style="' + sCss + '">' + + '' + + tt_aV[TITLE] + + '' + + (tt_aV[CLOSEBTN] ? + ('') + : '') + + '
' + + '' + + tt_aV[CLOSEBTNTEXT] + + '
') + : '') + + '
' + + '' + + tt_sContent + + '
' + + (tt_aV[SHADOW] + ? ('
' + + '
') + : '') + ); + tt_GetSubDivRefs(); + // Convert DOM node to tip + if(tt_t2t && !tt_aV[COPYCONTENT]) + tt_El2Tip(); + tt_ExtCallFncs(0, "SubDivsCreated"); +} +function tt_GetSubDivRefs() +{ + var aId = new Array("WzTiTl", "WzTiTlTb", "WzTiTlI", "WzClOsE", "WzBoDy", "WzBoDyI", "WzTtShDwB", "WzTtShDwR"); + + for(var i = aId.length; i; --i) + tt_aElt[i] = tt_GetElt(aId[i - 1]); +} +function tt_FormatTip() +{ + var css, w, h, pad = tt_aV[PADDING], padT, wBrd = tt_aV[BORDERWIDTH], + iOffY, iOffSh, iAdd = (pad + wBrd) << 1; + + //--------- Title DIV ---------- + if(tt_aV[TITLE].length) + { + padT = tt_aV[TITLEPADDING]; + css = tt_aElt[1].style; + css.background = tt_aV[TITLEBGCOLOR]; + css.paddingTop = css.paddingBottom = padT + "px"; + css.paddingLeft = css.paddingRight = (padT + 2) + "px"; + css = tt_aElt[3].style; + css.color = tt_aV[TITLEFONTCOLOR]; + if(tt_aV[WIDTH] == -1) + css.whiteSpace = "nowrap"; + css.fontFamily = tt_aV[TITLEFONTFACE]; + css.fontSize = tt_aV[TITLEFONTSIZE]; + css.fontWeight = "bold"; + css.textAlign = tt_aV[TITLEALIGN]; + // Close button DIV + if(tt_aElt[4]) + { + css = tt_aElt[4].style; + css.background = tt_aV[CLOSEBTNCOLORS][0]; + css.color = tt_aV[CLOSEBTNCOLORS][1]; + css.fontFamily = tt_aV[TITLEFONTFACE]; + css.fontSize = tt_aV[TITLEFONTSIZE]; + css.fontWeight = "bold"; + } + if(tt_aV[WIDTH] > 0) + tt_w = tt_aV[WIDTH]; + else + { + tt_w = tt_GetDivW(tt_aElt[3]) + tt_GetDivW(tt_aElt[4]); + // Some spacing between title DIV and closebutton + if(tt_aElt[4]) + tt_w += pad; + // Restrict auto width to max width + if(tt_aV[WIDTH] < -1 && tt_w > -tt_aV[WIDTH]) + tt_w = -tt_aV[WIDTH]; + } + // Ensure the top border of the body DIV be covered by the title DIV + iOffY = -wBrd; + } + else + { + tt_w = 0; + iOffY = 0; + } + + //-------- Body DIV ------------ + css = tt_aElt[5].style; + css.top = iOffY + "px"; + if(wBrd) + { + css.borderColor = tt_aV[BORDERCOLOR]; + css.borderStyle = tt_aV[BORDERSTYLE]; + css.borderWidth = wBrd + "px"; + } + if(tt_aV[BGCOLOR].length) + css.background = tt_aV[BGCOLOR]; + if(tt_aV[BGIMG].length) + css.backgroundImage = "url(" + tt_aV[BGIMG] + ")"; + css.padding = pad + "px"; + css.textAlign = tt_aV[TEXTALIGN]; + if(tt_aV[HEIGHT]) + { + css.overflow = "auto"; + if(tt_aV[HEIGHT] > 0) + css.height = (tt_aV[HEIGHT] + iAdd) + "px"; + else + tt_h = iAdd - tt_aV[HEIGHT]; + } + // TD inside body DIV + css = tt_aElt[6].style; + css.color = tt_aV[FONTCOLOR]; + css.fontFamily = tt_aV[FONTFACE]; + css.fontSize = tt_aV[FONTSIZE]; + css.fontWeight = tt_aV[FONTWEIGHT]; + css.textAlign = tt_aV[TEXTALIGN]; + if(tt_aV[WIDTH] > 0) + w = tt_aV[WIDTH]; + // Width like title (if existent) + else if(tt_aV[WIDTH] == -1 && tt_w) + w = tt_w; + else + { + // Measure width of the body's inner TD, as some browsers would expand + // the container and outer body DIV to 100% + w = tt_GetDivW(tt_aElt[6]); + // Restrict auto width to max width + if(tt_aV[WIDTH] < -1 && w > -tt_aV[WIDTH]) + w = -tt_aV[WIDTH]; + } + if(w > tt_w) + tt_w = w; + tt_w += iAdd; + + //--------- Shadow DIVs ------------ + if(tt_aV[SHADOW]) + { + tt_w += tt_aV[SHADOWWIDTH]; + iOffSh = Math.floor((tt_aV[SHADOWWIDTH] * 4) / 3); + // Bottom shadow + css = tt_aElt[7].style; + css.top = iOffY + "px"; + css.left = iOffSh + "px"; + css.width = (tt_w - iOffSh - tt_aV[SHADOWWIDTH]) + "px"; + css.height = tt_aV[SHADOWWIDTH] + "px"; + css.background = tt_aV[SHADOWCOLOR]; + // Right shadow + css = tt_aElt[8].style; + css.top = iOffSh + "px"; + css.left = (tt_w - tt_aV[SHADOWWIDTH]) + "px"; + css.width = tt_aV[SHADOWWIDTH] + "px"; + css.background = tt_aV[SHADOWCOLOR]; + } + else + iOffSh = 0; + + //-------- Container DIV ------- + tt_SetTipOpa(tt_aV[FADEIN] ? 0 : tt_aV[OPACITY]); + tt_FixSize(iOffY, iOffSh); +} +// Fixate the size so it can't dynamically change while the tooltip is moving. +function tt_FixSize(iOffY, iOffSh) +{ + var wIn, wOut, h, add, pad = tt_aV[PADDING], wBrd = tt_aV[BORDERWIDTH], i; + + tt_aElt[0].style.width = tt_w + "px"; + tt_aElt[0].style.pixelWidth = tt_w; + wOut = tt_w - ((tt_aV[SHADOW]) ? tt_aV[SHADOWWIDTH] : 0); + // Body + wIn = wOut; + if(!tt_bBoxOld) + wIn -= (pad + wBrd) << 1; + tt_aElt[5].style.width = wIn + "px"; + // Title + if(tt_aElt[1]) + { + wIn = wOut - ((tt_aV[TITLEPADDING] + 2) << 1); + if(!tt_bBoxOld) + wOut = wIn; + tt_aElt[1].style.width = wOut + "px"; + tt_aElt[2].style.width = wIn + "px"; + } + // Max height specified + if(tt_h) + { + h = tt_GetDivH(tt_aElt[5]); + if(h > tt_h) + { + if(!tt_bBoxOld) + tt_h -= (pad + wBrd) << 1; + tt_aElt[5].style.height = tt_h + "px"; + } + } + tt_h = tt_GetDivH(tt_aElt[0]) + iOffY; + // Right shadow + if(tt_aElt[8]) + tt_aElt[8].style.height = (tt_h - iOffSh) + "px"; + i = tt_aElt.length - 1; + if(tt_aElt[i]) + { + tt_aElt[i].style.width = tt_w + "px"; + tt_aElt[i].style.height = tt_h + "px"; + } +} +function tt_DeAlt(el) +{ + var aKid; + + if(el) + { + if(el.alt) + el.alt = ""; + if(el.title) + el.title = ""; + aKid = el.childNodes || el.children || null; + if(aKid) + { + for(var i = aKid.length; i;) + tt_DeAlt(aKid[--i]); + } + } +} +// This hack removes the native tooltips over links in Opera +function tt_OpDeHref(el) +{ + if(!tt_op) + return; + if(tt_elDeHref) + tt_OpReHref(); + while(el) + { + if(el.hasAttribute && el.hasAttribute("href")) + { + el.t_href = el.getAttribute("href"); + el.t_stats = window.status; + el.removeAttribute("href"); + el.style.cursor = "hand"; + tt_AddEvtFnc(el, "mousedown", tt_OpReHref); + window.status = el.t_href; + tt_elDeHref = el; + break; + } + el = tt_GetDad(el); + } +} +function tt_OpReHref() +{ + if(tt_elDeHref) + { + tt_elDeHref.setAttribute("href", tt_elDeHref.t_href); + tt_RemEvtFnc(tt_elDeHref, "mousedown", tt_OpReHref); + window.status = tt_elDeHref.t_stats; + tt_elDeHref = null; + } +} +function tt_El2Tip() +{ + var css = tt_t2t.style; + + // Store previous positioning + tt_t2t.t_cp = css.position; + tt_t2t.t_cl = css.left; + tt_t2t.t_ct = css.top; + tt_t2t.t_cd = css.display; + // Store the tag's parent element so we can restore that DOM branch + // when the tooltip is being hidden + tt_t2tDad = tt_GetDad(tt_t2t); + tt_MovDomNode(tt_t2t, tt_t2tDad, tt_aElt[6]); + css.display = "block"; + css.position = "static"; + css.left = css.top = css.marginLeft = css.marginTop = "0px"; +} +function tt_UnEl2Tip() +{ + // Restore positioning and display + var css = tt_t2t.style; + + css.display = tt_t2t.t_cd; + tt_MovDomNode(tt_t2t, tt_GetDad(tt_t2t), tt_t2tDad); + css.position = tt_t2t.t_cp; + css.left = tt_t2t.t_cl; + css.top = tt_t2t.t_ct; + tt_t2tDad = null; +} +function tt_OverInit() +{ + if(window.event) + tt_over = window.event.target || window.event.srcElement; + else + tt_over = tt_ovr_; + tt_DeAlt(tt_over); + tt_OpDeHref(tt_over); +} +function tt_ShowInit() +{ + tt_tShow.Timer("tt_Show()", tt_aV[DELAY], true); + if(tt_aV[CLICKCLOSE] || tt_aV[CLICKSTICKY]) + tt_AddEvtFnc(document, "mouseup", tt_OnLClick); +} +function tt_Show() +{ + var css = tt_aElt[0].style; + + // Override the z-index of the topmost wz_dragdrop.js D&D item + css.zIndex = Math.max((window.dd && dd.z) ? (dd.z + 2) : 0, 1010); + if(tt_aV[STICKY] || !tt_aV[FOLLOWMOUSE]) + tt_iState &= ~0x4; + if(tt_aV[EXCLUSIVE]) + tt_iState |= 0x8; + if(tt_aV[DURATION] > 0) + tt_tDurt.Timer("tt_HideInit()", tt_aV[DURATION], true); + tt_ExtCallFncs(0, "Show") + css.visibility = "visible"; + tt_iState |= 0x2; + if(tt_aV[FADEIN]) + tt_Fade(0, 0, tt_aV[OPACITY], Math.round(tt_aV[FADEIN] / tt_aV[FADEINTERVAL])); + tt_ShowIfrm(); +} +function tt_ShowIfrm() +{ + if(tt_ie56) + { + var ifrm = tt_aElt[tt_aElt.length - 1]; + if(ifrm) + { + var css = ifrm.style; + css.zIndex = tt_aElt[0].style.zIndex - 1; + css.display = "block"; + } + } +} +function tt_Move(e) +{ + if(e) + tt_ovr_ = e.target || e.srcElement; + e = e || window.event; + if(e) + { + tt_musX = tt_GetEvtX(e); + tt_musY = tt_GetEvtY(e); + } + if(tt_iState & 0x4) + { + // Prevent jam of mousemove events + if(!tt_op && !tt_ie) + { + if(tt_bWait) + return; + tt_bWait = true; + tt_tWaitMov.Timer("tt_bWait = false;", 1, true); + } + if(tt_aV[FIX]) + { + tt_iState &= ~0x4; + tt_PosFix(); + } + else if(!tt_ExtCallFncs(e, "MoveBefore")) + tt_SetTipPos(tt_Pos(0), tt_Pos(1)); + tt_ExtCallFncs([tt_musX, tt_musY], "MoveAfter") + } +} +function tt_Pos(iDim) +{ + var iX, bJmpMod, cmdAlt, cmdOff, cx, iMax, iScrl, iMus, bJmp; + + // Map values according to dimension to calculate + if(iDim) + { + bJmpMod = tt_aV[JUMPVERT]; + cmdAlt = ABOVE; + cmdOff = OFFSETY; + cx = tt_h; + iMax = tt_maxPosY; + iScrl = tt_GetScrollY(); + iMus = tt_musY; + bJmp = tt_bJmpVert; + } + else + { + bJmpMod = tt_aV[JUMPHORZ]; + cmdAlt = LEFT; + cmdOff = OFFSETX; + cx = tt_w; + iMax = tt_maxPosX; + iScrl = tt_GetScrollX(); + iMus = tt_musX; + bJmp = tt_bJmpHorz; + } + if(bJmpMod) + { + if(tt_aV[cmdAlt] && (!bJmp || tt_CalcPosAlt(iDim) >= iScrl + 16)) + iX = tt_PosAlt(iDim); + else if(!tt_aV[cmdAlt] && bJmp && tt_CalcPosDef(iDim) > iMax - 16) + iX = tt_PosAlt(iDim); + else + iX = tt_PosDef(iDim); + } + else + { + iX = iMus; + if(tt_aV[cmdAlt]) + iX -= cx + tt_aV[cmdOff] - (tt_aV[SHADOW] ? tt_aV[SHADOWWIDTH] : 0); + else + iX += tt_aV[cmdOff]; + } + // Prevent tip from extending past clientarea boundary + if(iX > iMax) + iX = bJmpMod ? tt_PosAlt(iDim) : iMax; + // In case of insufficient space on both sides, ensure the left/upper part + // of the tip be visible + if(iX < iScrl) + iX = bJmpMod ? tt_PosDef(iDim) : iScrl; + return iX; +} +function tt_PosDef(iDim) +{ + if(iDim) + tt_bJmpVert = tt_aV[ABOVE]; + else + tt_bJmpHorz = tt_aV[LEFT]; + return tt_CalcPosDef(iDim); +} +function tt_PosAlt(iDim) +{ + if(iDim) + tt_bJmpVert = !tt_aV[ABOVE]; + else + tt_bJmpHorz = !tt_aV[LEFT]; + return tt_CalcPosAlt(iDim); +} +function tt_CalcPosDef(iDim) +{ + return iDim ? (tt_musY + tt_aV[OFFSETY]) : (tt_musX + tt_aV[OFFSETX]); +} +function tt_CalcPosAlt(iDim) +{ + var cmdOff = iDim ? OFFSETY : OFFSETX; + var dx = tt_aV[cmdOff] - (tt_aV[SHADOW] ? tt_aV[SHADOWWIDTH] : 0); + if(tt_aV[cmdOff] > 0 && dx <= 0) + dx = 1; + return((iDim ? (tt_musY - tt_h) : (tt_musX - tt_w)) - dx); +} +function tt_PosFix() +{ + var iX, iY; + + if(typeof(tt_aV[FIX][0]) == "number") + { + iX = tt_aV[FIX][0]; + iY = tt_aV[FIX][1]; + } + else + { + if(typeof(tt_aV[FIX][0]) == "string") + el = tt_GetElt(tt_aV[FIX][0]); + // First slot in array is direct reference to HTML element + else + el = tt_aV[FIX][0]; + iX = tt_aV[FIX][1]; + iY = tt_aV[FIX][2]; + // By default, vert pos is related to bottom edge of HTML element + if(!tt_aV[ABOVE] && el) + iY += tt_GetDivH(el); + for(; el; el = el.offsetParent) + { + iX += el.offsetLeft || 0; + iY += el.offsetTop || 0; + } + } + // For a fixed tip positioned above the mouse, use the bottom edge as anchor + // (recommended by Christophe Rebeschini, 31.1.2008) + if(tt_aV[ABOVE]) + iY -= tt_h; + tt_SetTipPos(iX, iY); +} +function tt_Fade(a, now, z, n) +{ + if(n) + { + now += Math.round((z - now) / n); + if((z > a) ? (now >= z) : (now <= z)) + now = z; + else + tt_tFade.Timer( + "tt_Fade(" + + a + "," + now + "," + z + "," + (n - 1) + + ")", + tt_aV[FADEINTERVAL], + true + ); + } + now ? tt_SetTipOpa(now) : tt_Hide(); +} +function tt_SetTipOpa(opa) +{ + // To circumvent the opacity nesting flaws of IE, we set the opacity + // for each sub-DIV separately, rather than for the container DIV. + tt_SetOpa(tt_aElt[5], opa); + if(tt_aElt[1]) + tt_SetOpa(tt_aElt[1], opa); + if(tt_aV[SHADOW]) + { + opa = Math.round(opa * 0.8); + tt_SetOpa(tt_aElt[7], opa); + tt_SetOpa(tt_aElt[8], opa); + } +} +function tt_OnCloseBtnOver(iOver) +{ + var css = tt_aElt[4].style; + + iOver <<= 1; + css.background = tt_aV[CLOSEBTNCOLORS][iOver]; + css.color = tt_aV[CLOSEBTNCOLORS][iOver + 1]; +} +function tt_OnLClick(e) +{ + // Ignore right-clicks + e = e || window.event; + if(!((e.button && e.button & 2) || (e.which && e.which == 3))) + { + if(tt_aV[CLICKSTICKY] && (tt_iState & 0x4)) + { + tt_aV[STICKY] = true; + tt_iState &= ~0x4; + } + else if(tt_aV[CLICKCLOSE]) + tt_HideInit(); + } +} +function tt_Int(x) +{ + var y; + + return(isNaN(y = parseInt(x)) ? 0 : y); +} +Number.prototype.Timer = function(s, iT, bUrge) +{ + if(!this.value || bUrge) + this.value = window.setTimeout(s, iT); +} +Number.prototype.EndTimer = function() +{ + if(this.value) + { + window.clearTimeout(this.value); + this.value = 0; + } +} +function tt_GetWndCliSiz(s) +{ + var db, y = window["inner" + s], sC = "client" + s, sN = "number"; + if(typeof y == sN) + { + var y2; + return( + // Gecko or Opera with scrollbar + // ... quirks mode + ((db = document.body) && typeof(y2 = db[sC]) == sN && y2 && y2 <= y) ? y2 + // ... strict mode + : ((db = document.documentElement) && typeof(y2 = db[sC]) == sN && y2 && y2 <= y) ? y2 + // No scrollbar, or clientarea size == 0, or other browser (KHTML etc.) + : y + ); + } + // IE + return( + // document.documentElement.client+s functional, returns > 0 + ((db = document.documentElement) && (y = db[sC])) ? y + // ... not functional, in which case document.body.client+s + // is the clientarea size, fortunately + : document.body[sC] + ); +} +function tt_SetOpa(el, opa) +{ + var css = el.style; + + tt_opa = opa; + if(tt_flagOpa == 1) + { + if(opa < 100) + { + // Hacks for bugs of IE: + // 1.) Once a CSS filter has been applied, fonts are no longer + // anti-aliased, so we store the previous 'non-filter' to be + // able to restore it + if(typeof(el.filtNo) == tt_u) + el.filtNo = css.filter; + // 2.) A DIV cannot be made visible in a single step if an + // opacity < 100 has been applied while the DIV was hidden + var bVis = css.visibility != "hidden"; + // 3.) In IE6, applying an opacity < 100 has no effect if the + // element has no layout (position, size, zoom, ...) + css.zoom = "100%"; + if(!bVis) + css.visibility = "visible"; + css.filter = "alpha(opacity=" + opa + ")"; + if(!bVis) + css.visibility = "hidden"; + } + else if(typeof(el.filtNo) != tt_u) + // Restore 'non-filter' + css.filter = el.filtNo; + } + else + { + opa /= 100.0; + switch(tt_flagOpa) + { + case 2: + css.KhtmlOpacity = opa; break; + case 3: + css.KHTMLOpacity = opa; break; + case 4: + css.MozOpacity = opa; break; + case 5: + css.opacity = opa; break; + } + } +} +function tt_Err(sErr, bIfDebug) +{ + if(tt_Debug || !bIfDebug) + alert("Tooltip Script Error Message:\n\n" + sErr); +} + +//============ EXTENSION (PLUGIN) MANAGER ===============// +function tt_ExtCmdEnum() +{ + var s; + + // Add new command(s) to the commands enum + for(var i in config) + { + s = "window." + i.toString().toUpperCase(); + if(eval("typeof(" + s + ") == tt_u")) + { + eval(s + " = " + tt_aV.length); + tt_aV[tt_aV.length] = null; + } + } +} +function tt_ExtCallFncs(arg, sFnc) +{ + var b = false; + for(var i = tt_aExt.length; i;) + {--i; + var fnc = tt_aExt[i]["On" + sFnc]; + // Call the method the extension has defined for this event + if(fnc && fnc(arg)) + b = true; + } + return b; +} + +tt_Init();