Code Monkey home page Code Monkey logo

muesli's People

Contributors

812670 avatar aburch avatar alyaeanyx avatar christian-heusel avatar dependabot[bot] avatar diegoldeneente avatar dotlambda avatar ekzyis avatar joker234 avatar matthias-k avatar muesli-hd-account avatar pflegusch avatar philipp-g avatar raichuu41 avatar raphaelm avatar turingtux avatar tynsh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

muesli's Issues

deregister/remove user

A widely wished feature is the deletion of users. This is not that easy because one have to first check if there are legal, political oder administrative issues with the deletion of users (and their data).

"same points again"-button in interactive view

It would make entering results for group assignments way easier in interactive mode, if there was a button (and maybe a shortcut, Shift+Enter?) to enter the same results as the last student got again.

better fix for mail attachment problem

For 15caadd there was only time for a quick hotfix. This is not good code. Please replace this piece of code with a pleasing one.

The Problem was, that only mail with an attachment could be sent. If one would add no attachment, the value for the attachment key in the POST dictionary is b'' which could not be parsed by the chosen Validator (see the following code snippet and others).

muesli/muesli/web/forms.py

Lines 833 to 837 in 15caadd

FileField('attachments',
label='Anhänge', size=64,
growable=False,
validator=validators.FieldStorageUploadConverter()
),

The Validator triggered the error “Please provide only one value” for the attachment field.

hide “wechseln” link if user are not able to change tutorial (MATHI#8369)

From RT:

Da bin ich Student und kann daher nichts umstellen. Die Zuteilung lief über Präferenzen und hat schon stattgefunden. Jetzt wird einem der Link "wechseln" angeboten für Gruppen, die aktuell nicht voll sind. Aber das funktioniert nicht. Warum sollte der Link angezeigt werden, wenn die Funktionalität nicht freigeschaltet ist?

Ich gebe dir recht, dass der Link dann eigentlich ausgeblendet werden sollte.

reimplement ./muesli-test

./muesli-test is (with python3) currently working like ./muesli-serve. Find a possibility to get the functionality of auto-restarting back.

opt out of mails

some people want to opt out of notifications due to changes in their tutorials

Entering results into other groups in interactive view

If entering results into other groups is enabled in a lecture, students from other groups should show up in interactive view.
Maybe this could be controlled by an extra option in the lecture's options or there could be an additional interactive view containing all students.

Write tests for mail functions

The mail functionality is not covered by tests so far. Because this resulted in stupid situations, test should be implemented to cover the mail delivery.

hide some tutorials (MATHI#5099)

From RT:

Wir haben Übungsgruppen eingerichtet. Die Tutoren müssen sich davon nun 2 aussuchen. Anschliessend möchten wir die Übungen mit Tutoren zum Eintragen für die Studierenden freischalten. Die Übungen, die noch keinen Tutor haben, sollen allerdings für die Studierenden unsichtbar sein. Dies funktioniert momentan nicht, diese Übungen müssen also wieder gelöscht werden. Wenn dann weitere Tutoren eingestellt werden, müssen wir deren Terminfindung momentan noch anders organisieren.

Unser Wunsch wäre es also, per Mausklick zu entscheiden, ob eine Übung für Studierende sichtbar (mit Anmeldemöglichkeit) ist oder nicht. Es wäre ausserdem hilfreich, wenn die Tutoren alle Übungstermine (auch solche, die noch keinen Tutor haben) sehen könnten.

csv export for moodle elearning (MATHI#5182)

From RT:

im kommenden Wintersemester werden auch einige Informatik-Lehrveranstaltungen die Übungsgruppenanmeldung über MÜSLI abwickeln. Zusätzlich werden, wie schon in der Vergangenheit,
moodle-Kurse für diese Übungsgruppen eingerichtet. Ist Ihnen bekonnt ob und ggf. wie die in einer MÜSLI-Übungsgruppe eingetragenen Teilnehmer (z.B. über eine csv-Datei) in einen moodle-Kurs übernommen werden können?

Store passwords securely

At the moment, all the passwords are stored as a hexdump of the sha1sum of the originally inserted password.

According to this, this is a common bad practice, because once a hacker gains access to the database it is way more easy to crack the gained hashes.

An example method is defined in

def login(request):
form = FormValidator(UserLogin())
if request.method == 'POST' and form.validate(request.POST):
user = request.db.query(models.User).filter_by(email=form['email'].strip(), password=sha1(form['password'].encode('utf-8')).hexdigest()).first()
if user is not None:
security.remember(request, user.id)
request.user = user
url = request.route_url('start')
return HTTPFound(location=url)
request.session.flash('Nicht gefunden', queue='errors')
return { 'form': form, 'user': security.authenticated_userid(request) }
and should use the Python module bcrypt as an alternative.

Tutor Mail an Übungsleiter (MATHI#6826)

From RT:

ich habe gerade eine Mail an alle Übungsleiter (bin Tutor in der […]) geschickt. Daraufhin leitet mich das Müsli iwo hin weiter wo ich anscheinend keinen Zugriff habe. Sollte das nicht wieder auf die Seite der VL geleitet werden?

ja das ist mir auch schon mal aufgefallen. Ich vermute diese Funktion gab es früher nur für Assistenten. Diese wurden dann auf die edit-Lecture Seite weitergeleitet auf die ein gemeiner Studi oder Übungsleiter kein Zugang hat, wenn ich mich recht erinnere. Bei Gelegenheit werde ich mir das mal anschauen.

respect attestation in Excel Export (MATHI#8444)

From RT:

ich wollte darauf aufmerksam machen, dass wir durch Nachfrage zweier Studierender darauf gestoßen sind, dass sich bei unser VL […] im vergangenen […] die Notenliste, die man online erstellen kann von der exportierten Excel-Liste (für das HISPOS) unterscheidet. Es geht konkret um zwei Studierende, die sich explizit nicht zur Prüfung anmelden wollten und sich deshalb aus der Vorlesung im Müsli ausgetragen haben. Auf der Online-Notenliste sind deren Namen dann auch nicht vorhanden, jedoch sind sie auf der exportierten Excel-Liste mit der Note 5 eingetragen.

Des weiteren ist mir aufgefallen, dass bei der Eintragung der Noten das Müslisystem weder ein Attest noch eine Abmeldung von der Klausur respektiert und pauschal allen Studierenden, die zur Prüfung zugelassen und nicht erschienen sind, die Note 5 einträgt. Keine Ahnung, wie viel Mühe es bereitet, das zu ändern, aber ich wollte es zumindest kommunizieren.

mail prefix for each lecture (MATHI#7826)

From RT:

Der Assistent kann unter "VL bearbeiten" direkt so einen Mailpräfix eingeben. Der wird dann auch
zwangsläufig benutzt bei allen Mails, die von der VL aus (über Müsli) verschickt werden. Ist er leer, wird eben keiner benutzt. Anbei sind noch Views, wie ich mir das ungefähr vorstelle.
muesli-mailpraefix-1
muesli-mailpraefix-2

forbid letters in matrikel (MATHI#5155)

From RT:

Um zu verhindern, dass Menschen ihre Uni-ID statt ihrer Matrikelnummer im MÜSLI eintragen, könnte man in dem Feld nur Zahlen zulassen. Eine einfache und vermutlich ausreichende Lösung wäre, type="number" für das entsprechende Feld zu setzen.

Warning when mail exceeds the size limit

Currently, mails that are too big (usually because of the attachment exceeding some mega bytes) only produce a generic error stating "Interner Fehler".
It would be better to show the tutor the real reason for the mail not being sent.

Two persons with same first and last name - matrikel# needed to disambiguate

Dear Müsli-Team,

a following problem occurred when using Müsli for lecture IBN in SS2018:
In a table for entering Klausur-results, we have two different persons with the same full name:
Daniel Wag...
Daniel Wag...

I suggest to include the Matrikelnr. in each row of such tables to disambiguate.

Best Regards,
Artur Andrzejak
snap

Quality of Life for Authentication

Currently the E-Mail field of the authentication screen is case-sensitive and does not omit trailing spaces. This led to some confusion, because suddenly your account can't be found, nut everything you typed in was correct.

Solution:
Convert email adress to lowercase and strip trailing and leading spaces. Don't forget to update the database - in case someone actually has used uppercase letters or spaces in his registration.

export should contain grade 5 for non visiting students (MATHI#6723)

From RT:

Mir ist gerade eben folgendes Problem beim Müsli-System aufgefallen: In unserer Vorlesung, […], (und meines Wissens ist es in vielen anderen Vorlesungen ebenso) müssen sich die Studenten zur Klausur anmelden. Wer sich nicht anmeldet, darf zwar nicht an der Klausur teilnehmen, verschwendet aber auch keinen Prüfungsversuch. Eine Anmeldung ist jedoch verbindlich, d.h. wer sich anmeldet und nicht zur Klausur erscheint, hat die Klausur nicht bestanden.

Beim probeweisen Exportieren der Notenliste aus dem Müsli ist mir aufgefallen, dass denjenigen Studenten, die sich zu den Klausuren angemeldet haben und nicht erschienen sind, aber keine 5 eingetragen wird, sondern das Notenfeld einfach frei bleibt. Kann man dies ändern?

UI: Link back to "Vorlesung bearbeiten" in view "Punkte eintragen (interaktiv)"

Have a link back to "Vorlesung bearbeiten" ("edit lecture") in view "Punkte eintragen (interaktiv)" ("enter credits (interactive)").

  • Right now the user (teacher role) can only use the top navigation bar, hence has to take a detour and can't go back directly to the view they came from.
  • The requested link should lead back to "Vorlesung bearbeiten" ("edit lecture").

enter grades without viewing them (MATHI#6426)

From RT:

[…] hat mir vorhin gesagt, dass er gerne Noten eintragen können würde ohne sie den Studis schon anzuzeigen. Außerdem wären Statistiken über die Noten, ähnlich wie bei der Punkteverteilung, schön.

get rid of lp_solve

MÜSLI uses a function of lp_solve which is not in upstream (Debian). Maybe one would find a packaged python package for this issue.

bug in entering points synchron (MATHI#8757)

From RT:

Synchrones Eintragen von Punkten mit dem selben Account führt zu Problemen. Dies tritt anscheinend auch manchmal auf, wenn Punkte von zwei verschiedenen Accounts für die selbe Vorlesung eingetragen werden.

News on python3

Write news, that muesli is now using python3, if completed.

export points student with 0 points (MATHI#5784)

From RT:

evtl. ist in dem Menüpunkt "Punkte exportieren" ein Bug drin. Wir haben in meiner Vorlesung einen Studenten, der zur Klausur angetreten ist, aber 0 Punkte erreicht hat. Gehe ich auf Punkte exportieren, wird dort auch die korrekte Note angezeigt, in der Spalte "Klausur" und "\Sum" steht aber nix. Das sieht dann eher soaus, als wäre er gar nicht angetreten, hätte aber trotzdem eine Note.

Inkosistenz Histogramm

Im Falle einer Aufgabe auf einem Übungsblatt sollte das Histogramm für den gesamten Übungszettel exakt das selbe sein wie das für die Übungsaufgabe. Dem ist nicht so, siehe angehängte Grafik für ein Beispiel.
screenshot_20170626_151934

round3down calculation error (MATHI#8364)

From RT:

als ich gerade Noten in Müsli berechnet habe, ist mir ein Fehler in der
round3down-Funktion aufgefallen: Es wird wohl doch nicht exakt mit Drittelnoten gerechnet, sondern mit hoher Nachkommazahl (wie auch sonst), die aber nicht gut genug abgeschnitten wird. Das kann aber dazu führen, dass eine Note zu unrecht abgewertet wird.
Beispiel:
Ein Notenteil ist eine 3 2/3, diese soll dreifach gewertet werden, der andere Notenteil ist eine 5. Mit echten Drittel kommt man auf (3*(11/3)+5)/4=4. Müsli macht daraus 4.00000025
Berechnet man round3down((3*(11/3)+5)/4) erhält man also die Note 5.

Ich habe meine Noten von Hand korrigiert, brauche also keine schnelle Lösung des Problems. Das hier ist also nur ein Bericht.

add LICENSE file

and check in advance if (almost) all files have a GPL comment at the top

Create genuine seminar mode

As of now, if one is creating a seminar as a teacher, there is no official way of assigning the topics of the talks. Instead, people use workarounds: create exercise groups for 1-2 people that start at 14:01, 14:02, etc. (for talk 1,2,...) and use the comment field for the name of the talks. That is a little cumbersome, it would be awesome if there was a way to create a "true" seminar: Create a list of talks, sorted by number/date, that have a field for the topic of the talk, and students can enroll.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.