7
play

7 : - PowerPoint PPT Presentation

7 :


  1. Οργανωτική Επιτροπή ΣΦΗΜΜΥ 7 Ομάδα ΙΤ: Σπαφαρίδης Ξενοφών Γεωργιτζίκης Επιμηθέας Καραγεώργος Κωνσταντίνος Παππάς Ανδριανός

  2. Ποιοι Είμαστε

  3. Οι στόχοι μας ✔ Υλοποίηση Ιστοσελίδας Όραμά μας ✔ Εισαγωγή σύγχρονης τεχνολογίας στο συνέδριο ✔ Δημιουργία ολοκληρωμένου λογισμικού για την κάλυψη των αναγκών του συνεδρίου ✔ Παρακαταθήκη για τα επόμενα ΣΦΗΜΜΥ

  4. Custom CMS ● Ομαδοποίηση λειτουργιών ● Ενσωμάτωση πολλών λειτουργιών στο sfhmmy.gr ● Αναγνώσιμος κώδικας ● Modularity ● Προσθήκη νέων λειτουργιών χωρίς την ανάγκη τροποποιήσεων Προϋπόθεση: Ύπαρξη Web-Developers

  5. live.sfhmmy www.sfhmmy administrator.sfhmmy desk.sfhmmy review.sfhmmy

  6. Βασική Διεπαφή

  7. Dashboard

  8. Administration

  9. Administration Functionalities /1

  10. Administration Functionalities /2

  11. Chief Reviewer Panel

  12. Review State

  13. Desk & Live

  14. User Requirements

  15. Διαδικασία Καθορισμού Απαιτήσεων 1. Συναντήσεις της Οργανωτικής Επιτροπής 2. Συναντήσεις με κ. Χατζηλεοντιάδη 3. Επικοινωνία μέσω googlegroups 4. Ιδέες από ήδη υλοποιημένο λογισμικό ● http://www.insticc.org/Primoris/ ● http://mc.manuscriptcentral.com/acm Λάθη: ✗ Μη σαφής καθορισμός από την αρχή ✗ Νέες απαιτήσεις στην πορεία ✗ Έλλειψη εμπειρίας διοργάνωσης συνεδρίου Hristopanagies per second (hpps)

  16. Our Professional Documents

  17. Αρχικές απαιτήσεις Λειτουργίες : ( στο επίπεδο του χρήστη ) Frontend - design : ● News-announcements ● Responsive design ● Registrations : στο συνέδριο ● Personal dashboard + request status Λειτουργίες : ( στο επίπεδο του ● Forms διαχειριστή ) ● Calendar ● usergroups : για επίπεδα πρόσβασης πχ { επιτροπή, moderators, διαχειριστές, ● Events ( για τα activities πχ ) super διαχειριστές } ● Support / Contact ● όλα τα αντίστοιχα του user ● Sponsors ● εγγραφές χρηστών με πρόσβαση πχ ● Live Streaming καθηγητών, μελών κτλπ ● Οργανωτική Επιτροπή ● Επιστημονική Επιτροπή ● Πρόσβαση / Διαμονή index.php?controller=announcement&method= ● translations : όλα τα περιεχόμενα του site view&permalink=avbab στατικά κ δυναμικά θα είναι μεταφρασμένα σε 2, γενικά n γλώσσες /announcement/view/acbab ● user friendly urls, seo friendly urls

  18. Χρήστες και Δυνατότητες register SelectFromMenu <include> userCheckIn login Dashboard <include> <extends> activitiesRegistration reviewPaper <extends> <extends> submitPaper announcements assignPaper create/modify <extends> events support finalSelection modifyUserRights

  19. Η Βάση Δεδομένων

  20. Τεχνολογίες που χρησιμοποιήθηκαν

  21. LAMP stack ● Linux Apache MariaDB PHP ● MariaDB vs MySQL – Truly Open Source – Speed Improvements

  22. Site Architecture ● MVC ● REST Front-end Framework ● Bootstrap (by Twitter)

  23. PHP ● Based on CMS-X Translations ● Home-brew tool

  24. Mail Server ● Google Mail Server ● Google Mail Limitations – 500 emails/day Libraries ● Captcha ● Smarty ● Feedcreator – RSS ● jQuery

  25. Optimization ● Memcached ● Some other things

  26. Bootstrap ● CSS + some javascript ● Open Source ● Responsive by default, regardless of platform ● Grid System ● Ready-to-use components ● Great Design solution ● Easily customizable – heavy customization

  27. Translations ● Bilinguality requirement ● Tool by Nohponex ● N-language ● Easy translation platform – no code required ● Automatic key detection ● Revisioning

  28. MVC – Architectural pattern Server Client Model Database *.sfhmmy.gr Request data Browser index Controller 1) Get mode HTTP Request Viewer parameters 2) Get controller Viewers : 3) Get method ● Site 4) Include controller ● Administrator 5) Execute method ● Reviewer ● Desk ● Maintenance ● Live HTTP Response ● raw Viewer ● json ● pdf

  29. REST (representational state transfer) ● Client–server ● Stateless ● Cacheable ● Layered system ● Uniform interface – Identification of resources – Manipulation of resources through these representations – Self-descriptive messages – Hypermedia as the engine of application state http://en.wikipedia.org/wiki/Representational_state_transfer

  30. API Interface Method HTTP GET HTTP POST create View create new item form Create new item view View item update View update item form Update item listing List collection delete Delete item ● Example : http://www.sfhmmy.gr/announcement/view/10 mode service URI controller method

  31. Directory Tree ‾ index.php ‾ config.php ‾ controllers/ ‾ administrator/ ‾ site/ ‾ home.php ‾ user.php ‾ models/ ‾ session.php ‾ database.php ‾ util.php ‾ site/ ‾ user.php ‾ administrator/ ‾ user.php ‾ viewers/ ‾ site/ ‾ site.php ‾ assets/ ‾ templates/ ‾ common/

  32. Request Example HTTP GET http://www.sfhmmy.gr/home/view HTTP Request mode : site controller : home index method : view

  33. <?php class homeController{ public static function view( $params ){ include ( 'models/site/page.php' ); Controller $page = page::view( 'home', $language ); View( array ( 'title' => $page[ 'title' ], 'page' => $page ), 'home' ); } Controller.php } ?> <?php class siteViewer { Viewer public static function view( $params = array (), $page ) { include ('templates/common/header.php'); siteViewer.php include ('templates/' . $page. '.php'); include ('templates/common/footer.php'); } } ?> < div class="col-sm-2"> < h3 > <?php ___( 'title' ); ?> : <?php echo $params[ 'page' ][ 'title' ]; ?> </ h3 > home.php </ div > < div class="col-sm-10"> <?php echo $params[ 'page'][ 'content' ]; ?> </ div > HTTP Response

  34. Συνεργασία ● Λογισμικό μεγαλύτερο από οποιαδήποτε εργασία στα πλαίσια της σχολής ● Συνεχής ανάπτυξη, από διαφορετικές τοποθεσίες Ανάγκη για συντονισμό

  35. Subversion (SVN) ● Κεντρικός έλεγχος εκδόσεων (software versioning, revision control) ● Είχαμε ήδη στημένο server

  36. Class Reference (ή κάτι τέτοιο) ● Αναφορά στο τι πρέπει να Φιλικό στον χρήστη!! κάνει κάθε οντότητα και πως επικοινωνεί με τις υπόλοιπες ● Κάπως σπαρτιατική υλοποίηση, χωρίς σχόλια και Εύληπτο !! κείμενο ● Απολύτως απαραίτητο όταν βασίζεσαι σε κώδικα που έχει γράψει άλλος

  37. Αποσφαλμάτωση ● Έγινε απόπειρα χρήσης bug tool (Mantis) και collaboration suite (Asana, Freedcamp κλπ) ● Τα αμελήσαμε – υποτιμήσαμε ● Το πληρώσαμε στο τέλος...

  38. ● Όλα αυτά απαιτούσαν χρόνο εξοικείωσης ● Βασικές λειτουργίες -> 20/12/2013 ● Rapid Development Process ● Παράλληλη διαμόρφωση της εμφάνισης ● Πρώτη δημόσια εμφάνιση -> 29/1/2014!!

  39. Αξιοπιστία ● Εικονικό μηχάνημα στο cloud του grnet (Okeanos) ● Debian linux ● Χρόνος αδιάλειπτης λειτουργίας -> 173 μέρες, 13 ώρες, 41 λεπτά

  40. Ασφάλεια, τι κάναμε ● Usergroups και ταυτοποίηση χρηστών στα http requests ● Έλεγχος και καθαρισμός των δεδομένων χρηστών ● Χρονικά και ποσοτικά όρια σε login attemps και reset requests ● Καταγραφή αλλαγών σφαλμάτω, αλλαγών και δραστηριότητας του server (επιτήρηση για πιθανές επιθέσεις) ● Hashing + Salting των κωδικών στη βάση

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend