Στήσιμο CMS από την αρχή

Από που να ξεκινήσω; Που θα βρω; κ.α. γενικές ερωτήσεις για την δημιουργία μιας ιστοσελίδας.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
stefanos4
Δημοσιεύσεις: 71
Εγγραφή: 10 Μάιος 2007 13:57

Στήσιμο CMS από την αρχή

Δημοσίευση από stefanos4 » 20 Μάιος 2008 09:45

Τελικα πόσο εύκολο ειναι να στησει καποιος ενα δικο του CMS ; Τι χριεαζεται και πως πρεπει να το σχεδιασει για να υλοποιηθει σωστα; Κάποιο tutorial που να αξιζει;
Εικόνα

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

Στήσιμο CMS από την αρχή

Δημοσίευση από dimsis » 20 Μάιος 2008 10:51

Το να στήσεις είναι εύκολο, απλώς ακολουθείς οδηγίες:
http://www.joomla.gr/tutorials-mainmenu-95
http://www.e-pcmag.gr/forum/index.php?showtopic=14889
http://mydrupal.gr/

το να φτιάξεις δικό σου θέλει δουλειά...

Άβαταρ μέλους
MaZz
Script Master
Δημοσιεύσεις: 345
Εγγραφή: 20 Ιούλ 2005 19:41
Τοποθεσία: Beyond the dark sun
Επικοινωνία:

Στήσιμο CMS από την αρχή

Δημοσίευση από MaZz » 20 Μάιος 2008 10:57

Με το να δημιουργήσεις ένα νέο cms κερδίζεις πολύ περισσότερα από το να "στήσεις" κάποιο έτοιμο (τεχνογνωσία, εμπειρία κτλ.).

alexsoft

Στήσιμο CMS από την αρχή

Δημοσίευση από alexsoft » 20 Μάιος 2008 11:30

stefanos4 έγραψε:Τελικα πόσο εύκολο ειναι να στησει καποιος ενα δικο του CMS ; Τι χριεαζεται και πως πρεπει να το σχεδιασει για να υλοποιηθει σωστα; Κάποιο tutorial που να αξιζει;
Να στήσεις ήδη υπάρχων CMS είναι εύκολο εάν γνωρίζεις πέντε βασικά πράγματα από PHP ή ASP και MySQL (Δεν μιλάω για απλή εγκατάσταση κάποιου CMS αλλά να το φέρεις "στα νερά σου").

Για να στήσεις όμως δικό σου σημαίνει ότι το κατασκευάζεις εσύ και άρα απαιτεί καλή γνώση προγραμματισμού.

Άβαταρ μέλους
Kainourios
Ruby Moderator
Δημοσιεύσεις: 504
Εγγραφή: 18 Μάιος 2005 16:20
Τοποθεσία: Κορυδαλλός
Επικοινωνία:

Στήσιμο CMS από την αρχή

Δημοσίευση από Kainourios » 20 Μάιος 2008 13:08

Το να φτιάξεις από την αρχή ένα πολύ απλό CMS πιστεύω είναι εφικτό από ένα άτομο σε σχετικά λίγο χρόνο. Για να δημιουργήσεις όμως κάτι επαγγελματικό και καλό, χρειάζεται να ακολουθήσεις κάποια βήματα που έχουν τα περισσότερα μοντέλα ανάπτυξης λογισμικού (ανάλυση και καταγραφή των απαιτήσεων και καταγραφή των προδιαγραφών, σχεδίαση συστήματος, ανάπτυξη λογισμικού, έλεγχος κτλ.). Όσο πιο σωστά τα κάνεις αυτά τα βήματα τόσο καλύτερο θα βγει. Για το πως θα σχεδιάσεις σωστά ένα λογισμικό υπάρχει ολόκληρη επιστήμη (software engineering).

Αν θες κάποιο για προσωπική χρήση δε το θεωρώ σωστό να κάτσεις να φτιάξεις μόνος σου ένα από την αρχή. Υπάρχουν ήδη open source CMS με μεγάλη κοινότητα από πίσω τα οποία αναπτύσσονται από πολλούς ανθρώπους και τα οποία υπάρχουν καιρό άρα είναι αρκετά ώριμα ως τεχνολογία. Δε βλέπω το λόγο να φτιάξεις κάτι δικό σου αν δεν έχεις στόχο να μάθεις ή να το πουλήσεις σε κάποιο εξειδικευμένο target group. Αν θες να κάνει κάποια συγκεκριμένη λειτουργία που δεν έχει υλοποιηθεί, ασχολήσου με κάποιο να μάθεις πως δουλεύει και ανάπτυξε έπειτα κάποιο module σε αυτό.

stefanos4
Δημοσιεύσεις: 71
Εγγραφή: 10 Μάιος 2007 13:57

Στήσιμο CMS από την αρχή

Δημοσίευση από stefanos4 » 20 Μάιος 2008 15:41

Καταρχην σας ευχαριστω για το ενδιαφερον. Επειτα να σας πω οτι προφανως θα υπαρχουν ετοιμα πολυ ανωτερα αλλα πιστευω πως εαν καποιος καταφερει και δημιουργησει ενα αξιοπρεπες και οχι πολυπλοκο cms τοτε θα εχει ενα καλο επιπεδο . ΜΕ λιγα λογια θελω να το κανω γιατι πιστευω οτι θα μαθω αρκετα. Αλλα δεν εχω βρει καποιον οδηγο που να σε προσανατολιζει καπως καποιο tutorial η οτιδηποτε να σε βαζει στο πνευμα
Εικόνα

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

Στήσιμο CMS από την αρχή

Δημοσίευση από dimsis » 20 Μάιος 2008 18:14

Οπότε ξεκαθαρίζουμε ότι θέλεις να το φτιάξεις εσύ, γιατί εγώ έτσι όπως διάβασα το αρχικό σου μήνυμα και συγκεκριμένα τη φράση "να στησει καποιος ενα δικο του CMS" αναρωτιόμουν αν απλώς θέλεις να στήσεις κάποιο έτοιμο, ή να φτιάξεις δικό σου...

Καταρχήν πρέπει να ξεκαθαρίσουμε ότι σήμερα θα δεις πολλές διαφορετικές εφαρμογές που όλες αποκαλούνται content management systems.
Είχα γράψει κάτι παλιότερα εδώ, δεν θα σου φανεί χρήσιμο για την υλοποίηση του project που θέλεις να ξεκινήσεις αλλά ίσως βοηθάει κάπως στο ξεκαθάρισμα του όρου CMS.
Σήμερα ακόμα και WYSIWYG online editors CMS θεωρούνται.
Δεχόμαστε λοιπόν πως οποιοσδήποτε τρόπος διαχείρισης περιεχομένου σε ένα site μπορεί λοιπόν να αποκαλείτε CMS.
Από εκεί και πέρα αυτό που πρέπει να καταλήξεις αρχικά είναι στο τι ακριβώς θέλεις να φτιάξεις έχοντας ως προϋπόθεση πως ποτέ, ότι και να κάνεις δεν θα καλύπτει όλες τις απαιτήσεις για τα όλα τα sites που θα σου ζητήσουν μελλοντικοί πελάτες σου. Τι θέλω να πω; Αν ξεκινήσεις να φτιάξεις κάτι αντίστοιχο των Joomla – Drupal (και αναφέρω αυτά γιατί είναι και τα πλέον γνωστά open source τη σήμερον ημέρα) εκτός του ότι χρειάζεσαι πραγματικά πάρα πολλές ώρες προχωρημένου κώδικα, και πάλι θα χρειάζεσαι α) templates β) modules αναλόγως την περίσταση γ) πιθανών αλλαγές στον source κώδικα για να καλύψεις ανάγκες ή απαιτήσεις των πελατών.
Προσωπικά έχω γράψει ή συμμετείχα στο γράψιμο πολλών sites που θα μπορούσαμε να αποκαλέσουμε ότι βασίζονται σε CMS. Δηλαδή κώδικα που διαχειρίζεται το περιεχόμενο του site.
Από εκεί και πέρα έχουμε φτιάξει και το δικό μας «πακέτο» CMS, το οποίο χρησιμοποιούμε και εγκαθιστούμε προσαρμόζοντας πάντα στις ανάγκες και τις απαιτήσεις των πελατών μας, που μπορώ να σου πω πως τις περισσότερες φορές ΔΕΝ είναι κοινές. Δηλαδή ότι και να έχεις προβλέψει να καλύπτεις από το CMS σου, σχεδόν πάντα κάτι διαφορετικό ή πρόσθετο που δεν έχεις υλοποιήσει θα σου ζητήσουν.
Το θετικό όμως είναι πως γλιτώνεις πολλές ώρες δουλειάς έχοντας πλέον στη διάθεση σου μια «βάση» έναν «πυρήνα» που μπορείς να αλλάζεις και να προσαρμόζεις και δεν χρειάζεται κάθε φορά να γράφεις τον κώδικα από το μηδέν. Και η προσωπική μου άποψη είναι πως τελικά αυτό είναι και που πρέπει να έχεις ως στόχο.
Να φτιάξεις έναν πυρήνα με τις βασικές λειτουργίες διαχείρισης περιεχομένου και έπειτα αναλόγως τι θα σου ζητήσουν να κάθεσαι και να προσαρμόζεις τον κώδικα σου (εφόσον βολεύει γιατί παίζει και το ενδεχόμενο και πάλι να σου ζητήσουν κάτι εντελώς καινούργιο).
Αν αρχίσεις και παραφορτώνεις με λειτουργίες, δυνατότητες και γενικότερα πέσεις στην λούπα να προσπαθείς να καλύψεις ΟΛΕΣ τις περιπτώσεις και έπειτα να βγάζεις φασόν sites, ακόμα και αν φτάσεις σε ένα ικανοποιητικό επίπεδο, η πολυπλοκότητα της εφαρμογής θα δρα ως πελατοδιώχτης, από τη στιγμή που οι πελάτες 1) προτιμούν να σου παίρνουν τηλέφωνο για να σε ρωτάνε αντί να διαβάσουν τα εγχειρίδια χρήσης 2) χάνονται και το κυριότερο αγχώνονται και στο τέλος αγανακτούν όταν τους δίνεις πάρα πολλές επιλογές παραμετροποίησης και στο τέλος περνάνε σε φάση άρνησης εργασίας με την εφαρμογή σου.
Πάντα να έχεις στο νου σου λοιπόν το K.I.S.S. και το παρακάτω σκίτσο (που προσωπικά το έχω κολλήσει στην πόρτα στη δουλειά :p ):
Εικόνα
Κάποια στιγμή έψαχνα για template engines και σε κάποια φάση έφτασα να βλέπω ορισμένες προτάσεις που τελικά είχαν φτάσει στο σημείο να έχουν καταφέρει να φτιάξουν μια δική τους scripting γλώσσα πίτα δηλαδή στα δικά τους tags, για loops, μεταβλητές και ότι άλλο μπορείς να φανταστείς που στην τελική έπρεπε εσύ ή ο χρήστης (διαχειριστής) που θα τη χρησιμοποιήσει να κάτσει να την μάθει όπως θα μάθαινε php, asp, cfml ή οποιαδήποτε άλλη scripting language… και κάθισα και αναρωτήθηκα, αν είναι να δώσεις στον χρήστη να μάθει μια γλώσσα που στην ουσία θα πρέπει να γίνει πρώτη parse ώστε να «γράψει» τα tags ας πούμε σε php /html, γιατί να μην αφήσεις τον χρήστη να βάλει απευθείας την HTML ή την PHP στο template; Δηλαδή έχει στιγμές που τελικά όσοι ασχολούμαστε με προγραμματισμό πέφτουμε στο τριπάκι να προσπαθούμε να ξανα ανακαλύψουμε τον τροχό όταν έχεις μπροστά σου έτοιμες λύσεις από την ίδια τη γλώσσα που δουλεύεις. Το παράδειγμα που αναφέρω δεν έχει σχέση με τα CMS και σαφώς δεν εννοώ πως πρέπει να χρησιμοποιήσεις κάτι έτοιμο και όχι να κάτσεις να γράψεις το δικό σου. Αυτό που θέλω να τονίσω είναι πως το δυσκολότερο πράγμα για να ξεκινήσεις ένα project είναι να καταλήξεις στο τι τελικά θέλεις να φτιάξεις, να βάλεις κάτω τις προδιαγραφές που θα σκεφτείς και να το υλοποιήσεις χωρίς να φτιάξεις κάτι εξαιρετικά πολύπλοκο.

Και για να περάσουμε τώρα στα πρακτικά.
Τι θεωρώ εγώ ότι πρέπει να έχει ένα γενικό CMS που θα χρησιμοποιείς ως βάση για να χτίζεις τα μελλοντικά sites περιεχομένου που θα σου προκύψουν:
- Πίνακας στη βάση δεδομένων όπου θα καταχωρούνται τα άρθρα / κείμενα με την απαραίτητη (CR.U.D.) διαχείριση του. Αυτός μπορεί να είναι από έναν σκέτο WYSIWYG editor ή ένα απλό textarea, έως πολλά πεδία αναλόγως του τι θα χρειάζεται να ψάχνει τελικά ο επισκέπτης.
- WYSIWYG online editor (εδώ προτείνω έτοιμες ανοιχτές λύσεις: FCKEditor, TinyCME ) που θα συνδέετε με τον file/assets manager
- File / assets manager που διαχειρίζεται τα αρχεία που θα ανεβαίνουν από το δίσκο του χρήστη στον server και μπορεί να είναι από κείμενα στο word ή pdf, μέχρι εικόνες, ήχος και video. Οι δυο WYSIWYG editors που σου προτείνω έχουν ενσωματωμένους file managers, οπότε αυτό το γλιτώνεις αν χρησιμοποιήσεις κάποιος από τους γνωστούς / καλούς WYSIWYG editors.
- Υποστήριξη πολλών γλωσσών
- Διαχειριστές και ρόλους διαχειριστών
- Tags (αντί των κλασσικών κατηγοριών) που συσχετίζονται με το κάθε κείμενο που θα καταχωρείτε

Για μένα αυτά είναι τα άκρως αναγκαία για έναν πυρήνα ενός CMS και μου έρχονται αυτή τη στιγμή στο μυαλό.
Ξεκινάς λοιπόν πρώτα καταλήγεις τι θέλεις να κάνεις, ποια «εργαλεία» θα χρησιμοποιήσεις (γλώσσα, ΒΔ, editor κλπ), έπειτα αφού κάνεις τη ανάλυση σου, φτιάχνεις την βάση δεδομένων σου και έπειτα πιάνεις τον κώδικα με τα παραπάνω.
Σαφέστατα και υπάρχουν πολλές και διάφορες άλλες δυνατότητες που μπορείς να προσθέσεις π.χ. εγγραφή και διαχείριση χρηστών και εμφάνιση περιεχομένου σε συγκεκριμένες ομάδες χρηστών – mailing lists, αυτοματισμοί (custom tags) για αναπαραγωγή πολυμέσων π.χ. video, εικόνες, slideshows, photo galleries, e-postcards, chat, forum και 1002 άλλα κόλπα, αλλά αυτά μπορούν να υλοποιούνται όταν και εφόσον τα ζητάνε οι πελάτες σου.
Γιατί ναι μεν καλά τα open source CMS και όσα προσφέρουν, αλλά έχω πετύχει πάμπολλες φορές sites φορτωμένα με 1002 βλακείες απλώς και μόνο επειδή της παρέχει ως modules το CMS που εκτός του ότι καθυστερούν την φόρτωση του site, εκτός του ότι τις περισσότερες φορές δεν έχουν περιεχόμενο και είναι άδεια modules, προσθέτουν και πολυπλοκότητα και στη διαχείριση και στον επισκέπτη που θα μπει θα δει ένα υπερφορτωμένο site και θα το κλείσει σε 2 δευτερόλεπτα.
Είχα περίπτωση σε ένα από τα τελευταία projects που δουλεύω παράλληλα με άλλα, όπου ο CEO μας ζήτησε να το φτιάξω χρησιμοποιώντας μια εφαρμογή μας που είναι φορτωμένη με πολλές υποεφαρμογές (από ειδησεογραφία (CMS) και βιβλιοθήκη, έως εύρεση/αναζήτησης εργασίας, επαγγελματικό οδηγό, forum, chat, Ηλεκτρονικό κατάστημα, Συνταγές κ.α.) και τελικά όταν το παρουσιάσαμε στους πελάτες, ζήτησαν και αφαιρέσαμε τις περισσότερες υποεφαρμογές και στην τελικά έμειναν μόνο οι εφαρμογές διαχείρισης κειμένων και ειδησεογραφίας και η συλλογή φωτογραφιών αφού αυτά χρειαζότανε!

Αυτά από μένα. Εύχομαι να καταφέρεις να κάνεις αυτό το «ταξίδι» που πραγματικά θα σου προσφέρει ΠΟΛΛΕΣ γνώσεις και εμπειρία, και να μας δείξεις κάποια στιγμή με ένα σου post εδώ τι έχεις φτιάξει μέχρι τώρα, όπως με τον φίλο εδώ: http://www.freestuff.gr/forums/viewtopic.php?t=35120

Σχετικά θέματα στο forum που σου συνιστώ να διαβάσεις:
http://www.freestuff.gr/forums/viewtopic.php?t=36128
http://www.freestuff.gr/forums/viewtopic.php?t=21492
http://www.freestuff.gr/forums/viewtopic.php?t=14349
http://www.freestuff.gr/forums/viewtopic.php?t=11000


ΥΓ: FFS πολλά έγραψα πάλι!

Απάντηση

Επιστροφή στο “Γενικές ερωτήσεις κατασκευής ιστοσελίδων”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες