Στα πλαίσια της διδασκαλίας αρκετών προπτυχιακών και μεταπτυχιακών μαθημάτων
προγραμματισμού υπολογιστών, το Εργαστήριο Τεχνολογίας Λογισμικού, SoftLab,
του Εθνικού Μετσόβιου Πολυτεχνείου παρέχει πρόσβαση σε διάφορες διαδικτυακές
πλατφόρμες (Novice, Grader, Moodle και PLgrader), στις οποίες οι φοιτητές της
Σχολής Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών μπορούν, μεταξύ
άλλων, να επεξεργάζονται ή να παραδίδουν τις προγραμματιστικές εργασίες τους,
αφού πρώτα εισέλθουν με κατάλληλα διαπιστευτήρια.
Σκοπός αυτής της διπλωματικής εργασίας είναι η ανάπτυξη της εφαρμογής ιστού
SLUB (SoftLab UserBase) που επιτελεί την κεντρική διαχείριση και συσχέτιση
λογαριασμών για τους χρήστες των πλατφορμών του SoftLab μέσω της δικής της
βάσης δεδομένων, usermergeDB, ώστε να διευκολύνει την ταυτοποίηση χρηστών από
τους υπεύθυνους του Εργαστηρίου, τόσο σε επίπεδο μίας όσο και σε επίπεδο
πολλαπλών πλατφορμών. Το SLUB, του οποίου ο πηγαίος κώδικας και η τεκμηρίωση
διατίθενται στη διεύθυνση https://git.softlab.ntua.gr/giorgkazelidis/userbase,
αναπτύχθηκε σε στοίβα λογισμικού LAMP (Linux-Apache-MySQL-Python) μέσω του
πλαισίου ιστού Django και επιστρατεύτηκε στη διεύθυνση http://slub.softlab.ntua.gr/,
όπου ζητείται από τον τρέχοντα χρήστη να εισέλθει είτε ως διαχειριστής είτε ως απλός
χρήστης της εφαρμογής, δηλαδή χρήστης μίας πλατφόρμας του Εργαστηρίου.
Από τη μία, ένας διαχειριστής του SLUB μπορεί να προσθέτει διαπιστευτήρια απλών
χρηστών για οποιαδήποτε πλατφόρμα του SoftLab στη βάση usermergeDB μέσω
κατάλληλα διαμορφωμένων αρχείων TXT, ενώ έχει επίσης τη δυνατότητα να
δημιουργεί λεπτομερείς CSV αναφορές απλών χρηστών για οποιαδήποτε από τις
προαναφερθείσες πλατφόρμες, χρησιμοποιώντας ως κριτήριο την ημερομηνία
τελευταίας εισόδου στην εφαρμογή με διαπιστευτήρια της εκάστοτε επιλεγμένης
πλατφόρμας. Από την άλλη, ένας απλός χρήστης του SLUB μπορεί όχι μόνο να
επεξεργάζεται το προφίλ του, {όνομα, επώνυμο, αριθμός μητρώου στη Σχολή ΗΜΜΥ
(αν υπάρχει), ηλεκτρονικό ταχυδρομείο}, αλλά και να το ανακτά από τη βάση
usermergeDB, χρησιμοποιώντας ως κριτήρια τον αριθμό μητρώου και το ηλεκτρονικό
ταχυδρομείο, σε περίπτωση που τα διαπιστευτήρια της πλατφόρμας εισόδου
αξιοποιούνται για πρώτη ή αλλάζονται για ν-οστή φορά στην εφαρμογή.
Τέλος, ενεργοποιήθηκε στη διεύθυνση http://slub.softlab.ntua.gr/django-admin/ ο
ιστότοπος διαχείρισης του Django, ο οποίος απευθύνεται αποκλειστικά σε χρήστες του
ομώνυμου πλαισίου και δρα ως διαχειριστική διεπαφή για τη δημιουργία, την
ανάγνωση, την ενημέρωση ή/και τη διαγραφή εγγραφών των πινάκων της βάσης
usermergeDB.
(EL)
In the context of teaching several undergraduate and postgraduate computer
programming courses, the Software Engineering Laboratory, SoftLab, of the National
Technical University of Athens provides access to various online platforms (Novice,
Grader, Moodle and PLgrader), in which the students of the Electrical and Computer
Engineering School can, inter alia, edit or submit their programming tasks, after first
logging in with appropriate credentials.
The purpose of this diploma thesis is to develop the SLUB (SoftLab UserBase) web
application that performs the central management and association of accounts for the
users of the SoftLab platforms through its own database, usermergeDB, in order to
facilitate user identification by the Laboratory managers, both at a single- and at a
multiple-platform level. SLUB, whose source code and documentation are available at
https://git.softlab.ntua.gr/giorgkazelidis/userbase, was developed in the LAMP (Linux-Apache-MySQL-Python) software stack via the Django web framework and was
deployed at http://slub.softlab.ntua.gr/, where the current user is asked to log in either
as an administrator or as a simple user of the application, i.e. user of a Laboratory
platform.
On the one hand, an administrator of SLUB can add credentials of simple users for any
SoftLab platform to usermergeDB through properly configured TXT files, while also
being able to create detailed CSV reports of simple users for any of the aforementioned
platforms, based on the date of last login to the application with credentials of the
platform that is selected each time. On the other hand, a simple user of SLUB can not
only edit his/her profile, {first name, last name, ECE ID (if any), email}, but also
recover it from usermergeDB, by using the ECE ID and email as criteria, in case the
credentials of the login platform are utilized for the first time or changed for the n-th
one in the application.
Finally, activated at http://slub.softlab.ntua.gr/django-admin/ lies the Django admin
site, which is targeted exclusively at users of the homonymous framework and acts as
an administrative interface for creating, reading, updating or/and deleting records of the
usermergeDB tables.
(EN)