create a project with the executable script 
get_marks_from_teamdrive

extend the script to non-exams

Bug:

m1kk3t_Jahr_2011-2012:
wenn bei bz, projektkompetenz 
- alle noten in xls auf 1. Halbjahr gesetzt werden
- letzte Note 2. Halbjahr (unvollstndig) gesetzt wird
wird kein Gesamtergebnis in die Klassenlehrerliste eingetragen


examplix -l: liste alphabetisch

option um  nur zu adden,commiten,pushen (ohne verschlsseln)


??? wenn atlantisfilter kein Erfolg zeigt: students.cfg
    -> sinnvolle Manahme

??? Projekt archivieren/loschen option


??? ldap abfrage machen um 
    - alle in einer Klasse zu bekommen
    - Vorname, Nachname, Gebdat zu holen


? nach --tasks pushen???
? vor check_decrypt pullen

?? check_name, decryption: list class_teacher and more?


??? Wie gro ist ein Projekt?

??? Ist die option --teacher notwendig 
  - wurde auf dem server benutzt um als root in ein userhome zu createn 
  - legt nun den class-teacher fest? 
    login-name verwenden, wenn nicht angegeben?



On option --create: choose --year, --exam from name of project ---> done
          --task dito. ---> done    
          --result -> warn to give option
             only when mode=year
             when mode = exam, continue  
          --- done



option --create-lists to only create lists ---> done


Wichtig:

A) beim erstellen (--year,--midyear) sollen 2 Dateien erzeugt werden:
    override_Halbjahr.xls
    override_Schuljahr.xls
---> done


B) Beim erstellen examplix/tmp: tmp weg  
--->  done


C) bei den erstellten (--task) Dateien _Jahr_ und _all raus 
(wofr waren die: Gruppendefinitionen)
   bei --task eine Warnung, dass dateien berschrieben werden


D) option --path /abs/path:
    arbeite in /abs/path statt in examplix


E) Bei der kleinen Abschlussprfung:
   verkrzte Korrektur-Notelisten erzeugen
   (option --few-students), extraoption fr Notelisten erzeugen
   z.B. nur eine Tabelle, Klassen durch Tabellenzeile getrennt
   Ziel: 15-20 Prflinge auf ein Blatt
F) Verzeichnis skeleton in /usr/share/examplix ?? , ....
   in das odt Berechnungen usw. kommen, die bei jeder Klasse evtl. 
   genutzt werden 




############################################################
new examplix
############################################################
Features:
 - uses encfs                    
 - Adding Data on windows/linux, ... (*.xls)
 - reading students from atlantis dump
 - reading class-teachers from atlantis dump


#############################################################
Notenprojekt/Verzeichnis-Benennung
#############################################################
- durch GUI/name_check sichergestellt, dass es nur folgende 
  Namen gibt:  (--> done)
KLASSE_ART_JAHR

KLASSE: wie in sophomorix/Schulverwaltungsprogramm
ART: Folgendes zur Auswahl:
     Prfung-Teil-1
     Prfung-Teil-2
     Schuljahr
JAHR: Folgendes zur Auswahl (momentane Jahreszahl+1 mglich)
      Sommer-2012
      Winter-2012
      2011-2012

#############################################################
Master-Konfiguration
#############################################################

- ist eigenes git-Projekt 
  (ist damit vernderbar, kann aber auf nderung geprft werden,
   wenn verndert, startet GUI nicht)

- Inhalt:
  - DATEI welche Projekte es gibt:
     NOTENPROJEKTNAME::STATUS::DELETION::KLASSENLEHRER::FACHLEHRER
     STATUS: active (nutzbar, angezeigt)
             archive (nicht nutzbar, nur noch auf git server)
     DELETION: Jahr, in dem das Projekt gelscht werden soll
               (lschen, oder nur Hinweis, ob gelscht werden soll)
     FACHLEHRER ist Liste (geht aber aus Projekt hervor)

  - ARCHIV:
    - wenn Projekt gelscht wird, dann kommt PDF ins archiv??


#####################
neue Schler
#####################
- Es kommen nur Schler hinzu 
  (keiner wird entfernt, sonst wren Noten weg)
  2 Mglichkeiten
     1) simpel:
       - Platz lassen (Dummy user angeben)
       - diese dann IM AUSDRUCK umbenennen (in xls alte )
     2) komplizierter, besser
       - xls einlesen, neue Schler dazu
       - xls neu schreiben, alphabetisch geordnet
         Noten mitnehmen
- Schler sollten (automatisch oder auf Nachfrage) eingetragen werden
- Zum Drucken knnen Schler ausgeblendet werden

??? Frage zum bisherigen Auswertungsmechanismus:
    Wenn man in xls-Tabelle leer Zeile einfgt,
    Wird dann korrekt ausgedruckt?

??? Wenn man Zeile mit Name eintrgt
    und Schler in students.cfg dazu
    wird der dann ausgedruckt?
    



#####################
Benutzerrollen
#####################

Master-Klassenlehrer:  
  - eigene Konfigurationsdatei
  - darf beliebige Notenprojekte anlegen 
Klassenlehrer:
  - aus atlantis file
  - darf in seiner Klasse Notenprojekt anlegen
Fachlehrer:
  - Konfiguriert in Notenprojekt
  - darf keine Notenprojekte anlegen
Abteilungsleiter:
  - eigene Konfigurationsdatei
  - darf keine Notenprojekte anlegen
  - darf (alle?) Notenprojekte einsehen



#####################
encfs Version
#####################

(--> done)

Verzeichnisstruktur:

$HOME/examplix/.examplix  (oder Master)
   - unverschlsselt (sollte reichen)
   - enthlt Infos, welches Projekt angezeigt werden soll, ...

$HOME/examplix/.m1kk3t-Schuljahr-2011-2012  (encrypted git Project)
   - dieses Versteckte Verzeichnis ist unter git Verwaltung

$HOME/examplix/m1kk3t-Schuljahr-2011-2012  (unencrypted dir)
   - dieses Verzeichnis ist leer
   - dorthinein wird das entschlsselte gleichnamige git Projekt
     gemounted

            

#####################
GUI
#####################

Programmstart:

- hole .examplix
- welche Projekte sollen angezeigt werden
  (zuerst: alle holen)
- hole diese Projekte/update
- nicht mehr anzuzeigende Projekte:
  lokale Lschabfrage (Window)

GUI: - Auswahl aus lokalen GIT-Projekten (Liste)
     - Berechnen und drucken (PS, (PDF))
     - Leere Listen drucken
     - Speichern (eigentlich hochladen)
     - Fachlehrer-Bereich:
         - meine xls-Dateien (werden mit gnumeric geffnet)
           (vernderte werden markiert angezeigt)
          
     - NUR KLASSENLEHRER
       Noten festlegen (override)
       Anmeldenoten festlegen
       Schler nachtagen (Liste)
       Schler verbergen (Scrollbare Liste aller Schler mit Hkchen)
       -- was noch ?????


#####################
GIT Server
#####################

- Zugriff via ssh
- alle Projekte verschlsselt

Server Scripte:
- Durchsuchen aller Projekte:
  - wer ist in welchem
  - ausgefhrt tglich oder besser, wenn year.cfg/exam.cfg
    verndert eingecheckt wird.
- nutzbare Infos aus Schulverwaltung holen:
  - welche Klassen gibts (--> auswahlliste)
  - wer ist Klassenlehrer in welcher Klasse


#######################################################
GEHT NICHT!!!!
- Latexen auf dem Server (spart Platz auf dem Client)
  -> jetzige Scripte verwendbar
  SERVER: GEHT NICHT!!!!, da verschlsselt
    - immer wenn ein Projekt eingeheckt wird, wird es gelatext (geht das?)
    - Infomail an Klassenlehrer: xxx hat Noten eingetragen
  CLIENT:
    - Knopf: Noten drucken
             Listen drucken
             ...
      --> einchecken der Vernderungen auf SERVER
      --> dort LATEXEN
      --> pdf/ps holen
###############################################################






Start (Linux):
examplix --tc volume.tc
   - if mounted already --> ok
   - if not mounted --> Password --> mount
   If in the mounted truecrypt volume is a dir:examplix
   -> commit all changes (mercurial) in case volume was used on windows
   -> list of Projects in this volume
   -> select one of these projects 
      (last project saved in examplix/.current_project)
   Maybe:
    |If examplix/.current_project exists |
    | - List users  -> select            |
    | -list files -> select -> gnumeric  |


Start Windows: 
   - mount truecrypt volume
   - open *.xls file in explorer
   - save file
   - Mercurial???


End (Linux):
    - check in all changes (mercurial)
    - dismount tc volume











############################################################
old netexamplix
############################################################

Organisation Dateien in results:
   results/Zeitraum_1/klassenname
   results/Zeitraum_2/klassenname (oder Schuljahr/Halbjahr)
   results/bz/*.tex
              *.pdf
              *.ps
   ...


-> year/midyear, ... fllt weg



Hilfe: Es ist keine Gewichtung angegeben ... bitte in Zelle x:2 eintragen


Dateiname results_bz_....
ndern in bz_..._results




BUG 2.05 wird mit two_decimal auf 2.04 gerundet


Weiter:

beim update:

1) nicht immer alles fr exam, year, midyear machen, sondern nur fr das, was jetzt gilt.

2) ownership immer dem richtigen user zuordnen (wieso?), nicht auf root lassen,


Bug: name des Blattes in groups.xls is 'Anmeldenoten' (should be Gruppen)

Bug: when sg commit file and it was updated, it was not changed ownered to the class teacher


when collect/Anmeldenoten is edited, it doesn show up after update.

when creating teachers.cfg, there is no final :-character?!

--midyear
option 'zweit,fhsr,hsr' tut nicht
sollte in override tun


Missing: 

--clean name  : 
 
  - remove the project from cvs 
  - move the pdf to a folde called archive, owner is the teacher
  - remove project from all teachers


cannot create outside tmp (danger to delete stuff)
=======

when creating *.pdf-output add the cvs-revision to printout (if it is a project, i.e. its not in tmp)
 


Bug: when doing --update --final, the option final is not given to all scripts that are called


funktion zum erstellen von klassenlisten (
 - bis zu 40 auf einer Seite, Hochformat)
 - unter 20 oder so gleich querformat nehmen
die cvs-Version und Datum soll eingeblendet sein, um eine aktualisierte Liste zu erkennen

Bemerkung unter: weitere Listen finden sie in .. H:\netexamplix/fgghf/lists



Todo:

examplix:

* when option --teacher is given, 
   1) query for existance
   2) select home of this teacher/netexamplix, ...
   3) else use option as prefix-path (new option?)
 

* Leere Prfungskorrekturlisten mit dem Projekt zusammen erstellen

* use supervisors.cfg when calculating the results

* 


* add script to create seatlists

  /etc/netexamplix/rooms/name.cfg

    where a104.cfg contains:
    front_teacher_table=yes
    back_teacher_table=yes
    upto40=4rows
    upto60=6rows  
    upto70=7rows  


    algorythm:
      - go from large values to small (i.e 70,60,40)
      - until number of students is below (i.e. students 42 --> 60)
      - then use this row/column (i.e 6x10)

* make some string configurable in the cvs module






Info:

to connect to cvs.bszleo.de do:

route add default gw fritz.fon.box  


##################################################

inotify2

Paket: liblinux-inotify2-perl




################################################
Next exam:

distribute cvs to supervisiors
list supervisor at the end of the pdf

allow in exam.cfg:   kj+ped and ht,bck

0) check if windws takes + as filename

1)  name the files accordingly instead of bz kj+ped
    (Test if this works)
2) The files must be created for class-teacher

3) in the final list, separate the teachers and list both of them.






############################################################
# Version 2
############################################################


Fr jedes Fach eines Lehrers nur 1 Tabelle:

1) Klassenname - Lehrer
2) Halbjahr (1,2,3...)                                   -> Halbjahr 1 oder 2
3) Typ (KA,M,...)                                        -> Typ zum sortieren 
                                                         der Reihenfolge (alphabetisch)
4) Typorder(1,2,3,...)                                   -> falls typ nicht alphabetisch
                                                         (optional)
5) Number (1,2,3,...)                                    -> Nummer der KA,M,...
6) Datum              20.07.03                           -> Format dd.mm.yy 
7) Beschreibung 1     Technische Zeichnung    ....       -> Zeile 2
8) Beschreibung 2     Haus                    ....       -> Zeile 2
9) Factor             1	       		   3          -> Bei Groupzeile: 0


10) user1
11) user2





- Order to display is N01 to N30
- factor=0 (not empty):  display only (for groups, points, ...), 
  (melt it together with column at the right or left)



Ziel: 

- egal in welcher Reihenfolge die Angaben in der Datei stehen

---> es wird geornet nach folgender Hierarchie:

     -> Halbjahr
        -> TYP (alphabetisch bzw. nach typorder)
            -> Nummer


Idee:

- wenn der Lehrer seine Tabelle ausgefllt hat, kann er sich auf einem Blatt
ohne noten die Gewichtungen anzeigen lassen)





