Τελευταία άρθρα
Τελευταία άρθρα της κατηγορίας




Αρχιτεκτονική του Guru CMS


Οι περισσότεροι χρήστες στο διαδύκτιο αναζητούν μια πλατφόρμα με δυνατότητα επεξεργασίας και προσθήκης περιεχομένου σε πραγματικό χρόνο δηλ ένα dynamic web site. Υπάρχουν δεκάδες προγράμματα κυρίως open source που σας δίνουν την δυνατότητα αυτή και μάλιστα δωρεάν. Πέραν από σημαντικά αρνητικά που κουβαλούν όλα αυτά (διαβάστε αναλυτικά σε αυτό το άρθρο), το κυριότερο είναι όταν προσπαθήσετε να μεταφέρετε ένα HTML template στο αντίστοιχο CMS ή ακόμη και να γράψετε κάποια επέκταση (module/component). Εκεί τα πράγματα γίνονται τόσο πολύπλοκα που αν δεν είστε έμπειρος προγραμματιστής και με αρκετό χρόνο ελεύθερο να δαπανήσετε για την εκμάθησή τους απλά βολεύεστε στο τέλος με ένα “απλό” web site.

Κυρίως αυτό το πρόβλημα έρχετε να γεφυρώσει το Guru CMS. Με αρχιτεκτονική που έχει σαν στόχο το “keep it simple” (κράτα το όσο πιο απλό γίνεται), σας δίνει την δυνατότητα χωρίς την παραμικρή γνώση προγραμματισμού να ενσωματώσετε το template σας σε μερικές ώρες ή ακόμη και να αναπτύξετε κάποια εφαρμογή χωρίς να χρειαστεί να διαβάσετε εγχειρίδια 200 σελίδων...

Στο παρακάτω διάγραμμα βλέπετε μια σύνοψη της αρχιτεκτονικής του Guru CMS.

Η αρχιτεκτονική του CMS

Ο κεντρικός πυρήνας του CMS (Core CMS Application) στέλνει όλες τις "εντολές" στα επιμέρους τμήματα του CMS. Βασικό μέρος του συστήματος αποτελεί η γλώσσα προτύπων Smarty. Μέσο αυτής μπορείτε να προσαρμόσετε οποιοδήποτε HTML κώδικα στο CMS σε πολύ μικρό χρονικό διάστημα χωρίς να χρειαστεί να μάθετε νέες τεχνολογίες.
Πάνω στα templates υπάρχουν τα snippets, μικρά κομμάτια κώδικα που εκτελούν διάφορες λειτουργίες επιλεκτικά ανά layout.
Αυτά μπορούν για παράδειγμα να εκτελούντε μόνο σε μια συγκεκριμένη κατηγορία και πχ να αλλάζουν το banner αυτής προσφέρωντας ένα διαφορετικό layout.

Πέραν των σχετικών με την Smarty έχουμε τις επεκτάσεις (modules). Αυτές αποτελούν ξεχωριστά κομμάτια κώδικα ενοποιημένα με έναν τρόπο ώστε να αποτελούν μια αυτόνομη εφαρμογή πχ forum, newsletter κτλ. Οτιδήποτε χρειαστεί να προγραμματίσετε αυτό θα πρέπει να γίνει σαν module και μόνο.

Κατά την διάρκεια του προγραμματισμού έχουμε την δυνατότητα να φωνάξουμε διάφορες βιβλιοθήκες και να εκτελέσουν αυτές εν συνεχεία κάποιες διεργασίες έτσι ώστε να μας γλυτώσουν χρόνο πχ να καλέσουμε μια βιβλιοθήκη (library) για να στείλουμε ένα email με χρήση smtp authentication.

Πέραν τον παραπάνω υπάρχει φυσικά ενσοματωμένη πλήρης υποστήριξη για LDAP αλλά και μη. Υποστηρίζουμε όλους τους OpenLDAP κλώνους που υπάρχουν στο web πχ 389 Directory Server, OpenLDAP κτλ.

Δημοσιεύτηκε στις: 22/03/2013