Παίρνοντας αφορμή από την προχτεσινή θεματική ενότητα, γιατί dotNetNuke (DNN) και όχι κάποιο άλλο portal, ή και γιατί όχι Windows SharePoint Services (WSS), θα ήθελα να πω και εγώ τις σκέψεις μου.
Όταν έγινε η πρώτη προσπάθεια να γίνει το πέρασμα στην αρχή του χρόνου, από το παλιό CS Forum, στο Community Server (CS), η μεγάλη ιδέα ήταν, ναι μεν να έχουμε Forum, Blogs στον CS, αλλά παράλληλα αφού θέλαμε να έχουμε και άλλες υπηρεσίες έπρεπε να έχουμε και κάτι ακόμα, ένα Content Management System (CMS). Το επικρατέστερο CMS για να χρησιμοποιήσουμε ήταν το DNN.
Δεν είχε βγει το πακέτο της Microsoft για το Internet Hosting, για να έχουμε ενδείξεις της πορείας που ήθελε να προτείνει η ίδια η εταιρεία, οπότε τα κριτήρια ήταν πολλά και διάφορα αυτού.
Σαν βασικό κριτήριο, ήταν η υποστήριξη της κοινότητας, μιας και το project είναι open source. Αυτό που αναφέρθηκε και από τον Άγγελο, το DNN έχει πολύ μεγαλύτερο καθημερινό όγκο μηνυμάτων από το Rainbow στα ASP.NET Forums. Τα έτοιμα add-ins, το add-in framework, καθώς η αρχιτεκτονική της υποδομής του, τα εκπαιδευτικά videos και Webcasts που παρέχονται από το ίδιο το DNN site, και από τρίτα sites (TrainCert.NET, Seabury Design, και άλλους), για την εκπαίδευση για την εγκατάσταση, διαμόρφωση, διαχείριση και ανάπτυξη add-ins είναι πάρα πολλά και δύσκολα τα αγνοεί κάποιος.
Η υπόσχεση που είχε δωθεί και από τις δύο ομάδες ανάπτυξης, και του DNN και του CS, ότι τα δύο προϊόντα θα μπορέσουν να μοιραστούν κοινό login για τους χρήστες τους, και εύκολη μετάβαση σε ASP.NET 2.0, μιας και τα δύο χρησιμοποιούν τον ίδιο membership & personalization provider που είναι και forward συμβατός με τον αντίστοιχο του ASP.NET 2.0, είναι ένα σίγουρο χαρτί για το μέλλον και των δύο προϊόντων.
Αυτά που δεν σκεφτήκαμε και δεν λογαριάσαμε καθόλου, είναι αν το project είναι γραμμένο σε VB.NET ή σε C#. Πάλι ο Άγγελος, σωστά ανέφερε, ότι προγραμματιστές που είχαν μεράκι και ήθελαν να φτιάξουν add-ins για το DNN, έφτιαξαν interfaces σε C# και templates για την ανάπτυξη μέσω εργαλείων, όπως το Reflector for .NET και το CodeSmith, και υπάρχουν καλά add-ins σε C#, όπως τα αντίστοιχα σε VB.NET. Η πεποίθηση ότι η καρδιά του προγραμματισμού σε .NET είναι το .NET Framework και όχι η γλώσσα που χρησιμοποιεί ο καθένας γιατί αισθάνεται άνετα με αυτή, έχει πλήρη ενσάρκωση σε αυτή την περίπτωση. Δεν νομίζω οποιεσδήποτε απόψεις/δηλώσεις μπορούν να αλλάξουν το γεγονός αυτό.
Από κει και πέρα πόσο καλό είναι το DNN σε αυτό το ρόλο, μην ξεχνάμε ότι το μέγεθος της δουλειάς που έχει γίνει, και ότι είναι open source project. Δεν είναι καθαρό πολυγλωσσικό portal όπως ανέφερε ο Γιάννης. Είναι πολυγλωσσικό όσο αφορά το στατικό μέρος του, αλλά το δυναμικό περιεχόμενο δεν μπορεί να χαρακτηριστεί με μια γλώσσα, στην default του έκδοση. Σίγουρα δεν είναι “Vignette” που κατόρθωσε να κρατήσει ολόκληρο το site των Ολυμπιακών Αγώνων της Αθήνας, δεν θυμάμαι σε πόσες γλώσσες, με ταυτόχρονη υποστήριξη του περιεχομένου στις αντίστοιχες γλώσσες. Αλλά δεν είναι δυνατό να γίνει μια σύγκριση, και στο κόστος της μιας λύσης με την άλλη, και την υποδομή που χρειάζονται.
Και εδώ να μπουν και στην συζήτηση και τα WSS. Όταν μιλάμε για community sites, ή ερασιτεχνικά sites, που θέλουν να βασίζονται σε ένα CMS πρέπει να έχουμε και υπόψη μας την υποδομή που χρειάζονται. Ενώ τα WSS, υπολείπονται πολύ και σε επεκτασιμότητα και σε δυνατότητες διαμόρφωσης, είναι το πιο διαδεδομένο σύστημα portal όταν συζητάμε για intranet portals. Έχει τις αδυναμίες του, με την πολυγλωσσικότητα, κάθε φορά μπορεί να είναι σε μία γλώσσα για το στατικό περιεχόμενο, παρόλα αυτά οι υπηρεσίες που προσφέρει φαίνονται να είναι αρκετές για αυτούς που τα προτιμούν. Τελευταία υπάρχει και ένα μια γρήγορα αναπτυσσόμενη κοινότητα γύρω από τα WSS που εκφράζεται κυρίως από τα Weblogs του Patrick Tisseghem, του Arpan Shah, του Joris Poelmans και του Mike Fitzmaurice.
Επανερχόμενος στην υποδομή, ενώ τα WSS είναι τόσο δημοφιλή στα intranets δεν είναι στο internet, μιας και απαιτούν Windows Authentication και οι χρήστες πρέπει να είναι και χρήστες domain ή local χρήστες του server. Κανένας δεν είναι σε θέση να συντηρήσει ένα hosted windows server, μιας και έχουν υψηλό κόστος, ιδιαίτερα στην Ελλάδα που οι internet υπηρεσίες σε windows περιβάλλον είναι υπερτιμολογημένες.
Όταν μιλάμε για user communities, συνήθως εννοούμε και μη κερδοσκοπικά sites που έχουν ξεκινήσει από τις προσπάθειες χρηστών που σκοπός τους είναι να φέρουν κοντά χρήστες που μοιράζονται παρόμοια ενδιαφέροντα, για συζήτηση, αλληλοβοήθεια και ομαδικές προσπάθειες για την ολοκλήρωση ενός έργου από κοινού.
Οπότε λόγω κόστους, και μόνο, η χρήση των WSS είναι εκτός ορίων που μπορούν να φτάσουν τα user communities.
Γύρω στα ίδια αίτια, περιστρέφεται και η μικρή εξάπλωση του DNN. Η τελευταία έκδοση του DNN, προϋποθέτει ότι στο host server υπάρχει εγκατάσταση του SQL Server 2000 ή MSDE. Η ύπαρξη SQL database στο hosting πακέτο είναι σχεδόν πάντα πρόσθετη, και συνήθως αξίζει πολλαπλάσια από μια μηνιαία συνδρομή.
Βέβαια η κατάσταση που υπάρχει αυτή τη στιγμή, είναι κάπως περίεργη. Εν αναμονή του ASP.NET 2.0 και όλων των features που θα έρθουν μαζί του, το καινούργιο ADO.NET, το καινούργιο Enterprise Library, τον SQL Server 2005 Express, σχεδόν κάθε προσπάθεια για βελτίωση των υπαρχουσών εκδόσεων web applications που τρέχουν σε .NET Framework 1.1, έχει μπει στην «κατάψυξη». Τι εννοώ; Το DNN θα μείνει σε αυτή την έκδοση και η επόμενη έκδοση θα είναι σε ASP.NET 2.0, το CS μόλις ανακοίνωσε ότι θα βγάλει μια ακόμα έκδοση την 1.2 σε .NET Framework 1.1, πριν το τέλος του χρόνου, και μετά αντί για την 1.5 που είχε εξαγγελθεί, θα προχωρήσουν στην 2.0 που θα βασίζεται σε ASP.NET 2.0.
Από αυτά διαισθάνεται κάποιος, ότι η αναμονή για το Membership & Personalization layer του ASP.NET καθώς και την ενσωμάτωση της τεχνολογίας Webparts στο ASP.NET με την παράλληλη ύπαρξη του SQL Server 2005 Express, θα προκαλέσει μια τεράστια «έκρηξη» στο χώρο της δημιουργίας Web Applications. Με λίγη προσοχή στο development, θα είναι δυνατό όλες οι εφαρμογές να είναι Webparts και να μπορούν να συνθέσουν, αρκετά γρήγορα και εύκολα, πολυπλοκότερες, μεγαλύτερες εφαρμογές/portals, που να μπορούν να καλύψουν τις ανάγκες, από ενός μικρής ερασιτεχνικής κοινότητας με μικρό κόστος, μέχρι της ανάγκες μιας πολυεθνικής εταιρείας.
George J.
References:
Rainbow Portal Forums
http://forums.asp.net/102/ShowForum.aspx
DotNetNuke Forums
http://forums.asp.net/90/ShowForum.aspx
DotNetNuke Training Videos
http://www.dotnetnuke.com/About/TrainingVideos/tabid/810/Default.aspx
TrainCert.NET
http://www.traincert.net/
Seabury Design
http://www.seaburydesign.com/Tutorials/DNN3xModuleCreation/tabid/67/Default.aspx
Reflector for .NET
http://www.aisto.com/roeder/dotnet/
CodeSmith
http://www.codesmithtools.com/
Vignette
http://www.vignette.com/
Arpan Shah's WebLog (Microsoft SharePoint Products and Technologies & Content Management Server)
http://blogs.msdn.com/arpans/
Patrick Tisseghem's Blog [MVP SharePoint] (Sharing ideas on .NET, SharePoint and Office 2003)
http://blog.u2u.info/DottextWeb/patrick/
JOPX on SharePoint, MSCMS, Office 2003 and SOA (Occasional rantings about SharePoint, Content Management Server, Office 2003 and Service Oriented Architecture...)
http://jopx.blogspot.com
FitzBlog (Mike Fitzmaurice [MSFT] shares as much as he can get away with about what Microsoft is doing with SharePoint Products and Technologies development)
http://blogs.msdn.com/mikefitz/default.aspx