Κόμβος
Περιγραφή
Ο κόμβος (node) είναι στην πραγματικότητα ο διακομιστής (server) ο οποίος "ζει" στο cloud.
Στην ουσία είναι ο "διαιτητής" για το πως θα μεταφέρονται τα δεδομένα μεταξύ των συστατικών της πλατφόρμας (Android client, worker, κτλ). Μέσω αυτού καθορίζονται δικαιώματα και κανόνες. Δεν απαιτείται για την λειτουργία των clients αλλά όταν υπάρχει κάποια διεργασία που ελέγχεται από αυτόν είναι φυσικό να πρέπει να υπάρχει συνδεσιμότητα δικτύου.
Διατηρεί βάση δεδομένων και ενημερώνει κάθε εμπλεκόμενο (Android client, worker) σύμφωνα με τα δικαιώματα που έχει.
To node έχει επικοινωνία με εξωτερικούς παρόχους όπως google για πιστοποιήσεις χρηστών, telegram για ΙΜ μεταξύ χρηστών, αλλά και εφαρμογών κυρίως μέσω του worker αλλά και του Android client.
Κόστος
Το κόστος για την χρήση όλης της πλατφόρμας είναι ενιαίο και ετήσιο.
Υπάρχουν έτοιμα πρόσθετα (Plugins) που μπορεί να έχουν επιπλέον χρέωση. Για την χρήση τους καθορίζονται points και μπορείτε να τα έχετε μέσω χρηματικού ποσού ή Ads.
Παράδειγμα για την χρήση του Staff presence η επιπλέον χρέωση είναι 1p για κάθε νέα εγγραφή. Μπορείτε λοιπόν να έχετε points χρησιμοποιώντας Ads https://en.wikipedia.org/wiki/AdWords (για το συγκεκριμένο κερδίζεται 10p) ή θα μπορούσατε να έχετε στο πορτοφόλι σας 10€ και κάθε φορά να αφαιρείται 0.001€ (δηλαδή 1p). H χρήση των Ads γίνεται μόνο από πιστοποιημένους χρήστες.
Στα δικά σας πρόσθετα καθορίζετε τους κανόνες που εσείς νομίζετε. (TODO)
Κοινόχρηστα αρχεία - δικαιώματα
Η πλατφόρμα χρησιμοποιεί δικό της σύστημα αρχείων δίνοντας δυνατότητες όπως :
απεριόριστος χώρος,
δικαιώματα,
διατήρηση εκδόσεων,
κ.α.
Το πρωτόκολλο που χρησιμοποιείται είναι το Syncthing ήτε αυτά που ελέγχονται κάτω από τους κανόνες δικαιωμάτων για την κάθε εφαρμογή ήτε είναι διαθέσιμα για όλους.
Η διαχείριση αρχείων (προσθήκη-διαγραφή) γίνεται μόνο από πιστοποιημένους χρήστες και εφόσον τα διακαιώματα το επιτρέπουν. Η ασφάλεια γίνεται μέσω κρυπτογράφησης και επιπλέον μπορεί να χρησιμοποιηθεί πιστοποίηση μέσω http auth ή VPN.
Η διαχείριση γίνεται μέσω API ή του Worker ή του Android client .
Όροι χρήσης
Οι όροι χρήσης όπως αναφέρονται πρέπει να ακολουθούνται και διαχειριστής που έχει τα πλήρη δικαιώματα και υποχρεώσεις είναι αυτός που το δημιούργησε.
Εξωτερικές συνδεσιμότητες
To node μπορεί να είναι συνδεδεμένο με εξωτερικές πηγές πληροφοριών μέσω :
email της μορφής <prefix node>@expandcom.net
Η εξωτερική συνδεσιμότητα εξυπηρετεί ώστε η πλατφόρμα να έχει έναν άλλο τρόπο επικοινωνίας εκτός του http Rest API. Π.χ στο πρόσθετο accounting_invoice_auto γίνεται αυτόματη εισαγωγή παραστατικών πώλησης ή αγορών με αποστολή email στο node με προκαθορισμένο θέμα (subject).
Τρόπος χρήσης
Η επικοινωνία με το node για όλες τις βασικές λειτουργίες του και τις δραστηριότητές του, γίνεται μέσω http Rest API και μόνο μέσω SSL.
Για την επικοινωνία μπορείτε να χρησιμοποιήσετε:
το ExpandCom app (Android app)
το Worker (java console)
το Postman (web)
το curl (console)
το emacs (emacs)
ότι άλλο εσείς κρίνετε καλύτερο
Το root URI υπάρχει στην διεύθυνση api/ δηλαδή για το demo node δίνουμε : https://demo.expandcom.net/api
Το πρωτόκολλο απαιτεί πιστοποίηση (oAuth2 ή basic). Η επαλύθευση για oAuth2 γίνεται μόνο από την Google. Η Basic πιστοποίηση είναι προερετική και μπορεί να χρησημοποιηθεί αν δεν υπάρχει oAuth2:
Authorization: Token <Google OAuth2>
Authorization: Basic <hash> (Todo)
Όλες οι ενέργειες GET, POST, PUT, DELETE ελέγχονται για τα δικαιώματά τους.
Συγκεκριμένα :
Πρόσθετο (Plugin)
- Κάθε πρόσθετο χαρακτηρίζεται από:
-
Σχήμα : είναι προκαθορισμένη δομή των εγγραφών στην βάση δεδομένων καθορίζοντας τα πεδία με το τύπο τους. Μπορείτε να δημιουργίσετε τα δικά σας δυναμικά αλλά θα τα χρησιμοποιήσετε μόνο σε δικέ σας διαδικασίες.
Στο σχήμα καθορίζονται και οι ρόλοι (δικαιώματα) των χρηστών σε κάθε plugin.
Ενέργειες : ειδικές λειτουργίες σε κάθε plugin που καθορίζονται ήτε μέσα στον Android client ήτε στο node.
Hooks : ενέργειες που συμβαίνουν πρίν ή μετά από κάθε ενέργια POST,GET,PATCH,DELETE.
Ads : πόσα χρειάζονται και πόσα απαιτούνται για την χρήση του πρόσθετου.
-
Comments
Comments powered by Disqus