Plots2: PLANUNGSPROBLEM: Antwort über Twitter.

Erstellt am 28. Apr. 2018  ·  72Kommentare  ·  Quelle: publiclab/plots2

Bitte beschreiben Sie das Problem (oder die Idee)

Dies ist ein Planungsproblem für die Antwort von Twitter : feature .

Lassen Sie uns zuerst den besten Ansatz diskutieren und ihn dann in kleinere unabhängige Themen unterteilen.

Mehr Details 🔜 !

=> E-Mail-Integration #2672 ( @namangupta01 )

feature in progress more-detail-please planning summer-of-code

Hilfreichster Kommentar

Als @jywarren sollten wir das OA-System damit zusammenführen?

Alle 72 Kommentare

Cool! Link auch zur neuen Ausgabe von Naman!

Am Sa, 28. April 2018, 3:25 Uhr Sagarpreet Chadha [email protected]
schrieb:

Bitte beschreiben Sie das Problem (oder die Idee)

Dies ist ein Planungsproblem für die Antwort von Twitter : feature .

Lassen Sie uns zuerst den besten Ansatz besprechen und dann werden wir dies aufschlüsseln
kleinere eigenständige Ausgaben .

Mehr Details 🔜 !


Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/publiclab/plots2/issues/2671 , oder schalten Sie den Thread stumm
https://github.com/notifications/unsubscribe-auth/AABfJ6EpFnMq_H5zR8vLtf7kXWZJbELxks5ttBlcgaJpZM4TrSYe
.

@namangupta01 , @jywarren ... lasst uns die Diskussion darüber beginnen? Wann seid ihr beide frei?

Ja!
Am 14. Juni 2018 um 12:55 Uhr schrieb „Sagarpreet Chadha“ [email protected] :

@namangupta01 https://github.com/namangupta01 , @jywarren
https://github.com/jywarren ... können wir die Diskussion darüber beginnen? Wann
seid ihr beide frei?


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/publiclab/plots2/issues/2671#issuecomment-397198245 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/ATwCYebYN7qM2c0Emtdw2jhwYIILp5r1ks5t8g_fgaJpZM4TrSYe
.

Ich habe eine Implementierung in meinem Kopf ... werde in einer Weile posten.

Joe (der gerade angefangen hat, mit den Mitarbeitern des Public Lab zu arbeiten) hatte eine wirklich gute Zeit
Frage: Wäre dies ein Kanal für Spam-Postings? Müssen wir uns Sorgen machen
über Twitter-Bots zu spammen, oder vielleicht über eine Moderationsstrategie nachdenken?

Wie können wir darauf achten? Brainstorming öffnen!

Vielleicht müssen Antwort-Tweets von … jemandem „geliked“ werden?

Am Do, 14. Juni 2018 um 4:47 Uhr Naman Gupta [email protected]
schrieb:

Ich habe eine Implementierung in meinem Kopf ... werde in einer Weile posten.


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/publiclab/plots2/issues/2671#issuecomment-397237305 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AABfJ_g3eeUD8-7bvLjXmQLYIz0LYM1qks5t8jEFgaJpZM4TrSYe
.

Spamming ist das Hauptproblem. Ich habe die Dokumentation der letzten Tage gelesen. Ich habe mich auch gefragt, ob wir implementieren, wie Sie sagten: "Antwort-Tweets müssen gemocht werden", fand ich ein großes Problem.
Das Problem ist, dass wir immer dann, wenn ein Benutzer einen Tweet (der ein Knoten ist) retweetet, über APIs über den Retweet erfahren können, aber wenn der Retweet gemocht wird, können wir nichts davon wissen. Die einzige Möglichkeit, dies zu erfahren, besteht darin, nach einem bestimmten Zeitintervall nach jedem Retweet-Status zu suchen, was sehr schlecht ist, denn nehmen wir an, wir haben 10.000 Retweets, dann müssen wir nach dem Status von 10.000 Retweets suchen, um in einem bestimmten Zeitintervall gemocht zu werden. Und auch diese 10k-Zahl wird im Laufe der Zeit weiter steigen.

Ein weiterer wichtiger Punkt, der zu keinem Spam führen könnte, ist, dass wir nur die Tweets der Benutzer hinzufügen können, deren Twitter-Handle mit einem publiclab-Konto verknüpft ist, genau wie wir es in reply-by-email getan haben, wo die E-Mail des E-Mail-Absenders zuerst steht auf Assoziativität mit dem publiclab-Account geprüft.
Dies könnte zu keinem Spam führen.

@namangupta01 ... tolle Punkte!

  • Spamming ist hier das Problem, ich denke, die einzige Moderationstechnik, die mir auch einfällt, ist, dass ein Moderator den Kommentar zu einem Tweet genehmigen muss, indem er ihn mag (ähnlich wie die Dinge in publiclab.org funktionieren).
    => Moderator können Personen mit dem Twitter-Konto von PublicLab ODER eine Person aus der PL-Community sein, die von seinem eigenen Konto aus geliked hat.

  • Ich schätze , der Punkt ist , ein Mitglied zu bringen , das neu in die Community ist , also wird das Einbringen von Kommentaren nur von bestehenden Leuten das halbe Problem lösen .

Was denkst du ?

Tolles Denken! Aber der einzige Punkt, der mir Sorgen bereitet, ist, dass wir bei jeder Anfrage für alle Tweets auf den Publiclab-Tweets explizit prüfen müssen, ob der Tweet gemocht wird, was mit zunehmender Anzahl von Tweets zu einer sehr großen Anfrage werden kann.

Und meistens werden wir die Tweets umsonst anfordern ... das war meine Sorge. Was denkst du?

Die Moderationstechnik auf der Benutzeroberfläche der publiclab-Website würde jedoch hervorragend funktionieren.
Mögen Sie Kommentare genehmigen?

@jywarren Da die E-Mail-Funktion fast fertig ist, könnten wir darüber diskutieren?

Ich werde versuchen, in ein oder zwei Tagen etwas Zeit dafür zu reservieren ... danke!
Versuchen Sie, alle großen Funktionen vollständig zum Laufen zu bringen, bevor Sie fortfahren.
Danke!

Am Montag, 25. Juni 2018 um 19:18 Uhr Naman Gupta [email protected]
schrieb:

@jywarren https://github.com/jywarren Als E-Mail-Funktion ist fast
komplett könnten wir darüber diskutieren?


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/publiclab/plots2/issues/2671#issuecomment-400125415 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AABfJ-UOBtZ0G4haKmQRlSr0WJJ3Q30pks5uAW-ugaJpZM4TrSYe
.

@jywarren Können wir node_id in Tweets einfügen? Damit es leicht zu identifizieren ist?

@jywarren Ist es möglich, node_id in Tweets einzufügen?

Ich denke schon! Aber wir haben das automatische Tweeten für eine Weile abgeschaltet. Könnten wir
Links wie publiclab.org/n/____ über Twitter API erkennen?

Am So, 15. Juli 2018, 9:26 Uhr schrieb Naman Gupta [email protected] :

@jywarren https://github.com/jywarren Ist es möglich, das zu setzen
node_id in Tweets?


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/publiclab/plots2/issues/2671#issuecomment-405091999 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AABfJ575zPOLYU6bpFdMMkZA0vl-Xg_Yks5uG0LpgaJpZM4TrSYe
.

@jywarren Also wird publiclab.org/n/____ direkt im Tweet angezeigt oder gibt es einige andere Links, die wie zuvor auf diesen Link umleiten?
Ex:
screen shot 2018-07-17 at 2 07 32 am

Ich habe recherchiert und festgestellt, dass alle Links, die in Tweets über die Twitter-API eingehen, ein Twitter-Link sind, der auf die eigentliche Seite umgeleitet wird. Ich habe mich gefragt, ob wir den Link verwenden, um den Knoten zu finden, und der Tweet enthält mehr als ein public.org/n/__ (eins zum Verweisen auf Posts im öffentlichen Labor und ein anderes kann in jedem Knoteninhalt im Post des öffentlichen Labors selbst verwendet werden), dann darin Der Fallkommentar wird möglicherweise dem falschen Knoten hinzugefügt, da wir nicht wissen, zu welchem ​​​​Knoten wir diesen Kommentar hinzufügen sollten? Was denkst du?
screen shot 2018-07-17 at 3 40 13 am
screen shot 2018-07-17 at 3 40 23 am

@jywarren Also, auf welche Weise soll ich es implementieren? mit node_id oder andersherum. Ich schließe die Art und Weise der Implementierung ab.

Dies ist etwas komplexer, wenn das automatische Tweeten nicht stattfindet,
weil wir das Original nicht formatieren können. Ich kann es bei unseren Mitarbeitern ansprechen
Call oder Open Call heute (https://publiclab.org/opencall) und wir können es versuchen
finden Sie einen guten Weg nach vorne!

Am Montag, 16. Juli 2018 um 18:20 Uhr Naman Gupta [email protected]
schrieb:

Ich habe recherchiert und festgestellt, dass alle Links, die in Tweets eingehen, durchkommen
Twitter API ist ein Twitter-Link, der auf die eigentliche Seite umgeleitet wird. ich war
Ich frage mich, ob wir den Link verwenden, um den Knoten zu finden, und der Tweet enthält mehr als einen
public.org/n/__ (einer zum Verweisen auf Posts im öffentlichen Labor und andere möglicherweise
in einem der Knoteninhalte auf dem öffentlichen Laborpost selbst verwendet werden), dann in diesem Fall
Der Kommentar wird möglicherweise zum falschen Knoten hinzugefügt, da wir nicht wissen, was das ist
eigentlichen Knoten sollten wir diesen Kommentar hinzufügen? Was denkst du?
[Bild: Screenshot 2018-07-17 um 3 40 13 Uhr]
https://user-images.githubusercontent.com/20709985/42786554-59b06d14-8974-11e8-96bd-e2c804da47c9.png
[Bild: Screenshot 2018-07-17 um 3 40 23 Uhr]
https://user-images.githubusercontent.com/20709985/42786555-59f820f0-8974-11e8-9aa8-ef78abc46dfe.png


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/publiclab/plots2/issues/2671#issuecomment-405399249 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AABfJwu8hr_XV85dxj3NlaTRgsBCaZ8jks5uHRF3gaJpZM4TrSYe
.

Ich werde Twitter Gem verwenden, mit dem wir auch Auto-Tweets machen können – lassen Sie Sie einfach wissen, dass wir Auto-Tweets machen können, ohne einen Dienst zu verwenden. Ich werde nach dem Weg zur Formatierung suchen.

OK, also was wir denken ist:

  1. Beginnen Sie damit, nur Antworten von "erkannten" Twitter-Benutzern zu implementieren, indem Sie das OAuth-Anmeldesystem verwenden
  2. Versuchen Sie, Tweets zu finden, indem Sie publiclab.org/n/_____ isolieren
  3. könnten wir alle Kommentare in einer Liste nur Moderatoren anzeigen und ihnen erlauben, irgendwie "genehmigt" zu werden? Können Sie sich vorstellen, wie das funktionieren könnte?
  4. Wenn wir anfangen, alle getwitterten Antworten zuzulassen, überlegen wir uns, ob wir es "ausschalten" können, wenn wir anfangen, VIEL Spam zu erhalten, damit wir Dinge ausprobieren können.
  5. Gibt es Möglichkeiten, einen eingebetteten Tweet mit seinen Antworten anzuzeigen und dann, wenn es getwitterte Antworten gibt, den ursprünglichen Verfasser zu benachrichtigen, aber sie nicht wirklich hineinzukopieren?

Ich hatte gerade einen Anruf mit @SidarthBansal. Ich habe danach gefragt. Daher speichern wir derzeit kein Twitter-Handle, das zur Wiedererkennung der Benutzer erforderlich ist. Ich denke, wir sollten es irgendwo speichern, damit wir es erkennen können. @jywarren ?

@namangupta01 Sie können das Benutzer-Tag-Modell migrieren und ein Handler-Feld hinzufügen.
Wenn Sie weitere Hilfe benötigen, können Sie mich gerne kontaktieren.
Danke

https://github.com/publiclab/plots2/blob/master/doc/Omniauth.md
https://github.com/publiclab/plots2#ssl -in Entwicklung
publiclab/plots2#2893
diese werden dir bestimmt weiterhelfen

Danke Sidharth! :)

Am Do, 19. Juli 2018 um 21:55 Uhr Sidharth Bansal [email protected]
schrieb:

https://github.com/publiclab/plots2/blob/master/doc/Omniauth.md
https://github.com/publiclab/plots2#ssl -in Entwicklung
publiclab/plots2#2893 https://github.com/publiclab/plots2/issues/2893
diese werden dir bestimmt weiterhelfen


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/publiclab/plots2/issues/2671#issuecomment-406336137 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/ATwCYUJLLS9Lc722_YJWLBdLhWed_orrks5uILMDgaJpZM4TrSYe
.

Ich denke, dass request.env['omniauth.auth']["info"]["urls"]funktionieren wird.

WICHTIG: Alle Anbieter geben in ihrem Hash unterschiedliche Felder mit unterschiedlichen Namen an. Achten Sie also bitte darauf, alle anderen Anbieter-Info-URL-Felder als NULL auszufüllen, wenn sie nicht Twitter sind

Sehen Sie sich die hier angegebenen Hashes an und vergleichen Sie:

https://github.com/arunagw/omniauth-twitter
https://github.com/mkdynamic/omniauth-facebook
https://github.com/omniauth/omniauth-github
https://github.com/zquestz/omniauth-google-oauth2

Sehen Sie, dass es verschiedene Hashes gibt. Bitte nehmen Sie auch Bewertungen von mir in Ihre Prs. Ich helfe Ihnen gerne weiter.

Google_oauth2 hat auch den gleichen Namen --> info -->urls
Aber Facebook hat einen Handler in extra_info. Holen Sie sich also bitte [extra][raw_info][link] und speichern Sie es in user_tag als Handler.
Github --> Es steht nicht in der Dokumentation. Möglicherweise bietet es nicht. Suchen Sie, wenn github bereitstellt, und weisen Sie diesem Feld dann den Handler von github zu
Alle, die nicht in Handlern wie Github gesetzt werden können, können Sie als NULL setzen.

@jywarren soll ich für jeden Oauth eine separate Spalte erstellen?

Benutzer-Tag-Modell und Handler-Feld hinzufügen

Ich frage mich, ob wir einfach eine Reihe zusätzlicher benutzerdefinierter oa- Felder erstellen könnten
für diese Informationen in einem flachen Schlüssel:Wert -System, anstatt die zu migrieren
Datenbank... Sidharth, was denkst du?

Am Do, 19. Juli 2018 um 14:18 Uhr Naman Gupta [email protected]
schrieb:

@jywarren https://github.com/jywarren sollte ich eine separate Spalte für erstellen
jeder Eid?


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/publiclab/plots2/issues/2671#issuecomment-406368740 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AABfJ_XCeor_CeJB2aXO3eJHr0FJhX2rks5uIM1agaJpZM4TrSYe
.

Wir müssen user_tag nicht sehr komplizieren. Es sollte für die Neuankömmlinge leicht verständlich sein.
Wir müssen in Zukunft oft Felder hinzufügen. Betrachten Sie also die Situation, die wir gemäß diesem Ansatz gemacht haben, dann haben Anbieter einen Wert als uid:provider :handler. Github stellt keinen Handler bereit. Jetzt kommt die Situation, wir brauchen ein Bild, das auf der Profilseite angezeigt werden soll. Das wird also ein Problem schaffen. Also müssen wir die db migrieren. Meine Meinung ist also, die DB von jetzt an zu migrieren.

Wir müssen die Situation sehen, wo wir in Zukunft Posts in und aus fb oder twitter nach dem Einloggen implementieren müssen, dann werden wir auch andere Felder brauchen. Wir können den Wert nicht länger machen

Flaches System ist auch eine gute Option. Aber ich mache mir Sorgen um die bessere Lesbarkeit der user_tags für die Zukunft.

Lassen Sie uns das durchdenken – nach welcher Modifikation des user_tag-Modells suchen Sie genau? Könnten wir nur eine Textspalte hinzufügen und JSON darin speichern? Ich versuche, mir einen möglichst wartbaren und flexiblen Weg auszudenken, daher haben wir nicht viele sehr spezifische Funktionen im user_tag-Modell, die nicht für verschiedene Zwecke wiederverwendet werden können. Sinn ergeben?

Danke, alle!

@jywarren ja, ich habe deinen Punkt verstanden. Lassen Sie uns das val-Feld von user_tag anhängen.

Ich denke, die Verwendung eines längeren Textfelds könnte für viele Dinge nützlich sein
wenn Sie einfach eine Sammlung anderer Dinge zum Aufbewahren haben möchten
der key:value , wir könnten das tun ...

Am Do, 19. Juli 2018 um 18:00 Uhr Sidharth Bansal [email protected]
schrieb:

@jywarren https://github.com/jywarren Ja, ich habe deinen Punkt verstanden. Lasst uns
hängen Sie das Val-Feld des user_tag an.


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/publiclab/plots2/issues/2671#issuecomment-406427465 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AABfJ4Hlow0UZgw-e-I0WBp9Lpt0MiC0ks5uIQFKgaJpZM4TrSYe
.

@SidarthBansal Jedes Mal, wenn ich mich über Twitter auf lokal anmelde, wird es auf die Website des öffentlichen Labors weitergeleitet. Irgendeine Idee?

Ich denke, ich habe es verstanden, warum es auftritt

@SidarthBansal Ich erhalte diesen Fehler. Bitte helfen Sie:
screen shot 2018-07-21 at 12 28 05 am

screen shot 2018-07-21 at 12 30 17 am

Fügen Sie erweiterte Einstellungen hinzu, um https für unsichere Websites zuzulassen

127.0.0.1:3001 ist unsicher

Gelöst danke @SidarthBansal

@jywarren Ich habe heute gesucht, wie das flache System erreicht werden kann.
Die folgende Datei ist die Hauptdatei in meinem Soc-Projekt.
https://github.com/publiclab/plots2/blob/f2fe98da351a562152a85bd068acb1a9e6e7f7c0/app/models/user_tag.rb#L24 -L30
Wenn wir die Zeichenfolge anhängen, muss das gesamte Soc-Projekt an mehreren Positionen aktualisiert werden. Außerdem werden alle Tests fehlschlagen. Wir müssen alle Tests neu schreiben.
@ namangupta01 was schlagen Sie vor?
Wenn wir ein neues Feld in der Datenbank erstellen, kann das Soc-Projekt ohne Konflikte geändert werden. Alle Tests und der Code für Soc Project bleiben unverändert.

Ich denke, @jywarren sagte hier, dass wir ein neues Textfeld hinzufügen können, in dem wir das JSON-Objekt speichern können, das wir als Antwort erhalten.

Lassen Sie uns das durchdenken – nach welcher Modifikation des user_tag-Modells suchen Sie genau? Könnten > wir nur eine Textspalte hinzufügen und JSON darin speichern? Ich versuche, mir einen möglichst wartbaren und > > flexiblen Weg auszudenken, also haben wir nicht viele sehr spezifische Funktionen im user_tag-Modell, die es nicht geben wird
wiederverwendbar für verschiedene Zwecke. Sinn ergeben?

Habe ich recht @jywarren ?

Warten wir auf Jeffs Input.

Ja......

Meine andere Sorge ist, dass wir, wenn wir alle 5 Sekunden oder alle 10 Sekunden nach neuen Antworten auf Twitter abfragen, herausfinden werden, ob ein bestimmtes Handle in der Datenbank vorhanden ist oder nicht. Angenommen, wir haben in jeder Antwort einige Antworten erhalten, und dann müssen wir die Handles finden, für die wir das Textfeld analysieren, um das Handle zu extrahieren und zu prüfen, ob dieses Handle existiert oder nicht. Würde es die zeitliche Komplexität des Systems erhöhen? Weil wir für jede Handle-Überprüfung O(n) Arbeit machen? Und auch keine Indizierung würde in diesem Fall funktionieren, um die DB-Transaktion schneller zu machen.
Tut mir leid, @jywarren , das dauert einige Zeit, weil ich vor dem Öffnen des Pr vollständig über die Implementierung bestätigt werden möchte, da es ein komplexes System sein wird.

Hallo! Ja, ich habe gesagt, dass Sie viele Inhalte speichern möchten
weniger flach zusammen, könnten wir eine data -Textspalte in der erstellen
user_tag-Tabelle und speichern Sie JSON darin. Aber können Sie ein klares Beispiel dafür geben?
die Art der Daten, die Sie speichern möchten, damit wir wissen, ob es angemessen ist
wie man es speichert? Danke!

Für die Komplexität, da stimme ich zu, könnte dies zu einer erheblichen Belastung führen. Kanst du
Pseudocode für die Reihe von Abfragen schreiben und ich kann bei der Optimierung helfen? Ich bin
denken, wir könnten eine effizientere Abfrage erstellen, aber helfen Sie mir, das herauszufinden
gewünschten Schritte zuerst. Danke!

Am Freitag, 20. Juli 2018 um 16:00 Uhr Naman Gupta [email protected]
schrieb:

Meine andere Sorge ist, wann wir auf Twitter nach neuen Antworten abfragen werden
alle 5 Sekunden oder alle 10 Sekunden werden wir feststellen, ob etwas Besonderes ist
Handle existiert oder nicht in der Datenbank. Angenommen, wir bekommen in jeder Antwort welche
Antworten und dann müssen wir die Handles finden, die wir analysieren werden
das Textfeld zum Extrahieren des Handles und um zu prüfen, ob dieses Handle existiert
oder nicht. Würde es die zeitliche Komplexität des Systems erhöhen? Denn für
Bei jeder Griffüberprüfung werden wir O(n)-Arbeiten erledigen? Und auch keine Indizierung
würde in diesem Fall funktionieren, um die db-Transaktion zu beschleunigen.
Entschuldigung @jywarren https://github.com/jywarren , dies dauert einige Zeit
weil ich vorher über die umsetzung vollumfänglich bestätigt werden möchte
Öffnen des PR, da es ein komplexes System sein wird.


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/publiclab/plots2/issues/2671#issuecomment-406711222 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AABfJ7Z9x-9Cwedez8T-gsMnYR4VQ75zks5uIjbCgaJpZM4TrSYe
.

Pseudocode:

  1. Holen Sie sich die neuesten Antworten von Twitter:
  2. Für jede Antwort in Antworten:
    Überprüfen Sie mit publiclab.org/n/_____ , ob er zu einem Knoten oder Post gehört, und wenn dieser Knoten existiert, finden Sie mithilfe von Tweet Replier heraus, ob der Benutzer existiert. Wenn der Benutzer existiert, fügen Sie den Kommentar hinzu.
    tweets = client.search("to:publiclab", since_id: 23423423).collect do |tweet| node = Node.where(some_condition) #To find if node exists if node.any? node = node.first tweet_user = tweet.user UserTag.all.each do |user_tag| if(some_condtion_to_check if user handle exists) add_comment end end end end

Ab sofort muss ich nur den Twitter-Handle speichern, weiß aber nicht, welche Funktion
wollen wir in zukunft like profilbild und mehr?

Am Samstag, 21. Juli 2018 um 1:52 Uhr Jeffrey Warren [email protected]
schrieb:

Hallo! Ja, ich habe gesagt, dass Sie viele Inhalte speichern möchten
weniger flach zusammen, könnten wir eine data -Textspalte in der erstellen
user_tag-Tabelle und speichern Sie JSON darin. Aber können Sie ein klares Beispiel dafür geben?
die Art der Daten, die Sie speichern möchten, damit wir wissen, ob es angemessen ist
wie man es speichert? Danke!

Für die Komplexität, da stimme ich zu, könnte dies zu einer erheblichen Belastung führen. Kanst du
Pseudocode für die Reihe von Abfragen schreiben und ich kann bei der Optimierung helfen? Ich bin
denken, wir könnten eine effizientere Abfrage erstellen, aber helfen Sie mir, das herauszufinden
gewünschten Schritte zuerst. Danke!

Am Freitag, 20. Juli 2018 um 16:00 Uhr Naman Gupta [email protected]
schrieb:

Meine andere Sorge ist, wann wir neue Antworten auf Twitter abfragen werden
in
alle 5 Sekunden oder alle 10 Sekunden werden wir feststellen, ob etwas Besonderes ist
Handle existiert oder nicht in der Datenbank. Angenommen, wir bekommen in jeder Antwort welche
Antworten und dann müssen wir die Handles finden, die wir analysieren werden
das Textfeld zum Extrahieren des Handles und zum Überprüfen, ob dieses Handle vorhanden ist
existieren
oder nicht. Würde es die zeitliche Komplexität des Systems erhöhen? Denn für
Bei jeder Griffüberprüfung werden wir O(n)-Arbeiten erledigen? Und auch keine Indizierung
würde in diesem Fall funktionieren, um die db-Transaktion zu beschleunigen.
Entschuldigung @jywarren https://github.com/jywarren , dies dauert einige Zeit
weil ich vorher über die umsetzung vollumfänglich bestätigt werden möchte
Öffnen des PR, da es ein komplexes System sein wird.


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
< https://github.com/publiclab/plots2/issues/2671#issuecomment -406711222
,
oder den Thread stumm schalten
<
https://github.com/notifications/unsubscribe-auth/AABfJ7Z9x-9Cwedez8T-gsMnYR4VQ75zks5uIjbCgaJpZM4TrSYe

.


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/publiclab/plots2/issues/2671#issuecomment-406716657 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/ATwCYaP_Iy1H4Uxs83vmG95ucdrSLgxtks5uIjwCgaJpZM4TrSYe
.

HI @jywarren Ich habe eine Migration hinzugefügt, um JSON für die Omniauth-Antwort in #3117 zu speichern, nur um damit anzufangen ... lassen Sie es mich wissen, wenn Änderungen erforderlich sind?

@jywarren irgendwelche Rezensionen und Rückmeldungen zu pseudocode und Pr?

Ich hoffe, dies so schnell wie möglich abzuschließen.

Können Sie eine typische JSON-Ausgabe teilen, die in dieser neuen Spalte gespeichert würde, damit wir sie sehen können? Danke!

Könnten Sie für den Pseudocode so etwas tun:

since = comments.where(since_id not null).last # get most recent comment-from-tweet time
tweets = client.search("to:publiclab", since_id: 23423423).collect do |tweet|
 node = Node.where(some_condition) #To find if node exists
 if node.any?
   node = node.first
   tweet_user = tweet.user
   ruser = UserTag.find_by(twitter_id: tweet.user)
   add_comment(since_id: since, ruser) unless ruser.nil? 
end
end

Es könnte optimaler sein?

Hier ist das Beispiel-JSON:
````
{
"provider":"twitter",
"uid": "849503183529545728",
"die Info":{
"Spitzname": "itsmenamangupta",
"name": "Naman Gupta",
"email":" [email protected] ",
"Lage":"",
"image":" http://pbs.twimg.com/profile_images/950001110378401793/mBAtBXyI_normal.jpg ",
"description":"GSoC'18 @PublicLab",
"URLs":{
„Website“: „ https://t.co/fqLSxIlYFH “,
„Twitter“: „ https://twitter.com/itsmenamangupta
}
},
"Referenzen":{
"Token": "849503183529545728-fgqcxtgihvrrKd2icj67QpspT5bKntD",
"secret":"ZDTD5HsexliY2Tnrv6aSEVSqPVvbDLY2YDW9S5VeDmmyK"
},
"extra":{
"Zugangstoken":{
"Token": "849503183529545728-fgqcxtgihvrrKd2icj67QpspT5bKntD",
"secret":"ZDTD5HsexliY2Tnrv6aSEVSqPVvbDLY2YDW9S5VeDmmyK",
"Verbraucher":{
"key": "H59J9kJBVQvtZvWhr2SUAht4o",
"secret":"GEQOygPITjGj2Imzg5ALJeCqE0GdQU2GAmTYOS9kEPcLVlMxQu",
"Optionen":{
"signature_method":"HMAC-SHA1",
"request_token_path":"/oauth/request_token",
"autorisieren_pfad": "/oauth/authenticate",
"access_token_path":"/oauth/access_token",
"proxy": null,
"schema": "Kopfzeile",
"http_method": "posten",
"debug_output": null,
"oauth_version": "1.0",
"site":" https://api.twitter.com "
},
"debug_output": null,
"http":{
"Adresse": "api.twitter.com",
"Hafen":443,
"local_host": null,
"local_port": null,
"curr_http_version": "1.1",
"keep_alive_timeout":2,
"letzte_kommuniziert": null,
"close_on_empty_response":false,
"socket": null,
"begonnen": falsch,
"open_timeout": 30,
"read_timeout": 30,
"fortsetzen_timeout": null,
"debug_output": null,
"proxy_from_env": wahr,
"proxy_uri": null,
"proxy_address": null,
"proxy_port": null,
"proxy_user": null,
"proxy_pass": null,
"use_ssl": wahr,
"ssl_context":{
"verify_mode":0,
"verify_hostname": wahr
},
"ssl_session":{

           },
           "sspi_enabled":false,
           "ca_file":null,
           "ca_path":null,
           "cert":null,
           "cert_store":null,
           "ciphers":null,
           "key":null,
           "ssl_timeout":null,
           "ssl_version":null,
           "verify_callback":null,
           "verify_depth":null,
           "verify_mode":0
        },
        "http_method":"post",
        "uri":"https://api.twitter.com"
     },
     "params":{
        "oauth_token":"849503183529545728-fgqcxtgihvrrKd2icj67QpspT5bKntD",
        "oauth_token_secret":"ZDTD5HsexliY2Tnrv6aSEVSqPVvbDLY2YDW9S5VeDmmyK",
        "user_id":"849503183529545728",
        "screen_name":"itsmenamangupta"
     },
     "response":{
        "cache-control":[
           "no-cache, no-store, must-revalidate, pre-check=0, post-check=0"
        ],
        "connection":[
           "close"
        ],
        "content-disposition":[
           "attachment; filename=json.json"
        ],
        "content-length":[
           "664"
        ],
        "content-type":[
           "application/json;charset=utf-8"
        ],
        "date":[
           "Sat, 21 Jul 2018 10:51:03 GMT"
        ],
        "expires":[
           "Tue, 31 Mar 1981 05:00:00 GMT"
        ],
        "last-modified":[
           "Sat, 21 Jul 2018 10:51:03 GMT"
        ],
        "pragma":[
           "no-cache"
        ],
        "server":[
           "tsa_k"
        ],
        "set-cookie":[
           "personalization_id=\"v1_pEJH6fv6zGSET2PG1MYRCw==\"; Expires=Mon, 20 Jul 2020 10:51:03 GMT; Path=/; Domain=.twitter.com",
           "lang=en; Path=/",
           "guest_id=v1%3A153217026311648297; Expires=Mon, 20 Jul 2020 10:51:03 GMT; Path=/; Domain=.twitter.com"
        ],
        "status":[
           "200 OK"
        ],
        "strict-transport-security":[
           "max-age=631138519"
        ],
        "x-access-level":[
           "read-write-directmessages"
        ],
        "x-connection-hash":[
           "cf7caac1e8db2d46c6043fb2287ca32b"
        ],
        "x-content-type-options":[
           "nosniff"
        ],
        "x-frame-options":[
           "SAMEORIGIN"
        ],
        "x-rate-limit-limit":[
           "75"
        ],
        "x-rate-limit-remaining":[
           "71"
        ],
        "x-rate-limit-reset":[
           "1532170356"
        ],
        "x-response-time":[
           "238"
        ],
        "x-transaction":[
           "0085940a005f5411"
        ],
        "x-twitter-response-tags":[
           "BouncerExempt",
           "BouncerCompliant"
        ],
        "x-xss-protection":[
           "1; mode=block; report=https://twitter.com/i/xss_report"
        ]
     }
  },
  "raw_info":{
     "id":849503183529545728,
     "id_str":"849503183529545728",
     "name":"Naman Gupta",
     "screen_name":"itsmenamangupta",
     "location":"",
     "description":"GSoC'18 @PublicLab",
     "url":"https://t.co/fqLSxIlYFH",
     "entities":{
        "url":{
           "urls":[
              {
                 "url":"https://t.co/fqLSxIlYFH",
                 "expanded_url":"http://www.namangupta.me",
                 "display_url":"namangupta.me",
                 "indices":[
                    0,
                    23
                 ]
              }
           ]
        },
        "description":{
           "urls":[

           ]
        }
     },
     "protected":false,
     "followers_count":16,
     "friends_count":32,
     "listed_count":0,
     "created_at":"Wed Apr 05 06:05:16 +0000 2017",
     "favourites_count":86,
     "utc_offset":null,
     "time_zone":null,
     "geo_enabled":false,
     "verified":false,
     "statuses_count":42,
     "lang":"en",
     "contributors_enabled":false,
     "is_translator":false,
     "is_translation_enabled":false,
     "profile_background_color":"000000",
     "profile_background_image_url":"http://abs.twimg.com/images/themes/theme1/bg.png",
     "profile_background_image_url_https":"https://abs.twimg.com/images/themes/theme1/bg.png",
     "profile_background_tile":false,
     "profile_image_url":"http://pbs.twimg.com/profile_images/950001110378401793/mBAtBXyI_normal.jpg",
     "profile_image_url_https":"https://pbs.twimg.com/profile_images/950001110378401793/mBAtBXyI_normal.jpg",
     "profile_link_color":"FFFFFF",
     "profile_sidebar_border_color":"000000",
     "profile_sidebar_fill_color":"000000",
     "profile_text_color":"000000",
     "profile_use_background_image":false,
     "has_extended_profile":true,
     "default_profile":false,
     "default_profile_image":false,
     "following":false,
     "follow_request_sent":false,
     "notifications":false,
     "translator_type":"none",
     "suspended":false,
     "needs_phone_verification":false,
     "email":"[email protected]"
  }

}
}
````

Ja, wir können den von Ihnen angegebenen Code verwenden, wir brauchen die Spalte $#$ twitter_id user_tag ?

Ja, das Problem ist, dass Sie nicht nach dem Json suchen können, wahrscheinlich ... Sie könnten
Volltextsuche ist aber etwas teuer, oder? @sidharthBansal - was tun
Sie denken, ist ein guter Ansatz hier?

Am Montag, 23. Juli 2018 um 15:49 Uhr Naman Gupta [email protected]
schrieb:

Ja, wir können den von Ihnen angegebenen Code verwenden, wir benötigen die Spalte twitter_id
in der user_tag-Tabelle?


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/publiclab/plots2/issues/2671#issuecomment-407178930 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AABfJxV7kQpSKvSyCCpDQlFN6fWT_-yqks5uJiibgaJpZM4TrSYe
.

Ja, das würde teuer werden.
Das direkte Hinzufügen username zur Spalte für alle Oauth-Dienste würde helfen?

Hallo Leute, ich möchte nur daran erinnern, dass wir Benutzernamen für verschiedene soziale Konten auch in Benutzertags speichern. Wenn Sie sich also entscheiden, zu Tabellen zum Speichern von Benutzernamen zu wechseln, öffnen Sie bitte ein Folgeproblem, um dieses System zusammenzuführen. Danke!

Würde es sich lohnen, das Stil-Tag [twitter:jywarren] automatisch aus der zu generieren
OA-System? Wir müssen aufpassen, dass niemand sie fälschlicherweise zuordnet
Konto mit den Stil-Tags [twitter:jywarren], also müssen wir das vielleicht tun
kombinieren Sie diese; Gaurav, könnten Sie ein wenig erklären, wie dieses System funktioniert?
funktioniert?

Am Mo, 23. Juli 2018 um 16:39 Uhr Gaurav Sachdeva [email protected]
schrieb:

Hallo Leute, ich möchte nur daran erinnern, dass wir Benutzernamen für verschiedene soziale Netzwerke speichern
Konten auch in Benutzertags, also wenn ihr euch entscheidet, zu Tischen für zu wechseln
Wenn Sie den Benutzernamen speichern, öffnen Sie bitte ein Folgeproblem, um dieses System zusammenzuführen.
Danke!


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/publiclab/plots2/issues/2671#issuecomment-407193340 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AABfJ79eJpa40xw7imZ_m2K8A2B3F4v0ks5uJjRdgaJpZM4TrSYe
.

Hallo Leute, ich möchte nur daran erinnern, dass wir Benutzernamen für verschiedene soziale Konten auch in Benutzertags speichern. Wenn Sie sich also entscheiden, zu Tabellen zum Speichern von Benutzernamen zu wechseln, öffnen Sie bitte ein Folgeproblem, um dieses System zusammenzuführen. Danke!

Hallo @Gauravano , wir speichern die Benutzernamen der Social-Media-Benutzer bis jetzt nirgendwo. Derzeit werden nur die Benutzer-ID und der Anbietername gespeichert.
@Gauravano kannst du bitte erläutern, auf welches Problem du zeigst? Wir erstellen keine neuen Tische. Wir migrieren den Usertag.

Ja, wir können den von Ihnen angegebenen Code verwenden, wir brauchen die twitter_id-Spalte in der user_tag-Tabelle?

Ja, das Problem ist, dass Sie wahrscheinlich nicht nach Json suchen können ... Sie könnten eine Volltextsuche durchführen, aber es ist ein bisschen teuer, oder? @SidarthBansal - was denkst du ist hier ein guter Ansatz?

@jywarren , @namangupta01 wir können den Benutzernamen speichern.

Wir müssen aufpassen, dass niemand sein Konto fälschlicherweise mit den Stil-Tags [twitter:jywarren] verknüpft, also müssen wir diese vielleicht kombinieren?

Ich habe im April eine PR für diesen Fall geschickt. Niemand kann Tags mit dem Namen oauth:________ erstellen
Sie müssen sich also keine Sorgen um dieses Problem machen. Sie können dies überprüfen, indem Sie zur Profilseite gehen.
Screenshot zum besseren Verständnis.
image

Würde es sich lohnen, das Stil-Tag [twitter:jywarren] automatisch aus dem OA-System zu generieren?

@jywarren Wir generieren derzeit die OAuth-Benutzertags NUR aus OAuth. Es gibt keine andere Möglichkeit, sie zu generieren.

Das Hinzufügen eines direkten Benutzernamens zur Spalte für alle OAuth-Dienste würde helfen?

Immer wieder mehrere Spalten hinzuzufügen würde nicht helfen. Ich werde dringend empfehlen, den gesamten Hash zu speichern und das zu verwenden, was wir brauchen, wann immer es nötig ist. Beispielsweise verwendet after naman den Handler aus dem Auth-Hash. Wir können das Bild aus der Bild-URL verwenden, um es auf der Profilseite des öffentlichen Labors anzuzeigen. Wir verwenden derzeit Gravatar.

Verwandte Ausgabe Nr. 3125
Wir speichern den Handler. Einige Anbieter erlauben dem Benutzer, ihren Handler zu ändern. Wir brauchen also eine Methode, um den Authentifizierungs-Hash entweder jedes Mal zu ändern, wenn sich der Benutzer anmeldet ODER wenn die Authentifizierung abläuft. Die Authentifizierung gibt das Ablaufdatum und die Uhrzeit an. Wir können das also verwenden und den Auth-Hash entsprechend aktualisieren. Bitte besprechen Sie diese Unterausgabe in #3125, damit wir in dieser Ausgabe bei der Migration von user_tag bleiben können.

Danke

Hallo @jywarren @SidarthBansal @namangupta01 , ich bezog mich auf dieses System -

Wir bieten PL-Benutzern die Möglichkeit, ihre verschiedenen Social-Media-Benutzernamen wie folgt einzugeben:
this_one

Der Benutzer fügt die soziale Plattform als Schlüssel und seinen Benutzernamen als Wert hinzu.
user_2

Nachdem dieser Usertag zu seinem Profil hinzugefügt wurde-
profile_tags

Danke!

@Gauravano Ich denke, dies zu verwenden, wird nicht gut sein, weil ich in der Lage sein kann, jeden beliebigen Benutzernamen hinzuzufügen, den ich möchte?

Als @jywarren sollten wir das OA-System damit zusammenführen?

OK, das Speichern des Hashes macht Sinn - warum die zusätzliche Konvertierung, oder? Cool.

Und +1 diese Systeme zusammenführen. Das frühere System ist großartig, würde aber aus den oben genannten Gründen von einer Integration hier profitieren! Danke, alle!

Ja, das Speichern von Hash scheint eine gute Option zu sein👍

Am Di, 24. Juli 2018 um 22:45 Uhr Jeffrey Warren [email protected]
schrieb:

OK, das Speichern des Hashes macht Sinn - warum die zusätzliche Konvertierung, oder?
Cool.

Und +1 diese Systeme zusammenführen. Das frühere System ist großartig, würde es aber
Profitieren Sie hier aus den oben genannten Gründen von der Integration! Danke, alle!


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/publiclab/plots2/issues/2671#issuecomment-407482926 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/ATwCYU7kYuvbVUbybfTrYum5r2lVLYevks5uJ1Y-gaJpZM4TrSYe
.

@jywarren @Gauravano @SidarthBansal könnt ihr mir bitte sagen, wie ich Hash aus der in db gespeicherten Zeichenfolge bekomme, weil ich keinen Weg finden kann? Danke

Hallo @Gauravano , ich empfehle Ihnen dringend, ein weiteres Thema zum Zusammenführen von Social-Media-Symbolen mit OA zu eröffnen und es hier zu verlinken, damit die Diskussion nicht auseinandergeht.
Danke für den netten Vorschlag.

Hallo @SidarthBansa , ich habe die obigen Links bereits ausprobiert, aber sie haben nicht funktioniert

Ich habe das Problem.. wir müssen die Variable auth explizit in Hash umwandeln, um es zu lösen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen