Owncloud an bestehende Authentifizierungsysteme anbinden

Own­cloud bie­tet ab der Ver­si­on 6 neben den übli­chen inter­es­san­ten Fea­tures eine kol­la­bo­ra­ti­ve Text­ver­ar­bei­tung an, d.h. meh­re­re Benut­zer kön­nen genau wie bei Ether­pad oder Ether­pad lite gleich­zei­tig an einem Doku­ment arbei­ten. Die For­ma­tie­rungs­mög­lich­kei­ten sind dabei umfang­rei­cher als bei der Ether­pad­de­ri­va­ten, jedoch gegen­über Lösun­gen wir Goo­g­le­Docs noch recht rudi­men­tär. Für vie­le Anwen­dungs­fäl­le reicht es jedoch voll­auf. Wer möch­te, darf das hier nach Ein­ga­be eines Spitz­na­mens ger­ne ein­mal aus­pro­bie­ren. Own­cloud nutzt ODT als nati­ves Format.

Vie­le Schu­len möch­ten ger­ne Own­cloud nut­zen und ver­fü­gen oft schon über eine Schul­ser­ver­lö­sung. Idea­ler­wei­se bie­tet die­se bereits E‑Mailadressen für alle Schul­an­ge­hö­ri­gen über das IMAP-Pro­to­koll an. Das ist z.B. bei IServ der Fall – einer in Nie­der­sach­sen sehr ver­brei­te­ten Lösung. Durch zwei klei­ne Ände­run­gen muss kei­ne sepa­ra­te Nut­zer­ver­wal­tung in Own­cloud mehr betrie­ben wer­den, wenn bereits ein IMAP-Ser­ver im Schul­netz vor­han­den ist.

Es kann eine Grund­in­stal­la­ti­on von Own­cloud als Basis genom­men wer­den. Bei den Apps muss „Exter­nal user sup­port“ zuvor akti­viert wer­den. Eine Datei ist danach zu ändern, eine hinzuzufügen.

Zu ändern­de Datei

Name: config/config.php

Quell­code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
require_once(dirname(__FILE__).'/../apps/user_external/lib/imap_new.php');
 
$CONFIG = array (
  'instanceid' => '<hier_steht_schon_etwas>',
  'passwordsalt' => '<hier_steht_schon_etwas>',
  'datadirectory' => '<hier_steht_schon_etwas>',
  'dbtype' => 'mysql',
  'version' => '6.0.0.14',
  'dbname' => '<hier_steht_schon_etwas>',
  'dbhost' => 'localhost',
  'dbtableprefix' => 'oc_',
  'dbuser' => '<hier_steht_schon_etwas>',
  'dbpassword' => '<hier_steht_schon_etwas>',
  'installed' => true,
  'forcessl' => true,
  'user_backends'=>array(
   array(
      'class'=>'OC_User_IMAP',
      'arguments'=>array('{<server>:<port>/imap/ssl/novalidate-cert}')
   )
  ),
);

Kom­men­tar:
In Zei­le 2 wird der neu zu erstel­len­de Code (s.u.) ein­ge­bun­den, ab Zei­le 17 wird es inter­es­sant, vor allem in der Zei­le, die mit „argu­ments“ beginnt. Die Anga­ben für Ser­ver und Port sind mit den eige­nen Anga­ben zu fül­len. Ich brau­che für den IServ die Anga­be „nova­li­da­te-cert“, da es sich um ein selbst­si­gnier­tes Cert han­delt – daher zicken auch Apple­ge­rä­te ger­ne mit dem IServ, weil sie sich in der Feh­ler­mel­dung nicht klar aus­drü­cken. Nutzt man eine unver­schlüs­sel­te Ver­bin­dung, was allen­falls zu Test­zwe­cken dien­lich ist, sieht das z.B. so aus:

      'arguments'=>array('{meinserver.xy:143/imap}')

Hin­zu­zu­fü­gen­de Datei:

Name: apps/user_external/lib/imap_new.php

Quell­code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
/**
 * Copyright (c) 2012 Robin Appelman <icewind@owncloud.com>
 * This file is licensed under the Affero General Public License version 3 or
 * later.
 * See the COPYING-README file.
 */
 
class OC_User_IMAP extends OC_User_Backend{
        private $mailbox;
 
        public function __construct($mailbox) {
                $this->mailbox=$mailbox;
        }
 
        /**
         * @brief Check if the password is correct
         * @param $uid The username
         * @param $password The password
         * @returns true/false
         *
         * Check if the password is correct without logging in the user
         */
        public function checkPassword($uid, $password) {
 
                $mbox = @imap_open($this->mailbox, $uid, $password);
                imap_errors();
                imap_alerts();
 
 
                if($mbox) {
                        imap_close($mbox);
 
                        if(OC_User::userExists($uid)) {
                                  OC_User::setPassword($uid, $password);
                        } else {
                                  OC_User::createUser($uid, $password);
                                  $uida=explode('@',$uid,2);
                                  if(($uida[1] || '') !== '') {
                                        OC_Group::createGroup($uida[1]);
                                        OC_Group::addToGroup($uid, $uida[1]);
                       }
 
                }
                        return $uid;
                } else {
                        return false;
                }
        }
 
}

Kommentar: 
Die­ses Code­stück sorgt dafür, dass beim ers­ten Log­in eines Benut­zers ein Ein­trag in die User-Daten­bank von Own­cloud erfolgt. Dabei wird auch das Pass­wort ver­schlüs­selt gespei­chert, da ansons­ten kei­ne Nut­zung über die Apps von Own­cloud mög­lich ist. Der Nut­zer muss sich mit den glei­chen Daten wie am E‑Mailserver anmel­den. Ändert der Nut­zer sein Pass­wort im IServ oder auf dem E‑Mailserver, wird die­se Ände­rung bei bestehen­dem Log­in in Own­cloud übernommen. 

Update:
Mit dem Hack funk­tio­niert auch die Nut­zung mit der Own­cloud-App problemlos.

Wir sind die Roboter

Die Dämp­fe von Löt­zinn bren­nen einer kon­zen­triert über den Löt­kol­ben gebeug­ten Schü­le­rin in den Augen, der Geruch von Röst­zwie­beln liegt in der Luft, über­all lie­gen elek­tro­ni­sche und mecha­ni­sche Bau­tei­le her­um. Selt­sa­me Gefähr­te, die an die­je­ni­gen aus der Mad-Max-Trio­lo­gie anzu­knüp­fen schei­nen, fah­ren über den Flur und dre­hen wie von Geis­ter­hand vor Wän­den und Hin­der­nis­sen um. Rechts wird geflucht über die unver­meid­li­chen Trei­ber­pro­ble­me unter Windows8, links lacht sich dar­über der Nut­zer eines Ubun­tu-Desk­tops ins Fäust­chen, wäh­rend die Grup­pe im hin­te­ren Bereich das Schei­tern des letz­ten Algo­rith­mus bei einem kräf­ti­gen Biss in das selbst­ge­bau­te Hot­dog und einer Par­tie Mine­craft verarbeitet.

Die Situa­ti­on ent­stammt nicht dem Ent­wick­lungs­la­bor einer nerdi­gen Elek­tronik­fir­ma, son­dern beschreibt die Atmo­sphä­re in unse­rer neu­en Ardui­no-AG auf dem letz­ten Regio­nal­grup­pen­tref­fen recht genau. Da kann nach nicht ein­mal acht Wochen dann schon sowas herauskommen:

Die Hard­ware habe ich nach einem Schü­ler­ent­wurf nach­ge­baut. Die hier zu sehen­den Komponenten

  • ein Ardui­no UNO-Nachbau
  • ein Adafruit-Motor­s­hield-Nach­bau
  • ein HC-SR04 Ultraschallsensor
  • ein 4WD-Chas­sis
  • sechs Mignon-Akkus
  • ein Bat­te­rie­fach
  • Kabel und ande­rer Kleinkram

kos­ten etwa 50,- Euro, wenn man etwas war­ten kann. Die not­wen­di­ge Soft­ware gibt es kos­ten­los zum Down­load. Pro­gram­miert wird in einem C‑ähnlichen Dia­lekt. Der Robo­ter aus dem Video wird von die­sem Pro­gramm gesteuert: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
    #include <AFMotor.h>
 
    AF_DCMotor motor_01(1, MOTOR12_64KHZ);
    AF_DCMotor motor_02(2, MOTOR12_64KHZ);
    AF_DCMotor motor_03(3, MOTOR12_64KHZ);
    AF_DCMotor motor_04(4, MOTOR12_64KHZ);
 
    // HC-SR04
    // VCC auf 5V
    // Trig auf Trigger Pin (löst Ultraschallimpuls aus)
    // Echo auf Echo Pin (Zeit in ms bis zum Empfang des Echos)
    // GND auf GND
 
    #define echoPin 15 // Echo Pin
    #define trigPin 14 // Trigger Pin
    int turn = 1;      // Drehrichtungsänderung wenn "festgefahren"
    int count = 0;     // Anzahl der Drehausweichversuche pro Richtung
 
    long duration, distance; // Dauer um Abstand zu berechnen
 
    void setup() {
 
     motor_01.setSpeed(190);  // Wir fahren nicht volle Pulle
     motor_02.setSpeed(190);
     motor_03.setSpeed(190);
     motor_04.setSpeed(190);
 
     Serial.begin (9600);
     pinMode(trigPin, OUTPUT);
     pinMode(echoPin, INPUT);
 
    }
 
    void loop() {
 
 
     /* The following trigPin/echoPin cycle is used to determine the
     distance of the nearest object by bouncing soundwaves off of it. */ 
 
     digitalWrite(trigPin, LOW); 
     delayMicroseconds(2); 
 
     digitalWrite(trigPin, HIGH);
     delayMicroseconds(10); 
 
     digitalWrite(trigPin, LOW);
     duration = pulseIn(echoPin, HIGH);
 
     //Calculate the distance (in cm) based on the speed of sound.
     distance = duration/58.2;
 
     //Delay 50ms before next reading.
     delay(50);
 
     if (distance < 25 && turn > 0 )
 
     {
 
       motor_01.run(FORWARD);   // Motor 1 vorwärts laufen lassen
       motor_02.run(FORWARD);
       motor_03.run(FORWARD);
       motor_04.run(FORWARD); 
 
       delay(200);
 
       motor_01.run(BACKWARD);
       motor_02.run(BACKWARD);  // Motor 2 rückwärts laufen lassen
       motor_03.run(FORWARD);
       motor_04.run(FORWARD);
 
       delay(200);
 
       count++;
 
       if (count >= 3 ) {   
 
         turn = -turn;
 
       }
 
     } 
 
     else if (distance < 25 && turn < 0 )
 
     {
 
       motor_01.run(FORWARD);   // Vorwärts fahren
       motor_02.run(FORWARD);
       motor_03.run(FORWARD);
       motor_04.run(FORWARD); 
 
       delay(200);
 
       motor_01.run(FORWARD);
       motor_02.run(FORWARD);  // Motor 2 rückwärts laufen lassen
       motor_03.run(BACKWARD);
       motor_04.run(BACKWARD);
 
       delay(200);
 
          count++;
 
       if (count >= 3 ) {   
 
         turn = -turn;
 
       }
 
     }
 
     else
 
     {
       motor_01.run(BACKWARD);   // Motor 1 vorwärts laufen lassen
       motor_02.run(BACKWARD);
       motor_03.run(BACKWARD);
       motor_04.run(BACKWARD); 
 
       count = 0;
 
     }
 
    }

Beim Expe­ri­men­tie­ren mit der Ardui­no­platt­form gibt es ganz vie­le ver­schie­de­ne Herausforderungen: 

  • Es muss zumin­dest in Grund­zü­gen pro­gram­miert werden
  • Die­se Pro­gram­me bedür­fen einer stän­di­gen Optimierung
  • Ver­drah­tet“ man mit Löt­kol­ben und Schrau­bern­dre­her oder gleich im Pro­gramm selbst? – Im obe­ren Pro­gramm sind z.B. „falsch“ ange­schlos­se­ne Moto­ren durch ent­spre­chen­de Code­än­de­run­gen kom­pen­siert worden.
  • Wie struk­tu­riert man sein Pro­gramm so, dass man es die Woche dar­auf noch ver­steht? – Mor­gen wer­den wir uns mit Unter­pro­gram­men und der Para­me­ter­über­ga­be beschäftigen.
  • Wie arbei­ten die Sen­so­ren eigent­lich? (Der HC-SR04 muss z.B. so aus­ge­rich­tet wer­den, dass er nicht schon Uneben­hei­ten auf dem Boden als Hin­der­nis erfasst, mit meh­re­ren Sen­so­ren erhö­he ich die Mess­ge­nau­ig­keit usw.)
  • Wie löse ich die vie­len mecha­ni­schen Probleme?
  • Die meis­ten Pro­gram­mier­bei­spie­le im Netz sind auf Englisch …

Ich fin­de es pri­ma, dass Infor­ma­tik hier erfahr­bar wird und dass nicht nur vir­tu­ell ver­mit­tel­te Erfah­run­gen und Lern­an­läs­se vor­han­den sind. Grund­struk­tu­ren zum Pro­gram­mie­ren geben wir in der AG vor, da rei­nes Aus­pro­bie­ren schnell zu Frus­t­er­leb­nis­sen führt, ins­be­son­de­re wenn meh­re­re Akto­ren und Sen­so­ren dazukommen.
Die Schü­le­rin­nen und Schü­ler doku­men­tie­ren das im in einem Doku­Wi­ki, was sie über Akto­ren und Sen­so­ren her­aus­fin­den oder stel­len auch ganz Code­schnip­sel ein. Neben­bei ler­nen sie etwas über Syntax.

Startup – die ersten Tablets sind bereit

Ich woll­te für den ers­ten Ver­such mit Tablets nicht viel Geld ver­bren­nen, ich woll­te als Admi­nis­tra­tor die Gerä­te zen­tral ver­wal­ten und mir die­se Arbeit auch mit ande­ren tei­len kön­nen. Es han­delt sich um Schul­ge­rä­te, die ent­we­der für den ergän­zen­den Ein­satz im Kon­text mit BYOD oder für typi­sche Auf­ga­ben in Grup­pen gedacht sind. Wir wol­len dabei als Schu­le Erfah­run­gen mit die­ser Gerä­te­klas­se sam­meln, bevor wir uns Din­ge wie einen Klas­sen­satz ans Bein binden.

Die Wahl fiel schon im letz­ten Jahr auf die aus­lau­fen­de Nexus7-Rei­he (Modell 2012). Hier waren fol­gen­de Din­ge sichergestellt:

  • Ver­sor­gung mit Betrieb­sys­tem­up­dates durch Goog­le (ins­be­son­de­re das ein­ge­schränk­te Pro­fil war mir hier wichtig)
  • Robust und gut verarbeitet
  • Gute Ver­sor­gung mit Apps
  • zen­tral mana­ge­bar mit Goog­le Apps for Edu­ca­ti­on oder Meraki
  • Preis-/Leis­tungs­ver­hält­nis hervorragend

Wei­ter­hin sind wir eine recht gut ver­netz­te Schu­le. Wir woll­ten auch eine ein­fa­che Mög­lich­keit, Medi­en aller Art indi­vi­du­ell im Unter­richt nut­zen. Die Wahl fiel hier auf den DLNA-Ser­ver medi­atomb. In der Pra­xis wird das so lau­fen, dass Kol­le­gin­nen und Kol­le­gen Medi­en auf unse­ren Schul­ser­ver in ein ent­spre­chen­des Ver­zeich­nis hoch­la­den. Als Hiera­chie wird hier das jewei­li­ge Fach gewählt, das einen Ord­ner für jede Lehr­kraft erhält. Die­ses Ver­zeich­nis wird jeden Tag auf den Media­ser­ver „ent­leert“, dort auto­ma­tisch gescannt und die neu­en Medi­en ste­hen dann am nächs­ten Mor­gen im gesam­ten Schul­netz bereit. Bei uns han­delt es sich dabei vor­ran­gig um Medi­en, für das der Kreis oder das Land Online­li­zen­zen erwor­ben hat.

Sie las­sen sich dann mit einer spe­zi­el­len App, die es für fast alle Platt­for­men gibt, wie am eige­nen Fern­se­her zu Hau­se auf dem jewei­li­gen Medi­en­ge­rät (PC, Lap­top, Han­dy, Tablet, Fern­se­her etc.) abspielen.

Ver­wal­tung mit Meraki

Ich nut­ze für die Ver­wal­tung der Tablets das kos­ten­lo­se Mera­ki. Das geht natür­lich nur leid­lich gut mit Schul­ge­rä­ten, die unter einer ID lau­fen und so Per­so­nen­be­zo­ge­nes zumin­dest ver­wäs­sern. Es ist aus Daten­schutz­grün­den kei­ne Opti­on für 1:1 Lösun­gen! Mit Mera­ki kann man eine Men­ge Sache machen – bei Andro­ids z.B.:

  • die Kame­ra zen­tral ein- oder ausschalten
  • WLAN-Net­ze konfigurieren
  • Apps fern­ge­steu­ert installieren
  • Ver­schlüs­se­lung erzwingen
  • u.v.m.

Das funk­tio­niert über eine spe­zi­el­le, kos­ten­lo­se App. Die­se wie­der­um wird dadurch „ver­am­melt“, dass ich das Fea­ture „ein­ge­schränk­tes Pro­fil“ von Android ab Ver­si­on 4.3 nut­ze. Das Haupt­pro­fil ist mit einem Pass­wort geschützt. Im Haupt­pro­fil kann man fest­le­gen, wel­che Apps im ein­ge­schränk­ten Pro­fil zur Ver­fü­gung ste­hen – lei­der geht genau das noch nicht mit Mera­ki. Ich wer­de das so lösen, dass ich je Monat fünf Apps, die sich Kol­le­gen wün­schen, nach tota­li­tä­ren Kri­te­ri­en aus­wäh­le und dann zur Nut­zung freigebe.

Auch für iOS-Gerä­te könn­te übri­gens Mera­ki eine inter­es­san­te Alter­na­ti­ve zum Apple Con­fi­gu­ra­tor sein. Neben dem übli­chen App-Deploy­ment und einer VPP-Inte­gra­ti­on kann man auf iOS-Gerä­ten zur­zeit fol­gen­de Funk­tio­nen zen­tral administrieren:

iOS_meraki
Dazu kommt noch, dass mit Mera­ki auch ein cloud­ba­sier­tes Manage­ment von WLAN-Net­zen mög­lich ist (ver­gleich­bar Aero­Hi­ve)  – die Gerä­te sind aber cis­co­ty­pisch nicht ganz bil­lig.

 Unheimliches

Mera­ki führt mir zie­mich unsanft vor Augen, dass sowohl Tablets als auch Andro­id­han­dys ziem­li­che gute Über­wa­chungs­ge­rä­te sind. Die Ortung funk­tio­niert auch ohne GPS oder Han­dy­netz adress­ge­nau. Ich kann Para­me­ter wie Lade­zu­stand, ver­füg­ba­re WLAN-Net­ze, Gerä­te-ID, Betriebs­zei­ten, Geo­po­si­ti­on usw. in Echt­zeit adress­ge­nau aus­le­sen. Wenn Mera­ki das per App kann, wird Goog­le es auch kön­nen. Ob es bei iOS anders aus­sieht? Wahr­schein­lich nicht …

Verschlüsselung von Schülerdaten auf dem eigenem Rechner mit EncFs

Ich habe als Linux­er, Apple- und Goo­gle­miss­trau­en­der end­lich mit EncFs einen Weg gefun­den, Daten von Schü­le­rin­nen und Schü­lern auf mei­nem Sys­tem so zu ver­schlüs­seln, dass auch Aspek­te des tech­ni­schen Daten­schut­zes gewahrt sind. EncFs arbei­tet datei­ba­siert, d.h. die ein­zel­ne Datei wird ver­schlüs­selt, sodass auch übli­che Linux-Back­up­kon­zep­te (etwa rsync) hier grei­fen. Das ist zwar nicht ganz so per­for­mant, wie eine con­tai­ner- oder volu­men­ba­sier­te Lösung, jedoch ist bei Bit­feh­lern nicht gleich das gan­ze Volu­me gefährdet.

Wiki­pe­dia nennt fol­gen­de Vor- und Nach­tei­le von EncFs:

Auf­grund sei­ner datei­wei­sen Ver­schlüs­se­lung weist EncFS eini­ge Vor­tei­le gegen­über ande­ren Kryp­to­da­tei­sys­te­men auf:

  • Es belegt kei­ne fes­te Grö­ße auf dem Daten­trä­ger. Es wird nur der Platz belegt, der tat­säch­lich für die ver­schlüs­sel­ten Datei­en benö­tigt wird. Daten kön­nen in EncFS gespei­chert wer­den, bis das Datei­sys­tem, in dem es sich befin­det, voll ist.
  • Tei­le des über EncFS-ver­schlüs­sel­ten Datei­sys­tems kön­nen auf ver­schie­de­nen Daten­trä­gern abge­legt sein. Zum Bei­spiel kann ein Ord­ner im (ver­schlüs­sel­ten) Quell­ver­zeich­nis per NFS ein­ge­hängt und ein wei­te­rer lokal vor­han­den sein.
  • Daten­si­che­rungs­pro­gram­me kön­nen gezielt die ein­zel­nen ver­än­der­ten ver­schlüs­sel­ten Datei­en sichern, die sich in der Zwi­schen­zeit geän­dert haben. Es muss nicht jedes Mal die gesam­te Par­ti­ti­on gesi­chert wer­den, wie es bei ver­schlüs­sel­ten Par­ti­tio­nen der Fall ist.

Auf­grund die­ses Ansat­zes erge­ben sich jedoch auch eini­ge Nachteile:

  • Per EncFS abge­spei­cher­te Daten wei­sen die­sel­ben Beschrän­kun­gen auf, wie das Datei­sys­tem, in dem der Quell­ord­ner liegt.
  • Eine Frag­men­tie­rung der ver­schlüs­sel­ten Daten führt zu einer Daten­frag­men­tie­rung im Quellverzeichnis.
  • Die Rech­te­ver­wal­tung wird nicht neu imple­men­tiert, somit kann jeder die Anzahl der Datei­en, ihre Zugriffs­rech­te, Grö­ße und Län­ge des Datei­na­mens (der Datei­na­me sel­ber wird jedoch mit­ver­schlüs­selt) und das Datum der letz­ten Ände­rung sehen.

Quel­le: http://de.wikipedia.org/wiki/EncFS#Vor-_und_Nachteile

Ich ver­lie­re etwas Kom­fort, was ich aber gar nicht ein­mal so schlecht fin­de: Will ich auf mei­ne ver­schlüs­sel­ten Datei­en zugrei­fen, muss ich zuvor noch ein klei­nes Script aus­füh­ren, nähe­res im Ubun­tu-Wiki.

So blei­ben die Datei­en auch im Betrieb ver­schlüs­selt, wenn ich sie nicht benö­ti­ge. Sind die Datei­en entschlüs­selt, so habe ich ein­fach ein Ver­zeich­nis im Datei­baum, in das ich ganz nor­mal spei­chern kann. Sind die Datei­en verschlüs­selt, ist die­ses Ver­zeich­nis schlicht leer. Sie lie­gen eigent­lich in einem ver­steck­ten Ver­zeich­nis – es beginnt mit einem Punkt und wird so in Linux­fi­le­ma­na­gern meist nicht ange­zeigt. Es lässt sich aber zugäng­lich machen – nur lie­gen dar­in eben nur ver­schlüs­sel­te Datei­en, die frei­lich über Meta­da­ten wie Name, letz­tes Zugriff­da­tum, Besit­zer etc. etwas von sich preis­ge­ben – nur an die Inhal­te der Datei­en kommt man halt nicht. EncFs gibt es auch für Win­dows – es kann dort aber nur unter Schmer­zen instal­liert werden.

Akt der Notwehr – Reaktionen auf die Arbeitszeiterhöhungen

Schu­len in Han­no­ver strei­chen die Klas­sen­fahr­ten, um einen Aus­gleich für die anste­hen­de Mehr­ar­beit zu schaf­fen (vgl. Arti­kel hier im Blog). Der Phi­lo­lo­gen­ver­band Nie­der­sach­sen arbei­tet dezi­diert und sach­ori­en­tiert mit Mythen zur Leh­rer­ar­beits­zeit auf. Das Kul­tus­mi­nis­te­ri­um legt sei­ne Plä­ne zur bes­se­ren Aus­stat­tung von Bil­dungs­in­sti­tu­tio­nen offen. Die finan­zi­el­le Rea­li­sie­rung die­ser Plä­ne wird einer­seits durch Erhö­hung der Mit­tel für Bil­dung durch die Poli­tik geleis­tet, ande­rer­seits durch Maß­nah­men wie die Arbeits­zeit­er­hö­hung und Strei­chung der Alters­re­ge­lun­gen aus dem Sys­tem selbst „gewon­nen“.

Ich den­ke nicht, dass irgend­ei­ne Hoff­nung besteht, dass die Poli­tik die bereits beschlos­se­nen und zur Finan­zie­rung ande­rer Pro­jek­te genutz­ten Ver­än­de­run­gen zurück­neh­men wird. Ich den­ke auch nicht, dass eine direk­te, sach­ori­en­tier­te Reak­ti­on auf die­se Maß­nah­men erfolg­reich sein wird.

Den­noch macht man sich in vie­len Gym­na­si­en in Nie­der­sach­sen Gedan­ken, wie man mit die­sen Arbeits­zeit­er­hö­hun­gen umgeht. Beam­te sind ali­men­tiert. Rein logisch könn­te man tat­säch­lich an Stel­len Arbeits­zeit redu­zie­ren, die nicht zwin­gend durch die Auf­ga­ben­be­schrei­bung einer Lehr­kraft abge­deckt sind.

Das sind z.B. Klas­sen­fahr­ten, Exkur­sio­nen, AGs, sozia­le Ange­bo­te wie Streit­schlich­ter, Kon­zer­te, Sport- und Schul­fes­te, Inter­net­auf­trit­te und ja, auch mei­ne Art der Schul­netz­werk­ad­mi­nis­tra­ti­on gehört dazu – ich soll das Netz­werk koor­di­nie­ren und wei­ter­ent­wi­ckeln – für das Hand­an­le­gen wer­de ich eigent­lich nicht bezahlt, eher für die Auf­trags­er­tei­lung an Fachfirmen.

Der Dienst­herr wird die­ses Dilem­ma wahr­schein­lich erken­nen, da es die ein­zi­ge Achil­les­fer­se in sei­ner öffent­li­chen Dar­stel­lung ist. Der Dienst­herr wird nach mei­nen Schät­zun­gen  die Kor­rek­tur­be­las­tun­gen an Gym­na­si­en an die­je­ni­ge ande­rer Bun­des­län­der anglei­chen, d.h. zumin­dest die Anzahl der zu schrei­ben­den Arbei­ten in der Mit­tel­stu­fe redu­zie­ren. Damit wäre dann tat­säch­lich ein spür­ba­rer Aus­gleich geschaf­fen und ein wesent­li­ches Argu­ment der „Wider­ständ­ler“ ausgehebelt.

Wenn es einen sol­chen „Deal“ nach einer öffent­li­chen Debat­te geben wird: Ist Bil­dung am Gym­na­si­um dadurch dann nach­hal­tig ver­bes­sert wor­den? Wie sieht mit dem Bil­dungs­sys­tem in Nie­der­sach­sen dann ins­ge­samt aus? Macht es Fortschritte?

Wenn es so kommt – was soll ein Gym­na­si­um als Reak­ti­on beschließen?

Auch wenn es gebets­müh­len­ar­tig z.B. von Ver­bän­den behaup­tet wird: Dass der Beruf des Leh­rers in der Öffent­lich­keit an Anse­hen gewinnt, sehe ich allen­falls in Umfra­gen. Wit­zi­ger­wei­se for­dern gera­de Ver­bän­de ihre Mit­glie­der dazu auf, an Umfra­gen teil­zu­neh­men – sta­tis­tisch schon eine rele­van­te Stör­grö­ße. Vie­le der übli­chen Ste­reo­ty­pe bestehen in mei­nem Umfeld weiterhin.

Ich sehe eine Gefahr dar­in, die­se Ste­reo­ty­pe durch irgend­wel­che Aktio­nen zu bestä­ti­gen – das wird z.B. der Fall sein, wenn man Klas­sen­fahr­ten streicht oder die Strei­chung androht – bei bereits geplan­ten Aktio­nen tritt zusätz­lich das Pro­blem auf, wie man mit Vor­leis­tun­gen (Buchun­gen, Anzah­lun­gen etc.) sau­ber umgeht. Schu­len aus mei­nem Umkreis ver­su­chen dem zu begeg­nen, indem sie Dienst nach Vor­schrift andro­hen – wird die­se Dro­hung dann auch tat­säch­lich Rea­li­tät? Wenn sie Rea­li­tät wird – wie lan­ge bleibt sie das dann auch? Es soll z.B. ja auch Lehr­kräf­te mit Fami­lie geben, die aus einer ande­ren Posi­ti­on her­aus Inter­es­se an einem leben­di­gen Schul­le­ben haben.

Die Gefahr besteht für mich dar­in, dass wir die Soli­da­ri­tät und Unter­stüt­zung der­je­ni­gen dadurch ver­lie­ren, die wir für eine poli­ti­sche Aus­ein­an­der­set­zung drin­gend benö­ti­gen. Die kurz- und mit­tel­fris­ti­ge Akti­vie­rung durch sol­che Aktio­nen mag aller­dings klappen.

Ich ver­tre­te die Theo­rie, dass Schu­le in der Öffent­lich­keit als sehr wenig trans­pa­rent wahr­ge­nom­men wird. Und ich neh­me war, dass Eltern und Schü­le­rin­nen sowie Schü­ler mit recht gerin­ger insti­tu­tio­nel­ler Macht an Schu­len aus­ge­stat­tet sind – der Schul­vor­stand hier in Nie­der­sach­sen böte aller­dings eine Gele­gen­heit zu star­ker Par­ti­zi­pa­ti­on, setzt aber ein poli­ti­sches Bewusst­sein der Akteu­re voraus.

Die ein­zi­ge Chan­ce zu wirk­li­chen Refor­men bie­tet ent­we­der der schon oft pro­gnos­ti­zier­te Break­down des Bil­dungs­sys­tems (der Pati­ent ist aber zäh) oder die geziel­te poli­ti­sche Akti­vie­rung von Eltern sowie Schü­le­rin­nen und Schü­lern – sie sind schließ­lich nicht treue­pflich­tig oder an Dienst­we­ge gebunden.

Die Arbeits­zeit­er­hö­hung für Gym­na­si­al­lehr­kräf­te ist m.E. eine der gering­fü­gi­ge­ren Her­aus­for­de­run­gen im Bil­dungs­sys­tem, son­dern steht eher im Zei­chen der sich nach mei­ner Wahr­neh­mung in vie­len sozia­len Kon­tex­ten aus­brei­ten­den Hal­tung: „Mehr Qua­li­tät durch weni­ger Per­so­nal und mehr Eva­lua­ti­on“ – man möge z.B. ein­mal mit Alten­pfle­gern, Kran­ken­schwes­tern, Kin­der­be­treu­ungs­ein­rich­tun­gen oder sogar der Poli­zei sprechen.

Idee

Jeden Tag lädt eine Schu­le eine Woche lang zehn Exter­ne ein, eine Lehr­kraft einen Tag bei ihrer Arbeit zu beglei­ten. Bedin­gun­gen: Der Exter­ne setzt sich, wenn sich die Lehr­kraft setzt. Der Exter­ne trinkt einen Kaf­fee, wenn die Lehr­kraft einen Kaf­fee trinkt. Der Exter­ne schreibt ein paar Zei­len zu sei­nen Ein­drü­cken. Sowas muss natür­lich in der Pres­se ange­kün­digt wer­den. Und es soll­ten mög­lichst vie­le Schu­len unter­schied­li­cher Schul­for­men in einer Regi­on dar­an teilnehmen.

Was soll das bringen?

  • Es ver­mit­telt der Öffent­lich­keit einen Ein­druck von der Arbeit an einer Schule
  • Es rich­tet den Blick dar­auf, dass nicht nur Gym­na­si­en vor Her­aus­for­de­run­gen ste­hen, son­dern auch ande­re Schulformen
  • Es setzt ein Zei­chen, dass schul­über­grei­fen­de Zusam­men­ar­beit und schul­über­grei­fen­de Wahr­neh­mung mög­lich ist
  • Es hilft ggf. dabei, Ste­reo­ty­pe in einen erfahr­ba­ren Kon­text zu stellen
  • Es schafft mehr Trans­pa­renz über die Abläu­fe und tat­säch­li­chen Belas­tun­gen an einer Schule
  • Es bie­tet unsi­che­ren Kol­le­gin­nen und Kol­le­gen einen gewis­sen Schutz – es muss sich ja nie­mand „outen“

Ich glau­be nicht, dass wir als Beam­te in nen­nens­wer­tem Umfang allein das not­wen­di­ge poli­ti­sche Gewicht bekom­men kön­nen, wel­ches drin­gend not­wen­dig wäre. Daher kann die Öff­nung des Sys­tems nach außen – mit allen ver­meint­li­chen „Gefah­ren“ – m.E. schon etwas bewirken.

Der Worst-Case wäre für mich fol­gen­der: Die Gym­na­si­en beschlie­ßen allei­ne, Arbeits­zeit durch Strei­chung außer­un­ter­richt­li­cher Akti­vi­tä­ten zu redu­zie­ren (in denen oft viel mehr gelernt wird als im Unter­richt!). Dann kommt der Dienst­herr und redu­ziert sei­ner­seits z.B. die Kor­rek­tur­be­las­tung. Was dann? Alles zurück­neh­men? Man hat ja schließ­lich nur ange­droht – und Din­ge wie die Inklu­si­on kom­men am Gym­na­si­um irgend­wann auch noch an – neue Run­de, neu­es Spiel?

Am 9. Dezem­ber fin­det die ent­schei­den­de Sit­zung im Land­tag statt. Man darf gespannt sein.

1 32 33 34 35 36 148