Skip to content

Posting with CMS Netlify

Constantine Xipolitopoulos edited this page Jun 22, 2020 · 2 revisions

Τεκμηρίωση του Netlify Content Managemet System (CMS)

Απλός χρήστης

Για να χρησιμοποιήσει κάποιος τις λειτουργίες του Netlify CMS, πρέπει πρώτα να μεταφερθεί στην σελίδα admin του sitegr. Στη συνέχεια, πρέπει να συνδεθεί στο Netlify (με τον Google λογαριασμό του), όπου του έχει γίνει πρόσκληση από τον διαχειριστή της σελίδας.

image

Όταν ο χρήστης συνδεθεί, μπορεί να προσθέσει, να αφαιρέσει ή να ανανεώσει ένα ήδη υπάρχον post, π.χ μια ανακοίνωση. Το ίδιο ισχύει για όλες τις λειτουργικότητες στις οποίες του έχει δώσει πρόσβαση ο διαχειριστής.

Για παράδειγμα, για τη δημιουργία μιας νέας ανακοίνωσης, ο χρήστης πρώτα πρέπει να πατήσει στην επιλογή New Post. Θα μεταφερθεί αυτόματα σε μια σελίδα, οπού θα μπορεί να προσθέσει το περιεχόμενο της ανακοίνωσης. Τα πεδία τα οποία δε φέρουν την ένδειξη Optional είναι υποχρεωτικά και πρέπει να συμπληρωθούν. Για να δημοσιευθεί η ανακοίνωση στο site, ο χρήστης θα πρέπει να πατήσει στην επιλογή Publish now.

image

Διαχειριστής Αποθετηρίου

Το συγκριμένο CMS είναι πολύ ευέλικτο και επεκτάσιμο. Πριν ξεκινήσουμε, θα πρέπει να εφαρμόσουμε κάποιες ρυθμίσεις για το αποθετήριο μας.

Settings αποθετηρίου.

Στον φάκελο admin υπάρχουν 2 αρχεία, ένα .yml και ένα .html. Δημιουργούμε καινούριο branch από το master branch και στο αρχείο config.yml θα βρούμε τα settings του CMS.

Για να ορίσουμε σωστά το Netlify CMS πρέπει να ορίσουμε ακριβώς τι είδους backend θα χρησιμοποιηθεί. Υπάρχουν διάφοροι τύποι backend, όπως Github backend, Bitbucket backend, κ.ά. Εμείς θα χρησιμοποιήσουμε το Git Gateway backend, το οποίο επιτρέπει να προσθέσεις τους χρήστες στο CMS, χωρίς να τους δώσεις άμεση πρόσβαση στο αποθετήριο του site. Προσοχή: Προς το παρόν δουλεύει μόνο για τα αποθετήρια τα οποία βρίσκονται στο Github και στο Gitlab.

Προχωρώντας, πρέπει να οριστεί το μονοπάτι για τον φάκελο media_folder. Το μονόπατι αυτό, δείχνει τον φάκελο στον οποίο θα αποθηκεύεται το περιεχόμενο το οποίο θα ανεβάζει ο χρήστης μέσα από το CMS. Ο φάκελος public_folder θα δείχνει το συγκεκριμένο μονοπάτι (και όχι το πραγματικό), εάν χρειαστεί για κάποιο url. Αν δεν οριστεί ο φάκελος media_folder, το CMS δεν θα ανοίξει και θα εμφανιστεί error.

Αφού έχουν οριστεί όλα τα προηγούμενα, μπορούμε να προσθέσουμε το περιεχόμενο (σελίδες) στο CMS, ώστε να είναι διαθέσιμο για τροποποιήσεις στους χρήστες. Ουσιαστικά, ορίζεται μια δομή για τον τύπο του αρχείου που θέλουμε να έχουμε πρόσβαση από το CMS. Πρώτα ορίζουμε το name, το οποίο είναι κάτι "εσωτερικό" για το Netlify. Στην συνεχεία ακολουθεί το label, το οποίο είναι το όνομα της σελίδας που θα βλέπει ο χρήστης μέσα από το CMS. Με την μεταβλητή folder, μπορούμε να δώσουμε ένα μονοπάτι, το οποίο υποδεικνύει στο CMS τον εκάστοτε φάκελο με αρχεία που θέλουμε να τροποποιήσουμε. Επιπλέον, υπάρχουν διάφορα πεδία, όπως το create, το οποίο επιτρέπει τη δημιουργία μιας σελίδα και άλλα.

Τελευταίο βήμα είναι να ορίσουμε τα πεδία, τα οποία επεξεργαζόμαστε σε αυτά τα αρχεία, γνωστά και ως fields. Μπορούμε να προσθέσουμε ένα ή πολλά πεδία, κάτι που εξαρτάται από την σελίδα που θέλουμε να επεξεργαστούμε. Αυτα αποτελούνται από τρεις τουλάχιστον μεταβλητές: i) το label, το οποίο βλέπει ο χρήστης να εμφανίζεται στο CMS ως το όνομα του πεδίου, ii) το name, το οποίο υποδηλώνει το όνομα της μεταβλητής που θέλουμε να επεξεργαστούμε και iii) το widget που καθορίζει τον τύπο/είδος της μεταβλητής. Υπάρχουν διάφορα widgets, τα οποία εξαρτώνται και καθορίζονται ανάλογα την χρήση που θέλουμε να κάνουμε.

Πίσω στα δικά μας, αλλάζουμε και βάζουμε τα στοιχεία μας στην επιλογή repo: @username/site-gr και στο branch: @branch-name στο οποίο θέλουμε να δουλέψουμε. Αν θέλουμε να προσθέσουμε κάποια άλλη σελίδα, την προσθέτουμε στο collection με την προηγούμενη λογική. Αξίζει να σημειωθεί ότι στο admin.html υπάρχει ένα script που περιέχει ^2.0.0. Με αυτό τρόπο παίρνουμε αυτόματα τα νέα updates για το CMS μέχρι την έκδοση 3.0.0.

Netlify settings

  1. Από τα Settings του site πρέπει να ενεργοποιήσουμε το "Identity", εάν δεν το έχουμε ήδη ενεργοποιήσει.

image

  1. Το επόμενο βήμα είναι να αλλάξουμε τα δικαιώματα στο Registration, επιλέγοντας την κατηγορία "Invite only".

image

  1. Συνεχίζοντας κι αφού θέλουμε οι χρήστες μας να συνδέονται μέσω gmail, προσθέτουμε στο "External providers" την Google.

image

  1. Προχωρώντας πρέπει να ενεργοποιήσουμε από τα "Services" το "Git Gateway".

image

Add Users

Έχοντας τελειώσει με τα Settings από το Netlify, μπορούμε να προσθέσουμε χρήστες στο CMS, πηγαίνοντας στην καρτέλα "Identity". Οι χρήστες πρέπει να έχουν λογαριασμό gmail για να μπορέσουν να εισέλθουν στο CMS. Προτείνεται να μπει και ο δικός μας λογαριασμός για να δούμε ότι δουλεύει. Όταν κάνουμε το Invite, θα σταλεί ένα email στον χρήστη, ο οποίος θα πρέπει να δεχτεί την πρόσκληση. Όταν την δεχθεί, θα πρέπει να μπει στην σελίδα .../admin/ και να εισέλθει στην πλατφόρμα με το email της Google, στο οποίο του στάλθηκε η πρόσκληση.

image

Όταν μπει, θα δει μια παρόμοια εικόνα. image