Plots2: PROBLÈME DE PLANIFICATION : Répondre via Twitter .

Créé le 28 avr. 2018  ·  72Commentaires  ·  Source: publiclab/plots2

Veuillez décrire le problème (ou l'idée)

Il s'agit d'un problème de planification pour réponse par twitter : fonctionnalité .

Discutons d'abord de la meilleure approche, puis nous diviserons cela en problèmes indépendants plus petits.

Plus de détails 🔜 !

=> Intégration des e-mails #2672 ( @namangupta01 )

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

Commentaire le plus utile

En tant que @jywarren , devrions-nous fusionner le système OA avec lui ?

Tous les 72 commentaires

Cool! Lien vers le nouveau numéro de Naman aussi !

Le sam. 28 avril 2018, 03h25 Sagarpreet Chadha [email protected]
a écrit:

Veuillez décrire le problème (ou l'idée)

Il s'agit d'un problème de planification pour réponse par twitter : fonctionnalité .

Discutons d'abord de la meilleure approche, puis nous diviserons cela en
petites émissions indépendantes.

Plus de détails 🔜 !


Vous recevez ceci parce que vous êtes abonné à ce fil.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/publiclab/plots2/issues/2671 , ou coupez le fil
https://github.com/notifications/unsubscribe-auth/AABfJ6EpFnMq_H5zR8vLtf7kXWZJbELxks5ttBlcgaJpZM4TrSYe
.

@namangupta01 , @jywarren ...commençons la discussion à ce sujet ? Quand êtes-vous tous les deux libres ?

Ouais!
Le 14 juin 2018 à 12h55, "Sagarpreet Chadha" [email protected] a écrit :

@namangupta01 https://github.com/namangupta01 , @jywarren
https://github.com/jywarren ...commençons la discussion à ce sujet ? Lorsque
êtes-vous libres tous les deux ?


Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-397198245 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/ATwCYebYN7qM2c0Emtdw2jhwYIILp5r1ks5t8g_fgaJpZM4TrSYe
.

J'ai une mise en œuvre dans mon esprit... publiera dans un moment.

Joe (qui vient de commencer à travailler avec l'équipe du Public Lab) a eu une très bonne
question - serait-ce un canal pour la publication de spam ? Doit-on s'inquiéter
sur le spam des bots Twitter, ou peut-être pensez-vous à une stratégie de modération ?

De quelles manières pouvons-nous surveiller cela ? Remue-méninges ouvert !

Comme, peut-être que les tweets de réponse doivent être "aimés" par... quelqu'un ?

Le jeu. 14 juin 2018 à 04h47 Naman Gupta [email protected]
a écrit:

J'ai une mise en œuvre dans mon esprit... publiera dans un moment.


Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-397237305 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AABfJ_g3eeUD8-7bvLjXmQLYIz0LYM1qks5t8jEFgaJpZM4TrSYe
.

Le spam est le problème majeur. Je lisais la documentation des derniers jours. Je me demandais également si nous mettions en œuvre comme vous l'avez dit "les tweets de réponse doivent être aimés". J'ai trouvé un problème majeur.
Le problème est que chaque fois qu'un utilisateur retweet sur un tweet (qui est un nœud), nous pouvons connaître le retweet via apis, mais lorsque le retweet est aimé, nous ne pouvons pas le savoir. La seule façon de le savoir est de rechercher chaque statut de retweet après un certain intervalle de temps, ce qui est très mauvais car supposons que nous ayons 10k retweets, nous devons rechercher le statut de 10k retweets pour être aimé dans un certain intervalle de temps. Et aussi ce chiffre de 10k continuera d'augmenter avec le temps.

Et aussi un point principal qui pourrait conduire à l'absence de spam est que nous ne pouvons ajouter que les tweets des utilisateurs dont le pseudo Twitter est associé à n'importe quel compte publiclab, comme nous le faisions dans reply-by-email où l'e-mail de l'expéditeur de l'e-mail est le premier vérifié l'associativité avec le compte publiclab.
Cela pourrait conduire à aucun spam.

@namangupta01 ...bons points !

  • Le spam est le problème ici, je suppose que la seule technique de modération à laquelle je peux aussi penser est qu'un modérateur doit approuver le commentaire sur un tweet en l'aimant (similaire à la façon dont les choses fonctionnent dans publiclab.org).
    => le modérateur peut être des personnes ayant le compte twitter de PublicLab OU une personne de la communauté PL qui a aimé depuis son propre compte .

  • Je suppose que le but est d'amener un membre qui est nouveau dans la communauté, donc apporter les commentaires des seules personnes existantes résoudra la moitié du problème.

Qu'en penses-tu ?

Grande pensée! Mais le seul point qui me préoccupe est que nous devons vérifier explicitement si le tweet est aimé dans chaque demande pour tous les tweets sur les tweets du publiclab, ce qui peut devenir une demande très importante à mesure que les tweets augmentent.

Et la plupart du temps, nous demanderons les tweets pour rien... c'était ma préoccupation. Qu'en penses-tu?

Cependant, la technique de modération sur l'interface du site Web de publiclab fonctionnerait très bien.
Vous aimez approuver les commentaires ?

@jywarren Comme la fonction e-mail est presque terminée, nous pourrions en discuter ?

Je vais chercher à bloquer un peu de temps là-dessus dans un jour ou deux... merci !
Essayer d'obtenir toutes les grandes fonctionnalités pleinement opérationnelles avant de passer à autre chose.
Merci!

Le lundi 25 juin 2018 à 19h18 Naman Gupta [email protected]
a écrit:

@jywarren https://github.com/jywarren Comme la fonction de messagerie est presque
complet, nous pourrions en discuter?


Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-400125415 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AABfJ-UOBtZ0G4haKmQRlSr0WJJ3Q30pks5uAW-ugaJpZM4TrSYe
.

@jywarren Pouvons-nous mettre node_id dans les tweets ? Pour qu'il puisse être facilement identifié ?

@jywarren Est-il possible de mettre node_id dans les tweets ?

Je pense que oui ! Mais nous avons un peu désactivé le tweet automatique. Pourrions-nous
reconnaître des liens comme publiclab.org/n/____ via l'API Twitter ?

Le dimanche 15 juillet 2018 à 9 h 26, Naman Gupta [email protected] a écrit :

@jywarren https://github.com/jywarren Est-il possible que de mettre
node_id dans les tweets ?


Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-405091999 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AABfJ575zPOLYU6bpFdMMkZA0vl-Xg_Yks5uG0LpgaJpZM4TrSYe
.

@jywarren Donc publiclab.org/n/____ sera présenté directement dans le tweet ou il y a d'autres liens qui redirigent vers ce lien comme avant ?
ex:
screen shot 2018-07-17 at 2 07 32 am

Je faisais des recherches et j'ai découvert que tous les liens qui entrent dans tweet via twitter api sont un lien twitter qui est redirigé vers la page réelle. Je me demandais si nous utilisions le lien pour trouver le nœud et le tweet contient plus d'un public.org/n/__ (un pour référencer la publication sur le laboratoire public et l'autre peut être utilisé dans n'importe quel contenu de nœud sur la publication du laboratoire public lui-même) alors dans ce le commentaire de cas peut être ajouté au mauvais nœud parce que nous ne savons pas quel nœud réel nous devrions ajouter ce commentaire ? Qu'en penses-tu?
screen shot 2018-07-17 at 3 40 13 am
screen shot 2018-07-17 at 3 40 23 am

@jywarren Alors, de quelle manière dois-je l'implémenter? en utilisant node_id ou dans l'autre sens. Je finalise le mode de mise en œuvre.

C'est un peu plus complexe lorsqu'il n'y a pas de tweet automatique,
parce que nous ne pouvons pas formater l'original. Je peux en parler à notre personnel
appelez ou appelez aujourd'hui (https://publiclab.org/opencall) et nous pouvons essayer de
trouver une bonne voie à suivre !

Le lundi 16 juillet 2018 à 18h20 Naman Gupta [email protected]
a écrit:

Je faisais des recherches et j'ai découvert que tous les liens qui entrent dans tweet via
twitter api est un lien twitter qui est redirigé vers la page réelle. j'étais
je me demande si nous utilisons le lien pour trouver le nœud et le tweet contient plus d'un
public.org/n/__ (un pour référencer un article sur un laboratoire public et un autre peut être
utilisé dans n'importe quel contenu de nœud sur le poste de laboratoire public lui-même) alors dans ce cas
le commentaire peut être ajouté au mauvais nœud parce que nous ne savons pas ce que le
nœud réel, nous devrions ajouter ce commentaire ? Qu'en penses-tu?
[image : capture d'écran 2018-07-17 à 3 h 40 13 h]
https://user-images.githubusercontent.com/20709985/42786554-59b06d14-8974-11e8-96bd-e2c804da47c9.png
[image : capture d'écran 2018-07-17 à 3 h 40 23 h]
https://user-images.githubusercontent.com/20709985/42786555-59f820f0-8974-11e8-9aa8-ef78abc46dfe.png


Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-405399249 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AABfJwu8hr_XV85dxj3NlaTRgsBCaZ8jks5uHRF3gaJpZM4TrSYe
.

Je vais utiliser la gemme Twitter à l'aide de laquelle nous pouvons également faire des tweets automatiques - faites-vous simplement savoir que nous pouvons faire des tweets automatiques sans utiliser aucun service. Je vais chercher le moyen de formater.

OK, donc ce à quoi nous pensons c'est :

  1. commencez par implémenter uniquement les réponses des utilisateurs Twitter "reconnus", en utilisant le système de connexion OAuth
  2. essayer de trouver des tweets en isolant publiclab.org/n/_____
  3. pourrions-nous afficher tous les commentaires dans une liste uniquement pour les modérateurs et leur permettre d'être "approuvés" d'une manière ou d'une autre ? Pouvez-vous réfléchir à la manière dont cela pourrait fonctionner ?
  4. si nous commençons à autoriser toutes les réponses tweetées, envisageons d'avoir un moyen de "l'éteindre" si nous commençons à recevoir BEAUCOUP de spam, de cette façon nous pourrons essayer des choses.
  5. existe-t-il des moyens d'afficher un tweet intégré avec ses réponses, puis, s'il y a des réponses tweetées, d'en informer l'auteur original, mais de ne pas les copier ?

Je viens d'avoir un appel avec @SidharthBansal. J'ai demandé à ce sujet. Nous ne sauvegardons donc pas le pseudo Twitter pour le moment, ce qui est nécessaire pour reconnaître les utilisateurs. Je pense que nous devrions le sauvegarder quelque part afin que nous puissions le reconnaître. @jywarren ?

@namangupta01 , vous pouvez migrer le modèle de balise utilisateur et ajouter un champ de gestionnaire.
Si vous avez besoin d'aide supplémentaire, n'hésitez pas à me contacter.
Merci

Merci Sidharth ! :)

Le jeu. 19 juillet 2018 à 21 h 55 Sidharth Bansal [email protected]
a écrit:

https://github.com/publiclab/plots2/blob/master/doc/Omniauth.md
https://github.com/publiclab/plots2#ssl-in-development
publiclab/plots2#2893 https://github.com/publiclab/plots2/issues/2893
ceux-ci vous aideront sûrement


Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-406336137 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/ATwCYUJLLS9Lc722_YJWLBdLhWed_orrks5uILMDgaJpZM4TrSYe
.

Je pense que request.env['omniauth.auth']["info"]["urls"]fonctionnera.

IMPORTANT : Tous les fournisseurs donnent différents champs dans leur hachage avec des noms différents. Alors, veuillez prendre soin de remplir toutes les informations des autres fournisseurs - le champ URL comme NULL s'ils ne sont pas Twitter

Voir les hachages donnés ici et comparer:

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

Voir qu'il ya des hachages sont différents. Aussi, s'il vous plaît prendre des commentaires de moi dans votre prs. Je serai heureux de vous aider.

Google_oauth2 a également le même nom --> info --> URL
Mais facebook a un gestionnaire dans extra_info. Alors, veuillez récupérer [extra][raw_info][link] et stocker dans user_tag en tant que gestionnaire.
Github --> Ce n'est pas écrit dans la documentation. Peut-être qu'il ne fournit pas. Rechercher si github fournit que d'attribuer le gestionnaire de github à ce champ
Tous ceux qui ne peuvent pas être définis dans un gestionnaire comme Github, vous pouvez les mettre comme NULL.

@jywarren dois-je créer une colonne séparée pour chaque oauth ?

modèle de balise utilisateur et champ de gestionnaire d'ajout

Je me demande si nous pourrions simplement créer un ensemble de champs personnalisés supplémentaires oa-
pour cette information dans un système clé:valeur plat, plutôt que de migrer le
base de données... Sidharth, qu'en penses-tu ?

Le jeu. 19 juillet 2018 à 14 h 18 Naman Gupta [email protected]
a écrit:

@jywarren https://github.com/jywarren devrais-je créer une colonne séparée pour
chaque serment?


Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-406368740 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AABfJ_XCeor_CeJB2aXO3eJHr0FJhX2rks5uIM1agaJpZM4TrSYe
.

Nous n'avons pas besoin de trop compliquer user_tag. Il doit être facilement compréhensible par les nouveaux arrivants.
Nous devrons ajouter des champs de nombreuses fois à l'avenir. Donc, considérons la situation que nous avons faite selon cette approche, alors les fournisseurs auront une valeur en tant que uid:provider :handler. Github ne fournit aucun gestionnaire. Maintenant, la situation arrive, nous avons besoin que l'image soit affichée sur la page de profil. Cela créera donc un problème. Nous devons donc migrer la base de données. Donc, mon avis est de migrer la base de données à partir de maintenant.

Nous devons voir la situation où, à l'avenir, nous devrons implémenter des publications dans et hors de fb ou twitter après la connexion, nous aurons également besoin d'autres champs. Nous ne pouvons pas rendre la valeur plus longue

Le système plat est également une bonne option. Mais je suis préoccupé par la meilleure lisibilité des user_tags pour l'avenir.

Réfléchissons-y - quelle modification recherchez-vous exactement pour le modèle user_tag ? Pourrions-nous ajouter une seule colonne de texte et y stocker du JSON ? J'essaie de penser à la manière la plus maintenable et flexible, donc nous n'avons pas beaucoup de fonctionnalités très spécifiques sur le modèle user_tag qui ne seront pas réutilisables à des fins différentes. Avoir du sens ?

Merci a tous!

@jywarren ouais j'ai compris ton point. Ajoutons le champ val du user_tag.

Je pense que l'utilisation d'un champ de texte plus long pourrait être utile pour beaucoup de choses, donc
si vous voulez simplement avoir une collection d'autres choses à stocker avec
la key:value , on pourrait faire ça...

Le jeu. 19 juillet 2018 à 18 h 00 Sidharth Bansal [email protected]
a écrit:

@jywarren https://github.com/jywarren ouais j'ai compris ton point. Allons
ajouter le champ val de l'user_tag.


Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-406427465 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AABfJ4Hlow0UZgw-e-I0WBp9Lpt0MiC0ks5uIQFKgaJpZM4TrSYe
.

@SidharthBansal Chaque fois que je me connecte via Twitter en local, il redirige vers le site Web du laboratoire public. Une idée?

Je suppose que je comprends pourquoi cela se produit

@SidharthBansal , je reçois cette erreur, veuillez m'aider :
screen shot 2018-07-21 at 12 28 05 am

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

Ajouter des paramètres avancés pour autoriser https pour les sites Web non sécurisés

127.0.0.1:3001 n'est pas sécurisé

Résolu merci @SidharthBansal 👍

@jywarren Je cherchais aujourd'hui comment le système plat peut être réalisé.
Le fichier suivant est le fichier principal de mon projet Soc.
https://github.com/publiclab/plots2/blob/f2fe98da351a562152a85bd068acb1a9e6e7f7c0/app/models/user_tag.rb#L24 -L30
Si nous ajoutons la chaîne, l'ensemble du projet Soc devra être mis à jour à plusieurs positions. De plus, tous les tests échoueront. Nous devons réécrire tous les tests.
@namangupta01 que proposez-vous ?
Si nous créons un nouveau champ dans la base de données, le projet Soc peut être modifié sans aucun conflit. Tous les tests et le code de Soc Project resteront tels quels.

Je pense que @jywarren a dit ici que nous pouvons ajouter un nouveau champ de texte où nous pouvons stocker l'objet JSON que nous obtenons en réponse.

Réfléchissons-y - quelle modification recherchez-vous exactement pour le modèle user_tag ? > Pourrions-nous ajouter une seule colonne de texte et y stocker JSON ? J'essaie de penser à la manière la plus maintenable et > > flexible, donc nous n'avons pas beaucoup de fonctionnalités très spécifiques sur le modèle user_tag qui ne seront pas
réutilisable à des fins différentes. Avoir du sens ?

Ai-je raison @jywarren ?

Attendons l'entrée de Jeffs.

Oui......

Mon autre souci est que lorsque nous interrogerons pour de nouvelles réponses sur Twitter toutes les 5 secondes ou toutes les 10 secondes, nous allons trouver si un identifiant particulier existe ou non dans la base de données. Supposons que dans chaque réponse, nous ayons reçu des réponses, puis nous devons trouver les poignées pour lesquelles nous analyserons le champ de texte pour extraire la poignée et vérifier si cette poignée existe ou non. Cela augmenterait-il la complexité temporelle du système ? Parce que pour chaque vérification de poignée, nous ferons O(n) travail ? De plus, aucune indexation ne fonctionnerait dans ce cas pour accélérer la transaction db.
Désolé @jywarren, cela prend du temps car je veux être pleinement confirmé sur la mise en œuvre avant d'ouvrir le pr car ce sera un système complexe.

Salut! Oui, je disais que s'il y a beaucoup de contenu que vous souhaitez stocker
ensemble d'une manière moins plate, nous pourrions créer une colonne de texte data dans le
table user_tag et y stocker JSON. Mais pouvez-vous donner un exemple clair de
le type de données que vous souhaitez stocker afin que nous sachions si c'est le bon
comment le stocker ? Merci!

Pour la complexité, je suis d'accord, cela pourrait créer une charge importante. Peut tu
écrire un pseudocode pour la série de requêtes et je peux aider à optimiser ? je suis
penser, nous pourrions élaborer une requête plus efficace, mais aidez-moi à comprendre le
les étapes souhaitées en premier. Merci!

Le ven. 20 juillet 2018 à 16h00 Naman Gupta [email protected]
a écrit:

Mon autre souci est que lorsque nous interrogerons pour de nouvelles réponses sur Twitter dans
toutes les 5 secondes ou toutes les 10 secondes, nous allons trouver si particulier
le handle existe ou non dans la base de données. Supposons que dans chaque réponse, nous obtenions des
réponses, puis nous devons trouver les poignées pour lesquelles nous allons analyser
le champ de texte pour extraire le handle et vérifier si ce handle existe
ou non. Cela augmenterait-il la complexité temporelle du système ? Parce que pour
chaque poignée vérifiant que nous ferons un travail O (n) ? Et aussi pas d'indexation
fonctionnerait dans ce cas pour rendre la transaction db plus rapide.
Désolé @jywarren https://github.com/jywarren cela prend du temps
parce que je veux être pleinement confirmé sur la mise en œuvre avant
ouvrir le pr car il va être un système complexe.


Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-406711222 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AABfJ7Z9x-9Cwedez8T-gsMnYR4VQ75zks5uIjbCgaJpZM4TrSYe
.

Pseudocode:

  1. Récupérer les dernières réponses de Twitter :
  2. Pour chaque réponse dans les réponses :
    vérifiez s'il appartient à un nœud ou à un message en utilisant publiclab.org/n/_____ et si ce nœud existe, recherchez si l'utilisateur existe en utilisant le répondeur de tweet. Si l'utilisateur existe, ajoutez le commentaire.
    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

À partir de maintenant, je n'ai besoin que de stocker le pseudo Twitter mais je ne sais pas quelle fonctionnalité
nous voulons à l'avenir comme photo de profil et plus?

Le sam. 21 juillet 2018 à 1 h 52 Jeffrey Warren [email protected]
a écrit:

Salut! Oui, je disais que s'il y a beaucoup de contenu que vous souhaitez stocker
ensemble d'une manière moins plate, nous pourrions créer une colonne de texte data dans le
table user_tag et y stocker JSON. Mais pouvez-vous donner un exemple clair de
le type de données que vous souhaitez stocker afin que nous sachions si c'est le bon
comment le stocker ? Merci!

Pour la complexité, je suis d'accord, cela pourrait créer une charge importante. Peut tu
écrire un pseudocode pour la série de requêtes et je peux aider à optimiser ? je suis
penser, nous pourrions élaborer une requête plus efficace, mais aidez-moi à comprendre le
les étapes souhaitées en premier. Merci!

Le ven. 20 juillet 2018 à 16h00 Naman Gupta [email protected]
a écrit:

Mon autre préoccupation est que lorsque nous interrogerons pour de nouvelles réponses sur Twitter
dans
toutes les 5 secondes ou toutes les 10 secondes, nous allons trouver si particulier
le handle existe ou non dans la base de données. Supposons que dans chaque réponse, nous obtenions des
réponses, puis nous devons trouver les poignées pour lesquelles nous allons analyser
le champ de texte pour extraire le handle et pour vérifier si ce handle
exister
ou non. Cela augmenterait-il la complexité temporelle du système ? Parce que pour
chaque poignée vérifiant que nous ferons un travail O (n) ? Et aussi pas d'indexation
fonctionnerait dans ce cas pour rendre la transaction db plus rapide.
Désolé @jywarren https://github.com/jywarren cela prend du temps
parce que je veux être pleinement confirmé sur la mise en œuvre avant
ouvrir le pr car il va être un système complexe.


Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
< https://github.com/publiclab/plots2/issues/2671#issuecomment -406711222
,
ou couper le fil
<
https://github.com/notifications/unsubscribe-auth/AABfJ7Z9x-9Cwedez8T-gsMnYR4VQ75zks5uIjbCgaJpZM4TrSYe

.


Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-406716657 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/ATwCYaP_Iy1H4Uxs83vmG95ucdrSLgxtks5uIjwCgaJpZM4TrSYe
.

HI @jywarren J'ai ajouté la migration pour enregistrer JSON pour la réponse omniauth dans # 3117 juste pour commencer ... faites-moi savoir si besoin de changement?

@jywarren des critiques et des commentaires concernant pseudocode et pr ?

J'espère terminer cela dès que possible.

Pouvez-vous partager une sortie JSON typique qui serait stockée dans cette nouvelle colonne, afin que nous puissions voir ? Merci!

Pour le pseudocode, pourriez-vous faire quelque chose comme :

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

C'est peut-être plus optimal ?

Voici l'exemple de JSON :
````
{
"fournisseur":"twitter",
"uid":"849503183529545728",
"Info":{
"surnom":"itsmenamangupta",
"name":"Naman Gupta",
"email":" [email protected] ",
"emplacement":"",
"image":" http://pbs.twimg.com/profile_images/950001110378401793/mBAtBXyI_normal.jpg ",
"description":"GSoC'18 @PublicLab",
"URL":{
"Site Web":" https://t.co/fqLSxIlYFH ",
"Twitter":" https://twitter.com/itsmenamangupta "
}
},
"crédits":{
"jeton":"849503183529545728-fgqcxtgihvrrKd2icj67QpspT5bKntD",
"secret":"ZDTD5HsexliY2Tnrv6aSEVSqPVvbDLY2YDW9S5VeDmmyK"
},
"supplémentaire":{
"jeton d'accès":{
"jeton":"849503183529545728-fgqcxtgihvrrKd2icj67QpspT5bKntD",
"secret":"ZDTD5HsexliY2Tnrv6aSEVSqPVvbDLY2YDW9S5VeDmmyK",
"consommateur":{
"key":"H59J9kJBVQvtZvWhr2SUAht4o",
"secret":"GEQOygPITjGj2Imzg5ALJeCqE0GdQU2GAmTYOS9kEPcLVlMxQu",
"choix":{
"signature_method":"HMAC-SHA1",
"request_token_path":"/oauth/request_token",
"authorize_path":"/oauth/authenticate",
"access_token_path":"/oauth/access_token",
"proxy":null,
"schéma":"en-tête",
"http_method":"poster",
"debug_output":null,
"oauth_version":"1.0",
"site":" https://api.twitter.com "
},
"debug_output":null,
"http":{
"adresse":"api.twitter.com",
"port":443,
"hôte_local":null,
"port_local":null,
"curr_http_version":"1.1",
"keep_alive_timeout":2,
"dernier_communiqué":null,
"close_on_empty_response":faux,
"socket":null,
"commencé":faux,
"open_timeout":30,
"read_timeout":30,
"continue_timeout":null,
"debug_output":null,
"proxy_from_env": vrai,
"proxy_uri":null,
"adresse_proxy":null,
"proxy_port":null,
"utilisateur_proxy":null,
"proxy_pass":null,
"use_ssl": vrai,
"ssl_context":{
"verify_mode":0,
"verify_hostname": vrai
},
"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]"
  }

}
}
````

Oui, nous pouvons utiliser le code que vous avez spécifié, nous aurons besoin twitter_id la colonne user_tag dans la table user_tag ?

oui, le problème est que vous ne pouvez pas rechercher par le json, probablement ... vous pourriez
recherche plein texte mais c'est un peu cher, non ? @sidharthBansal - que faire
vous pensez est une bonne approche ici?

Le lundi 23 juillet 2018 à 15 h 49 Naman Gupta [email protected]
a écrit:

Oui, nous pouvons utiliser le code que vous avez spécifié, nous aurons besoin de la colonne twitter_id
dans la table user_tag ?


Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-407178930 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AABfJxV7kQpSKvSyCCpDQlFN6fWT_-yqks5uJiibgaJpZM4TrSYe
.

Oui, cela coûterait cher.
L'ajout direct username à la colonne pour tous les services oauth serait-il utile ?

Salut les gars, je veux juste rappeler que nous stockons également les noms d'utilisateur pour divers comptes sociaux dans les usertags, donc si vous décidez de passer aux tables pour stocker le nom d'utilisateur, veuillez ouvrir un problème de suivi pour fusionner ce système. Merci!

Cela vaudrait-il la peine de générer automatiquement la balise de style [twitter:jywarren] à partir du
Système OA ? Nous devons veiller à ce que personne n'associe faussement son
compte en utilisant les balises de style [twitter:jywarren], nous devons donc peut-être
combinez-les; Gaurav, pourriez-vous expliquer un peu comment ce système
travaux?

Le lundi 23 juillet 2018 à 16 h 39 Gaurav Sachdeva [email protected]
a écrit:

Salut les gars, je veux juste rappeler que nous stockons, les noms d'utilisateur pour divers réseaux sociaux
comptes dans les usertags aussi, donc si vous décidez de passer aux tables pour
stocker le nom d'utilisateur, veuillez ouvrir un problème de suivi pour fusionner ce système.
Merci!


Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-407193340 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AABfJ79eJpa40xw7imZ_m2K8A2B3F4v0ks5uJjRdgaJpZM4TrSYe
.

Salut les gars, je veux juste rappeler que nous stockons également les noms d'utilisateur pour divers comptes sociaux dans les usertags, donc si vous décidez de passer aux tables pour stocker le nom d'utilisateur, veuillez ouvrir un problème de suivi pour fusionner ce système. Merci!

Salut @Gauravano, nous ne stockons nulle part les noms d'utilisateur des utilisateurs de médias sociaux jusqu'à présent. Actuellement, seuls l'identifiant de l'utilisateur et le nom du fournisseur sont enregistrés.
@Gauravano pouvez-vous s'il vous plaît préciser quel problème vous signalez? Nous ne fabriquons pas de nouvelles tables. Nous migrons le usertag.

Oui, nous pouvons utiliser le code que vous avez spécifié, nous aurons besoin de la colonne twitter_id dans la table user_tag ?

ouais, le problème est que vous ne pouvez pas rechercher par le json, probablement... vous pourriez effectuer une recherche en texte intégral mais c'est un peu cher, non ? @SidharthBansal - quelle est selon vous une bonne approche ici ?

@jywarren , @namangupta01 nous pouvons stocker le nom d'utilisateur.

Nous devons faire attention à ce que personne n'associe faussement son compte en utilisant les balises de style [twitter:jywarren], alors peut-être devrions-nous les combiner ?

J'ai envoyé un pr en avril pour ce cas. Personne ne peut créer de tag avec le nom oauth :________
Donc, pas besoin de s'inquiéter de ce problème. Vous pouvez vérifier cette chose en allant sur la page de profil.
Capture d'écran pour une meilleure compréhension.
image

Cela vaudrait-il la peine de générer automatiquement la balise de style [twitter:jywarren] à partir du système OA ?

@jywarren Nous générons actuellement les usertags OAuth à partir d'OAuth UNIQUEMENT. Il n'y a pas d'autre moyen de les générer.

L'ajout d'un nom d'utilisateur direct à la colonne pour tous les services oauth aiderait-il ?

Ajouter plusieurs colonnes encore et encore n'aiderait pas. Je suggérerai fortement de stocker l'intégralité du hachage et d'utiliser ce dont nous avons besoin chaque fois que le besoin s'en fait sentir. Par exemple, après que naman utilise le gestionnaire du hachage auth. Nous pouvons utiliser l'image de l'URL de l'image pour l'afficher sur la page de profil du laboratoire public. Nous utilisons actuellement Gravatar.

Numéro connexe #3125
Nous stockons le gestionnaire. Certains fournisseurs permettent à l'utilisateur de changer de gestionnaire. Nous avons donc besoin d'une méthode pour modifier le hachage d'authentification à chaque fois que l'utilisateur se connecte OU lorsque l'authentification expire. L'authentification donne la date et l'heure d'expiration. Nous pouvons donc l'utiliser et actualiser le hachage d'authentification en conséquence. Veuillez discuter de ce sous-problème dans # 3125 afin que nous puissions nous en tenir à la migration user_tag dans ce problème.

Merci

Salut @jywarren @SidharthBansal @namangupta01 , je faisais référence à ce système -

Nous proposons aux utilisateurs PL d'entrer leurs différents noms d'utilisateur de médias sociaux comme celui-ci-
this_one

L'utilisateur ajoute la plate-forme sociale comme clé et son nom d'utilisateur comme valeur-
user_2

Après que ce usertag soit ajouté à son profil-
profile_tags

Merci!

@Gauravano Je suppose que l'utilisation de ce ne sera pas une bonne chose car je peux ajouter n'importe quel nom d'utilisateur que je veux?

En tant que @jywarren , devrions-nous fusionner le système OA avec lui ?

OK, stocker le hachage a du sens - pourquoi faire la conversion supplémentaire, n'est-ce pas ? Cool.

Et +1 fusionnant ces systèmes. Le système précédent est excellent mais bénéficierait d'une intégration ici pour les raisons ci-dessus ! Merci tout le monde!

ouais stocker le hachage semble une bonne option👍

Le mar. 24 juillet 2018 à 22h45 Jeffrey Warren [email protected]
a écrit:

OK, stocker le hachage a du sens - pourquoi faire la conversion supplémentaire, n'est-ce pas ?
Cool.

Et +1 fusionnant ces systèmes. L'ancien système est excellent mais
bénéficier de l'intégration ici pour les raisons ci-dessus ! Merci tout le monde!


Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-407482926 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/ATwCYU7kYuvbVUbybfTrYum5r2lVLYevks5uJ1Y-gaJpZM4TrSYe
.

@jywarren @Gauravano @SidharthBansal pouvez-vous me dire, s'il vous plaît, comment obtenir le hachage de la chaîne enregistrée dans la base de données car je ne parviens pas à trouver un moyen? Merci

Salut @Gauravano , je vous recommanderai vivement d'ouvrir un autre problème pour la fusion des icônes de médias sociaux avec OA et de le lier ici afin que la discussion ne soit pas divergente.
Merci pour la belle suggestion.

Salut @SidharthBansa j'ai déjà essayé les liens ci-dessus mais ils n'ont pas fonctionné

J'ai eu le problème... nous devons convertir explicitement la variable auth en hachage pour le résoudre.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

first-timers[bot] picture first-timers[bot]  ·  3Commentaires

grvsachdeva picture grvsachdeva  ·  3Commentaires

keshavsethi picture keshavsethi  ·  3Commentaires

grvsachdeva picture grvsachdeva  ·  3Commentaires

first-timers[bot] picture first-timers[bot]  ·  3Commentaires