Π2.3.1 Πηγαίος κώδικας των εφαρμογών για την υποβολή, προβολή και παραμετροποίηση του ψηφιακού περιεχομένου

Σχετικά έγγραφα
Π1.3.1 Πηγαίος κώδικας των εφαρμογών για την δημιουργία του μητρώου δικαιούχων και αξιολογητών/κριτικών αναγνωστών

Π2.3.2 Τεχνική τεκμηρίωση των εφαρμογών για την υποβολή, προβολή και παραμετροποίηση του ψηφιακού περιεχομένου

Π1.3.2 Τεχνική τεκμηρίωση των εφαρμογών για τη δημιουργία του μητρώου δικαιούχων και αξιολογητών/κριτικών αναγνωστών

Σύστημα Κεντρικής Υποστήριξης της Πρακτικής Άσκησης Φοιτητών Α.Ε.Ι.

Π2.2.1 Έγγραφο σχεδίασης των εφαρμογών του υποσυστήματος για την υποβολή, προβολή και παραμετροποίηση του ψηφιακού περιεχομένου

Π1.2.1 Έγγραφο σχεδίασης των εφαρμογών του υποσυστήματος για την δημιουργία του μητρώου δικαιούχων και αξιολογητών/κριτικών αναγνωστών

Π1.1.1 Αναλυτικές τεχνικές προδιαγραφές για τη δημιουργία του μητρώου δικαιούχων και αξιολογητών/κριτικών αναγνωστών

ΔΙΑΧΕΙΡΙΣΗ ΕΡΓΑΣΙΩΝ ΔΙ.ΑΠ. ΕΠΕΚΤΑΣΗ ΕΦΑΡΜΟΓΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΡΓΩΝ & ΠΛΗΡΩΜΩΝ

Σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών ΕΚΤ

ΑΔΑ: Β4ΜΓ9-1ΦΡ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ

Σύστημα Ηλεκτρονικού Πρωτοκόλλου. Σχεδιασμός Υποσυστημάτων

Σύστημα Κεντρικής Υποστήριξης της Πρακτικής Άσκησης Φοιτητών Α.Ε.Ι. Παραδοτέο: Αξιολόγηση της Δράσης

Μπορείτε να το αποκτήσετε τώρα

Οργάνωση και Διαχείριση Δημοσίων Έργων με μια εφαρμογή

Αβραμίδης Ελευθέριος Επιβλέπων καθηγητής Κωνσταντίνος Διαμαντάρας. ΤΕΙ Θεσσαλονίκης 17/2/2009

ΕΛΛΗΝΙΚΆ ΑΚΑΔΗΜΑΪΚΆ ΗΛΕΚΤΡΟΝΙΚΆ ΣΥΓΓΡΆΜΜΑΤΑ ΚΑΙ ΒΟΗΘΉΜΑΤΑ

Παρουσίαση Εφαρμογής i-flow (i-flow HelpDesk Services)

Ημερομηνία Παράδοσης: 4/4/2013

ΠΡΟΣΚΛΗΣΗ ΕΚΔΗΛΩΣΗΣ ΕΝΔΙΑΦΕΡΟΝΤΟΣ

Παρουσίαση Θερινού Σχολείου. Αριστεία ΕΛ/ΛΑΚ ΤΕΙ Αθήνας

"Ελληνικά Ακαδημαϊκά Ηλεκτρονικά Συγγράμματα και Βοηθήματα"

01 SOLUTIONS HELLAS Ε.Π.Ε. Χελμού 20, Μαρούσι Αττικής Τηλ FAX Ηλεκτρονικό Πρωτόκολλο & Διακίνηση Εγγράφων

Εφαρμογή Ηλεκτρονικής Διαχείρισης Μετεγγραφών. Παραδοτέο: Τελική Αναφορά Υπηρεσιών Υποστήριξης και Εκπαίδευσης

Διασύνδεση των Πληροφοριακών Συστημάτων Διασφάλισης Ποιότητας των ΜΟΔΙΠ και της ΑΔΙΠ

SGA Διαχείριση Ηλεκτρονικού Πρωτόκολλου

A J A X AJAX Γιάννης Αρβανιτάκης

Π2.1.1 Αναλυτικές τεχνικές προδιαγραφές για τη δημιουργία του υποσυστήματος για την υποβολή, προβολή και παραμετροποίηση του ψηφιακού περιεχομένου

4/2014 ΣΥΝΟΠΤΙΚΗ ΠΑΡΟΥΣΙΑΣΗ ΥΔΡΟΛΗΨΙΕΣ ΑΤΤΙΚΗΣ ΑΠΟΚΕΝΤΡΩΜΕΝΗ ΔΙΟΙΚΗΣΗ ΑΤΤΙΚΗΣ ΔΙΕΥΘΥΝΣΗ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

Αξιοποίηση και διάθεση ελληνικού ψηφιακού έγκριτου περιεχομένου

Σύστημα Αναθέσεων. Σχεδιασμός Υποσυστημάτων

...στις µέρες µας, όσο ποτέ άλλοτε, οι χώρες καταναλώνουν χρόνο και χρήµα στη µέτρηση της απόδοσης του δηµόσιου τοµέα...(oecd)

ΠΡΑΚΤΙΚΟΣ ΟΔΗΓΟΣ Για τις εφαρμογές Μισθοδοσίας και Διαχείρισης Ανθρωπίνου Δυναμικού

Βελτιωμένη Εφαρμογή. Νέες δυνατότητες. Νέα Ιστοσελίδα

ΕΚΘΕΣΗ ΠΡΟΔΙΑΓΡΑΦΩΝ ΔΑΠΑΝΗΣ ΓΙΑ ΤΗΝ ΠΡΟΜΗΘΕΙΑ ΕΦΑΡΜΟΓΗΣ ΔΙΑΧΕΙΡΙΣΗ ΚΟΙΜΗΤΗΡΙΩΝ ΤΟΥ ΔΗΜΟΥ ΩΡΑΙΟΚΑΣΤΡΟΥ

Α) Υποσύστημα Διαχείρισης Δομής & Περιεχομένου (E-vaL SCMS)

ΑΝΑΚΟΙΝΩΣΗ ΔΙΑΔΙΚΑΣΙΑΣ ΑΠΕΥΘΕΙΑΣ ΑΝΑΘΕΣΗΣ. Αριθμ. Πρωτ.: /2017 Ο ΕΙΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΣ ΚΟΝΔΥΛΙΩΝ ΕΡΕΥΝΑΣ

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά

ΑΔΑ: ΒΙΚ39-ΥΒΗ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ

ACE ERP. Μπορείτε να το αποκτήσετε τώρα! Περισσότερες εφαρµογές, απεριόριστες δυνατότητες

Λιόλιου Γεωργία. ιατµηµατικό Πρόγραµµα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήµατα

Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας.

COSMOS CLOUD CMS. Η σύγχρονη επικοινωνία με τον COSMOS σας

COSMOS CLOUD CMS ΤΟ COSMOS CLOUD CMS ΔΕΝ ΕΙΝΑΙ ΜΙΑ ΑΠΛΗ ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΠΟΛΙΤΙΚΟΥ ΓΡΑΦΕΙΟΥ.

«Περιεχόµενα. 03 Εισαγωγή Ένα ολοκληρωµένο πληροφοριακό σύστηµα. 04 Περιγραφή Εργαλείο εφαρµογής διαδικασιών

CRM για Εκπαιδευτικούς Φορείς

ΑΝΑΚΟΙΝΩΣΗ Αναβάθμιση συστημάτων λογισμικού

Φορολογική Βιβλιοθήκη. Θανάσης Φώτης Προγραμματιστής Εφαρμογών

Αναφορά εργασιών για το τρίμηνο Μάρτιος 2013 Μάιος 2013 Όνομα : Παπαχριστόπουλος Λεωνίδας

ΠΡΑΞΗ: «ΜΟ.ΔΙ.Π» (Μονάδα Διασφάλισης Ποιότητας) του Πανεπιστημίου Μακεδονίας» Κωδικός MIS ΥΠΟΕΡΓΟ:

ΡΑΣΗ 2: Ανάπτυξη ΟΠΣ (Ολοκληρωμένου πληροφοριακού συστήματος) υποστήριξης του συστήματος διασφάλισης ποιότητας

Alfaware Οδηγός Χρήσης Εφαρμογής (Software User Manual)

ΕΛΑΧΙΣΤΕΣ ΑΠΑΙΤΗΣΕΙΣ ΕΞΟΠΛΙΣΜΟΥ ΕΠΙΚΟΙΝΩΝΙΑ... 23

GDPR Services & Tools

ΑΝΟΙΚΤΗ ΠΡΟΣΚΛΗΣΗ ΓΙΑ ΤΗ ΣΥΓΓΡΑΦΗ ΑΚΑΔΗΜΑΪΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΣΥΓΓΡΑΜΜΑΤΩΝ ΚΑΙ ΒΟΗΘΗΜΑΤΩΝ

στο πλαίσιο υλοποίησης του Υποέργου 16

ΚΤΙΡΙΑΚΕΣ ΥΠΟΔΟΜΕΣ Α.Ε. Οδηγίες Λειτουργίας Πληροφοριακού Συστήματος ηλεκτρονικής διαχείρισης Αιτημάτων. v1.3 (23/11/2014)

Ολοκληρωμένο Πληροφοριακό Σύστημα Εξυπηρέτησης Πολιτών και Παρόχων

ΕΙΣΑΓΩΓΗ ΦΙΛΟΣΟΦΙΑ ΠΛΑΤΦΟΡΜΑΣ... 4

ΚΤΙΡΙΑΚΕΣ ΥΠΟΔΟΜΕΣ Α.Ε. Οδηγίες χρήσης Τελικού Χρήστη (Σ.Μ.) του Πληροφοριακού Συστήματος ηλεκτρονικής διαχείρισης Αιτημάτων. v1.

«Εμπειρία ανάπτυξης συστημάτων βιβλιοθηκών Συνεργασίες με βιβλιοθήκες ββ Εξέλιξη ξη ΑΒΕΚΤ»

GUnet eclass 1.7 Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης

ΠΡΟΥΠΟΛΟΓΙΣΜΟΙ ΔΕΣΜΕΥΣΕΙΣ - ΔΙΑΧΕΙΡΙΣΗ Περιφερειακών Ταμείων Ανάπτυξης

ΜΕΛΕΤΗ Συντήρηση Τεχνική Υποστήριξη Εφαρμογών Λογισμικού των Υπηρεσιών του Δήμου Ιστιαίας-Αιδηψού ΠΡΟΥΠΟΛΟΓΙΣΜΟΣ: ,00

Ανοιχτά Οικονοµικά εδοµένα

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ ΙΑ ΙΚΤΥΑΚΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΎ ΣΥΣΤΗΜΑΤΟΣ. Τρίτη, 7 Φεβρουαρίου 2012

ΠΡΑΞΗ: «ΜΟ.ΔΙ.Π» (Μονάδα Διασφάλισης Ποιότητας) του Πανεπιστημίου Μακεδονίας» Κωδικός MIS ΥΠΟΕΡΓΟ:

ΠΡΟΣΚΛΗΣΗ ΓΙΑ ΕΚ ΗΛΩΣΗ ΕΝ ΙΑΦΕΡΟΝΤΟΣ του ΕΑΙΤΥ

Νέα λειτουργικότητα - Βελτιώσεις. Έκδοση /05/2015. Ημ/νία έκδοσης dd/mm/2015 1

Σύστημα Κεντρικής Υποστήριξης της Πρακτικής Άσκησης Φοιτητών Α.Ε.Ι.

ΕΚΠΑ η-τάξη Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης

Περιπτώσεις Χρήσης για το Π.Σ. ΜΟ.ΔΙ.Π. Κρήτης

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

Ολοκληρωμένο σύστημα διαχείρισης παρουσιών στο Τ.Ε.Ι. Σερρών

«Σύστημα ΔΕΠ» ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ. Έκδοση 1.1

ΑΝΟΙΚΤΗ ΠΡΟΣΚΛΗΣΗ ΓΙΑ ΤΗ ΣΥΓΓΡΑΦΗ ΑΚΑΔΗΜΑΪΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΣΥΓΓΡΑΜΜΑΤΩΝ ΚΑΙ ΒΟΗΘΗΜΑΤΩΝ

Οδηγίες Χρήσης της εφαρμογής Class-Web

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ

Αναφορά εργασιών για το τρίμηνο Σεπτέμβριος Νοέμβριος 2012 Όνομα : Μπελούλη Αγάθη

Δράση/Αποθετήριο «Κάλλιπος» και η συμβολή των ανοικτών ακαδημαϊκών συγγραμμάτων στη Διά Βίου Μάθηση

SGA Διαχείριση Πρωτόκολλου

BO.M.I.S BOLLARD MANAGEMENT INFORMATION SYSTEM ΛΟΓΙΣΜΙΚΟ ΔΙΑΧΕΙΡΗΣΗΣ ΑΝΑΔΥΟΜΕΝΩΝ ΠΑΣΑΛΩΝ ΔΙΑΧΕΙΡΗΣΗΣ ΚΥΚΛΟΦΟΡΙΑΣ BOMIS-V1-2012

Document Revisions... Error! Bookmark not defined. Introduction Σχεδιασμός Πληροφοριακού Συστήματος Αυθεντικοποίηση Χρηστών...

Διεύθυνση Προμηθειών, Υποδομών και Διαχείρισης Υλικού

ΥΠΟΒΟΛΗ ΠΡΟΤΑΣΕΩΝ / ΠΑΡΑΤΗΡΗΣΕΩΝ ΕΠΙ ΤΟΥ ΣΧΕΔΙΟΥ ΔΙΑΚΗΡΥΞΗΣ ΤΟΥ ΕΡΓΟΥ ΣΤΟ ΠΛΑΙΣΙΟ ΤΗΣ ΔΗΜΟΣΙΑΣ ΔΙΑΒΟΥΛΕΥΣΗΣ ΑΠΟ 08/10/2013 ΜΕΧΡΙ 22/10/2013

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΑΝΑΡΤΗΤΕΑ ΣΤΟ ΔΙΑΔΙΚΤΥΟ

Jumbo AEΕ : Ροή Εργασιών & Διαχείριση Εγγράφων. Case Study

ΕΡΓΟ: «Ανάπτυξη Εφαρμογής Μητρώου και Εκπαίδευση» ΠΑΡΑΔΟΤΕΟ Έλεγχος Συστήματος & Λογισμικού Μητρώου ΑμεΑ

ΠΡΑΞΗ: «ΜΟ.ΔΙ.Π» (Μονάδα Διασφάλισης Ποιότητας) του Πανεπιστημίου Μακεδονίας» Κωδικός MIS ΥΠΟΕΡΓΟ: «02»

Πλατφόρμα e-μάθησης βασισμένη στο efront

ιαχείριση Τηλεφωνικών Κλήσεων

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25

Ηλεκτρονική Υπηρεσία Ολοκληρωμένης Διαχείρισης Συγγραμμάτων και Λοιπών Βοηθημάτων ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΕΦΑΡΜΟΓΗΣ ΓΡΑΜΜΑΤΕΙΩΝ

ΑΝΑΚΟΙΝΩΣΗ. Θέμα: Σχετικά με την καταχώρηση των ασθενών στο μητρώο περιτοναϊκής κάθαρσης.

ΕΛΛΗΝΙΚΑ ΑΚΑΔΗΜΑΪΚΑ ΣΥΓΓΡΑΜΜΑΤΑ ΚΑΙ ΒΟΗΘΗΜΑΤΑ ΖΩΝΤΑΝΕΥΩΝΤΑΣ ΤΗ ΓΝΩΣΗ ΜΕ ΤΟ ΔΙΑΔΡΑΣΤΙΚΟ ΒΙΒΛΙΟ

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ

Διαδικτυακές Εφαρμογές. Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Χ Α Ρ Ο Κ Ο Π Ε Ι Ο Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο ΕΛ. ΒΕΝΙΖΕΛΟΥ 70, ΑΘΗΝΑ ΤΗΛ. : , FAX:

Υπηρεσίες Ψηφιοποίησης του Αρχείου του Δημοτολογίου

Transcript:

Παραδοτέo Π2.3.1 Πηγαίος κώδικας των εφαρμογών για την υποβολή, προβολή και παραμετροποίηση του ψηφιακού περιεχομένου για το Υποέργο 1 «Σχεδιασμός, ανάπτυξη και εγκατάσταση του πληροφοριακού συστήματος και εργασίες τεχνικής συντήρησης» της Πράξης «Ενιαία Πλατφόρμα Δημιουργίας και Διάθεσης Ηλεκτρονικών Συγγραμμάτων και Βοηθημάτων» με κωδικό MIS 389382

Πίνακας Περιεχομένων 1 Πηγαίος κώδικας των εφαρμογών... 4 2 Οργάνωση του πηγαίου κώδικα σε projects... 6 2.1 Ebooks.Portal... 7 2.2 Ebooks.BusinessModel... 7 2.3 Ebooks.Utils... 8 2.4 Ebooks.Database... 8 2.5 Ebooks.DataIntegrity.Tests... 9 3 Ανάλυση του project Ebooks.Portal... 11 3.1 Ebooks.Portal.Common... 11 3.2 Ebooks.Portal.PortalServices... 13 3.3 Ebooks.Portal.Secure... 14 3.4 Ebooks.Portal.Secure.Admin,... 16 3.5 Ebooks.Portal.Secure.FacultyMembers... 17 3.6 Ebooks.Portal.Secure.FacultyMembers.EditorPopups... 19 3.7 Ebooks.Portal.Secure.Financial... 20 3.8 Ebooks.Portal.Secure.Helpdesk... 22 3.9 Ebooks.Portal.Secure.Helpdesk.EditorPopups... 23 3.10 Ebooks.Portal.Secure.Reports... 24 3.11 Ebooks.Portal.Secure.UserControls.ExportGridViews... 25 3.12 Ebooks.Portal.Secure.UserControls.SearchFilters... 26 3.13 Ebooks.Portal.Secure.UserControls.GridViews... 26 3.14 Ebooks.Portal.UserControls.FacultyMemberControls.InputControls... 27 3.15 Ebooks.Portal.UserControls.PublicationAssistantControls.InputControls... 28 3.16 Ebooks.Portal.UserControls.PaymentContractControls.InputControls... 29 3.17 Ebooks.Portal.UserControls.ProposalEvaluationTokenControls.InputControls... 30 3.18 Ebooks.Portal.WebServices... 31 3.19 Ebooks.Portal.Utils... 31 3.20 Ebooks.Utils.Worker... 31 4 Ανάλυση του namespace Ebooks.BusinessModel.Flow του Ebooks.Portal... 32 Σελίδα 2 από 34

4.1.1 Ebooks.BusinessModel.Flow.PaymentRequestStateMachine... 32 4.1.2 Ebooks.BusinessModel.Flow.FinalPaymentRequestStateMachine... 32 4.1.3 Ebooks.BusinessModel.Flow.PaymentContractStateMachine... 33 4.1.4 Ebooks.BusinessModel.Flow.PaymentRequestFundingStateMachine... 33 4.1.5 Ebooks.BusinessModel.Flow.PublicationChangeRequestStateMachine... 33 5 ΠΑΡΑΡΤΗΜΑΤΑ: Αρχεία τεκμηρίωσης του πηγαίου κώδικα ανά project... 34 5.1.1 SourceCode-documentation-1-Portal.chm... 34 5.1.2 SourceCode-documentation-2-BusinessModel.chm... 34 5.1.3 SourceCode-documentation-3-Utils.chm... 34 5.1.4 SourceCode-documentation-6-.DataIntegrity.Tests.chm... 34 Σελίδα 3 από 34

Πηγαίος κώδικας των εφαρμογών Για την ανάπτυξη των εφαρμογών του υποσυστήματος για τη δημιουργία του μητρώου δικαιούχων και αξιολογητών/κριτικών αναγνωστών χρησιμοποιήθηκε το περιβάλλον MSASP.NET 4.5. Πιο συγκεκριμένα, χρησιμοποιήθηκαν οι παρακάτω τεχνολογίες και γλώσσες προγραμματισμού: Στο Server κομμάτι των εφαρμογών: C# 5.0 ως βασική γλώσσα προγραμματισμού ASP.NET WebForms framework, version 4.5 Entity Framework ORM (Object Relational Mapping) version 5 DevExpress controls, version 12.2 Ajax Control Toolkit version 7.0 Log4net version 4.0 Stateless version 2.4 BotDetect version 3.0 Newtonsoft JSON version 6.0 Στο Client κομμάτι των εφαρμογών (Browser) JavaScript JQuery version 2.0.3 jquery UI version 1.10.1 jquery TagIt plugin jquery UI Tipsy plugin KnockoutJS version 3.0 MS Ajax Framework Η ομάδα ανάπτυξης και υποστήριξης χρησιμοποιεί τα εξής εργαλεία και ολοκληρωμένα περιβάλλοντα ανάπτυξης για την ανάπτυξη και συντήρηση του λογισμικού των εφαρμογών: MS Visual Studio 2013 μετα Plugins: o WebEssentials 2013 o Productivity Power Tools 2013 Σελίδα 4 από 34

o VS Commands 2013 SQL Server Management Studio 2012 Fiddler Ο πηγαίος κώδικας των εφαρμογών έχει δομηθεί σε πέντε VisualStudio projects: Ebooks.Portal Ebooks.BusinessModel Ebooks.Utils Ebooks.DataIntegrity.Tests Ebooks.Database Για το deployment των εφαρμογών, πέρα από τα εκτελέσιμα αρχεία που προέρχονται από τα projects αυτά, είναι απαραίτητες και οι εξής βιβλιοθήκες τρίτων: EntityFramework DevExpress AjaxControlToolkit Stateless Log4net BotDetect Newtonsoft JSON Σελίδα 5 από 34

1 Οργάνωση του πηγαίου κώδικα σε projects Ο πηγαίος κώδικας του Π.Σ. Κάλλιπος έχει οργανωθεί σε επτά MSVisualStudioprojects. Ebooks.Portal Ebooks.BusinessModel Ebooks.Utils Ebooks.Database Ebooks.DataIntegrity.Tests Αναλυτική τεκμηρίωση του λογισμικού που περιλαμβάνει το κάθε project δίνεται στα αρχεία: SourceCode-documentation-1-Portal.chm SourceCode-documentation-2-BusinessModel.chm SourceCode-documentation-3-Utils.chm SourceCode-documentation-6-.DataIntegrity.Tests.chm Σελίδα 6 από 34

1.1 Ebooks.Portal Το projectαυτό περιλαμβάνει το λογισμικό που αναλαμβάνει τη διεπαφή των εφαρμογών με τους χρήστες του Π.Σ. Περιλαμβάνειτα προγραμματιστικά αντικείμενα (aspxpages, controls, κλπ) με την βοήθεια των οποίων οι χρήστες βλέπουν: Τις σελίδες των εφαρμογών. Τα εξειδικευμένα αντικείμενα κάθε σελίδας (φίλτρα αναζήτησης, λίστες, πίνακες, κλπ) Τις εξαγωγές σε αρχεία και τις εκτυπώσεις (εξαγωγή σε PDF, XLS, κλπ) Τις φόρμες καταχώρησης στοιχείων (φόρμες επικοινωνίας, φόρμες εισαγωγής στοιχείων, κλπ) 1.2 Ebooks.BusinessModel Το project αυτό περιλαμβάνει τις κλάσεις που υλοποιούν: Την επικοινωνία του λογισμικού των εφαρμογών με τη βάση δεδομένων (με βάση το ORM EntityFrameWork v.5 και τοrepositorypattern) Το σύστημα Caching (EbooksCacheManager.cs)για βελτίωση της επίδοσης των εφαρμογών, με αποθήκευση των πιο συχνά χρησιμοποιούμενων οντοτήτων στη μνήμη. To μηχανισμό διαχείρισης δικαιωμάτων σε οντότητες (EntitlementManager.cs) ανάλογα με τους ρόλους που έχει ο χρήστης. Το μηχανισμό καταστάσεων (statusmanagement) και ροής εργασιών (workflowmanagement) o o o o ProposalStateMachine.cs PaymentRequestStateMachine PaymentRequestFundingStateMachine.cs PublicationChangeRequestStateMachine.cs Ειδικέςκλάσεις(statichelperclasses)μεμεθόδουςσχετικέςμετοbusinesslogicτηςεφαρμογής o o o o ProposalHelper για τις προτάσεις, RequestHelper για τα αιτήματα, XmlHelper για την παραγωγή των xml αρχείων για τον συσσσωρευτή, PublicationChangeRequestHelper για τα αιτήματα τροποποίησης συγγραμμάτων) Σελίδα 7 από 34

o Authentication service (για το χειρισμός του login χρηστών, των cookies κλπ.) Ειδικές κλάσεις για τα φίλτρα αναζήτησης στη βάση δεδομένων (SearchFilters) 1.3 Ebooks.Utils Περιέχει βοηθητικές κλάσεις, απαραίτητες για την καλή λειτουργία της εφαρμογής. Σε αυτό περιλαμβάνονται: Οι βασικές κλάσεις που αναλαμβάνουν την αποστολή των Emails και SMSs (EmailDispatcher.cs, SMSDispatcher.cs) Οι κλάσεις για τη διαχείριση του μηχανισμού ουράς (ServiceQueue.cs). Οι κλάσεις για τους Asyncworkers, που είναι υπεύθυνοι για την εκτέλεση παρασκηνιακών διεργασιών. Η κλάση του Μηχανισμού Καταγραφής (LogHelper.cs). 1.4 Ebooks.Database Είναι ένα βοηθητικό, για την ομάδα ανάπτυξης,project. Χρησιμεύειγια τη διαχείριση και ενημέρωση των πινάκων, διεργασιών και μεθόδων της βάσης δεδομένων. Έχει αποθηκευμένη όλη τη δομή της βάσης και όλες τις αλλαγές που προκύπτουν κατά την ανάπτυξη του κώδικα. Ο κώδικας που περιέχει δεν μεταφορτώνεται ως εκτελέσιμος στις εφαρμογές και αφορά μόνο τη διευκόλυνση της ανάπτυξης των εφαρμογών. Σελίδα 8 από 34

1.5 Ebooks.DataIntegrity.Tests Το project αυτό αφορά στον έλεγχο της ορθότητας και της πληρότητας των δεδομένων που βρίσκονται αποθηκευμένα στη βάση δεδομένων της εφαρμογής. Βάσει της business λογικής, και των διαδικασιών που προκύπτουν από αυτή, έχουν σχεδιαστεί κατάλληλα ερωτήματα προς τη βάση που εξετάζουν τη συμμόρφωση των αποθηκευμένων οντοτήτων με τους υφιστάμενους κανόνες. Τα υλοποιημένα τεστ είναι τα παρακάτω: TestProfilesOfWritersOfSubmittedProposalsAreComplete: Όλοι οι Κύριοι Συγγραφείς υποβεβλημένων προτάσεων πρέπει να έχουν πλήρες προφίλ. TestAllSubmittedProposalsAreValid: Όλες οι υποβεβλημένες προτάσεις έχουν έγκυρα δεδομένα TestValidityOfAllProposals: Όλες οι προτάσεις έχουν τιμή στο πεδίο IsValid ίδια με την τιμή που προκύπτει από το ValidationService. TestNoProposalHasSameEvaluatorTwice: Καμιά πρόταση δεν έχει αξιολόγηση που έχει ανατεθεί στον ίδιο αξιολογητή 2 φορές. TestNoProposalHasEvaluatorWithRoleIntheSameProposal: Καμιά πρόταση δεν έχει αξιολογητή με ρόλο στην ίδια Πρόταση TestProposalThatIsCheckedHasProtocolNumber: Κάθε πρόταση που έχει περάσει από έλεγχο έχει πάρει αριθμό πρωτοκόλλου. TestProposalsWithCompleteEvaluationsFulfillTokensStatuses: Όλες οι προτάσεις με ολοκληρωμένη αξιολόγηση έχουν tokens στις αντίστοιχες καταστάσεις. TestNoProposalHasProposalEvaluationTokensWithoutProposalEvaluation: Όλες οι προτάσεις με tokens αξιολόγησης έχουν και αξιολόγηση. TestCurrentProposalEvaluationTokensAndUserEntitlementsConcur: Όλες οι αναθέσεις αξιολόγησεις συμπίπτουν με τα αντίστοιχα δικαιώματα πάνω σε οντότητες των χρηστών. TestNoCommittedReviewerWithoutPaidWorkError: Έλεγχος για το αν υπάρχουν Κριτικοί Αναγνώστες χωρίς προκατασκευασμένη αμειβόμενη εργασία. TestNoWriterPaidAmountDiffersFromHalfBudgetError: Έλεγχος για αμειβόμενες εργασίες Συγγραφέων που τα ποσά τους διαφέρουν από το μισό της συνολικής δαπάνης για Συγγραφική Εργασία. TestNoWriterPaidAmountSurpassesBudgetError: Καμιά αμειβόμενη εργασία Συγγραφέα δεν ξεπερνά τη συνολική δαπάνη της πρότασης για την κατηγορία αυτή. TestNoWriterPaidWorkWhenWriterExpenseExistsError: Έλεγχος ότι δεν υπάρχει πρόταση χωρίς προκατασκευασμένη αμειβόμενη εργασία Συγγραφέα ενώ προβλέπεται δαπάνη για Αμοιβή Συγγραφέα. Σελίδα 9 από 34

TestNoOriginalMaterialZipFileError: Δεν υπάρχει κανένα συνοδευτικό αρχείο Ενδιάμεσης Αναφοράς που να μην το έχει ανεβάσει ο ίδιος ο Συγγραφέας. Σελίδα 10 από 34

2 Ανάλυση του project Ebooks.Portal 2.1 Ebooks.Portal.Common Περιέχει τις κλάσεις που χειρίζονται τις οθόνες της εφαρμογής στις οποίες έχουν πρόσβαση και μη πιστοποιημένοι χρήστες της, όπως η οθόνη εγγραφής μελών, σελίδα προβολής σφαλμάτων, υπενθύμισης κωδικού χρήστη κλπ. Σελίδα 11 από 34

Σελίδα 12 από 34

2.2 Ebooks.Portal.PortalServices Περιέχει την κλάση Services όπου ορίζονται web μέθοδοι που καλούνται εσωτερικά από την εφαρμογή όπως οι EmailExists, UserNameExists (έλεγχοι μοναδικότητας email και ονόματος χρήστη), ChangeMobilePhone (αλλαγή κινητού τηλ. χρήστη) κλπ. Σελίδα 13 από 34

2.3 Ebooks.Portal.Secure Ebooks.Portal.Secure, Ebooks.Portal.Secure.EditorPopups Ebooks.Portal.Secure.UserControls ToEbooks.Portal.Secure περιέχει τόσο τις κλάσεις που ορίζουν τις master σελίδες της εφαρμογής (SecurePages, BackOffice, WideSecurePages), καθώς και τις κλάσεις που χρησιμοποιούνται για την παραγωγή διαφόρων pdf εκτυπώσεων της εφαρμογής όπως η βεβαίωση ένταξης, πρωτόκολλο ποσοτικών και ποιοτικών προδιαγραφών μερικής παραλαβής κλπ. Το ~.EditorPopups περιέχει αντίστοιχα τις κλάσεις για τις popup σελίδες τις οποίες μπορούν να ανοίξουν πιστοποιημένοι χρήστες της εφαρμογής. Σελίδα 14 από 34

Σελίδα 15 από 34

2.4 Ebooks.Portal.Secure.Admin, Ebooks.Portal.Secure.Admin, Ebooks.Portal.Secure.Admin.EditorPopups, Ebooks.Portal.Secure.Admin.UserControls Στο Ebooks.Portal.Secure.Admin ορίζονται όλες οι κλάσεις των σελίδων στις οποίες αποκλειστική πρόσβαση έχουν οι χρήστες με αυξημένα administrative δικαιώματα στην εφαρμογή. Στο Ebooks.Portal.Secure.Admin.EditorPopups ορίζονται οι κλάσεις για τις αντίστοιχες popup σελίδες, ενώ στο ~.UserControls ορίζονται τα σχετικά controls. Σελίδα 16 από 34

2.5 Ebooks.Portal.Secure.FacultyMembers Εδώ περιέχονται οι κλάσεις που υλοποιούν τη λειτουργικότητα των οθονών των μελών των μητρώων. Η κεντρική σελίδα ενός μέλους, η δημιουργία και υποβολή πρότασης και ο χειρισμός του υλικού των συγγραμμάτων περιλαμβάνονται σε αυτές. Σελίδα 17 από 34

Σελίδα 18 από 34

2.6 Ebooks.Portal.Secure.FacultyMembers.EditorPopups Οι κλάσεις αυτές είναι υπεύθυνες για την υλοποίηση των popup σελίδων που ανοίγουν τα μέλη των μητρώων, όπως π.χ. τα αιτήματα τροποποίησης στοιχείων των συγγραμμάτων. Σελίδα 19 από 34

2.7 Ebooks.Portal.Secure.Financial Εδώ περιέχονται οι κλάσεις που σχετίζονται με το οικονομικό υποσύστημα της εφαρμογής και με τις συμβάσεις των μελών. Οι σελίδες για την Ενδιάμεση και Τελική Αναφορά του Συγγραφέα και του Κριτικού Αναγνώστη και η οθόνη της σύμβασης ενός μέλους υλοποιούνται από τις κλάσεις αυτές. Σελίδα 20 από 34

Σελίδα 21 από 34

2.8 Ebooks.Portal.Secure.Helpdesk Εδώ ορίζονται οι κλάσεις που είναι υλοποιούν τις σελίδες που χειρίζονται τα μέλη της ΚΟΥ και των ΤΟΥ της δράσης. Τέτοιες είναι π.χ. οι εποπτεία των μητρώων, των προτάσεων και των συγγραμμάτων. Σελίδα 22 από 34

2.9 Ebooks.Portal.Secure.Helpdesk.EditorPopups Οι κλάσεις που ορίζουν τη λειτουργικότητα για τις Popup οθόνες που βλέπουν οι χρήστες της ΚΟΥ και των ΤΟΥ, όπως η προβολή των λεπτομερειών της Ενδιάμεσης Αναφοράς για κάποιο Σύγγραμμα. Σελίδα 23 από 34

2.10 Ebooks.Portal.Secure.Reports Εδώ ορίζονται οι κλάσεις για την δημιουργία και προβολή όλων των αναφορών στις οποίες έχουν πρόσβαση οι χρήστες με τον αντίστοιχο ρόλο. Περιλαμβάνει Αναφορές σχετικές με τα μέλη των μητρώων, τις προτάσεις, τα στοιχεία υλοποίησης και στατιστικά της εφαρμογής. Σελίδα 24 από 34

2.11 Ebooks.Portal.Secure.UserControls.ExportGridViews Περιέχει τις κλάσεις που είναι υπεύθυνες για όλα τα controls εξαγωγής στοιχείων σε μορφή εγγράφων Excel (.xls), χειρίζονται δε τόσο τη μορφοποίηση όσο και την παραγωγή των εγγράφων. Τα controls αποτελούν επεκτάσεις των αντίστοιχων DevExpresscontrols και χρησιμοποιούνται σε πολλά σημεία της εφαρμογής, είτε από το κομμάτι του Helpdesk είτε από το κομμάτι των αναφορών (Reports). Εικόνα 1 Σελίδα 25 από 34

2.12 Ebooks.Portal.Secure.UserControls.SearchFilters Αποτελείται από τις κλάσεις που αφορούν στα controls για τα κριτήρια των αναζητήσεων στις διάφορες οθόνες της εφαρμογής. 2.13 Ebooks.Portal.Secure.UserControls.GridViews Οι κλάσεις που περιέχονται εδώ χρησιμοποιούνται για τον σχηματισμό και την παρουσίαση των gridcontrols που φαίνονται στις σελίδες της εφαρμογής. Αποτελούν επεκτάσεις του βασικού control της DevExpressASPxGridView και υποστηρίζουν το concept των callbacks για την client-side λειτουργικότητα. Σελίδα 26 από 34

2.14 Ebooks.Portal.UserControls.FacultyMemberControls.InputControls Ebooks.Portal.UserControls.FacultyMemberControls.InputControls και.viewcontrols Οι κλάσεις εδώ αποτελούν τη βάση των controls που φαίνονται στην οθόνη εισαγωγής των στοιχείων ενός μέλους του μητρώου Συγγραφέων-Αξιολογητών (στοιχεία επικοινωνίας, διεύθυνσης, βιογραφικού, ακαδημαϊκών στοιχείων, συγγραμμάτων και μαθημάτων) - InputControls, ενώ τα αντίστοιχα ViewControls φροντίζουν για την προβολή και μόνο των αντίστοιχων στοιχείων. Σελίδα 27 από 34

2.15 Ebooks.Portal.UserControls.PublicationAssistantControls.InputControls Ebooks.Portal.UserControls.PublicationAssistantControls.InputControls και.viewcontrols Αντίστοιχα με τα παραπάνω αλλά αυτή τη φορά για τα μέλη του μητρώου συντελεστών, τα InputControls περιέχουν τις κλάσεις που χειρίζονται την εισαγωγή των στοιχείων των συντελεστών ενώ τα ViewControls την προβολή τους. Σελίδα 28 από 34

2.16 Ebooks.Portal.UserControls.PaymentContractControls.InputControls Ebooks.Portal.UserControls.PaymentContractControls.InputControls και.viewcontrols Στο σημείο αυτό βρίσκονται οι κλάσεις που ορίζουν τα controls που χρησιμοποιούνται για τη δημιουργία μιας σύμβασης, της εισαγωγής των απαιτούμενων δεδομένων για την ολοκλήρωσή της και της προβολής των στοιχείων της σύμβασης τόσο στο δικαιούχο όσο και στα εξουσιοδοτημένα μέλη της δράσης. Σελίδα 29 από 34

2.17 Ebooks.Portal.UserControls.ProposalEvaluationTokenControls.InputControls Ebooks.Portal.UserControls.ProposalEvaluationTokenControls.InputControls καιviewcontrols Περιέχει τις κλάσεις ορίζουν τη λειτουργικότητα για τη δημιουργία, επεξεργασία και ολοκλήρωση ενός token αξιολόγησης (InputControls) και την προβολή των στοιχείων αυτών (ViewControls). Σελίδα 30 από 34

2.18 Ebooks.Portal.WebServices Εδώ ορίζονται οι κλάσεις και οι μέθοδοι που αποτελούν τα webservices που είναι προσβάσιμα από εξουσιοδοτημένους εξωτερικούς χρήστες και συντελούν στη συνεργασία της εφαρμογής με άλλα συστήματα. Υποστηρίζονται μέθοδοι που δίνουν πληροφορίες για Συντελεστές και Βιβλία καθώς και η δυνατότητα μαζικής αποστολής email σε μέλη των μητρώων. 2.19 Ebooks.Portal.Utils Περιέχει βοηθητικές κλάσεις που χρησιμοποιούνται σε διάφορα σημεία της εφαρμογής και είναι υπεύθυνες για λειτουργίες όπως η απόδοση ρόλων σε χρήστες, η προγραμματισμένη αποστολή emails, και η παρουσίαση δεδομένων με συγκεκριμένη μορφή στις οθόνες της εφαρμογής. 2.20 Ebooks.Utils.Worker Εδώ ορίζονται οι βασικές κλάσεις που είναι υπεύθυνες για το τρέξιμο των ασύγχρονων παρασκηνιακών εργασιών της εφαρμογής, όπως είναι η αυτοματοποιημένη αποστολή ενημερωτικών emails προς τα μέλη των μητρώων, η ενημέρωση προς τους αξιολογητές σχετικά με την διαδικασία και τις προθεσμίες της διαδικασίας αξιολόγησης προτάσεων και ο υπολογισμός τηςθεματικής συνάφειας των μελών του Μητρώου Συγγραφέων με τις υποβεβλημένες Προτάσεις. Σελίδα 31 από 34

3 Ανάλυση του namespace Ebooks.BusinessModel.Flow του Ebooks.Portal Στο namespace Ebooks.BusinessModel.Flow του project Ebooks.Portal υλοποιούνται όλες οι ροές εργασιών (workflows) και οι ροές καταστάσεων (state machines) των κυριότερων οντοτήτων των εφαρμογών (Προτάσεις, Αξιολογήσεις, Ενδιάμεσες Αναφορές, Συμβάσεις, κλπ) Γίνεται χρήση του framework Stateless. To Stateless είναι ένα framework που δίνει τη δυνατότητα δημιουργίας state machines στο περιβάλλον του.νετ. (Χρησιμοποιείται το Stateless v. 2.4.0.1). Έχουν δημιουργηθεί state machines για τις προτάσεις, τα tokens αξιολόγησης, τις ενδιάμεσες αναφορές, τις τελικές αναφορές, τα αιτήματα ενδιάμεσης πληρωμής και τα αιτήματα τροποποίησης των συγγραμμάτων. 3.1.1 Ebooks.BusinessModel.Flow.PaymentRequestStateMachine Xρησιμοποιείται για να χειριστεί τη μετάβαση των ενδιάμεσων Αναφορών (PaymentRequest) μεταξύ των προκαθορισμένων καταστάσεων, θέτοντας την αντίστοιχη τιμή του enum [enpaymentrequeststatus] στο πεδίο PaymentRequest.Status. Η κλάση PaymentRequestStateMachine [PaymentRequestStateMachine.cs] ορίζει τις καταστάσεις και ελέγχει αν και κάτω από ποιες προϋποθέσεις είναι δυνατή η μετάβαση σε κάθε μια από αυτές. Τα triggers των διαφόρων καταστάσεων ορίζονται στο enum enpaymentrequesttriggersκαι οι παράμετροι στην κλάση PaymentRequestTriggerParams. 3.1.2 Ebooks.BusinessModel.Flow.FinalPaymentRequestStateMachine Xρησιμοποιείται για να χειριστεί τη μετάβαση των τελικών Αναφορών (FinalPaymentRequest) μεταξύ των προκαθορισμένων καταστάσεων, θέτοντας την αντίστοιχη τιμή του enum [enpaymentrequeststatus] στο πεδίο FinalPaymentRequest.Status. Η κλάση FinalPaymentRequestStateMachine [FinalPaymentRequestStateMachine.cs] ορίζει τις καταστάσεις και ελέγχει αν και κάτω από ποιες προϋποθέσεις είναι δυνατή η μετάβαση σε κάθε μια από αυτές. Τα triggers των διαφόρων καταστάσεων ορίζονται στο enum enfinalpaymentrequesttriggersκαι οι παράμετροι στην κλάση FinalPaymentRequestTriggerParams. Σελίδα 32 από 34

3.1.3 Ebooks.BusinessModel.Flow.PaymentContractStateMachine Xρησιμοποιείται για να χειριστεί τη μετάβαση των Συμβάσεων (PaymentContract) μεταξύ των προκαθορισμένων καταστάσεων, θέτοντας την αντίστοιχη τιμή του enum [encontractstatus] στο πεδίο PaymentContract.ContractStatus. Η κλάση PaymentContractStateMachine [PaymentContractStateMachine.cs] ορίζει τις καταστάσεις και ελέγχει αν και κάτω από ποιες προϋποθέσεις είναι δυνατή η μετάβαση σε κάθε μια από αυτές. Τα triggers των διαφόρων καταστάσεων ορίζονται στο enum enpaymentcontracttriggersκαι οι παράμετροι στην κλάση PaymentContractTriggerParams. 3.1.4 Ebooks.BusinessModel.Flow.PaymentRequestFundingStateMachine Xρησιμοποιείται για να χειριστεί τη μετάβαση των Αιτημάτων Ενδιάμεσης Πληρωμής (PaymentRequestFunding) μεταξύ των προκαθορισμένων καταστάσεων, θέτοντας την αντίστοιχη τιμή του enum [enpaymentrequestfundingstatus] στο πεδίο PaymentRequestFunding.Status. Η κλάση PaymentRequestFundingStateMachine [PaymentRequestFundingStateMachine.cs] ορίζει τις καταστάσεις και ελέγχει αν και κάτω από ποιες προϋποθέσεις είναι δυνατή η μετάβαση σε κάθε μια από αυτές. Τα triggers των διαφόρων καταστάσεων ορίζονται στο enum enpaymentrequestfundingtriggersκαι οι παράμετροι στην κλάση PaymentRequestFundingTriggerParams. 3.1.5 Ebooks.BusinessModel.Flow.PublicationChangeRequestStateMachine Xρησιμοποιείται για να χειριστεί τη μετάβαση των Αιτημάτων Τροποποίησης του Συγγράμματος (PublicationChangeRequest) μεταξύ των προκαθορισμένων καταστάσεων, θέτοντας την αντίστοιχη τιμή του enum [enpublicationchangerequeststatus] στο πεδίο PublicationChangeRequest.Status. Η κλάση PublicationChangeRequestStateMachine [PublicationChangeRequestStateMachine.cs] ορίζει τις καταστάσεις και ελέγχει αν και κάτω από ποιες προϋποθέσεις είναι δυνατή η μετάβαση σε κάθε μια από αυτές. Τα triggers των διαφόρων καταστάσεων ορίζονται στο enum enpublicationchangerequesttriggersοι παράμετροι στην κλάση PublicationChangeRequestTriggerParams. Σελίδα 33 από 34

4 ΠΑΡΑΡΤΗΜΑΤΑ: Αρχεία τεκμηρίωσης του πηγαίου κώδικα ανά project Τα παρακάτω αρχεία τεκμηρίωσης του πηγαίου κώδικα επισυνάπτονται και αποτελούν τμήμα του παραδοτέου «Π1.3.2 Τεχνική τεκμηρίωση των εφαρμογών για την υποβολή, προβολή και παραμετροποίηση του ψηφιακού περιεχομένου» 4.1.1 SourceCode-documentation-1-Portal.chm 4.1.2 SourceCode-documentation-2-BusinessModel.chm 4.1.3 SourceCode-documentation-3-Utils.chm 4.1.4 SourceCode-documentation-6-.DataIntegrity.Tests.chm Σελίδα 34 από 34