Elxis CMS Forum

Ελληνικό Forum => Γενικά Θέματα για το Elxis CMS => Topic started by: jjk on May 27, 2019, 01:56:34

Title: Οδηγός του elxis
Post by: jjk on May 27, 2019, 01:56:34
Καλησπέρα.
Κάθε πρόγραμμα έχει τη δική του πολυπλοκότητα.
Όμως η αρχιτεκτονική κάθε προγράμματος είναι συνήθως απλή.
Όλα ξεκινούν από ένα απλό διάγραμμα, το οποίο καθιστά ικανή την εύκολη κατανόηση του προγράμματος.
Λίγοι μπορούν να διαθέσουν χρόνο και κόπο για να μάθουν ή μάλλον να αντιληφθούν αυτήν την αρχιτεκτονική.
Αν κάποιος δει την αρχιτεκτονική χωρίς να μπλέκεται με τις ρυθμίσεις και τα καλούδια που περιβάλλουν τον κορμό του σχεδιασμού είναι εύκολο να καταλάβει ή να ανακαλύψει και όλα αυτά.
Αυτά τα γράφω επειδή και εγώ ο ίδιος σχεδιάζω προγράμματα.
Αυτό που με έχει δυσκολέψει ιδιαίτερα είναι τα cms, επειδή δεν υπάρχει ένας σαφής ορισμός των στοιχείων (π.χ. αντικείμενα μενου, θα μπορούσε να είναι εγγραφές μενού ή καλύτερα στοιχεία μενού)και από αυτόν τον ορισμό να πηγαίνουμε κατ ευθείαν στη λειτουργικότητα μέσω ενός διαγράμματος.
Αυτό το αντιμετώπισα όταν δίδασκα τους πολιτικούς μηχανικούς στο τεχνικό επιμελητήριο CAD.
Έχω λοιπόν αρκετές ειδικεύσεις ώστε να ζητάω να μην ανακαλύψω τον τροχό, ζητάω δηλαδή αν υπάρχει κάποιο σαφές βοήθημα, το καλύτερο θα ήταν ένα mind map βοήθεια, π.χ. σε FreePlane, ώστε να είναι δυνατή η εύκολη κατανόηση της αρχιτεκτονικής του elxis.
Από παλαιότερα που αγόρασα ότι υπήρχε σχετικά με το elxis δεν έβγαλα άκρη παρόλο το διάγραμμα που είχε το βιβλίο.
Σήμερα είμαι στο ίδιο επίπεδο. Δεν βγάζω άκρη και πάω ψαχτά, άσχετα αν δουεύει αυτό που φτιάχνω. Δεν έχω εικόνα του γιατί και ο απλούστερος λόγος είναι ότι δεν έχω αντιληφθεί την αρχιτεκτονική παρόλα τα άρθρα.
Αυτός είναι και ο βασικώτερος λόγος που δεν ακουμπάει πολύς κόσμος τα cms.
Ευχαριστώ.

Δημήτρης.



Title: Re: Οδηγός του elxis
Post by: datahell on May 28, 2019, 10:43:25
Το Elxis είναι ανοικτό λογισμικό και βασίζεται σε εθελοντική εργασία. Εφόσον εντόπισες θέμα στην τεκμηρίωση (συμφωνώ απόλυτα ότι είναι ελλιπής) θα μπορούσες να συνεισφέρεις στο να βελτιωθεί αντί να μας επικρίνεις. Για να βγει το Elxis 5.0 θυσίασα εργασία, οικογένεια, προσωπικό χρόνο, κλπ. Το λογισμικό είναι πολύ καλό, θα μπορούσε να ήταν και καλύτερο αλλά και πάλι ερχόμαστε στο θέμα του διαθέσιμου χρόνου. Όσο μεγαλύτερη συνεισφορά υπάρχει από την κοινότητα τόσο καλύτερο θα είναι το Elxis.

Το Elxis δεν είναι απλό CMS, είναι και framework. Εγώ για παράδειγμα δεν το χρησιμοποιώ σχεδόν καθόλου ως CMS αλλά ως πλατφόρμα ανάπτυξης εφαρμογών. Επίσης διαφωνώ απόλυτα με το συμπέρασμά σου ότι ο κόσμος δεν ακουμπά τα CMS. Το 95% και βάλε των site είναι CMS. Ποιος φτιάχνει site σε plain php/html την σήμερον ημέρα;;;; Το wordpress δεν το θεωρείς cms;

Επίσης, το Elxis θεωρώ πως έχει μία δομή που σου επιτρέπει να βρίσκεις πολύ εύκολα αυτό που θέλεις. Όλη η υποστήριξη του συστήματος είναι σε καλά διαχωρισμένες βιβλιοθήκες και helpers.
Ότι θες για να φτιάξεις μία εφαρμογή είναι εδώ: includes/libraries/elxis/
Παράδειγμα: θες να αποσυμπιέσεις ένα zip, θα χρησιμοποιήσεις τον zip helper:
$elxis->obj('zip')->unzip('something.zip');

θες να αντιγράψεις ένα αρχείο; θα χρησιμοποίησης την βιβλιοθήκη αρχείων:
eFactory::getFiles()->copyFile($source, $destination);

θες να εμφανίσεις τι ώρα είναι στη Σιγκαπούρη; θα χρησιμοποίησης την βιβλιοθήκη ημερομηνίας:
eFactory::getDate()->worldDate('now', 'Asia/Singapore');

Ποια η τρέχουσα γλώσσα;
eFactory::getLang()->currentLang();

Ποιο component έχει ζητηθεί;
eFactory::getURI()->getComponent();

Δημιούργησε ένα Link προς μία σελίδα:
eFactory::getURI()->makeURL('content:mycategory/sample.html');

Αν γνωρίζεις php βρίσκεις τη βιβλιοθήκη που θες την ανοίγεις και διαβάζεις τις διαθέσιμες μεθόδους. Είναι πολύ εύκολο να βρεις τι πρέπει να κάνεις.

Τέλος το Elxis δεν σε περιορίζει στο πως θα φτιάξεις την εφαρμογή σου. Μπορείς να γράψεις ελεύθερα php και html όπως θα έκανες σε μία standalone εφαρμογή. ΑΝ ΘΕΣ χρησιμοποιείς τις βιβλιοθήκες ή τον τρόπο σχεδίασης των default επεκτάσεων. Στο ΜΟΝΟ που σε περιορίζει το Elxis είναι το component σου να έχει ένα αρχείο με όνομα αυτό του component (tade.php) που επεκτείνει τον router του Elxis. Μέσα σε αυτό μπορείς να κάνεις ότι γουστάρεις και να ακολουθήσεις όποιο design pattern θέλεις.