maellak / openeclass Goto Github PK
View Code? Open in Web Editor NEWThe Open eClass Platform 3.0 - maellak fork
Home Page: http://www.openeclass.org/
The Open eClass Platform 3.0 - maellak fork
Home Page: http://www.openeclass.org/
EN - English ---------------------------------------------------------- The Open eClass Platform 3.0 (http://www.openeclass.org) ---------------------------------------------------------- The Open eClass platform (formerly known as GUnet eClass), is a complete Course Management System, used to store and present educational materials. It is the solution offered by the Greek Academic Network (GUnet) to support asynchronous elearning services. Its goal is the incorporation and constructive use of the Internet and web technologies in the teaching and learning process. Distribution of the platform started on March 2003 and the current version is the twelveth in a row. It is designed and developed by the GUnet Asychronous eLearning group as an open source software (under GNU GPL Licence). Also, there were many useful ideas and contributions from various users and developers. We would like to express our gratitude to all of them for their support. A complete list of contributors can be found in the CREDITS.txt file. Sincerely, Gunet Asychronous eLearning Group October 2014 EL - Ελληνικά ---------------------------------------------------------- Πλατφόρμα Open eClass 3.0 (http://www.openeclass.org) ---------------------------------------------------------- Η πλατφόρμα Open eClass (παλιότερη ονομασία: GUnet eClass), είναι ένα ολοκληρωμένο Σύστημα Διαχείρισης Ηλεκτρονικών Μαθημάτων και αποτελεί την πρόταση του Ακαδημαϊκού Διαδικτύου GUnet για την υποστήριξη της Υπηρεσίας Ασύγχρονης Τηλεκπαίδευσης. Αναπτύχθηκε από την Ομάδα Ασύγχρονης Τηλεκπαίδευσης του Ακαδημαϊκού Διαδικτύου, υποστηρίζεται κεντρικά από το GUnet και διανέμεται ελεύθερα ως Λογισμικό Ανοικτού Κώδικα. Η διάθεση της πλατφόρμας ξεκίνησε το Μάρτιο του 2003 και σήμερα (31/12/2011), διανέμεται η δωδέκατη κατά σειρά έκδοση της πλατφόρμας (Open eClass 3.0). Όλα αυτά τα χρόνια, χρησιμοποιείται με επιτυχία από το σύνολο σχεδόν των Ακαδημαϊκών Ιδρυμάτων της χώρας καθώς κι από ένα πλήθος άλλων εκπαιδευτικών οργανισμών, υποστηρίζοντας ενεργά τις δράσεις Ασύγχρονης Τηλεκπαίδευσης και Κατάρτισης. Στόχος της είναι η παροχή υποδομών εκπαίδευσης και κατάρτισης ανεξάρτητα από τους περιοριστικούς παράγοντες του χώρου και του χρόνου της κλασσικής διδασκαλίας, καθώς και η εισαγωγή των νέων τεχνολογιών στην εκπαιδευτική διαδικασία. Για την επίτευξη του παραπάνω στόχου η πλατφόρμα eClass υποστηρίζει την ηλεκτρονική οργάνωση, αποθήκευση και παρουσίαση του εκπαιδευτικού υλικού, που προσφέρεται σήμερα στους εκπαιδευόμενους με παραδοσιακά μέσα (βιβλία, σημειώσεις, κ.λπ.), σε ψηφιακή μορφή άμεσα προσβάσιμη από το Διαδίκτυο. Η Ομάδα Ασύγχρονης Τηλεκπαίδευσης του GUnet θα ήθελε να ευχαριστήσει όλους τους χρήστες της πλατφόρμας που με τη συμμετοχή, τα σχόλια και τις παρατηρήσεις τους, συμβάλλουν διαρκώς στη περαιτέρω ανάπτυξη και βελτίωσή της. Η υποστήριξή τους μας δίνει τη δύναμη να συνεχίσουμε την προσπάθεια. Παράλληλα θα θέλαμε να ευχαριστούμε θερμά όλους αυτούς που συνέβαλλαν στην ανάπτυξη και βελτίωση της πλατφόρμας. (Περισσότερες πληροφορίες στο αρχείο CREDITS.txt) Με τιμή, Ομάδα Ασύγχρονης Τηλεκπαίδευσης GUnet Οκτώβριος 2014
Αυτή η οθόνη θα εμφανίζει μια λίστα με τα forums ενός μαθήματος
Σε αυτή την οθόνη ο χρήστης θα μπορεί να γράψει ένα νέο topic σε forum (ας μη βάλουμε replies προς το παρόν)
Επειδή ασχολούμαστε τώρα με issue 70, το οποίο κάνουμε χρησιμοποιώντας σαν βάση τον κώδικα για το issue 69, θεωρώ ότι ενδεχομένως να υπάρχει ένα πρόβλημα στο issue 69. Συγκεκριμένα, στην γραμμη 80 του work_result_rpt
function get_assignment_submit_details($sid) {
return Database::get()->querySingle("SELECT * FROM assignment_submit WHERE id = ?d",$sid);
}
τραβάει το assignment_submit_details με βάση τον κωδικό του assignment μόνο, ενώ θα έπρεπε να ελέγχει και το uid. Αν υποβληθούν παραπάνω από μία submits θα υπάρχει προβλημα
Αυτός ο πόρος θα επιστρέφει τις ανακοινώσεις στα ίδια πλαίσια με το GET /announcements, αλλά επιπρόσθετα θα εμφανίζει και αναρτήσεις εγγράφων, ασκήσεων και εργασιών.
Φέρνει τα posts που ανήκουν στην περιοχή συζητήσεων με id :did που ανήκει στο μάθημα :cid
Αυτός ο πόρος θα αφορά τα έγγραφα που έχουν αναρτηθεί σ ένα μάθημα (παρουσιάσεις, σημειώσεις κτλ.). Θα υποστηρίζει μόνο μέθοδο GET. Επιπλέον θα επιτρέπει το "κατέβασμα" ενός εγγράφου μέσα από URL του τύπου /courses/:cid/documents/:did
Αυτός ο πορος θα αφορά τις ανακοινώσεις από όλα τα μαθήματα στα οποία είναι εγγεγραμμένος ο φοιτητής (θα κάνει δηλαδή aggregation). Θα υποστηρίζει μόνο μέθοδο GET.
Ο κώδικας που αναπτύχθηκε για τον κριτή είναι άμεσα συνδεδμένος με τη χρήση της υπηρεσίας hackerearth για το compilation/execution. Αυτό θα πρέπει να αλλάξει και ο κώδικας που αφορά το συγκεκριμένο μέρος να γίνει modular ώστε να μπορούν εύκολα να προσθαφαιρούνται άλλες αντίστοιχες υπηρεσίες.
Μια πιθανή αντίστοιχη υπηρεσία είναι το http://compileonline.com/
Στο τέλος της εγκατάστασης εμφανιστηκε το παρακάτω sql error. Ολοκληρώθηκε κανονικά όμως. Το βάζω εδώ να το κοιτάξουμε σε περίπτωση που μας δημιουργήσει πρόβλημα.
In file C:\xampp\htdocs\openeclass\install\install_db.php on line 684
Error: Unable to execute statement with error: "You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax to
use near ' `attempt_status` tinyint(4) NOT NULL DEFAULT 1, ' at line 9" (SQLSTATE=1064 ERROR=42000)
[Statement='CREATE TABLE IF NOT EXISTS `exercise_user_record` ( `eurid` INT(11) NOT NULL AUTO_INCREMENT
PRIMARY KEY, `eid` INT(11) NOT NULL DEFAULT 0, `uid` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT 0,
`record_start_date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `record_end_date` DATETIME DEFAULT NULL,
`total_score` INT(11) NOT NULL DEFAULT 0, `total_weighting` INT(11) DEFAULT 0, `attempt` INT(11) NOT NULL DEFAULT 0),
`attempt_status` tinyint(4) NOT NULL DEFAULT 1, `secs_remaining` INT(11) NOT NULL DEFAULT '0')
DEFAULT CHARACTER SET=utf8' Elapsed=0.00097599999999998]
Φέρνει τις περιοχές συζητήσεων που ανήκουν στο μάθημα :cid
Όταν μια εργασία διορθώνεται με τη βοήθεια αυτόματου κριτή, εμφανίζονται δύο flash messages ως εξής (και όπως φαίνεται αναλυτικότερα στο συννημένο screenshot):
Αυτά θα πρέπει να συγχωνευτούν σε ένα, ιδανικά με διαφορετικό κείμενο όταν γίνεται αυτόματη διόρθωση μέσω κριτή.
Απλός code editor με syntax highlighting και δυνατότητα ανεβάσματος εργασίας χωρίς να χρειάζεται τοπική έκδοση του αρχείου στον υπολογιστή του φοιτητή
Η πρώτη σελίδα που θα βλέπει ο χρήστης μόλις αυθεντικοποιηθεί. Θα έχει τις ανακοινώσεις από όλα τα μαθήματα που είναι εγγεγραμμένος. Στην αρχική έκδοση δεν θα υπάρχει διαχωρισμός αναγνωσμένων και μη-αναγνωσμέων. Η ανακοίνωση μπορεί να περιέχει και link προς το μάθημα (θα το δούμε στη φάση design με τους εκπαιδευόμενους).
Στη διάρκεια των workshops των σεμιναρίων προσθέσαμε κάποιες νέες στήλες στη βάση. Το install.php θα πρέπει να τροποποιηθεί κατάλληλα ώστε να τις προσθέτει.
Ο χρήστης θα πρέπει να μπορεί να ορίζει το κλειδί για το hackerearth μέσα από σελίδα που θα υπάρχει στο interface του διαχειριστή πλατφόρμας και όχι από το config.php
Δημιουργεί ένα νέο post στην περιοχή συζητήσεων με id :did που ανήκει στο μάθημα :cid
Αυτή η οθόνη θα εμφανίζει τα posts ενός forum (που ανήκει σε κάποιο μάθημα)
Όποιος θέλει να ασχοληθεί με css.
Εμφανίζει στον χρήστη τα έγγραφα που έχουν αναρτηθεί σε ένα μάθημα χρησιμοποιώντας τον πόρο που δημιούργησε η ομάδα server. Θα υποστηρίζει τη δυνατότητα εμφάνισης κάποιων τύπων εγγράφων (πχ. pdf) απευθείας μέσα από την εφαρμογή στον κατάλληλο viewer.
Αυτό το resource θα δημιουργεί ένα νέο post σε ένα υπάρχον topic.
Η βαθμολογία αυτή τη στιγμή βγαίνει βάσει των σεναρίων που πέρασαν/τον συνολικό αριθμό σεναρίων. Για να είναι πιο customizable θα πρέπει κατά τη δημιουργία ενός σεναρίου να μπορεί να οριστεί ένα βάρος σε μια κλίμακα 1-10 και ο βαθμός να προκύπτει λαμβάνοντας υπόψη τα βάρη κάθε σεναρίου.
Σε περίπτωση που είναι κενή, η υποβολή θα πρέπει να διακόπτεται και να εμφανίζεται σχετικό error message.
Το πρόβλημα παρατηρήθηκε στο pull request #78
Οκ, πιστεύω να έκανα σωστά τη μετατροπή :p
Επίσης έκανα sync με upstream. Το θέμα είναι ότι αν δουλέψουν την επομενη φορα από το master θα εχουν εξαφανιστει τα μαθηματα, καθως ο φακελος courses σβήστηκε.
Αυτό είναι το commit, ελπίζω να μην έχει σβηστεί κάτι άλλο. Το student_view.php
δεν ξερω πως δημιουργηθηκε, δεν το εχουν ουτε στο .hgignore
.
Αυτό το call θα μαρκάρει ένα announcement ώς read. Αυτό θα γίνεται μέσω ενός νέου πίνακα announcements_users όπου θα κρατάμε announcement id (ann_id), user_id και timestamp του πότε διαβάστηκε.
Το GET announcements θα τροποποιηθεί κατάλληλα ώστε να αξιοποιεί αυτό τον πίνακα και να επιστρέφει ένα attribute του αν διαβάστηκε ή όχι. (δεν είναι μέρους αυτού του task)
Ο Απόστολος ζήτησε να στέλνουμε ένα άσσο κάτι σαν ping για να ελέγχει εάν έχει net το κινητό.
Αυτός ο πόρος θα αφορά τα μαθήματα στα οποία έχει εγγραφεί ο φοιτητής. Θα υποστηρίζει μεθόδους GET, POST, DELETE. Η εγγραφή/διαγραφή θα γίνεται μέσα από URL του τύπου /enrolled_courses/:cid
Homework 4ου workshop
Αυτή τη στιγμή το expected output που ορίζει ο καθηγητής πρέπει να είναι απολύτως ίδιο με αυτό που επιστρέφει το πρόγραμμα που ανέβασε ο φοιτητής αλλιώς το σενάριο θεωρούμε ότι απέτυχε.
Αυτό θα θέλαμε να γίνει πιο παραμετροποιήσιμο, επιτρέποντας στον καθηγητή να ορίζει και τον τελεστή ελέγχου όταν δημιουργεί ένα σενάριο (πχ. =, !=, >, >=, <, <=, contains, !contains, startsWith, endsWith, κτλ.). Στο UI αυτό μπορεί να αναπαρασταθεί ως ένα select element με όλους τους πιθανούς τελεστές ως επιλογές.
Για την υλοποίηση των ελέγχων προτείνεται η χρήστη της βιβλιοθήκης https://github.com/beberlei/assert που επιτρέπει τη δημιουργία πολλαπλών και σύνθετων assertions.
Αυτός ο πόρος θα αφορά τα μαθήματα που έχουν καταχωρηθεί στο openclass. Θα υποστηρίζει μεθόδους GET. Αυτός ο πόρος δεν απαιτεί αυθεντικοποίηση (όπως και στο κανονικό openclass).
Αυτυό το resource θα επιστρέφει τα posts που ανήκουν σε ένα topic.
Video παρουσίασης των functions του αυτόματου κριτή.
Μέγιστη διάρκεια 5:00.
Ουσιαστικά πρόκειται για screen capture με αφήγηση.
Ότι υλικό χρειάζεται π.χ λογότυπα ή εργαλεία θα δοθεί.
Το συγκεκριμένο bug εμποδίζει την δημιουργία εργασιών χωρίς κριτή.
Για την ομάδα του PR #82
Το συγκεκριμένο θα αφορά ένα νέο αυτόνομο εργαλείο ανεξάρτητο από τον κριτή (αν και θα μοιράζεται κώδικα). Μέσα από το εργαλείο κάθε φοιτητής θα μπορεί να δημιουργεί “Σενάρια Αυτοαξιολόγησης” (ΣΑ). Κάθε ΣΑ περιέχει σενάρια με input και expected output αντίστοιχα με τον τρόπο που τα ορίζει ο καθηγητής κατά τη δημιουργία εργασίας.
Στη συνέχεια θα μπορεί να ανεβάζει αρχεία σε ένα ΣΑ και να λαμβάνει ένα αντίστοιχο report με αυτό των εργασιών. Η ιδέα είναι το εργαλείο να διδάσκει τον φοιτητή πως μπορεί να δοκιμάσει τον κώδικα του και τι θα πρέπει να ελέγχει για να καλύψει τα διάφορα ενδεχόμενα edge-cases.
Όποιος θέλει να ασχοληθεί με html.
Αυτό το call θα δέχεται το access_token και θα επιστρέφει απλά true αν ο χρήστης είναι logged-in ή EXPIRED αν το access_token έχει λήξει.
Θα επιτρέπει στον χρήστη να δει τα διαθέσιμα μαθήματα, να φιλτράρει με βάση αυτά που είναι εγγεγγραμμένος και αν η πολιτική των μαθημάτων το επιτρέπει να εγγραφεί και να διαγραφεί από μαθήματα.
Όποιος θέλει να ασχοληθεί με javascript.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.