
Γλώσσα 🇬🇷 Ελληνικά
Ξεκινώντας
Διαμόρφωση
Προσαρμογή
Για Προχωρημένους
Συνεργατική Συνομιλία
Προσθέστε Ενσωματωμένα Ζωντανά Σχόλια σε Έγγραφα, Βιβλία κ.λπ.
Το FastComments Collab Chat επιτρέπει στους χρήστες να επισημαίνουν και να σχολιάζουν οποιοδήποτε κείμενο στον ιστότοπό σας, δημιουργώντας συζητήσεις με νήματα συνδεδεμένες σε συγκεκριμένες επιλογές κειμένου. Οι χρήστες μπορούν να επιλέξουν λέξεις, προτάσεις ή ολόκληρες παραγράφους για να ξεκινήσουν συνεργατικές συζητήσεις απευθείας μέσα στο περιεχόμενό σας.
Αυτή η λειτουργία είναι ιδανική για επιμελητική ανατροφοδότηση, περιβάλλοντα συνεργατικής ανάγνωσης, εκπαιδευτικές πλατφόρμες, αναθεώρηση εγγράφων και κάθε σενάριο όπου θέλετε συζητήσεις με συμφραζόμενα αγκυρωμένες σε συγκεκριμένο κείμενο.
Σημειώστε ότι αυτά τα έγγραφα αφορούν ειδικά τη λειτουργικότητα του Collab Chat. Μπορείτε να προσθέσετε σχολιασμό για περιεχόμενο με πολλές σελίδες, όπως Books, με thread-per-page, without using collab chat. Το FastComments επίσης δεν χρεώνει ανά σελίδα ή ανά νήμα. Το Collab Chat αφορά συγκεκριμένα όταν θέλετε να επιτρέψετε στους χρήστες να επιλέγουν κείμενο και να σχολιάζουν το επισημασμένο τμήμα του κειμένου.
Μπορείτε να δείτε ένα παράδειγμα εδώ.
Ξεκινώντας 
Γρήγορη Εκκίνηση
Η έναρξη εργασίας με το Collab Chat είναι απλή. Χρειάζεστε το script του FastComments Collab Chat, ένα στοιχείο HTML που περιέχει το κείμενο που θέλετε να σχολιάσετε και ένα αντικείμενο διαμόρφωσης με το Tenant ID σας.
Εγκατάσταση
Προσθέστε το script του Collab Chat στη σελίδα σας:

Βασική Υλοποίηση
Εδώ ένα ελάχιστο παράδειγμα:
Run 
Αντικαταστήστε το 'demo' με το πραγματικό Tenant ID της FastComments αν δεν είναι ήδη, το οποίο μπορείτε να βρείτε στον πίνακα ελέγχου FastComments.
Πώς λειτουργεί
Μόλις αρχικοποιηθεί, οι χρήστες μπορούν να επιλέξουν οποιοδήποτε κείμενο μέσα στο στοχευόμενο στοιχείο. Μετά από μια σύντομη καθυστέρηση (3.5 δευτερόλεπτα σε desktop), εμφανίζεται ένα προτροπικό παράθυρο που τους επιτρέπει να ξεκινήσουν μια συζήτηση. Όταν δημιουργηθεί μια συζήτηση, εμφανίζεται μια οπτική επισήμανση στο κείμενο. Άλλοι χρήστες μπορούν να τοποθετήσουν τον δείκτη πάνω στην επισήμανση ή να κάνουν κλικ σε αυτήν για να δουν και να συμμετάσχουν στη συζήτηση. Όλες οι συζητήσεις συγχρονίζονται σε πραγματικό χρόνο σε όλους τους επισκέπτες.
Ζωντανή επίδειξη
Μπορείτε να δείτε το Collab Chat σε δράση στη σελίδα ζωντανής επίδειξης.
Επόμενα βήματα
Τώρα που έχετε τα βασικά να λειτουργούν, μπορείτε να προσαρμόσετε την εμφάνιση και τη συμπεριφορά στον οδηγό Επιλογών Διαμόρφωσης. Δείτε τον οδηγό Συμπεριφοράς Επιλογής Κειμένου για να καταλάβετε πώς λειτουργεί η επιλογή κειμένου. Μάθετε για το styling και την υποστήριξη dark mode στον οδηγό Προσαρμογής. Για προχωρημένες ενσωματώσεις, εξερευνήστε την Αναφορά API.
Βιβλιοθήκες frontend
Όλες οι frontend βιβλιοθήκες της FastComments (react, vue, angular, κ.λπ.) έχουν Collab Chat.
Παραδείγματα 
Βασικό Παράδειγμα
Ο απλούστερος τρόπος χρήσης του Collab Chat είναι να στοχεύσετε ένα μόνο περιέκτη περιεχομένου. Αυτό το παράδειγμα δείχνει πώς να ενεργοποιήσετε τις σημειώσεις κειμένου σε ένα άρθρο:
Run 
Παράδειγμα με Προσαρμοσμένο URL ID (ανά σελίδα βιβλίου, άρθρο κ.λπ.)
Κατά προεπιλογή, το Collab Chat χρησιμοποιεί το URL της σελίδας σε συνδυασμό με τη διαδρομή του στοιχείου και το εύρος κειμένου για να αναγνωρίζει τις συζητήσεις. Μπορείτε να παρέχετε προσαρμοσμένο urlId για να έχετε μεγαλύτερο έλεγχο στον τρόπο ομαδοποίησης των συζητήσεων:

Αυτό είναι χρήσιμο εάν η δομή του URL σας αλλάζει αλλά θέλετε να διατηρήσετε τις ίδιες συζητήσεις, ή εάν θέλετε να μοιράζεστε τις ίδιες σημειώσεις συζήτησης σε πολλαπλές σελίδες.
Παράδειγμα με Σκοτεινή Λειτουργία
Εάν ο ιστότοπός σας έχει σκούρο φόντο, ενεργοποιήστε τη υποστήριξη σκοτεινής λειτουργίας για να διασφαλίσετε ότι το UI του chat εμφανίζεται σωστά:
Run 
Παράδειγμα με Απενεργοποιημένη Πάνω Γραμμή
Κατά προεπιλογή, το Collab Chat εμφανίζει μια πάνω γραμμή με τον αριθμό χρηστών και τον αριθμό συζητήσεων. Μπορείτε να την απενεργοποιήσετε:
Run 
Παράδειγμα με Callback Αριθμού Σχολίων
Μπορείτε να παρακολουθείτε πότε προστίθενται ή ενημερώνονται σχόλια χρησιμοποιώντας το callback commentCountUpdated:

Παράδειγμα με Πολλαπλές Ενότητες
Μπορείτε να αρχικοποιήσετε το Collab Chat σε πολλαπλές ξεχωριστές ενότητες της σελίδας σας. Κάθε ενότητα θα έχει τις δικές της ανεξάρτητες σημειώσεις:

Προσθήκη ζωντανών σχολίων σε διαδικτυακά βιβλία 
Μπορείτε να αρχικοποιήσετε το Collab Chat ανά σελίδα, αν το επιθυμείτε, και να έχετε ξεχωριστά νήματα ανά σελίδα, απλώς περάστε την παράμετρο urlId
μια τιμή όπως book-one-page1. Αυτή η διαμόρφωση λειτουργεί επίσης για το συνηθισμένο widget σχολιασμού.
Επιλογές Διαμόρφωσης 
Επισκόπηση
Το FastComments Collab Chat επεκτείνει το τυπικό widget σχολίων FastComments, οπότε κληρονομεί όλες τις επιλογές διαμόρφωσης από το βασικό widget, προσθέτοντας παράλληλα μερικές ειδικές για σχολιασμό κειμένου.
Απαιτούμενη Διαμόρφωση
tenantId
Απαιτείται το Tenant ID του FastComments. Μπορείτε να το βρείτε στο dashboard του FastComments.

Ειδικές Επιλογές του Collab Chat
urlId
Από προεπιλογή, το Collab Chat δημιουργεί ένα μοναδικό αναγνωριστικό για κάθε συνομιλία με βάση το URL της σελίδας, τη διαδρομή DOM του στοιχείου και το επιλεγμένο εύρος κειμένου. Μπορείτε να το παρακάμψετε με ένα προσαρμοσμένο urlId.

Αυτό είναι χρήσιμο όταν η δομή του URL σας ενδέχεται να αλλάξει αλλά θέλετε να διατηρήσετε τις ίδιες συνομιλίες, ή όταν θέλετε να μοιραστείτε σχολιασμούς σε πολλές σελίδες.
topBarTarget
Ελέγχει την εμφάνιση της πάνω μπάρας που δείχνει τον αριθμό χρηστών και συζητήσεων. Ορίστε null για να απενεργοποιήσετε εντελώς την πάνω μπάρα, ή δώστε ένα στοιχείο DOM για να εμφανιστεί σε συγκεκριμένη θέση.

hasDarkBackground
Ενεργοποιήστε το στυλ σκοτεινής λειτουργίας όταν η σελίδα σας έχει σκούρο φόντο. Αυτή η ανίχνευση είναι αυτόματη, αλλά μπορεί να είναι επιθυμητό να την παρακάμψετε.

commentCountUpdated
Μια συνάρτηση callback που ενεργοποιείται κάθε φορά που αλλάζει ο αριθμός των σχολίων. Αυτό είναι χρήσιμο για την ενημέρωση στοιχείων UI όπως σήματα ή τίτλων σελίδων.

Κληρονομημένες Επιλογές Διαμόρφωσης
Εφόσον το Collab Chat επεκτείνει το τυπικό widget σχολίων, μπορείτε να χρησιμοποιήσετε οποιαδήποτε επιλογή διαμόρφωσης από το βασικό widget FastComments. Ακολουθούν μερικές συχνά χρησιμοποιούμενες επιλογές:
locale
Ορίστε τη γλώσσα του UI του widget. Το FastComments υποστηρίζει δεκάδες γλώσσες.

readonly
Κάντε όλες τις συνομιλίες μόνο για ανάγνωση. Οι χρήστες μπορούν να δουν υπάρχοντες σχολιασμούς αλλά δεν μπορούν να δημιουργήσουν νέους ή να απαντήσουν.

sso και simpleSSO
Ενσωματώστε το σύστημα αυθεντικοποίησής σας χρησιμοποιώντας Single Sign-On.

Δείτε την τεκμηρίωση SSO για πλήρεις λεπτομέρειες σχετικά με τις επιλογές αυθεντικοποίησης.
maxReplyDepth
Ελέγξτε πόσα επίπεδα βάθους μπορούν να έχουν οι απαντήσεις. Από προεπιλογή, το Collab Chat το ορίζει σε 0, που σημαίνει ότι όλα τα σχόλια είναι επίπεδα (χωρίς εμφωλευμένες απαντήσεις). Μπορείτε να το αλλάξετε αν θέλετε συζητήσεις με νήματα.

Εσωτερική Διαμόρφωση
Αυτές οι επιλογές ορίζονται αυτόματα από το Collab Chat και δεν πρέπει να παρακαμφθούν:
Το productId ορίζεται αυτόματα σε 3 για το Collab Chat. Η επέκταση floating-chat φορτώνεται αυτόματα για να παρέχει τη λειτουργικότητα του παραθύρου συνομιλίας. Το widget ανιχνεύει αυτόματα κινητές συσκευές (οθόνες κάτω από 768px πλάτος) και προσαρμόζει το UI ανάλογα.
Πλήρες Παράδειγμα
Ακολουθεί ένα παράδειγμα που δείχνει πολλαπλές επιλογές διαμόρφωσης μαζί:

Για μια πλήρη λίστα όλων των διαθέσιμων επιλογών διαμόρφωσης που κληρονομούνται από το βασικό widget, δείτε την κύρια τεκμηρίωση διαμόρφωσης του FastComments.
Συμπεριφορά Επιλογής Κειμένου 
Πώς λειτουργεί η επιλογή κειμένου
Όταν οι χρήστες επιλέγουν κείμενο μέσα στο δοχείο Collab Chat, το widget καταγράφει αυτήν την επιλογή και τους επιτρέπει να ξεκινήσουν μια συζήτηση. Η επιλογή μπορεί να είναι τόσο μικρή όσο μια μεμονωμένη λέξη ή τόσο μεγάλη όσο πολλαπλές παραγράφους που εκτείνονται σε διαφορετικά στοιχεία.
Καθυστέρηση επιλογής
Σε επιτραπέζιες συσκευές, υπάρχει καθυστέρηση 3,5 δευτερολέπτων μεταξύ της στιγμής που ο χρήστης επιλέγει κείμενο και της εμφάνισης του προτροπής συζήτησης. Αυτό αποφεύγει το τρεμόπαιγμα της διεπαφής όταν οι χρήστες απλώς επισημαίνουν κείμενο για αντιγραφή ή ανάγνωση. Σε κινητές συσκευές, η προτροπή εμφανίζεται αμέσως καθώς η επιλογή κειμένου είναι πιο σκόπιμη σε οθόνες αφής.
Μοναδικά αναγνωριστικά συνομιλιών
Κάθε συνομιλία παίρνει ένα μοναδικό urlId που συνδυάζει το URL της σελίδας, το μονοπάτι του στοιχείου στο DOM και τη σειριοποιημένη περιοχή κειμένου. Αυτό διασφαλίζει ότι κάθε επιλογή κειμένου δημιουργεί μια ξεχωριστή συνομιλία που μπορεί να βρεθεί ξανά αργότερα.
Εάν παρέχετε ένα προσαρμοσμένο urlId στη ρύθμισή σας, θα συνδυαστεί με το μονοπάτι του στοιχείου και την περιοχή κειμένου για να δημιουργήσει το τελικό αναγνωριστικό.
Οπτικές επισημάνσεις
Όταν υπάρχει συζήτηση για μια συγκεκριμένη επιλογή κειμένου, το κείμενο αυτό λαμβάνει μια οπτική επισήμανση. Η επισήμανση υλοποιείται χρησιμοποιώντας χρώματα φόντου και εμφανίζεται όταν ο δείκτης του ποντικιού βρίσκεται πάνω ή όταν το συνδεδεμένο παράθυρο συνομιλίας είναι ανοιχτό.
Το σύστημα επισήμανσης λειτουργεί τυλίγοντας το επιλεγμένο κείμενο σε ένα ειδικό στοιχείο που μπορεί να μορφοποιηθεί. Αυτή η προσέγγιση διασφαλίζει ότι οι επισημάνσεις παραμένουν ακριβείς ακόμη και όταν η υποκείμενη δομή HTML είναι πολύπλοκη.
Τοποθέτηση παραθύρου συνομιλίας
Όταν ένας χρήστης κάνει κλικ σε μια επισήμανση ή δημιουργεί μια νέα σημείωση, εμφανίζεται ένα παράθυρο συνομιλίας κοντά στο επιλεγμένο κείμενο. Το widget υπολογίζει αυτόματα την καλύτερη θέση για αυτό το παράθυρο με βάση τον διαθέσιμο χώρο του viewport.
Το σύστημα τοποθέτησης χρησιμοποιεί κλάσεις CSS όπως to-right, to-left, to-top, και to-bottom για να υποδείξει προς ποια κατεύθυνση πρέπει να επεκταθεί το παράθυρο συνομιλίας από την επισήμανση. Σε κινητές συσκευές (οθόνες κάτω των 768px), το παράθυρο συνομιλίας εμφανίζεται πάντα σε πλήρη οθόνη για καλύτερη ευχρηστία.
Διαστάσεις παραθύρου συνομιλίας
Τα παράθυρα συνομιλίας είναι 410px πλάτος σε επιτραπέζιους υπολογιστές με απόσταση 20px και ένα οπτικό βέλος 16px που δείχνει προς το επισημασμένο κείμενο. Αυτές οι διαστάσεις είναι σταθερές για να εξασφαλίσουν συνεπή συμπεριφορά, αλλά μπορείτε να προσαρμόσετε την εμφάνιση με CSS.
Επιλογές που διασχίζουν πολλαπλά στοιχεία
Οι χρήστες μπορούν να επιλέξουν κείμενο που εκτείνεται σε πολλά στοιχεία HTML, όπως να επισημάνουν από το μέσο μιας παραγράφου μέχρι την αρχή μιας άλλης. Το σύστημα σειριοποίησης περιοχής χειρίζεται αυτό σωστά και θα επισημάνει όλο το επιλεγμένο κείμενο ακόμα και όταν διασχίζει όρια στοιχείων.
Συμβατότητα περιηγητή
Το σύστημα επιλογής κειμένου χρησιμοποιεί το τυπικό API window.getSelection() το οποίο υποστηρίζεται σε όλους τους σύγχρονους περιηγητές. Για παλαιότερες εκδόσεις του Internet Explorer, υπάρχει fallback στο document.selection για συμβατότητα.
Διατήρηση επιλογής
Μόλις δημιουργηθεί μια συνομιλία για μια επιλογή κειμένου, αυτή η σημείωση διατηρείται ακόμη και αν η σελίδα φορτωθεί ξανά. Η σειριοποιημένη περιοχή και το μονοπάτι DOM επιτρέπουν στο widget να αποκαταστήσει τις επισημάνσεις στην ακριβή ίδια θέση όταν οι χρήστες επιστρέψουν στη σελίδα.
Αυτό λειτουργεί αξιόπιστα εφόσον το περιεχόμενο της σελίδας σας παραμένει σταθερό. Εάν αλλάξετε το περιεχόμενο του κειμένου ή αναδιαρθρώσετε το HTML σας, οι υπάρχουσες σημειώσεις ενδέχεται να μην ευθυγραμμίζονται σωστά με το κείμενο. Για τον λόγο αυτό, είναι καλύτερο να αποφεύγετε μεγάλες αλλαγές περιεχομένου σε σελίδες με ενεργές σημειώσεις, ή να εξετάσετε τη μετανάστευση των σημειώσεων όταν οι αλλαγές περιεχομένου είναι απαραίτητες.
Προσαρμογή 
Υποστήριξη Σκούρου Θέματος (Dark Mode)
Δυναμικό Σκούρο Θέμα
Αν το σκούρο θέμα του ιστότοπού σας ελέγχεται με την προσθήκη μιας κλάσης .dark στο στοιχείο body, το περιβάλλον Collab Chat θα το σεβαστεί αυτόματα χωρίς να απαιτείται επανεκκίνηση. Τα στυλ του widget έχουν σχεδιαστεί ώστε να ανταποκρίνονται στην παρουσία αυτής της κλάσης.

Προσαρμοσμένο Στυλ με CSS
Μπορείτε να προσαρμόσετε την εμφάνιση των επισήμανσης κειμένου, των παραθύρων συνομιλίας και άλλων στοιχείων χρησιμοποιώντας CSS. Το widget προσθέτει συγκεκριμένες κλάσεις που μπορείτε να στοχεύσετε στο stylesheet σας.
Οι επισημάνσεις κειμένου χρησιμοποιούν το σύστημα στυλ του σχολικού φυσαλίδας της FastComments, οπότε κάθε προσαρμογή που έχετε εφαρμόσει στο τυπικό widget σχολίων θα επηρεάσει και το Collab Chat.
Προσαρμογή της Πάνω Μπάρας
Η πάνω μπάρα εμφανίζει τον αριθμό των συνδεδεμένων χρηστών και τον αριθμό των συζητήσεων. Μπορείτε να προσαρμόσετε τη θέση της παρέχοντας ένα προσαρμοσμένο στοιχείο ως topBarTarget:

Ή απενεργοποιήστε την εντελώς ορίζοντάς την σε null:

Συμπεριφορά σε Κινητά
Σε οθόνες πλάτους κάτω από 768px, το Collab Chat μεταβαίνει αυτόματα σε μια βελτιστοποιημένη διάταξη για κινητά. Τα παράθυρα συνομιλίας εμφανίζονται σε πλήρη οθόνη αντί να επιπλέουν δίπλα στο κείμενο, και η καθυστέρηση επιλογής αφαιρείται για πιο άμεση αλληλεπίδραση.
Αυτή η συμπεριφορά είναι ενσωματωμένη και δεν απαιτεί καμία ρύθμιση. Το widget ανιχνεύει αυτόματα το μέγεθος της οθόνης και προσαρμόζεται αναλόγως.
Εμφάνιση Παραθύρου Συνομιλίας
Τα παράθυρα συνομιλίας έχουν πλάτος 410px σε επιτραπέζιους υπολογιστές με ένα βέλος 16px που δείχνει το επισημασμένο κείμενο. Τα παράθυρα τοποθετούνται αυτόματα με βάση τον διαθέσιμο χώρο του viewport, χρησιμοποιώντας κλάσεις τοποθέτησης όπως to-right, to-left, to-top και to-bottom.
Μπορείτε να προσθέσετε προσαρμοσμένο CSS για να προσαρμόσετε χρώματα, γραμματοσειρές, αποστάσεις ή άλλες οπτικές ιδιότητες αυτών των παραθύρων. Τα παράθυρα συνομιλίας χρησιμοποιούν την ίδια δομή στοιχείων με το τυπικό widget της FastComments, οπότε κληρονομούν κάθε καθολική προσαρμογή που έχετε εφαρμόσει.
Μετάφραση (Localization)
Το Collab Chat υποστηρίζει όλες τις ίδιες επιλογές μετάφρασης με το τυπικό widget της FastComments. Ορίστε την επιλογή locale για να εμφανίζεται το κείμενο του περιβάλλοντος σε διαφορετικές γλώσσες:

Η FastComments υποστηρίζει δεκάδες γλώσσες. Η ρύθμιση locale επηρεάζει όλο το κείμενο του περιβάλλοντος, συμπεριλαμβανομένων των προτροπών, των κουμπιών και του κειμένου placeholder.
Κληρονομούμενες Επιλογές Προσαρμογής
Εφόσον το Collab Chat επεκτείνει το τυπικό widget σχολίων, κληρονομεί όλες τις επιλογές προσαρμογής από το βασικό widget. Αυτό περιλαμβάνει προσαρμοσμένες κλάσεις CSS, προσαρμοσμένες μεταφράσεις, προσαρμογή avatar, μορφοποίηση ημερομηνιών και πολλά άλλα.
Δείτε την κύρια τεκμηρίωση προσαρμογής της FastComments για την πλήρη λίστα των διαθέσιμων επιλογών προσαρμογής.
Εργασία με Προσαρμοσμένες Γραμματοσειρές
Αν ο ιστότοπός σας χρησιμοποιεί προσαρμοσμένες γραμματοσειρές, το περιβάλλον Collab Chat θα κληρονομήσει αυτές τις γραμματοσειρές από το CSS της σελίδας σας. Μπορεί να χρειαστεί να δημιουργήσετε έναν κανόνα προσαρμογής widget και να κάνετε @import τις γραμματοσειρές στο προσαρμοσμένο CSS αυτού του κανόνα, αν θέλετε το αιωρούμενο παράθυρο συνομιλίας να χρησιμοποιεί τις ίδιες γραμματοσειρές.
Ζωντανός Συγχρονισμός 
Ενημερώσεις σε Πραγματικό Χρόνο
Το Collab Chat χρησιμοποιεί συνδέσεις WebSocket για να συγχρονίζει όλες τις συνομιλίες σε πραγματικό χρόνο σε όλους τους συνδεδεμένους χρήστες. Όταν κάποιος δημιουργεί μια νέα σημείωση, προσθέτει ένα σχόλιο ή διαγράφει μια συζήτηση, όλοι οι άλλοι χρήστες που βλέπουν την ίδια σελίδα βλέπουν την ενημέρωση αμέσως χωρίς να χρειάζεται ανανέωση.
Πώς λειτουργεί ο συγχρονισμός WebSocket
Όταν αρχικοποιείτε το Collab Chat, το widget ανοίγει μια σύνδεση WebSocket προς τους διακομιστές της FastComments. Αυτή η σύνδεση παραμένει ανοιχτή για τη διάρκεια της συνεδρίας του χρήστη και ακούει για ενημερώσεις σχετικές με την τρέχουσα σελίδα.
Το σύστημα WebSocket χρησιμοποιεί τρεις τύπους broadcast μηνυμάτων για το Collab Chat. Το event new-text-chat ενεργοποιείται όταν κάποιος δημιουργεί μια νέα σημείωση στη σελίδα. Το event updated-text-chat ενεργοποιείται όταν κάποιος ενημερώνει μια υπάρχουσα συζήτηση. Το event deleted-text-chat ενεργοποιείται όταν κάποιος διαγράφει μια σημείωση.
Σύστημα Broadcast ID
Για να αποτραπεί το φαινόμενο ηχώ όπου οι χρήστες βλέπουν τις δικές τους ενέργειες να εκπέμπονται ξανά σε αυτούς, κάθε ενημέρωση περιλαμβάνει ένα μοναδικό broadcastId. Όταν ένας χρήστης δημιουργεί ή ενημερώνει μια σημείωση, ο client του δημιουργεί ένα UUID για αυτήν την ενέργεια. Όταν το WebSocket εκπέμπει την ενημέρωση πίσω σε όλους τους clients, ο αρχικός client αγνοεί την ενημέρωση επειδή ταιριάζει με το δικό του broadcastId.
Αυτό εξασφαλίζει ομαλή αλληλεπίδραση όπου οι χρήστες βλέπουν τις αλλαγές τους αμέσως στο UI χωρίς να περιμένουν την εμπρόσθια-οπισθιά μετάδοση μέσω του διακομιστή, ενώ ταυτόχρονα διασφαλίζεται ότι όλοι οι άλλοι χρήστες λαμβάνουν την ενημέρωση.
Ζωντανή καταμέτρηση χρηστών
Η επάνω γραμμή εμφανίζει τον αριθμό των χρηστών που αυτή τη στιγμή βλέπουν τη σελίδα. Αυτή η καταμέτρηση ενημερώνεται σε πραγματικό χρόνο καθώς οι χρήστες συνδέονται και αποσυνδέονται. Ο αριθμός χρηστών παρέχεται μέσω της ίδιας σύνδεσης WebSocket και αυξομειώνεται αυτόματα βάσει των γεγονότων σύνδεσης και αποσύνδεσης.
Ανθεκτικότητα σύνδεσης
Εάν η σύνδεση WebSocket διακοπεί λόγω προβλημάτων δικτύου ή συντήρησης του διακομιστή, το widget προσπαθεί αυτόματα να επανασυνδεθεί. Κατά τη διάρκεια της περιόδου επανασύνδεσης, οι χρήστες μπορούν να συνεχίσουν να αλληλεπιδρούν με τις υπάρχουσες σημειώσεις, αλλά δεν θα βλέπουν ενημερώσεις σε πραγματικό χρόνο από άλλους χρήστες μέχρι να αποκατασταθεί η σύνδεση.
Μόλις επανασυνδεθεί, το widget επανασυγχρονίζει για να διασφαλίσει ότι δεν χάθηκαν ενημερώσεις. Αυτό συμβαίνει διαφανώς χωρίς να απαιτείται παρέμβαση του χρήστη.
Θέματα εύρους ζώνης
Τα μηνύματα WebSocket είναι ελαφριά και περιέχουν μόνο τις απαραίτητες πληροφορίες που χρειάζονται για τον συγχρονισμό της κατάστασης. Η δημιουργία μιας νέας σημείωσης συνήθως καταναλώνει λιγότερο από 1KB εύρους ζώνης. Το σύστημα περιλαμβάνει επίσης έξυπνη ομαδοποίηση για τη μείωση της συχνότητας των μηνυμάτων κατά τις περιόδους υψηλής δραστηριότητας.
Τα στατιστικά χρήσης σας στον πίνακα ελέγχου FastComments παρακολουθούν τα pubSubMessageCount και pubSubBandwidth ώστε να μπορείτε να επιβλέπετε τη δραστηριότητα συγχρονισμού σε πραγματικό χρόνο στις τοποθεσίες σας.
Συγχρονισμός μεταξύ καρτελών
Εάν ένας χρήστης έχει την ίδια σελίδα ανοιχτή σε πολλαπλές καρτέλες του προγράμματος περιήγησης, οι ενημερώσεις σε μια καρτέλα εμφανίζονται αμέσως στις άλλες καρτέλες. Αυτό λειτουργεί μέσω του ίδιου μηχανισμού συγχρονισμού WebSocket και δεν απαιτεί καμία επιπλέον ρύθμιση.
Ασφάλεια
Τα μηνύματα WebSocket μεταδίδονται μέσω ασφαλών συνδέσεων (WSS) και περιλαμβάνουν tenant validation για να διασφαλιστεί ότι οι χρήστες λαμβάνουν μόνο ενημερώσεις για συνομιλίες που έχουν εξουσιοδότηση να βλέπουν. Ο διακομιστής επικυρώνει όλες τις λειτουργίες πριν τις εκπέμψει για να αποτρέψει μη εξουσιοδοτημένη πρόσβαση ή παραποίηση.
Αναφορά API 
Επισκόπηση API
Το Collab Chat παρέχει τρία REST API σημεία τερματισμού για τη διαχείριση συνομιλιών κειμένου προγραμματιστικά. Αυτά τα σημεία τερματισμού σας επιτρέπουν να ανακτάτε, να δημιουργείτε και να διαγράφετε σημειώσεις χωρίς να χρησιμοποιείτε το widget του προγράμματος περιήγησης.
Πρόκειται για δημόσια σημεία τερματισμού που ταυτοποιούν τους χρήστες μέσω cookies του προγράμματος περιήγησης. Δεν χρησιμοποιούν API keys. Οι χρήστες πρέπει να έχουν συνδεθεί στο FastComments στο πρόγραμμα περιήγησής τους για να έχουν πρόσβαση σε αυτά τα σημεία τερματισμού.
Βασικό URL
Όλα τα API σημεία τερματισμού του Collab Chat βρίσκονται κάτω από:

Αυθεντικοποίηση
Αυτά τα σημεία τερματισμού ταυτοποιούν τους χρήστες μέσω cookies του προγράμματος περιήγησης. Δεν χρησιμοποιούν API keys. Οι χρήστες πρέπει να έχουν συνδεθεί στο FastComments στο πρόγραμμα περιήγησής τους για να έχουν πρόσβαση σε αυτά τα σημεία τερματισμού.
Ανάκτηση όλων των συνομιλιών
Ανάκτηση όλων των συνομιλιών κειμένου για μια συγκεκριμένη σελίδα.
Σημείο τερματισμού

Παράμετροι
tenantId (path parameter, required) είναι το FastComments Tenant ID σας.
urlId (query parameter, required) είναι ο αναγνωριστής της σελίδας για την οποία θέλετε να ανακτήσετε τις συνομιλίες.
Απάντηση
Η απάντηση περιλαμβάνει την κατάσταση του API, πληροφορίες για την τρέχουσα συνεδρία χρήστη αν υπάρχει ταυτοποίηση, έναν πίνακα συνομιλιών με τα IDs τους, τις διευθύνσεις URL και τις σειρές κειμένου, έναν καθαρισμένο αναγνωριστή URL, μια σημαία που δείχνει αν ο τρέχων χρήστης είναι διαχειριστής ή moderator του site, και λεπτομέρειες σύνδεσης WebSocket για ζωντανή συγχρονισμό συμπεριλαμβανομένων των tenantIdWS, urlIdWS, και userIdWS.
Παράδειγμα Αιτήματος

Παράδειγμα Απάντησης

Δημιουργία συνομιλίας
Δημιουργία μιας νέας συνομιλίας κειμένου για μια συγκεκριμένη επιλογή κειμένου.
Σημείο τερματισμού

Παράμετροι
tenantId (path parameter, required) είναι το FastComments Tenant ID σας.
Το σώμα του αιτήματος πρέπει να είναι JSON και να περιλαμβάνει τα παρακάτω υποχρεωτικά πεδία.
urlId (string, required) είναι ο βασικός αναγνωριστής της σελίδας.
urlIdWithRange (string, required) είναι το URL σε συνδυασμό με τη σειρά κειμένου, για παράδειγμα my-page:p:0:15,0:45{abc123}.
pageTitle (string, required) είναι ο τίτλος της σελίδας.
selector (string, required) είναι το DOM path προς το στοιχείο που περιέχει το επιλεγμένο κείμενο.
range (string, required) είναι η σειριοποιημένη σειρά κειμένου στη μορφή startOffset:endOffset,startOffset:endOffset{checksum}.
createdFromCommentId (string, required) είναι το ID του σχολίου που ξεκίνησε αυτή τη συνομιλία.
broadcastId (string, required) είναι ένα UUID για ζωντανό συγχρονισμό ώστε να αποφεύγονται τα echo effects.
Απάντηση
Η απάντηση περιλαμβάνει την κατάσταση του API και το ID της νεοδημιουργηθείσας συνομιλίας.
Παράδειγμα Αιτήματος

Παράδειγμα Απάντησης

Διαγραφή συνομιλίας
Διαγραφή μιας υπάρχουσας συνομιλίας κειμένου. Αυτό το σημείο τερματισμού απαιτεί δικαιώματα διαχειριστή ή moderator, ή η συνομιλία πρέπει να έχει δημιουργηθεί από τον ταυτοποιημένο χρήστη.
Σημείο τερματισμού

Παράμετροι
tenantId (path parameter, required) είναι το FastComments Tenant ID σας.
chatId (path parameter, required) είναι το ID της συνομιλίας που θέλετε να διαγράψετε.
broadcastId (request body, required) είναι ένα UUID για ζωντανό συγχρονισμό.
Παράδειγμα Αιτήματος

Παράδειγμα Απάντησης

Περιορισμός Ρυθμού
Αυτά τα σημεία τερματισμού υπόκεινται στον τυπικό περιορισμό ρυθμού του FastComments API. Το middleware περιορισμού ρυθμού εφαρμόζεται ανά tenant για να αποτρέπει κατάχρηση ενώ επιτρέπει κανονικά μοτίβα χρήσης.
Απαντήσεις Σφαλμάτων
Όλα τα σημεία τερματισμού επιστρέφουν τυπικούς HTTP κωδικούς κατάστασης. Μια απάντηση 400 δείχνει μη έγκυρες παραμέτρους αιτήματος. Μια απάντηση 401 σημαίνει ότι η αυθεντικοποίηση απέτυχε. Μια απάντηση 403 υποδεικνύει ανεπαρκή δικαιώματα. Μια απάντηση 404 σημαίνει ότι η συνομιλία δεν βρέθηκε. Μια απάντηση 429 υποδεικνύει υπέρβαση του ορίου ρυθμού.
Οι απαντήσεις σφάλματος περιλαμβάνουν ένα JSON σώμα με λεπτομέρειες:

Παρακολούθηση χρήσης
Η δημιουργία συνομιλιών αυξάνει το usage metric conversationCreateCount. Όλη η δραστηριότητα συγχρονισμού WebSocket αυξάνει τα pubSubMessageCount και pubSubBandwidth. Μπορείτε να παρακολουθείτε αυτά τα metrics στο dashboard του FastComments κάτω από τα usage analytics.
Έχετε ερωτήσεις;
Αυτό ήταν για το FastComments Collab Chat! Αν έχετε οποιεσδήποτε ερωτήσεις, χρειάζεστε βοήθεια με την υλοποίηση ή έχετε προτάσεις για λειτουργίες, παρακαλούμε ενημερώστε μας παρακάτω ή επικοινωνήστε με την ομάδα υποστήριξής μας.
Για ζωντανά παραδείγματα, ρίξτε μια ματιά στο Govscent.org που χρησιμοποιεί το Collab Chat σε παραγωγή.