Κοινόχρηστοι φάκελοι ή αποστολή / συλλογή αρχείων;

Ξεκίνησε από alkisg, 05 Νοε 2010, 12:54:47 ΜΜ

« προηγούμενο - επόμενο »

alkisg

Ετοιμάζουμε την υλοποίηση κοινόχρηστων φακέλων ή αποστολής/συλλογής αρχείων στα sch-scripts, και θέλουμε να ρωτήσουμε ποια από τις παρακάτω μεθόδους προτιμάτε να υλοποιηθούν, ή να προτείνετε διαφορετικές μεθόδους / ανάγκες.

1. Κοινόχρηστοι φάκελοι μόνο για ανάγνωση
Ο καθηγητής μέσα από ένα διάλογο των sch-scripts φτιάχνει φακέλους του στυλ «/home/teacher/Υλικό τμήματος a1». Αυτόματα δημιουργούνται και σύνδεσμοι (symlinks) γι' αυτόν το φάκελο π.χ. στην επιφάνεια εργασίας των μαθητών. Έτσι όταν ο καθηγητής θέλει να στείλει μια άσκηση, τη βάζει στο «Υλικό τμήματος a1», οι μαθητές την ανοίγουν από το σύνδεσμο στην επιφάνεια εργασίας τους, την κάνουν «Αποθήκευση ως» στα έγγραφά τους, την επεξεργάζονται, και όταν ο καθηγητής θέλει να δει τα αποτελέσματα, απλά περιηγείται στα «/home/username/Έγγραφα» των μαθητών, αφού όλοι οι φάκελοι είναι στο server.

2. Κοινόχρηστοι φάκελοι για εγγραφή
Αυτό αν και μπορεί να γίνει από τον ίδιο διάλογο των sch-scripts, παρουσιάζει ένα πρόβλημα: χωρίς κάποιες ειδικές ρυθμίσεις, οι μαθητές μπορούν να δημιουργήσουν νέα αρχεία σ' αυτόν το φάκελο αλλά όχι να τροποποιήσουν αρχεία που έφτιαξαν άλλοι. Θα πρέπει να κάνουν δεξί κλικ → ιδιότητες στα αρχεία τους και να δώσουν δικαίωμα εγγραφής στο group για να επιτρέψουν αλλαγές από άλλους, κάτι που δεν είναι εύκολο σε όλες τις περιπτώσεις.
Για να αποφευχθεί αυτό θα έπρεπε να γίνουν κάποιες από τις παρακάτω ρυθμίσεις στο server:
https://wiki.ubuntu.com/MultiUserManagement (ουσιαστικά αλλαγή του umask από 022 σε 007)
https://help.ubuntu.com/community/UbuntuLTSP/ACLSupport (οι ACLs προσφέρουν πιο ευέλικτα δικαιώματα)
...αλλά θέλει συζήτηση και ομοφωνία πριν τα sch-scripts προχωρήσουν σε τόσο ριζικές αλλαγές στις ρυθμίσεις του συστήματος.

3. Αποστολή αρχείων
Αντί για το (1), ή συμπληρωματικά, μπορεί να υλοποιηθεί στα sch-scripts δυνατότητα αποστολής αρχείων. Έτσι ο καθηγητής διαλέγει κάποιο αρχείο ή φάκελο, και το στέλνει μέσω ενός διαλόγου των sch-scripts σε όλα τα μέλη ενός group. Έτσι οι μαθητές το βλέπουν και το επεξεργάζονται απευθείας στα έγγραφά τους.

4. Συλλογή αρχείων
Εφόσον ο καθηγητής από προεπιλογής έχει πρόσβαση σε όλα τα αρχεία των μαθητών απλά πηγαίνοντας στο /home/username, δεν ξέρω αν έχει νόημα η συλλογή ασκήσεων. Αν πάντως έχει, τότε μπορεί ο καθηγητής να εντοπίζει το αρχείο ή φάκελο που έστειλε στους μαθητές, να εντοπίζει επίσης και ένα φάκελο όπου θέλει να λάβει τα αποτελέσματα, και τα sch-scripts να αντιγράφουν τα αντίστοιχα αρχεία των μαθητών σε αυτή τη θέση, προσθέτοντας και το όνομα του χρήστη στο όνομα του αρχείου (αφού όλα θα έχουν το ίδιο όνομα).

Τι από αυτά θέλετε να υλοποιηθεί; Εάν υλοποιηθεί αποστολή αρχείων, έχει νόημα να υλοποιηθούν και κοινόχρηστοι φάκελοι μόνο για ανάγνωση; Άλλες ιδέες;

apanagio

Παράθεση από: alkisg στις 05 Νοε 2010, 12:54:47 ΜΜ
Ετοιμάζουμε την υλοποίηση κοινόχρηστων φακέλων ή αποστολής/συλλογής αρχείων στα sch-scripts, και θέλουμε να ρωτήσουμε ποια από τις παρακάτω μεθόδους προτιμάτε να υλοποιηθούν, ή να προτείνετε διαφορετικές μεθόδους / ανάγκες.

1. Κοινόχρηστοι φάκελοι μόνο για ανάγνωση
Ο καθηγητής μέσα από ένα διάλογο των sch-scripts φτιάχνει φακέλους του στυλ «/home/teacher/Υλικό τμήματος a1». Αυτόματα δημιουργούνται και σύνδεσμοι (symlinks) γι' αυτόν το φάκελο π.χ. στην επιφάνεια εργασίας των μαθητών. Έτσι όταν ο καθηγητής θέλει να στείλει μια άσκηση, τη βάζει στο «Υλικό τμήματος a1», οι μαθητές την ανοίγουν από το σύνδεσμο στην επιφάνεια εργασίας τους, την κάνουν «Αποθήκευση ως» στα έγγραφά τους, την επεξεργάζονται, και όταν ο καθηγητής θέλει να δει τα αποτελέσματα, απλά περιηγείται στα «/home/username/Έγγραφα» των μαθητών, αφού όλοι οι φάκελοι είναι στο server.
Πολύ χρήσιμη λειτουργία,  έχει το επιπλέον πλεονέκτημα ότι αρκεί να γίνει μία φορά και μετά ό,τι βάζεις στο φάκελο "εμφανίζεται" στα παιδιά. Αυτό είναι σημαντικό ιδίως σε περιπτώσεις που κάποιος/α συνάδελφος (εκτός από εμάς που το λύνουμε και το δένουμε το εργαλείο) θέλει να χρησιμοποιήσει το εργαστήριο για το δικό του/της μάθημα.


Παράθεση από: alkisg στις 05 Νοε 2010, 12:54:47 ΜΜ
2. Κοινόχρηστοι φάκελοι για εγγραφή
Αυτό αν και μπορεί να γίνει από τον ίδιο διάλογο των sch-scripts, παρουσιάζει ένα πρόβλημα: χωρίς κάποιες ειδικές ρυθμίσεις, οι μαθητές μπορούν να δημιουργήσουν νέα αρχεία σ' αυτόν το φάκελο αλλά όχι να τροποποιήσουν αρχεία που έφτιαξαν άλλοι. Θα πρέπει να κάνουν δεξί κλικ → ιδιότητες στα αρχεία τους και να δώσουν δικαίωμα εγγραφής στο group για να επιτρέψουν αλλαγές από άλλους, κάτι που δεν είναι εύκολο σε όλες τις περιπτώσεις.
Για να αποφευχθεί αυτό θα έπρεπε να γίνουν κάποιες από τις παρακάτω ρυθμίσεις στο server:
https://wiki.ubuntu.com/MultiUserManagement (ουσιαστικά αλλαγή του umask από 022 σε 007)
https://help.ubuntu.com/community/UbuntuLTSP/ACLSupport (οι ACLs προσφέρουν πιο ευέλικτα δικαιώματα)
...αλλά θέλει συζήτηση και ομοφωνία πριν τα sch-scripts προχωρήσουν σε τόσο ριζικές αλλαγές στις ρυθμίσεις του συστήματος.
Επίσης χρήσιμο. Κοινόχρηστοι φάκελοι για εγγραφή έχουν νόημα αν θέλει ο/η καθηγητής/τρια να αφήνει τα παιδιά να ανταλλάζουν αρχεία. Επίσης κατά τη διάρκεια διαγωνισμάτων θα μπορεί να απενεργοποιεί τον κοινόχρηστο αυτό φάκελο. Για το πρόβλημα που αναφέρεις η αλλαγή του umask του φακέλου έχει κάποιες παρενέργειες; Δεν μου φαίνεται κακή. Παντως και καθόλου αν δεν μεριμνήσουμε για αυτό, τα παιδιά θα μπορούν να πάρουν τοπικά ένα αντίγραφο αν θέλουν να το αλλάξουν.

Παράθεση από: alkisg στις 05 Νοε 2010, 12:54:47 ΜΜ
3. Αποστολή αρχείων
Αντί για το (1), ή συμπληρωματικά, μπορεί να υλοποιηθεί στα sch-scripts δυνατότητα αποστολής αρχείων. Έτσι ο καθηγητής διαλέγει κάποιο αρχείο ή φάκελο, και το στέλνει μέσω ενός διαλόγου των sch-scripts σε όλα τα μέλη ενός group. Έτσι οι μαθητές το βλέπουν και το επεξεργάζονται απευθείας στα έγγραφά τους.
Προτιμώ τη λύση 1, πιστεύω ότι βοηθάει και τα παιδιά να καταλάβουν λίγο τη δικτύωση των υπολογιστών
Δεν πιστεύω ότι πρέπει να δοθεί προτεραιότητα στην υλοποίηση αυτή

Παράθεση από: alkisg στις 05 Νοε 2010, 12:54:47 ΜΜ
4. Συλλογή αρχείων
Εφόσον ο καθηγητής από προεπιλογής έχει πρόσβαση σε όλα τα αρχεία των μαθητών απλά πηγαίνοντας στο /home/username, δεν ξέρω αν έχει νόημα η συλλογή ασκήσεων. Αν πάντως έχει, τότε μπορεί ο καθηγητής να εντοπίζει το αρχείο ή φάκελο που έστειλε στους μαθητές, να εντοπίζει επίσης και ένα φάκελο όπου θέλει να λάβει τα αποτελέσματα, και τα sch-scripts να αντιγράφουν τα αντίστοιχα αρχεία των μαθητών σε αυτή τη θέση, προσθέτοντας και το όνομα του χρήστη στο όνομα του αρχείου (αφού όλα θα έχουν το ίδιο όνομα).
Και αυτή η λειτουργία θα είναι χρήσιμη ιδίως για διαγωνίσματα. Για περιπτώσεις που έχουμε πολλούς μαθητές/τριες είναι σωτήριο να μπορείς να πάρεις όλα τα διαγωνίσματα με τη μία και να μην πρέπει κάθε φορά να μπαίνεις στο φάκελο των μαθητών/τριών. Για τη λειτουργία αυτή θα ήταν καλύτερα να δημιουργούνταν και ξεχωριστός φάκελος ανά τμήμα.
Καμιά φορά η απάντηση σε μια άσκηση είναι ένα διαφορετικό αρχείο, ή ακόμα και περισσότερα του ενός αρχεία. Η συλλογή θα μπορούσε να γίνει από φάκελο με συγκεκριμένο όνομα.

Stavros Papadakis

Το (1) είναι "απαραίτητο". Προσωπικά έχω δημιουργήσει για κάθε τμήμα ένα φάκελο με read permissions για το group της τάξης και "εμφύτευσα" χειρωνακτικά τα απαραίτητα symbolic links στο φάκελο κάθε μαθητή. Φυσικά η αυτοματοποίηση που θα δοθεί είναι καλοδεχούμενη!
Το (2) νομίζω έχει νόημα μόνο αν μιλάμε για ACL. Προσωπικά δεν θα ήθελα όμως system wide αλλαγές.
Θεωρώ επίσης το (3) χρήσιμο, είτε συμπληρωματικά είτε όχι, στο (1).

mkassapakis

Γνώμη μου είναι ότι το 2 δεν είναι ανάγκη να υλοποιηθεί. Καλύτερα τα πράγματα να είναι ξεκάθαρα και απλά στο θέμα αυτό. Δηλαδή, read only.

Εγώ μέχρι τώρα δουλεύω τη λύση 1, μετά από "χειρωνακτική" δημιουργία των φακέλων και των links σε κάθε χρήστη. Δουλεύει μια χαρά, αλλά είναι λίγο "σπαστικό" για κάθε αρχείο σε κάθε μάθημα να χρειάζεται οι μαθητές να το αντιγράψουν πρώτα στον Προσωπικό Φάκελο τους (και μάλιστα στη σωστή θέση, που δεν συμβαίνει πάντα!). Ναι, κάνω μάθημα σε Γυμνάσιο, καλά το καταλάβατε ;)

Θα προτιμούσα λοιπόν μια υλοποίηση του 3 και 4, ώστε τα πράγματα να απλοποιηθούν αρκετά, τόσο για τους μαθητές όσο και τον καθηγητή. Δηλαδή, εμείς να έχουμε την "ευθύνη" του δώσε και πάρε.

Καλή συνέχεια και καλή δύναμη παίδες!
Κασσαπάκης Μιχάλης - ΠΕ19

alkisg

Παράθεση από: apanagio στις 05 Νοε 2010, 02:46:31 ΜΜ
Επίσης χρήσιμο. Κοινόχρηστοι φάκελοι για εγγραφή έχουν νόημα αν θέλει ο/η καθηγητής/τρια να αφήνει τα παιδιά να ανταλλάζουν αρχεία. Επίσης κατά τη διάρκεια διαγωνισμάτων θα μπορεί να απενεργοποιεί τον κοινόχρηστο αυτό φάκελο. Για το πρόβλημα που αναφέρεις η αλλαγή του umask του φακέλου έχει κάποιες παρενέργειες; Δεν μου φαίνεται κακή. Παντως και καθόλου αν δεν μεριμνήσουμε για αυτό, τα παιδιά θα μπορούν να πάρουν τοπικά ένα αντίγραφο αν θέλουν να το αλλάξουν.

Το umask καθορίζει το τι δικαιώματα έχουν τα καινούργια αρχεία που δημιουργούνται. Η προεπιλεγμένη τιμή στο Debian και στο Ubuntu είναι 022, που σημαίνει ότι ο owner έχει πλήρη δικαιώματα, ενώ το group και οι others έχουν μόνο εκτέλεσης και ανάγνωσης.

Έτσι οι μαθητές έχουν ήδη τη δυνατότητα ανταλλαγής αρχείων, απλά πρέπει να πάνε να βρούνε τα αρχεία των άλλων μαθητών στο /home/other-student αντί να έχουν ένα σύνδεσμο στην επιφάνεια εργασίας τους για έναν κοινόχρηστο φάκελο.

Αν κάποιος θέλει να απαγορεύσει στους μαθητές να βλέπουν ο καθένας τα αρχεία του άλλου, μπορεί να αλλάξει το umask σε 077 (owner = όλα, group και others = τίποτα). Ή, να εκτελέσει την εντολή chmod 700 /home/* (τα νούμερα στην chmod είναι τα συμπληρωματικά της μάσκας umask).

Τα δικαιώματα για τα group είναι ελαφρώς πιο μπλεγμένα. Από προεπιλογής στο Ubuntu κάθε χρήστης έχει σαν primary group ένα μοναδικό group συνώνυμο με το username του, π.χ. user:user. Έτσι στους προσωπικούς φακέλους των μαθητών, το μεσαίο νούμερο της umask δεν έχει σημασία, αφού μόνο ο μαθητής ανήκει στο προσωπικό του group. Θα είχε σημασία αν κάποιος sysadmin πείραζε μόνος του τα defaults ώστε ο κάθε μαθητής να έχει primary group π.χ. το class-a1 αντί για το username του. Αυτόν μόνο θα ενοχλήσει η αλλαγή του umask, εάν αποφασίσουμε να την κάνουμε.

Έτσι, κάνοντας την προεπιλεγμένη umask π.χ. 002, αυτό σημαίνει ότι δίνουμε στους μαθητές του ίδιου τμήματος δικαίωμα να πειράξουν τα αρχεία τα οποία κάνουμε *μόνο* στον κοινόχρηστο φάκελο. Δεν επηρεάζεται δηλαδή η πρόσβαση στο /home/username αλλά μόνο στο /home/teacher/Έγγραφα/Κοινόχρηστος a1.

Κι αν αποφασίσουμε τελικά να την αλλάξουμε, μπορούμε αν θέλουμε την κάνουμε 007 ώστε επιπρόσθετα να απαγορεύσουμε στους μαθητές να βλέπει ο ένας τα αρχεία στο /home/username του άλλου.

poursali

επειδή μου αρέσει αν βλέπω πάντα τα πράγματα σφαιρικά δεν θα ψηφίσω τι ακριβώς θέλω.
θα πω μόνο ότι η όποια επιλογή δεν θα πρέπει να δυσκολεύει τον καθηγητή να την προσαρμόσει στις δικές του ανάγκες. αποκλείεται να θέλουμε όλοι το ίδιο και αν ακόμα ένα σημαντικό ποσοστό είναι υπέρ μιας λύσης κάποιοι άλλοι ίσως κουραστούν να κάνουν τη δουλειά τους με αυτή.

οπότε αν έπρεπε αν ψηφίσω θα έλεγα ότι θέλω μια λύση που να την έχουν ως βάση όλοι και από εκεί και πέρα να προσαρμόζεται εύκολα στις ανάγκες του καθενός μας.

παρόλα αυτά Άλκη, αν θέλεις και νομίζεις ότι έχει νόημα βάλε μια ψηφοφορία, αλλά με τη δυνατότητα να μπορούμε να επιλέξουμε πάνω από μια απάντηση ;)
μετρον αριστον
είμαι τζαμπατζής, χρησιμοποιώ λίνουξ

odysseas

Μεταξύ του (1) και του (3) νομίζω ότι η ουσιαστικότερη διαφορά είναι το γεγονός ότι με το (1) ο μαθητής καλείται να κάνει ένα επιπλέον βήμα: να αποθηκεύσει το αρχείο στον κατάλογό του. Αν αυτό είναι "καλό" ή "κακό" (φαίνεται ότι) είναι θέμα οπτικής γωνίας. Και βλέπω ότι και για το (1) και για το (3) υπάρχουν ουσιαστικά επιχειρήματα.

Οπότε, αν έπρεπε να διαλέξω ένα από τα δύο θα διάλεγα το (3), αλλά νομίζω ότι η εφαρμογή θα ήταν πληρέστερη αν μπορούσε να προσφέρει και τα δύο.

Έχω και μια ερώτηση, για να μαθαίνουμε και τίποτα: πόσο απλό θα ήταν να προστεθεί μια επιλογή στο context menu του nautilus, έτσι ώστε να κάνουμε δεξί κλικ σε έναν κατάλογο ή ένα αρχείο και να ενεργοποιείται από εκεί το (3), δηλαδή κάτι σαν "Αποστολή προς...";

Τέλος, όσον αφορά στο (4), τη συλλογή ασκήσεων, δεν μου είναι ξεκάθαρο πως θα υλοποιηθεί η αλληλεπίδραση με το χρήστη. Αν κατάλαβα καλά από την περιγραφή, η συλλογή ασκήσεων σχετίζεται με την αποστολή, δηλαδή στέλνουμε ένα αρχείο σε όλους τους μαθητές και στη συνέχεια το συλλέγουμε; Να υποθέσω ότι αν δεν υπάρχει αρχείο "εκκίνησης" για τους μαθητές, τους στέλνουμε απλά ένα κενό αρχείο για να έχουμε μετά κάτι να μαζέψουμε;

alkisg

Παράθεση από: odysseas στις 07 Νοε 2010, 09:11:36 ΜΜ
Οπότε, αν έπρεπε να διαλέξω ένα από τα δύο θα διάλεγα το (3), αλλά νομίζω ότι η εφαρμογή θα ήταν πληρέστερη αν μπορούσε να προσφέρει και τα δύο.

Απ' ότι φαίνεται υπάρχει ζήτηση και για τα δύο, οπότε μάλλον θα υλοποιηθούν και τα δύο. ;)

Παράθεση από: odysseas στις 07 Νοε 2010, 09:11:36 ΜΜ
Έχω και μια ερώτηση, για να μαθαίνουμε και τίποτα: πόσο απλό θα ήταν να προστεθεί μια επιλογή στο context menu του nautilus, έτσι ώστε να κάνουμε δεξί κλικ σε έναν κατάλογο ή ένα αρχείο και να ενεργοποιείται από εκεί το (3), δηλαδή κάτι σαν "Αποστολή προς...";

Το nautilus context menu για την αποστολή / λήψη αρχείων το είχα σκεφτεί από πρόπερσι, αλλά υπάρχουν τα εξής θέματα, τα οποία θέλουν λίγο μελέτη πριν προχωρήσουμε σε υλοποίηση:

  • Τα nautilus scripts που είναι σε shell και άρα πιο εύκολα στην υλοποίηση, είναι μόνο για τον τρέχοντα χρήστη και όχι για όλους τους χρήστες. Άρα θα έπρεπε να γίνει ξεχωριστή εγκατάσταση για κάθε καθηγητή, κάτι που ίσως να μη βολεύει, ή να ανοίγουμε ένα root nautilus, το οποίο μπορεί να προκαλέσει προβλήματα σε μη έμπειρους καθηγητές.
  • Υπάρχει όμως μια βιβλιοθήκη python-nautilus η οποία επιτρέπει και system-wide nautilus context menus. Δεν ξέρω όμως αν επιτρέπει αυτά να εμφανίζονται μόνο στους καθηγητές και όχι στους μαθητές, και δεν φαίνεται να τη χρησιμοποιούν και πολλοί. Οι πιο πολλοί χρησιμοποιούν C για τα nautilus plugins, και σ' αυτήν την περίπτωση χρειάζεται αρκετά περισσότερος χρόνος για την υλοποίηση.
  • Τα sch-scripts τρέχουν ως root και έχουν δικαίωμα αντιγραφής αρχείων σε φακέλους μαθητών. Από τον nautilus θα έβγαινε prompt για εισαγωγή κωδικού sudo στην αρχή των αντιγραφών.
  • Από την άλλη, στα sch-scripts ο διάλογος ίσως να μην επιτρέπει ταυτόχρονη επιλογή αρχείων και φακέλων μαζί, ενώ στον nautilus επιτρέπεται. Μικρό το κακό, μπορεί ο καθηγητής να τα βάζει όλα σε κάποιον υποφάκελο.

Παράθεση από: odysseas στις 07 Νοε 2010, 09:11:36 ΜΜ
Τέλος, όσον αφορά στο (4), τη συλλογή ασκήσεων, δεν μου είναι ξεκάθαρο πως θα υλοποιηθεί η αλληλεπίδραση με το χρήστη. Αν κατάλαβα καλά από την περιγραφή, η συλλογή ασκήσεων σχετίζεται με την αποστολή, δηλαδή στέλνουμε ένα αρχείο σε όλους τους μαθητές και στη συνέχεια το συλλέγουμε; Να υποθέσω ότι αν δεν υπάρχει αρχείο "εκκίνησης" για τους μαθητές, τους στέλνουμε απλά ένα κενό αρχείο για να έχουμε μετά κάτι να μαζέψουμε;

Για το interface του (3) και του (4) επίτηδες δεν ήμουν πολύ αναλυτικός για να εστιάσουμε στις λειτουργίες και όχι στο interface. Για παράδειγμα μπορεί όπως είπες να γίνει μέσω nautilus αντί να γίνει μέσα από τα sch-scripts.

Για την αποστολή αρχείων, εάν υλοποιηθεί εντός των sch-scripts, ο καθηγητής ως πρώτο βήμα θα επιλέγει τις ομάδες (τμήματα) όπου θέλει να στείλει τα αρχεία. Στη συνέχεια θα πηγαίνει στο μενού Ομάδες → Αποστολή αρχείων, όπου θα και του βγαίνει ένας διάλογος επιλογής αρχείων.
Εάν υλοποιηθεί από context menu του nautilus, τα δύο πρώτα βήματα είναι αντίστροφα, δηλαδή πρώτα επιλέγει τα αρχεία και μετά του βγαίνει διάλογος για την επιλογή ομάδων.

Στον ίδιο διάλογο, ως τρίτο βήμα ζητείται ο προορισμός:
Αποστολή επιλεγμένων αρχείων στο φάκελο: [Εικόνες ↓]


Το [Εικόνες ↓] είναι combo box που περιέχει τους γνωστούς φακέλους Επιφάνεια εργασίας, Έγγραφα κτλ, με στόχο να δουλεύει ακόμα και για μαθητές που δεν χρησιμοποιούν ελληνικά ονόματα φακέλων (ο προορισμός θα μεταφράζεται αυτόματα στη γλώσσα του μαθητή). Εάν ο καθηγητής θέλει να τα στείλει σε κάποιον υποφάκελο αυτών των γνωστών φακέλων, θα πρέπει για λόγους απλότητας του interface να έχει τοποθετήσει σε κάποιον υποφάκελο τα πηγαία του αρχεία.

Στη συνέχεια έρχεται η ώρα της συλλογής αρχείων. Εάν ο καθηγητής δεν είχε χρησιμοποιήσει την αποστολή, και είχε πει απλά στους μαθητές να φτιάξουν μια εικόνα «/home/username/Εικόνες/Εικόνα 1.png», τι γίνεται αν οι μαθητές το βάλουν στην επιφάνεια εργασίας τους κατά λάθος, ή αν το ονομάσουν «Εικονα 1.png» χωρίς τόνο ή «eikona1.PNG» σε greeklish;
Οπότε όπως λες σαν πρώτο βήμα θα είναι καλό πάντα να γίνεται αποστολή αρχείων πριν τη λήψη τους, έστω και μόνο ενός κενού αρχείου ή φακέλου, εκτός αν ο καθηγητής είναι σίγουρος ότι τα ονόματα που θα δώσουν οι μαθητές θα είναι σωστά.

Στο διάλογο της συλλογής (ή στο nautilus) ο καθηγητής πάλι διαλέγει τα αρχεία που είχε στείλει, ώστε να μη χρειάζεται να πληκτρολογήσει τα ονόματα. Και πάλι του εμφανίζεται και ένα combo box με την πηγή των αρχείων:
Συλλογή επιλεγμένων αρχείων από το φάκελο: [Εικόνες ↓]


Επίσης ζητείται από τον καθηγητή ο φάκελος προορισμού, π.χ. /home/teacher/Έγγραφα/Συλλεγμένες ασκήσεις.
Και έτσι τα αρχεία θα πηγαίνουν αυτόματα σε υποφακέλους με ονόματα /home/teacher/Έγγραφα/Συλλεγμένες ασκήσεις/groupname/username/αρχεία.
Θα μπορούσε αντί να φτιάχνονται υποφάκελοι groupname/username να ζητείται από τον καθηγητή να συμπληρώσει κάποιο template για τα ονόματα των αρχείων, αλλά αυτό μάλλον θα πρόσθετε πολυπλοκότητα χωρίς ουσιαστικό όφελος.

Οπότε μάλλον προχωράμε στην υλοποίηση και των 4 ιδεών... :)

gidarakos

Παράθεση από: alkisg στις 05 Νοε 2010, 12:54:47 ΜΜ
1. Κοινόχρηστοι φάκελοι μόνο για ανάγνωση
Ο καθηγητής μέσα από ένα διάλογο των sch-scripts φτιάχνει φακέλους του στυλ «/home/teacher/Υλικό τμήματος a1». Αυτόματα δημιουργούνται και σύνδεσμοι (symlinks) γι' αυτόν το φάκελο π.χ. στην επιφάνεια εργασίας των μαθητών. Έτσι όταν ο καθηγητής θέλει να στείλει μια άσκηση, τη βάζει στο «Υλικό τμήματος a1», οι μαθητές την ανοίγουν από το σύνδεσμο στην επιφάνεια εργασίας τους, την κάνουν «Αποθήκευση ως» στα έγγραφά τους, την επεξεργάζονται, και όταν ο καθηγητής θέλει να δει τα αποτελέσματα, απλά περιηγείται στα «/home/username/Έγγραφα» των μαθητών, αφού όλοι οι φάκελοι είναι στο server.
Άλκη μέχρι να φτιαχτεί κάτι αυτοματοποιημένο στα sch-scripts μπορείς να μας δώσεις ένα παράδειγμα (εντολές που πρέπει να ακολουθήσουμε για ένα τμήμα) γι' αυτή τη λύση που πιστεύω θα εξυπηρετήσει αρκετούς;

alkisg

#9
Έχει υλοποιηθεί εδώ και μήνες στα sch-scripts και με GUI και ανά group και όλα τα καλά, όμως δεν έχει γίνει εκτενές testing και γι' αυτό δεν αναρτήθηκε καινούργια έκδοση.

Να μια γρήγορη λύση:
for f in /home/*/Επιφάνεια\ εργασίας; do
    if [ ! -e "$f/Υλικό μαθήματος" ]; then
        sudo ln -s "$HOME/Δημόσια" "$f/Υλικό μαθήματος"
    fi
done

gidarakos

Μια χαρά!
Πότε να περιμένουμε update στα sch-scripts; Σύντομα ή στην επόμενη LTS;

Υ.Γ. Αυτά που λέγαμε σε προηγούμενο θέμα, τώρα τα βρήκα μπροστά μου!  :-\
Είναι θέμα τα permissions!


gidarakos

Άλκη την πρώτη φορά που έτρεξα τις εντολές όλα ok!
Στη συνέχεια έσβησα τον φάκελο "Υλικό μαθήματος" από την επιφάνεια εργασίας του server και ξαναέτρεξα τις εντολές.
Το αποτέλεσμα ήταν στην επιφάνεια εργασίας να δημιουργηθεί η συντόμευση "Υλικό μαθήματος". ok!
Ανοίγοντας στη συνέχεια τη συντόμευση μου εμφανίζει τον φάκελο "Δημόσια". ok!
Αλλά μέσα στον φάκελο "Δημόσια" είχε δημιουργηθεί μία συντόμευση στον "Δημόσια"!!!
Έσβησα τη συντόμευση "Δημόσια" μέσα από τον φάκελο "Δημόσια" και όλα όπως πριν!

Αλλά:
1. Έκανα κάτι λάθος;
2. Αν θέλουμε και στους άλλους χρήστες να αφαιρέσουμε τις συντομεύσεις (εκτός το ότι μπορεί να το κάνει ο ίδιος ο χρήστης) πρέπει να γίνει κάτι αντίστοιχο με επαναλήψεις;

alkisg

Σόρρυ το έγραψα χωρίς δοκιμή, ήθελε -e αντί για -f, το διόρθωσα.

Για αφαίρεσή τους:
sudo rm /home/*/Επιφάνεια\ εργασίας/Υλικό\ μαθήματος

aspd

Τώρα που τελείωσαν τα μαθήματα σκέφτομαι πώς να οργανώσω τους φακέλους των μαθητών για την επόμενη χρονιά.
1ος τρόπος (σωστός και καλός, όπως περιγράφεται παραπάνω): φτιάχνω έναν λογαριασμό ανά μαθητή. Στο server βάζω το υλικό μου σε ένα φάκελο (με όνομα π.χ. ΥΛΙΚΟ). Συντόμευση αυτού του φακέλου βάζω στην επιφάνεια εργασίας του κάθε μαθητή. Οι μαθητές ανοίγουν τα αρχεία ασκήσεων και τα αποθηκεύουν στον προσωπικό τους φάκελο. Επιπλέον, πρέπει να μπορεί να γίνεται αποστολή ενός αρχείου ασκήσεων, όπου στο όνομα του αρχείου θα γίνεται append το username, στον προσωπικό φάκελο κάθε μαθητή ενός τμήματος. Η συλλογή ασκήσεων αυτόματα είναι απαραίτητη.

2ος τρόπος (όχι τόσο σωστός, αλλά έλα που με βολεύει! Αυτόν εφάρμοσα τη χρονιά που πέρασε). 9 λογαριασμοί συνολικά (1 για κάθε υπολογιστή). Στο server είχα φτιάξει ένα φάκελο ΤΜΗΜΑΤΑ, όπου μέσα είχα μία δομή σαν την παρακάτω:
φάκελος Α1.1 με υποφακέλους: Μαρία_Χ, Νίκος_Υ, ... Γιώργος_Ζ
φάκελος Α1.2 με υποφακέλους: Θανάσης_Χ ...
...
Στο server είχα το φάκελο ΥΛΙΚΟ και είχα φτιάξει συντόμευσή του στην επιφάνεια εργασίας στους 9 users. Επίσης είχα συντόμευση του φακέλου ΤΜΗΜΑΤΑ με δικαιώματα εγγραφής στην επιφάνεια εργασίας στους 9 users.
Έτσι όταν ήθελα να μοιράσω μία άσκηση ή την έβαζα στον φάκελο ΥΛΙΚΟ, ή την αντέγραφα αυτόματα στους υποφακέλους π.χ. του τμήματος Α1.1, για να την έχουν οι μαθητές έτοιμη. Η συλλογή των ασκήσεων καθώς και τα αντίγραφα ασφαλείας ήταν πανεύκολη, αφού απλώς αντιγράφα το φάκελο ΤΜΗΜΑΤΑ, που ήταν στο server, στο φλασάκι μου. Μειονέκτημα ήταν ότι οι φάκελοι δεν ήταν ασφαλείς, αφού μπορούσε ένας μαθητής να σβήσει κατά λάθος κάτι από το φάκελο άλλου μαθητή, αλλά όλη τη χρονιά δεν είχα κανένα τέτοιο πρόβλημα και κράταγα ανά εβδομάδα backup.
Ο πρώτος τρόπος είναι σίγουρα πιο σωστός, οργανωμένος και ασφαλής, αλλά δεν έχω πειστεί τελείως ότι η καθημερινή μου δουλειά θα είναι όσο βολική είναι με το 2ο τρόπο.
Είναι πιθανό σε άλλα τμήματα να εφαρμόσω τον έναν τρόπο και σε άλλα τον άλλον για να δω τι με βολεύει τελικά περισσότερο.