Εγκατάσταση, Πρώτα βήματα και
Σημαντικές Πληροφορίες (Έκδοση 1.1)
Greek Translation: Ioannis Goutsidis
Το My Web Pages Starter Kit είναι ένα ASP NET 2.0 Σύστημα Διαχείρισης Περιεχομένου (CMS). Ως διαδικτυακή εφαρμογή επιτρέπει σε χρήστες τη ρύθμιση και συντήρηση ιστοχώρων (web sites) μέσω μιας διεπαφής διαχείρισης βασισμένης σε web browser.

Το My Web Pages Starter Kit αποτελείται από modules, εύκολα επεκτάσιμα. Οι διαχειριστές, μπορούν να το εγκαταστήσουν άμεσα σε ένα διακομιστή και να ξεκινήσουν τη δημιουργία ιστοχώρων. Με τη βοήθεια του Visual Studio ή του Visual Studio Web Developer Express Edition, οι προγραμματιστές μπορούν εύκολα να παραμετροποιήσουν και να επεκτείνουν τις δυνατότητές αυτού.

Στο παρόν κείμενο επεξηγείται ο τρόπος εγκατάστασης του My Web Pages Starter Kit και δίνονται πληροφορίες για την ανάπτυξη νέων στοιχείων ελέγχου (controls) για την επέκταση του προϊόντος.

Για απορίες, νέα, εκδόσεις και γεγονότα που σχετίζονται με το project, επισκεφθείτε το My Web Pages Starter Kit project στον δικτυακό τόπο του Codeplex.com.
1 Εκτέλεση τοπικά
Αποσυμπιέστε τα περιεχόμενα του ZIP αρχείου στον σκληρό σας δίσκο
- Εκκινήστε το Visual Studio 2005 ή το Visual Studio Web Developer Express
- Επιλέξτε "File->Open Web Site" για να ανοίξετε το Web Site
- Πιέστε το πλήκτρο F5 για να εκκινήσετε το Web Site στον browser σας
(Αν δεν επιθυμείτε αλλαγές στην εφαρμογή, δεν απαιτείται η εκτέλεσή της τοπικά. Μπορείτε απλά να αποσυμπιέσετε τα αρχεία και να τα δημοσιεύσετε σε κάποιον απομακρυσμένο server. Δείτε στην ενότητα 2)
2 Δημοσίευση σε απομακρυσμένο server
- Το My Web Pages Starter Kit απαιτεί έναν ASP.NET 2.0 server (Επιλογή)
Μεταφέρετε (Upload) τα αρχεία

  • Δημιουργείστε ένα λογαριασμό φιλοξενίας σε κάποιον server που υποστηρίζει την Microsoft ASP.NET 2.0 τεχνολογία διαδικτύου (Επιλογή). Ο πάροχος θα σας κοινοποιήσει τα απαραίτητα στοιχεία πρόσβασης, τα οποία απαιτούνται για τη συντήρηση του ιστοχώρου σας, με το ρόλο του διαχειριστή (webmaster).
  • Δημοσιεύστε το My Web Pages Starter Kit στο πάροχό σας, ανεβάζοντας όλα τα αρχεία (εκτός του App_Data καταλόγου) στο λογαριασμό φιλοξενίας σας. Η διαδικασία αυτή πραγματοποιείται συνήθως με τη χρήση κάποιας 'FTP Client' εφαρμογής. Για να ολοκληρώσετε την ανωτέρω διαδικασία, θα πρέπει να έχετε στη διάθεσή σας το όνομα του server και τα στοιχεία του λογαριασμού σας σε αυτόν (Όνομα χρήστη & Κωδικό πρόσβασης) από τον πάροχό σας.
    Σημείωση: Ο κατάλογος App_Data αποτελεί έναν ειδικό για το ASP.NET 2.0 κατάλογο και απαιτεί ιδιαίτερα δικαιώματα χρήσης (Για Windows 2000: δικαιώματα εγγραφής για το λογαριασμό χρήστη "ASPNET" / Για Windows 2003: δικαιώματα εγγραφής για το λογαριασμό χρήστη "Network Service" και το επιπλέον δικαίωμα ανάγνωσης των ιδιοτήτων των υπερκείμενων καταλόγων). Αν ο πάροχός σας έχει ήδη δημιουργήσει τον εν λόγω κατάλογο, μην τον διαγράψετε, αφού έτσι να χάσετε όλα αυτά τα ειδικά δικαιώματα. Στην περίπτωση που ο κατάλογος δεν υφίσταται, δημιουργήστε τον και ζητήστε από τον πάροχο να σας αναθέσει τα δικαιώματα που αναφέρθηκαν παραπάνω. Χωρίς τα δικαιώματα αυτά, ο κώδικας του My Web Pages Starter Kit δεν θα είναι σε θέση να αποθηκεύει τις πληροφορίες σας εκεί.
  • Το My Web Pages Starter Kit απαιτεί τουλάχιστον τη δυνατότητα medium trust (Μάθετε περισσότερα). Συνήθως ο πάροχος έχει ήδη ρυθμίσει το επίπεδο του medium trust στο machine.config αρχείο. Με τον τόπο αυτό, η συγκεκριμένη ρύθμιση στο web.config αρχείο τίθεται εντός σχολίων. Στην περίπτωση που εκτελείτε το My Web Pages Starter Kit τοπικά, προτείνεται η αφαίρεση των σχολίων της από τη συγκεκριμένη ρύθμιση, έτσι ώστε να είστε βέβαιοι ότι ο επιπλέον κώδικάς σας συνάδει με τις απαιτήσεις του medium trust.
- Εκκινήστε τον web browser σας και εισάγετε τη διεύθυνση URL του My Web Pages Starter Kit ιστοχώρου σας. Μετά από μια μικρή καθυστέρηση, το My Web Pages Starter Kit δημιουργεί τα αρχεία δεδομένων στον κατάλογο App_Code και σας εμφανίζει την εξ’ ορισμού αρχική σελίδα.
- Αλλάξτε τον κωδικό πρόσβασης του διαχειριστή (administrator) πατώντας στο "Αλλαγή κωδικού πρόσβασης" της σελίδας σύνδεσης
(Αρχικό Όνομα χρήστη/Κωδικός πρόσβασης: admin/admin)
Συνδεθείτε ως διαχειριστής (admin/ο_κωδικός_πρόσβασής_σας)
- Κάνετε τις ρυθμίσεις του ιστοχώρου σας πατώντας στο "Διαχείριση -> Ρυθμίσεις CMS συστήματος"
  • ΣΗΜΕΙΩΣΗ: Όλες οι δυνατότητες και τα στοιχεία ελέγχου που αποστέλλουν emails (όπως Μηδενισμός κωδικού πρόσβασης, Φόρμα επικοινωνίας κ.λπ.), δεν θα είναι διαθέσιμες, μέχρις ότου ρυθμίσετε έναν SMTP Server ή μια Διεύθυνση αποστολέα.
3 Αρχιτεκτονική
3.1 Επίπεδο Παρουσίασης (UI Layer)
Τα ASPX Αρχεία είναι υπεύθυνα για τη δημιουργία των σελίδων. Οι προσβάσιμες από τους χρήστες σελίδες βρίσκονται στον κατάλογο ρίζα, οι σελίδες διαχείρισης στον κατάλογο "administration". Το αρχείο Default.aspx χειρίζεται τη δημιουργία όλων των προσαρμοσμένων σελίδων (π.χ. όσων περιέχουν δικό σας περιεχόμενο ή στοιχεία ελέγχου). Επιπρόσθετα, υπάρχουν συγκεκριμένες ASPX σελίδες για τις αναζητήσεις στον ιστοχώρο, τη σύνδεση των χρηστών και την αλλαγή των κωδικών πρόσβασης.

Μια σελίδα του My Web Pages Starter Kit μπορεί να περιέχει τα λεγόμενα τμήματα (sections), τα οποία είναι στοιχεία ελέγχου-UserControls (μάθετε περισσότερα), που απορρέουν από την SectionControlBaseClass. Για να μπορεί ένα στοιχείο ελέγχου να λειτουργήσει εντός του My Web Pages Starter Kit, πρέπει να πληρούνται οι ακόλουθες απαιτήσεις: 

  • Πρέπει να απορρέει από την My Web Pages Starter Kit.Controls.SectionControlBaseClass
  • Πρέπει να συνοδεύεται από μια κλάση που περιέχει τη business logic, καθώς επίσης και τα δεδομένα του συγκεκριμένου τμήματος (δείτε παρακάτω, Επίπεδο Δεδομένων).
3.2 Business Logic
Βασικές κλάσεις: Να θυμάστε ότι δεν πρέπει να τις χρησιμοποιείτε ως αντικείμενα δεδομένων και μην ενσωματώνετε κώδικα παρουσίασης (layout/UI) σε αυτές.
3.3 Επίπεδο Πρόσβασης Δεδομένων (Data Access Layer)
Η εκτέλεση της ASP.NET 2.0 σε κατάσταση Medium Trust (και κατ' επέκταση του My Web Pages Starter Kit) επιτρέπει την εγγραφή αρχείων στον κατάλογο App_Data. Η γενική κλάση "Persistable" απλοποιεί την πρόσβαση των δεδομένων.

Για τη δημιουργία ενός νέου τμήματος (section) (ας το ονομάσουμε MySection), το οποίο διατηρεί τα δεδομένα του, η κλάση σας πρέπει να απορρέει από την Section<T>, όπου <T> η MySection.MySectionData
Έτσι, η δήλωση της κλάσης σας έχει ως εξής:
class MySection : Section<MySection.MySectionData>

Η MySectionDataκλάση, πρέπει να είναι εσωτερική (inner) της κλάσης MySection. Όλα τα πεδία που επιθυμείτε να είναι μόνιμα, πρέπει να δηλωθούν σε αυτή την εσωτερική κλάση ως δημόσια μέλη (public members). Στην MySection κλάση σας, μπορείτε πλέον να έχετε πρόσβαση σε όλα τα μέλη της εσωτερικής κλάσης, μέσω του _data μέλους που απορέει από την Section<T>. Εάν δημιουργείτε ένα στιγμιότυπο (instance) του τμήματός σας και περνάτε  ένα μοναδικό χαρακτηριστικό στη συνάρτηση δημιουργίας (constructor), τα δεδομένα που αναφέρονται στο χαρακτηριστικό αυτό (id), φορτώνονται αυτόματα από τον κατάλογο App_Data και μπορείτε να έχετε πρόσβαση σε αυτό μέσω του _data μέλους.

Στην περίπτωση όπου σε κάποιο σημείο του κώδικά σας, επιθυμείτε οι νέες τιμές να μονιμοποιηθούν πίσω στον κατάλογο App_Data, μπορείτε να καλέσετε τη μέθοδο SaveData() του τμήματός σας (κληρονομείται από την Section<T>).

Ένας καλό σημείο εκκίνησης για την ανάπτυξη των δικών σας τμημάτων, αποτελεί το τμήμα  HtmlContent, που παρέχεται με το My Web Pages Starter Kit, αφού εκεί παρουσιάζονται οι περισσότερες βασικές αρχές σε λίγες γραμμές κώδικα.
4 Χρήσιμα στοιχεία ασφάλειας
4.1 Διαχειριστής (Webmaster)
Ως διαχειριστής, πρέπει να έχετε υπόψη τα κάτωθι σημαντικά:
  1. Παρακαλούμε όπως αλλάξετε τον κωδικό πρόσβασης 'admin' ως πρώτη κίνηση μετά την εγκατάσταση του My Web Pages Starter Kit ιστοχώρου.
  2. Συνδεθείτε ως διαχειριστής και ορίστε έναν SMTP Server (οι σχετικές πληροφορίες παρέχονται από τον πάροχο) και ρυθμίστε την e-mail διεύθυνσή σας στο λογαριασμό χρήστη του admin.
  3. Εγγραφείτε στα νέα του My Web Pages Starter Kit, καθώς παρέχονται σημαντικές πληροφορίες ασφάλειας.
  4. Αξιολογήστε την ασφάλεια του περιβάλλοντος φιλοξενίας πριν προχωρήσετε στην επιλογή του My Web Pages Starter Kit και ενός πάρουχου
    1. Μην αποθηκεύετε προσωπικές πληροφορίες σε έναν ιστοχώρο που βρίσκεται σε κοινόχρηστο περιβάλλον φιλοξενίας, όπως:
      • προσωπικά στοιχέια τρίτων
      • ιατρικές πληροφορίες
      • στοιχεία πιστωτικών καρτών
    2. Αξιολογήστε το επίπεδο ασφάλειας του παρόχου, για τον σκοπό για τον οποίο επιθυμείτε τη λειτουργία του ιστοχώρου σας
    3. Αξιολογήστε το γεγονός ότι η μη κρυπτογραφημένη επικοινωνία σας καλύπτει (ονόματα χρηστών, κωδικοί πρόσβασης)
  5. Λαμβάνετε αντίγραφα ασφαλείας (backup) των δεδομένων σας σε συχνή βάση, κατεβάζοντας (download) το περιεχόμενο του καταλόγου App_Data μέσω FTP.
  6. Αναθέστε σαφείς αρμοδιότητες στη συντήρηση του ιστοχώρου σας:
    1. Ποιος λαμβάνει ειδοποιήσεις σχετικές με την ασφάλεια;
    2. Ποιος λαμβάνει συχνά αντίγραφα ασφαλείας;
4.2 Προγραμματιστής (Developer)
Ως προγραμματιστής, πρέπει να έχετε υπόψη τα κάτωθι σημαντικά:
  1. Μην αλλάζετε τον τρόπο διαχείρισης των κωδικών πρόσβασης.
  2. Μην επεκτείνετε το λογισμικό με τρόπο, ο οποίος επιτρέπει την αποθήκευση ευαίσθητων πληροφοριών, που δεν προστατεύονται επαρκώς σε κοινόχρηστα περιβάλλοντα φιλοξενίας, όπως:
    • προσωπικά στοχεία τρίτων
    • ιατρικές πληοροφορίες
    • στοιχεία πιστωτικών καρτών
  3. Οι μεταβολές στο λογισμικό γίνονται με κύριο γνώμονα την ασφάλεια.
  4. Βεβαιωθείτε ότι έχετε εγγραφεί στις λίστες νέων του My Web Pages Starter Kit ώστε να λαμβάνετε τις τελευταίες ενημερώσεις που σχετίζονται με την ασφάλεια.
  5. Παραμείνετε σε επαφή με τους ανθρώπους, για τους οποίους έχετε αλλάξει/επεκτείνει/εγκαταστήσει το My Web Pages Starter Kit και τους οποίους επιθυμείτε να ενημερώσετε σχετικά με την ύπαρξη κάποιου θέματος ασφάλειας
  6. Βεβαιωθείτε ότι έχετε, ανά πάσα στιγμή, ένα αντίγραφο του πηγαίου σας κώδικα, αφού ενδέχεται να δοκιμάσετε ή να ενοποιήσετε τυχόν μεταβολές που βασίζονται σε μελλοντικές διορθώσεις ασφάλειας.
5 Ρυθμίσεις του IIS για την Silverlight gallery
Επειδή η XAML δεν έχει οριστεί ως MIME τύπος στον IIS, το Silverlight plug-in δεν είναι σε θέση να φορτωθεί σωστά. Για να είστε να θέση να εμφανίσετε την Silverlight gallery, παρακαλούμε όπως ρυθμίσετε τον IIS σας, ως κάτωθι: (Οι ακόλουθες ρυθμίσεις δεν απαιτούνται για τις εκδόσεις 7 και άνω του IIS, αφού ο XAML MIME type έχει ήδη οριστεί εκεί).
  1. Επιλέξτε τον ιστοχώρο σας στον IIS
  2. Ανοίξτε το μενού επιλογών (δεξιό κλικ) και επιλέξτε "Properties"
  3. Πατήστε στην επιλογή "HTTP-Header"
  4. Πατήστε στο κουμπί με όνομα "MIME Types..."
  5. Εάν η επέκταση .xaml δεν είναι καταχωρημένη ως τύπος, επιλέξτε "New"
  6. Εισάγετε την παρακάτω περιγραφή:
    Extension: .xaml
    MIME type: application/xaml+xml
  7. Πατήστε στο "Ok" και επιλέξτε "Apply"
Μάθετε περισσότερα