Comments (25)
Εγώ έγραψα τον κώδικα, πάνω κάτω όπως αναφέρει το λινk το έχω κάνει αν δείτε το αρχείο json.
from site-gr.
Η βασική ιδέα ήταν όταν κάποιο νέο post ανεβαίνει στο site να στέλναμε σε χρήστες οι οποίοι ήθελαν να λαμβάνουν ειδοποιήσεις ένα push notification για να τους ενημερώνουμε, κάτι το οποίο είναι αδύνατο με τον τρόπο που έχουμε δομήσει και χωρίς την χρήση βάσης δεδομένων το site διότι θα έπρεπε με κάποιο τρόπο να αποθηκεύουμε αυτούς που θέλουν τις ειδοποιήσεις.
Μιας και δεν χρησιμοποιώ notifications σχεδόν πουθενά, αναρωτιέμαι αν είναι δυνατό να γίνει αυτό όσο το site δεν είναι ανοιχτό στο browser; Αν όχι, δε βρίσκω τόσο χρήσιμη/πρακτική αυτή την προσέγγιση: δε θεωρώ πιθανό να αφήνει κάποιος το site ανοιχτό για να περιμένει πότε θα βγει καινούρια ανακοίνωση.
Το αμέσως επόμενο το οποίο είναι και εφικτό με τον τρόπο που είναι το site φτιαγμένο είναι να δείχνουμε ειδοποίηση για νέο post όταν μπαίνει στην σελίδα και υπάρχει νέο post.
Αυτή η προσέγγιση μου αρέσει περισσότερο! Ίσως ήταν ενδιαφέρον να διερευνηθεί στο μέλλον και κάποιου είδους ιστορικό, αντί να εμφανίζεται απλώς ειδοποίηση αν ο server ανιχνεύσει ότι υπάρχει καινούριο post. Ως προς το τελευταίο, να φανταστώ πρέπει αναγκαστικά να ξανα ξεκινήσει ο server για να ανιχνεύσει και να εμφανίζει ένα νέο post; Αυτό μάλλον σχετίζεται και με το #97...
Τώρα, ως προς τις τεχνολογίες, ίσως αντί των desktop notifications να είχε ενδιαφέρον κάτι όπως το
που αναφέρθηκε παραπάνω.
Επίσης, με βάση μια κουβένα που είχα κάνει κάποια στιγμή με τον @constantinexisc, στο κάτω μέρος της σελίδας μας φαίνεται να υπάρχει λειτουργικό RSS feed. Μήπως μπορεί να χρησιμεύσει κάπου;
from site-gr.
Το RSS feed του @p15zerv είναι ίσως η καλύτερη ιδέα, γιατί τα notification με κλειστό browser χωρίς ενεργό server από πίσω είναι σχεδόν αδύνατα κατά τη γνώμη μου.
Η δεύτερη προσέγγιση γίνεται και χωρίς κάποια έχτρα τεχνολογία έχει η html5 notifications api
https://www.htmlgoodies.com/html5/creating-your-own-notifications-with-the-html5-notifications-api.html
αλλά δεν είναι πραγματικά notifications με την έννοια ότι πρέπει καποιος να μπει στο site για να το λάβει.
Το RSS feed πιστεύω είναι πολύ πιο εφικτό για το συγκεκριμένο project
from site-gr.
πριν δούμε κάποιο αίτημα θα ήταν χρήσιμο να δούμε εναλλακτικές τεχνολογίες και παραδείγματα από άλλες ιστοσελίδες και να συζητήσουμε καλές πρακτικές παρακάτω
from site-gr.
με αφορμή το ντέμο της προηγούμενης εβδομάδας
αν θυμάμαι σωστά: https://github.com/web-push-libs/web-push
θυμίζω το προηγούμενο μου ποστ
επίσης, νομίζω ότι δεν είναι καλή ιδέα να φύγουμε από το jekyll π.χ,
https://github.com/sciactive/pnotify
αν φύγουμε από το jekyll θα πρέπει να γίνει συνολικά, και όχι μόνο για τις ειδοποιήσεις,
κάτω από την σκεπή του νέου θέματος, π.χ., gatsby, το οποίο βασίζεται σε javascript και πιθανόν είναι πιο συμβατό nodejs
from site-gr.
Με αφορμή το σχόλιο που κάνετε θυμήθηκα ότι τελικά δεν σας έδειξα να τρέχει live αυτό. Θα σας το δείξω στην επόμενη συνάντηση, ακόμα ψάχνω μήπως βρω και κάποιον άλλο τρόπο να το υλοποιήσουμε
from site-gr.
εναλλακτικά, πάντα θα μπορούσες να αλλάξεις θέμα διαλέγοντας άλλο ή ακόμη καλύτερα ανοίγοντας νέο θέμα που δεν έχω σκεφτεί στο #7
from site-gr.
Εντάξει θα το δω λίγο ακόμα και θα σας πω.
from site-gr.
@epidrome Δεν βρίσκω κάποιον τρόπο να υλοποιήσω τα push notifications χωρίς τη δυνατότητα να γράψω σε κάποιο αρχείο, αυτό που μπορώ να κάνω είναι να ειδοποιώ τον χρήστη όταν μπαίνει στη σελίδα ότι υπάρχει νέο post με ένα notification.
Θα ήθελα τη γνώμη σας πάνω σε αυτό για να δω αν θα το προχωρήσω.
from site-gr.
δεν καταλαβαίνω
με ποια τεχνολογία?
ο καλύτερος τρόπος να παρουσιάζουμε-συζητάμε είναι όπως #96
from site-gr.
Όταν λέτε τεχνολογία εννοείτε για τα notification; Αυτό που κάνω είναι να χρησιμοποιώ το local storage για να αποθηκεύω τοπικά για τον κάθε χρήστη αν θέλει να τις βλεπει και αν έχει δει την τελευταία ανακοίνωση. Και αν υπάρχει νέα ανακοίνωση και δεν την έχει δει ο χρήστης τότε όταν μπει στη σελιδα μας του δειχνω την ανακοινωση.
from site-gr.
ο καλύτερος τρόπος να παρουσιάζουμε-συζητάμε είναι όπως #96
from site-gr.
Το είδα και στο προηγούμενο σχόλιο σας αυτό, θέλετε να κάνω mention και άλλους για να το συζητήσουμε ή θέλετε πιο αναλυτική παρουσίαση από εμένα;
from site-gr.
both!
"mention" has been done already via "assign"
from site-gr.
Η βασική ιδέα ήταν όταν κάποιο νέο post ανεβαίνει στο site να στέλναμε σε χρήστες οι οποίοι ήθελαν να λαμβάνουν ειδοποιήσεις ένα push notification για να τους ενημερώνουμε, κάτι το οποίο είναι αδύνατο με τον τρόπο που έχουμε δομήσει και χωρίς την χρήση βάσης δεδομένων το site διότι θα έπρεπε με κάποιο τρόπο να αποθηκεύουμε αυτούς που θέλουν τις ειδοποιήσεις.
Το αμέσως επόμενο το οποίο είναι και εφικτό με τον τρόπο που είναι το site φτιαγμένο είναι να δείχνουμε ειδοποίηση για νέο post όταν μπαίνει στην σελίδα και υπάρχει νέο post. Αυτό γίνετε χρησιμοποιώντας δυο αρχεία javascript, ένα στο site-gr το οποίο θα είναι υπεύθυνο για την ανίχνευση νέου post κατά το deployment του site και ενα στο minimal-ionio το οποίο θα στέλνει την ειδοποίηση, και τη χρήση του local storage έτσι ώστε να αποθηκεύουμε τοπικά για κάθε χρήστη το αν θέλει να δέχεται ειδοποιήσεις και αν έχει δει ήδη την ειδοποίηση για το νέο post έτσι ώστε να μην του δείχνουμε κάθε φορά που μπαίνει ξανά και ξανά την ειδοποίηση.
Πιο αναλυτικά οι προσθήκες:
site-gr:
- _feeds/firstpost.json (ένα αρχείο το οποίο κάθε φορά έχει αποθηκευμένα τα δεδομένα του πιο πρόσφατου post) link to file
- _tools/newpostcheck.js (το js αρχείο το οποίο είναι υπεύθυνο για τον έλεγχο των post για την ανίχνευση νέου.) link to file
minimal-ionio:
- assets/js/client.js (Το αρχείο το οποίο είναι υπεύθυνο για την ερώτηση ως προς τα δικαιώματα εμφάνισης ειδοποιήσεων και την αποστολή των ειδοποιήσεων.) link to file
Local storage:
Το local storage δεν είναι τίποτα το ιδιαίτερο, απλά σου δίνει την δυνατότητα να αποθηκεύεις τοπικά στον κάθε χρήστη κάποιες 'μεταβλητές' οι οποίες λειτουργούν πάνω κάτω σαν τα cookies και μπορούν να διαγραφούν κάνοντας άπλα εκκαθάριση ιστορικού.
Όλες οι παραπάνω αλλαγές βρίσκονται στα δικά μου fork των δυο αποθετηρίων και συγκεκριμένα στα αντίστοιχα branch με όνομα deploy καθώς και στο δικό μου deployment στο netlify.
Αυτή είναι η ποιο καλή εξήγηση που μπορώ να δώσω και θα ήθελα τις γνώμες σας @epidrome @andreanastil @Spirosvw
from site-gr.
-
έγραψες αυτόν τον κώδικα ή βασίζεται σε κάποια παραδείγματα-βιβλιοθήκη? ποια είναι τα dependencies?
-
παρατηρώ ότι έχεις κάποια στατικά αρχεία json, έχεις δει την δυνατότητα μετατροπής data-->json?
https://jekyllrb.com/docs/liquid/filters/
from site-gr.
ο κώδικας μοιάζει με
https://humanwhocodes.com/blog/2018/09/detecting-new-post-jekyll-netlify/
βρήκα και αυτό
https://web-push-book.gauntface.com
επίσης αντιγράφω το αρχικό σχόλιο, γιατί δεν έχω δει κάποια απάντηση:
πριν δούμε κάποιο αίτημα θα ήταν χρήσιμο να δούμε εναλλακτικές τεχνολογίες και παραδείγματα από άλλες ιστοσελίδες και να συζητήσουμε καλές πρακτικές παρακάτω
φαίνεται πως είναι ένα αρκετά δύσκολο ζητούμενο, η γνώμη μου είναι ότι
η ανάγκη για συστηματική ανάλυση-κατανόηση είναι σημαντικότερη από το να έχουμε μια λύση
from site-gr.
Ναι το json αρχείο νομίζω από αυτό το site το βρήκα, αν εννοούσατε αυτό για κώδικα ναι δεν είναι δικό μου, το κομμάτι των notification είναι δικό μου.
Το δεύτερο είναι ο πρώτος τρόπος που προσπάθησα και αν διαβασεται χρειάζεται κάπου να αποθηκεύουμε τα credentials των χρηστών τα οποία θα χρησιμοποιούμε για να στέλνουμε notifications.
https://web-push-book.gauntface.com/chapter-02/01-subscribing-a-user/
from site-gr.
η τρέχουσα κατανόηση μου είναι προβληματική γιατί δεν μπορώ να δω την μεγάλη εικόνα
λίγο που το έψαξα χάθηκα και εσύ δεν έχεις στείλει κάτι να μας φωτίσεις, όπως έχω ζητήσει πριν 2+ εβδομάδες
πάντως, ας περιμένουμε και την γνώμη των άλλων
στο μεταξύ καλό είναι να δεις και κάποιο βατό θέμα από τα διαθέσιμα
from site-gr.
Ένταξη αλλά δεν καταλαβαίνω τι εννοείτε να σας στείλω για να σας φωτίσω; πάνω σε ποιο θέμα στο πως λειτουργούν τα push notification ή σε εναλλακτικές τεχνολογίες;
Γενικά τα push notification είναι πολύ απλά στο πως λειτουργούν:
- Ζητάς άδεια από τον χρήστη να του στέλνεις.
- Αν την δεκτή αποθηκεύεις τα στοιχειά του.
- Κάθε φορά που θες να στείλεις κάτι ο server το στέλνει.
αλλά το πρόβλημα είναι ότι χρειάζονται γνώση των στοιχείων των ατόμων που θα τα δεκτουν κάτι το οποίο σε στατικό web site δεν μπορούμε.
Αν θέλετε να σας στείλω προηγούμενα commit μου με τον προηγούμενο τρόπο για να δείτε πως περίπου θα ήταν η υλοποίηση με τον τρόπο που προτείνει το δεύτερο λινκ που μου στείλατε.
from site-gr.
ως τελικός χρήστης φυσικά και καταλαβαίνω, εδώ όμως ο ρόλος μας είναι διαφορετικός: τεχνολογίες-ανάπτυξη-συνεργασία-εκπαίδευση,
δες σχετική συζήτηση #96 όπου δεν μας ενδιαφέρει τόσο η υλοποίηση αλλά πως ταιριάζει στην αρχιτεκτονική-στόχους-μέλη του συνεργατικού έργου που ήδη έχουμε, δεν γράφουμε σε λευκή σελίδα..
ας διαβάσουν τα σχόλια και ας μας πουν την γνώμη τους και οι συνεργάτες: @constantinexisc @p15zerv
για την ώρα, @NikosAvg:
στο μεταξύ καλό είναι να δεις και κάποιο βατό θέμα από τα διαθέσιμα
from site-gr.
Έγινε. Θα κοιτάξω.
from site-gr.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
from site-gr.
Υπάρχει η δυνατότητα δημιουργίας ενός browser plugin που να στέλνει notifications μέσω του browser σε όσους έχουν εγκαταστήσει το plugin αυτό. Δεν γνωρίζω κατά πόσο είναι εφικτό αλλά βρήκα και αυτό το link: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/notifications/create
from site-gr.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
from site-gr.
Related Issues (20)
- Updates killed the the bundler and leaflet maps... HOT 1
- Wiki: Διαχείριση της βιβλιογραφίας των courses HOT 3
- Δυναμικό περιεχόμενο στο υπόβαθρο της βασικής σελίδας HOT 1
- Συλλογή από videos στο υπόβαθρο HOT 1
- Wiki: Δυναμικό Περιεχόμενο στην αρχική σελίδα HOT 6
- Σελίδα Επικοινωνίας με γεωγραφικούς χάρτες. Αλλαγές - Προσθήκες HOT 8
- Wiki Docs: Twitter Embedded Timeline HOT 8
- Φόρμα για εξωτερικούς χρήστες: Πρόγραμμα μαθημάτων HOT 1
- Wiki: Γεωγραφικοί χάρτες. HOT 9
- Wiki: Courses HOT 3
- Wiki: Update Contributors Guide HOT 5
- Action: check data for new-updated course HOT 1
- Wiki: Bίντεο στο υπόβαθρο της αρχικής σελίδας HOT 6
- πρόγραμμα εξεταστικής HOT 1
- Προσθήκη δυνατότητας επιλογής διάρκειας των μαθημάτων στο ωρολόγιο πρόγραμμα HOT 1
- Wiki: Συντομεύσεις πλοήγησης στο footer της σελίδας HOT 5
- Wiki: Αρχιτεκτονική και Refactoring _pages HOT 6
- wiki: Τεκμηρίωση της μεταφοράς του αποθετηριόυ και του wiki
- Wiki: Tagcloud HOT 6
- Wiki Docs: Data Structure for Contact section HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from site-gr.