Plots2: مشكلة التخطيط: قم بالرد عبر Twitter.

تم إنشاؤها على ٢٨ أبريل ٢٠١٨  ·  72تعليقات  ·  مصدر: publiclab/plots2

يرجى وصف المشكلة (أو الفكرة)

هذه مسألة تخطيطية للرد عليها عبر تويتر: الميزة.

دعنا أولاً نناقش أفضل نهج ثم سنقسم ذلك إلى قضايا مستقلة أصغر.

مزيد من التفاصيل 🔜!

=> تكامل البريد الإلكتروني # 2672 ( @ namangupta01 )

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

التعليق الأكثر فائدة

بصفتنا @ jywarren ، يجب علينا دمج نظام الزراعة العضوية معها؟

ال 72 كومينتر

رائع! رابط إلى إصدار نمان الجديد أيضًا!

يوم السبت ، 28 أبريل ، 2018 ، 3:25 صباحًا Sagarpreet Chadha [email protected]
كتب:

يرجى وصف المشكلة (أو الفكرة)

هذه مسألة تخطيطية للرد عليها عبر تويتر: الميزة.

دعنا أولاً نناقش أفضل نهج ثم سنقسم هذا إلى
أصغر القضايا المستقلة.

مزيد من التفاصيل 🔜!

-
أنت تتلقى هذا لأنك مشترك في هذا الموضوع.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/publiclab/plots2/issues/2671 ، أو كتم صوت الموضوع
https://github.com/notifications/unsubscribe-auth/AABfJ6EpFnMq_H5zR8vLtf7kXWZJbELxks5ttBlcgaJpZM4TrSYe
.

@ namangupta01 ، @ jywarren ... لنبدأ النقاش حول هذا؟ متى تكونا متفرغين؟

بلى!
في 14 حزيران (يونيو) 2018 ، الساعة 12:55 ظهرًا ، كتب "ساجاربريت تشادها" [email protected] :

@ namangupta01 https://github.com/namangupta01 ، jywarren
https://github.com/jywarren ... لنبدأ النقاش حول هذا؟ متى
هل كلاكما متفرغ

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-397198245 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/ATwCYebYN7qM2c0Emtdw2jhwYIILp5r1ks5t8g_fgaJpZM4TrSYe
.

لدي بعض التنفيذ في ذهني ... سأرسل بعد فترة.

كان جو (الذي بدأ للتو العمل مع موظفي المختبر العام) جيدًا حقًا
سؤال - هل ستكون هذه قناة لنشر البريد العشوائي؟ هل يجب أن نقلق
حول إرسال روبوتات تويتر غير مرغوب فيها ، أو ربما تفكر في استراتيجية اعتدال؟

ما هي الطرق التي يمكن أن نحترس بها من هذا؟ افتح العصف الذهني!

مثل ، ربما يجب أن يكون رد التغريدات على "إعجاب" ... شخص ما؟

يوم الخميس 14 حزيران (يونيو) 2018 الساعة 4:47 صباحًا نامان جوبتا [email protected]
كتب:

لدي بعض التنفيذ في ذهني ... سأرسل بعد فترة.

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-397237305 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AABfJ_g3eeUD8-7bvLjXmQLYIz0LYM1qks5t8jEFgaJpZM4TrSYe
.

البريد العشوائي هو القضية الرئيسية. كنت أقرأ وثائق من الأيام القليلة الماضية. كنت أتساءل أيضًا عما إذا كنا ننفذ كما قلت "يجب الإعجاب بتغريدات الرد" لقد وجدت مشكلة كبيرة.
تكمن المشكلة في أنه كلما قام مستخدم بإعادة تغريد على تغريدة (وهي عقدة) ، يمكننا معرفة إعادة التغريد من خلال apis ولكن عندما يتم الإعجاب بإعادة التغريد ، لا يمكننا معرفة ذلك. الطريقة الوحيدة لمعرفة ذلك هي البحث عن كل حالة إعادة تغريد بعد فترة زمنية معينة وهو أمر سيء للغاية لأننا نفترض أن لدينا إعادة تغريد 10 آلاف إعادة تغريد ، ثم يتعين علينا البحث عن حالة إعادة تغريد 10 آلاف مرة حتى نتم الإعجاب بها في فترة زمنية معينة. وأيضًا هذا الرقم 10 آلاف سيستمر في الارتفاع بمرور الوقت.

وأيضًا هناك نقطة رئيسية واحدة يمكن أن تؤدي إلى عدم إرسال بريد عشوائي وهي أنه يمكننا فقط إضافة تغريدات هؤلاء المستخدمين الذين يرتبط مقبض تويتر الخاص بهم بأي حساب publiclab تمامًا كما كنا نفعل في reply-by-email حيث يكون البريد الإلكتروني لمرسل البريد الإلكتروني هو الأول التحقق من الارتباط مع حساب publiclab.
هذا يمكن أن يؤدي إلى عدم وجود بريد عشوائي.

@ namangupta01 ... نقاط رائعة!

  • يمثل البريد العشوائي المشكلة هنا ، وأعتقد أن أسلوب الإشراف الوحيد الذي يمكنني التفكير فيه أيضًا هو أنه يجب على المشرف الموافقة على التعليق على تغريدة من خلال الإعجاب بها (على غرار كيفية عمل الأشياء في publiclab.org).
    => يمكن أن يكون الوسيط أشخاصًا لديهم حساب Twitter الخاص بـ PublicLab أو شخص مجتمع PL أبدى إعجابه من حسابه الخاص.

  • أعتقد أن الهدف هو إحضار عضو جديد إلى المجتمع ، لذا فإن جلب تعليقات الأشخاص الموجودين فقط سيحل نصف المشكلة.

ما رأيك ؟

تفكير رائع! لكن النقطة الوحيدة التي تثير قلقي هي أنه يتعين علينا التحقق صراحة من الإعجاب بالتغريدة في كل طلب لجميع التغريدات على تغريدات publiclab والتي يمكن أن تصبح طلبًا كبيرًا للغاية مع زيادة التغريدات.

وفي معظم الأوقات ، سنطلب التغريدات من أجل لا شيء ... كان هذا هو قلقي. ما رأيك؟

ومع ذلك ، فإن تقنية الاعتدال على واجهة موقع publiclab ستعمل بشكل رائع.
هل تحب الموافقة على التعليقات؟

jywarren نظرًا لأن ميزة البريد الإلكتروني شبه مكتملة ، يمكننا مناقشة الأمر؟

سوف أتطلع إلى تخصيص بعض الوقت لهذا في يوم أو يومين ... شكرا لك!
محاولة الحصول على جميع الميزات الكبيرة وتشغيلها بشكل كامل قبل المضي قدمًا.
شكرا!

يوم الاثنين 25 يونيو 2018 الساعة 7:18 مساءً نامان جوبتا إخطارات @github.com
كتب:

jywarren https://github.com/jywarren نظرًا لأن ميزة البريد الإلكتروني تكاد تكون
أكمل يمكننا مناقشة الأمر؟

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-400125415 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AABfJ-UOBtZ0G4haKmQRlSr0WJJ3Q30pks5uAW-ugaJpZM4TrSYe
.

jywarren هل يمكننا وضع node_id في التغريدات؟ بحيث يمكن التعرف عليها بسهولة؟

jywarren هل من الممكن وضع node_id في التغريدات؟

أعتقد ذلك ، نعم! لكننا قمنا بإيقاف تشغيل autotweeting قليلاً. هل نستطيع
التعرف على روابط مثل publiclab.org/n/____ عبر Twitter API؟

في يوم الأحد ، 15 يوليو 2018 ، الساعة 9:26 صباحًا ، كتب نامان جوبتا إخطارات github.com:

jywarren https://github.com/jywarren هل من الممكن أن تضع
node_id في التغريدات؟

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-405091999 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AABfJ575zPOLYU6bpFdMMkZA0vl-Xg_Yks5uG0LpgaJpZM4TrSYe
.

jywarren لذا publiclab.org/n/____ سيقدم مباشرة في تغريدة أو أن هناك بعض الروابط الأخرى التي تعيد التوجيه إلى هذا الرابط كما كان من قبل؟
السابق:
screen shot 2018-07-17 at 2 07 32 am

كنت أبحث ووجدت أن جميع الروابط التي تأتي في تغريدة من خلال twitter api هي رابط تويتر يتم إعادة توجيهه إلى صفحة فعلية. كنت أتساءل عما إذا كنا نستخدم رابطًا للعثور على العقدة وأن التغريدة تحتوي على أكثر من public.org/n/__ (واحد للإشارة إلى المنشور في المختبر العام والآخر يمكن استخدامه في أي من محتوى العقدة في منشور المختبر العام نفسه) ثم في ذلك قد يتم إضافة تعليق الحالة إلى العقدة الخاطئة لأننا لا نعرف العقدة الفعلية التي يجب أن نضيف هذا التعليق؟ ما رأيك؟
screen shot 2018-07-17 at 3 40 13 am
screen shot 2018-07-17 at 3 40 23 am

jywarren إذن ، بأي طريقة يجب أن أنفذها؟ باستخدام node_id أو بطريقة أخرى. أنا بصدد الانتهاء من طريقة التنفيذ.

يكون هذا أكثر تعقيدًا بعض الشيء عندما لا يحدث التغريد التلقائي ،
لأننا لم نتمكن من تنسيق النسخة الأصلية. يمكنني طرحه على موظفينا
اتصل أو افتح الاتصال اليوم (https://publiclab.org/opencall) ويمكننا المحاولة
اكتشاف طريقة جيدة للمضي قدما!

يوم الإثنين 16 يوليو 2018 الساعة 6:20 مساءً نامان جوبتا [email protected]
كتب:

كنت أبحث ووجدت أن جميع الروابط التي تأتي في تغريدة من خلال
twitter api هو رابط تويتر يتم إعادة توجيهه إلى الصفحة الفعلية. انا كنت
أتساءل عما إذا كنا نستخدم رابطًا للعثور على العقدة وأن التغريدة تحتوي على أكثر من واحدة
public.org/n/__ (أحدها للإشارة إلى المشاركة في المختبر العام وقد تكون أخرى
المستخدمة في أي من محتوى العقدة في منشور المختبر العام نفسه) ثم في هذه الحالة
قد تتم إضافة التعليق إلى العقدة الخاطئة لأننا لا نعرف ماهية ملف
العقدة الفعلية يجب أن نضيف هذا التعليق؟ ما رأيك؟
[الصورة: لقطة شاشة 2018-07-17 الساعة 3 40 13 صباحًا]
https://user-images.githubusercontent.com/20709985/42786554-59b06d14-8974-11e8-96bd-e2c804da47c9.png
[الصورة: لقطة شاشة 2018-07-17 الساعة 3 40 23 صباحًا]
https://user-images.githubusercontent.com/20709985/42786555-59f820f0-8974-11e8-9aa8-ef78abc46dfe.png

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-405399249 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AABfJwu8hr_XV85dxj3NlaTRgsBCaZ8jks5uHRF3gaJpZM4TrSYe
.

سأستخدم twitter gem الذي يمكننا من خلاله أيضًا إجراء تغريدة تلقائية - فقط أعلمك أنه يمكننا القيام بالتغريد التلقائي دون استخدام أي خدمة. سأبحث عن طريقة التنسيق.

حسنًا ، ما نفكر فيه هو:

  1. ابدأ بتنفيذ الردود فقط من قبل مستخدمي تويتر "المعروفين" ، باستخدام نظام تسجيل الدخول إلى OAuth
  2. محاولة العثور على التغريدات عن طريق عزل publiclab.org/n/_____
  3. هل يمكننا عرض جميع التعليقات في القائمة على الوسطاء فقط والسماح لهم "بالموافقة" بطريقة ما؟ هل يمكنك التفكير في كيفية عمل ذلك؟
  4. إذا بدأنا في السماح لجميع الردود على Twitter ، فلننظر في طريقة "لإيقافها" إذا بدأنا في تلقي الكثير من الرسائل غير المرغوب فيها ، وبهذه الطريقة يمكننا تجربة الأشياء.
  5. هل توجد طرق لعرض تغريدة مضمّنة مع ردودها ، وبعد ذلك ، إذا كانت هناك ردود تغريدة ، فقم بإخطار الناشر الأصلي ، ولكن لا تنسخها بالفعل؟

لقد أجريت للتو مكالمة معSidharthBansal. سألت عن هذا. لذلك نحن لا نحفظ مقبض تويتر في الوقت الحالي والذي يتطلب التعرف على المستخدمين. أعتقد أنه يجب علينا حفظه في مكان ما حتى نتمكن من التعرف عليه. @ jywarren ؟

@ namangupta01 يمكنك ترحيل نموذج علامة المستخدم وإضافة حقل معالج.
إذا كنت بحاجة إلى مزيد من المساعدة فلا تتردد في الاتصال بي.
شكرا

https://github.com/publiclab/plots2/blob/master/doc/Omniauth.md
https://github.com/publiclab/plots2#ssl -in-development
بابول لاب / قطع 2 # 2893
هذه سوف تساعدك بالتأكيد

شكرا سيدهارث! :)

يوم الخميس ، 19 يوليو ، 2018 الساعة 9:55 مساءً Sidharth Bansal [email protected]
كتب:

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
هذه سوف تساعدك بالتأكيد

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-406336137 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/ATwCYUJLLS9Lc722_YJWLBdLhWed_orrks5uILMDgaJpZM4TrSYe
.

أعتقد أن request.env ['omniauth.auth'] ["info"] ["urls"] سيعمل.

هام: يعطي جميع الموفرين حقولًا مختلفة في تجزئتهم بأسماء مختلفة. لذا ، يرجى الاهتمام بملء جميع معلومات مقدمي الخدمة الآخرين - حقل url على أنه NULL إذا لم يكونوا على Twitter

انظر إلى التجزئات الواردة هنا وقارن:

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

لاحظ أن هناك تجزئات مختلفة. أيضا ، يرجى أخذ آراء مني في العلاقات العامة الخاصة بك. سأكون سعيدا للمساعدة.

Google_oauth2 له نفس الاسم -> المعلومات -> عناوين url
لكن الفيسبوك لديه معالج في extra_info. لذا ، يرجى إحضار [إضافي] [raw_info] [رابط] وتخزينه في user_tag كمعامل.
جيثب -> لم يتم كتابته في الوثائق. قد لا تقدم. ابحث عما إذا كان github يوفر بدلاً من تعيين معالج github لهذا الحقل
كل تلك التي لا يمكن وضعها في معالج مثل Github يمكنك وضعها على أنها NULL.

@ jywarren هل يجب علي عمل عمود منفصل لكل oauth؟

نموذج علامة المستخدم وإضافة حقل معالج

أتساءل عما إذا كان بإمكاننا إنشاء مجموعة من الحقول الإضافية المخصصة oa-
للحصول على هذه المعلومات في مفتاح ثابت: نظام القيم ، بدلاً من ترحيل
قاعدة بيانات ... Sidharth ، ما رأيك؟

يوم الخميس ، 19 تموز (يوليو) 2018 ، الساعة 2:18 مساءً نامان جوبتا [email protected]
كتب:

jywarren https://github.com/jywarren يجب أن أقوم بعمل عمود منفصل لـ
كل اوث؟

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-406368740 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AABfJ_XCeor_CeJB2aXO3eJHr0FJhX2rks5uIM1agaJpZM4TrSYe
.

لا نحتاج إلى تعقيد user_tag كثيرًا. يجب أن يكون مفهوماً بسهولة من قبل القادمين الجدد.
نحتاج إلى إضافة الحقول كثيرًا في المستقبل. لذلك ، ضع في اعتبارك الموقف الذي قمنا به وفقًا لهذا النهج ، فسيكون للمقدمين قيمة مثل uid: Provider : handler. لا يوفر Github أي معالج. الآن يأتي تنبيه الموقع ، نحتاج إلى عرض الصورة في صفحة الملف الشخصي. لذلك هذا سوف يخلق مشكلة. إذن علينا ترحيل db. لذا ، فإن رأيي هو ترحيل db من الآن.

نحتاج إلى رؤية الموقف حيث نحتاج في المستقبل إلى تنفيذ منشورات داخل وخارج فيسبوك أو تويتر بعد تسجيل الدخول ، ثم سنحتاج أيضًا إلى حقول أخرى. لا يمكننا جعل القيمة أطول

النظام المسطح هو أيضًا خيار جيد. لكني أشعر بالقلق حيال سهولة قراءة علامات المستخدم في المستقبل.

دعنا نفكر في هذا من خلال - ما هو التعديل الذي تبحث عنه بالضبط في نموذج user_tag؟ هل يمكننا إضافة عمود نصي واحد فقط ، وتخزين JSON فيه؟ أحاول التفكير في الطريقة الأكثر مرونة وقابلية للصيانة ، لذلك ليس لدينا الكثير من الميزات المحددة جدًا في نموذج user_tag والتي لن يمكن إعادة استخدامها لأغراض مختلفة. منطقي؟

شكرا لكم جميعا!

jywarren نعم لقد فهمت وجهة نظرك. دعنا نلحق حقل val الخاص بـ user_tag.

أعتقد أن استخدام حقل نصي أطول قد يكون مفيدًا للعديد من الأشياء ، لذلك
إذا كنت تريد فقط الحصول على مجموعة من الأشياء الأخرى لتخزينها معها
المفتاح: القيمة ، يمكننا فعل ذلك ...

يوم الخميس ، 19 يوليو ، 2018 الساعة 6:00 مساءً Sidharth Bansal [email protected]
كتب:

jywarren https://github.com/jywarren نعم حصلت على وجهة نظرك. دعونا
قم بإلحاق حقل val الخاص بـ user_tag.

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-406427465 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AABfJ4Hlow0UZgw-e-I0WBp9Lpt0MiC0ks5uIQFKgaJpZM4TrSYe
.

SidharthBansal في كل مرة أقوم بتسجيل الدخول عبر Twitter على الموقع المحلي ، يتم إعادة التوجيه إلى موقع المختبر العام. اي فكرة؟

أعتقد أنني فهمت سبب حدوثها

SidharthBansal أنا أتلقى هذا الخطأ ، يرجى المساعدة:
screen shot 2018-07-21 at 12 28 05 am

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

أضف إعدادات متقدمة للسماح بـ https لمواقع الويب غير الآمنة

127.0.0.1:3001 غير آمن

حل بفضل SidharthBansal

jywarren كنت أبحث اليوم عن كيفية تحقيق النظام المسطح.
الملف التالي هو الملف الرئيسي في مشروع Soc.
https://github.com/publiclab/plots2/blob/f2fe98da351a562152a85bd068acb1a9e6e7f7c0/app/models/user_tag.rb#L24 -L30
إذا قمنا بإلحاق السلسلة ، فسيحتاج مشروع Soc بأكمله إلى التحديث في مواضع متعددة. كما ستفشل جميع الاختبارات. نحتاج إلى كتابة جميع الاختبارات مرة أخرى.
@ namangupta01 ماذا تقترح؟
إذا أنشأنا حقلاً جديدًا في db ، فيمكن تعديل مشروع Soc بدون أي تعارضات. ستبقى جميع الاختبارات والرموز الخاصة بمشروع Soc كما هي.

أعتقد أن jywarren قال هنا أنه يمكننا إضافة حقل نص جديد حيث يمكننا تخزين كائن JSON الذي نحصل عليه ردًا.

دعنا نفكر في هذا من خلال - ما هو التعديل الذي تبحث عنه بالضبط في نموذج user_tag؟ هل يمكن> إضافة عمود نصي واحد فقط ، وتخزين JSON فيه؟ أحاول التفكير في الطريقة الأكثر مرونة وقابلية للصيانة ، لذلك ليس لدينا الكثير من الميزات المحددة جدًا في نموذج user_tag التي لن تكون كذلك
قابلة لإعادة الاستخدام لأغراض مختلفة. منطقي؟

هل أنا على حق @ jywarren ؟

دعنا ننتظر إدخال جيفس.

نعم......

قلقي الآخر هو أنه عندما نقوم باستطلاع آراء جديدة على تويتر في كل 5 ثوانٍ أو كل 10 ثوانٍ ، سنكتشف ما إذا كان هناك مؤشر معين موجود أم لا في قاعدة البيانات. لنفترض أننا حصلنا على بعض الردود في كل إجابة ، ثم يتعين علينا العثور على مقابض لذلك سنقوم بتحليل حقل النص لاستخراج المقبض وللتحقق مما إذا كان هذا المقبض موجودًا أم لا. هل سيزيد من التعقيد الزمني للنظام؟ لأنه مقابل كل فحص للمقبض سنقوم بعمل O(n) ؟ وأيضًا لن تعمل الفهرسة في هذه الحالة لتسريع معاملة db.
عذرًا jywarren ، هذا يستغرق بعض الوقت لأنني أريد أن أكون مؤكدًا تمامًا بشأن التنفيذ قبل فتح العلاقات العامة لأنه سيكون نظامًا معقدًا.

مرحبا! نعم ، كنت أقول أنه إذا كان هناك الكثير من المحتوى الذي تريد تخزينه
معًا بطريقة أقل ثباتًا ، يمكننا إنشاء عمود نص data في ملف
جدول user_tag ، وقم بتخزين JSON فيه. ولكن هل يمكنك تقديم مثال واضح عن
نوع البيانات التي تريد تخزينها حتى نعرف ما إذا كانت مناسبة
طريقة تخزينه؟ شكرا!

بالنسبة إلى التعقيد ، أوافق ، يمكن أن يؤدي ذلك إلى عبء كبير. هل تستطيع
اكتب الكود الكاذب لسلسلة الاستعلامات ويمكنني المساعدة في تحسين؟ انا
بالتفكير ، يمكننا صياغة استعلام أكثر كفاءة ، ولكن مساعدتي في معرفة
الخطوات المطلوبة أولا. شكرا!

يوم الجمعة 20 يوليو 2018 الساعة 4:00 مساءً Naman Gupta [email protected]
كتب:

قلقي الآخر هو أنه عندما سنستطلع آراء جديدة على تويتر في
كل 5 ثوانٍ أو كل 10 ثوانٍ سنجد ما إذا كان محددًا
التعامل مع وجود أم لا في قاعدة البيانات. افترض أننا حصلنا على بعض في كل إجابة
الردود ومن ثم علينا البحث عن مقابض لذلك سنقوم بالتحليل
حقل النص لاستخراج المقبض وللتحقق من وجود هذا المؤشر
أم لا. هل سيزيد من التعقيد الزمني للنظام؟ لأن ل
كل فحص مقبض سنقوم بعمل O (n)؟ وأيضًا لا يوجد فهرسة
ستعمل في هذه الحالة لجعل معاملة db أسرع.
آسف jywarren https://github.com/jywarren هذا يستغرق بعض الوقت
لأنني أريد أن أكون مؤكدًا تمامًا بشأن التنفيذ من قبل
فتح العلاقات العامة لأنه سيكون نظامًا معقدًا.

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-406711222 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AABfJ7Z9x-9Cwedez8T-gsMnYR4VQ75zks5uIjbCgaJpZM4TrSYe
.

Pseudocode:

  1. إحضار أحدث الردود من Twitter:
  2. لكل رد في الردود:
    تحقق مما إذا كانت تنتمي إلى أي عقدة أو منشور باستخدام publiclab.org/n/_____ وإذا كانت هذه العقدة موجودة ، فابحث عما إذا كان المستخدم موجودًا باستخدام مُردِّد التغريدات. إذا كان المستخدم موجودًا أضف التعليق.
    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

اعتبارًا من الآن ، أحتاج فقط إلى تخزين مقبض twitter ولكن لا أعرف ما هي الميزة
نريد في المستقبل مثل صورة الملف الشخصي وأكثر؟

يوم السبت 21 يوليو 2018 الساعة 1:52 صباحًا Jeffrey Warren [email protected]
كتب:

مرحبا! نعم ، كنت أقول أنه إذا كان هناك الكثير من المحتوى الذي تريد تخزينه
معًا بطريقة أقل ثباتًا ، يمكننا إنشاء عمود نص data في ملف
جدول user_tag ، وقم بتخزين JSON فيه. ولكن هل يمكنك تقديم مثال واضح عن
نوع البيانات التي تريد تخزينها حتى نعرف ما إذا كانت مناسبة
طريقة تخزينه؟ شكرا!

بالنسبة إلى التعقيد ، أوافق ، يمكن أن يؤدي ذلك إلى عبء كبير. هل تستطيع
اكتب الكود الكاذب لسلسلة الاستعلامات ويمكنني المساعدة في تحسين؟ انا
بالتفكير ، يمكننا صياغة استعلام أكثر كفاءة ، ولكن مساعدتي في معرفة
الخطوات المطلوبة أولا. شكرا!

يوم الجمعة 20 يوليو 2018 الساعة 4:00 مساءً Naman Gupta [email protected]
كتب:

قلقي الآخر هو أنه عندما سنستطلع آراء جديدة على تويتر
في
كل 5 ثوانٍ أو كل 10 ثوانٍ سنجد ما إذا كان محددًا
التعامل مع وجود أم لا في قاعدة البيانات. افترض أننا حصلنا على بعض في كل إجابة
الردود ومن ثم علينا البحث عن مقابض لذلك سنقوم بالتحليل
حقل النص لاستخراج المقبض وللتحقق مما إذا كان هذا المقبض
يوجد
أم لا. هل سيزيد من التعقيد الزمني للنظام؟ لأن ل
كل فحص مقبض سنقوم بعمل O (n)؟ وأيضًا لا يوجد فهرسة
ستعمل في هذه الحالة لجعل معاملة db أسرع.
آسف jywarren https://github.com/jywarren هذا يستغرق بعض الوقت
لأنني أريد أن أكون مؤكدًا تمامًا بشأن التنفيذ من قبل
فتح العلاقات العامة لأنه سيكون نظامًا معقدًا.

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
< https://github.com/publiclab/plots2/issues/2671#issuecomment -406711222
و
أو كتم الخيط
<
https://github.com/notifications/unsubscribe-auth/AABfJ7Z9x-9Cwedez8T-gsMnYR4VQ75zks5uIjbCgaJpZM4TrSYe

.

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-406716657 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/ATwCYaP_Iy1H4Uxs83vmG95ucdrSLgxtks5uIjwCgaJpZM4TrSYe
.

مرحبًا jywarren لقد أضفت ترحيلًا لحفظ JSON لاستجابة omniauth في # 3117 فقط لمنحه بداية ... أخبرني إذا كنت بحاجة إلى أي تغيير؟

jywarren أي مراجعة وملاحظات بخصوص pseudocode والعلاقات العامة؟

آمل أن أكمل هذا في أقرب وقت ممكن.

هل يمكنك مشاركة إخراج JSON النموذجي الذي سيتم تخزينه في هذا العمود الجديد ، حتى نتمكن من رؤيته؟ شكرا!

بالنسبة للرمز الكاذب ، هل يمكنك فعل شيء مثل:

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

قد يكون من الأفضل؟

هذا هو نموذج JSON:
""
{
"المزود": "twitter" ،
"uid": "849503183529545728"،
"معلومات":{
"اللقب": "itsmenamangupta"،
"الاسم": "نامان جوبتا" ،
"البريد الإلكتروني": " [email protected]
"موقعك":""،
"صورة": " http://pbs.twimg.com/profile_images/950001110378401793/mBAtBXyI_normal.jpg " ،
"description": "GSoC'18PublicLab"،
"عناوين url": {
"موقع الويب": " https://t.co/fqLSxIlYFH " ،
"تويتر": " https://twitter.com/itsmenamangupta "
}
} ،
"شهاداته":{
"رمز": "849503183529545728-fgqcxtgihvrrKd2icj67QpspT5bKntD" ،
"سري": "ZDTD5HsexliY2Tnrv6aSEVSqPVvbDLY2YDW9S5VeDmmyK"
} ،
"إضافي":{
"رمز وصول":{
"رمز": "849503183529545728-fgqcxtgihvrrKd2icj67QpspT5bKntD" ،
"سري": "ZDTD5HsexliY2Tnrv6aSEVSqPVvbDLY2YDW9S5VeDmmyK" ،
"مستهلك":{
"مفتاح": "H59J9kJBVQvtZvWhr2SUAht4o" ،
"سري": "GEQOygPITjGj2Imzg5ALJeCqE0GdQU2GAmTYOS9kEPcLVlMxQu" ،
"والخيارات":{
"signature_method": "HMAC-SHA1" ،
"request_token_path": "/ oauth / request_token"،
"authorize_path": "/ oauth / المصادقة" ،
"access_token_path": "/ oauth / access_token"،
"الوكيل": فارغ ،
"المخطط": "الرأس"،
"http_method": "نشر" ،
"debug_output": فارغ ،
"oauth_version": "1.0"،
"الموقع": " https://api.twitter.com "
} ،
"debug_output": فارغ ،
"http": {
"العنوان": "api.twitter.com" ،
"المنفذ": 443 ،
"local_host": فارغ ،
"local_port": فارغ ،
"urr_http_version ":" 1.1 "،
"keep_alive_timeout": 2 ،
"last_communicated": فارغة ،
"close_on_empty_response": خطأ ،
"المقبس": فارغ ،
"بدأت": خطأ ،
"open_timeout": 30 ،
"مهلة القراءة": 30 ،
"Continue_timeout": فارغ ،
"debug_output": فارغ ،
"proxy_from_env": صحيح ،
"proxy_uri": خالية ،
"proxy_address": فارغ ،
"proxy_port": فارغ ،
"proxy_user": فارغ ،
"proxy_pass": فارغ ،
"use_ssl": صحيح ،
"ssl_context": {
"ver_mode": 0 ،
"check_hostname": صحيح
} ،
"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]"
  }

}
}
""

نعم يمكننا استخدام الكود الذي حددته ، سنحتاج إلى عمود twitter_id في جدول user_tag ؟

نعم ، المشكلة هي أنه لا يمكنك البحث باستخدام json ، ربما ... يمكنك ذلك
البحث عن نص كامل ولكنه مكلف بعض الشيء ، أليس كذلك؟ sidharthBansal - ماذا تفعل
تعتقد أنه نهج جيد هنا؟

يوم الإثنين 23 يوليو 2018 الساعة 3:49 مساءً نامان جوبتا إخطارات @github.com
كتب:

نعم يمكننا استخدام الكود الذي حددته ، سنحتاج إلى عمود twitter_id
في جدول user_tag؟

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-407178930 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AABfJxV7kQpSKvSyCCpDQlFN6fWT_-yqks5uJiibgaJpZM4TrSYe
.

نعم ، سيجعلها باهظة الثمن.
هل ستساعد إضافة username مباشرة إلى العمود لجميع خدمات oauth؟

مرحبًا يا رفاق ، أريد فقط التذكير بأننا نقوم بتخزين أسماء مستخدمين لحسابات اجتماعية مختلفة في علامات مستخدمين أيضًا ، لذلك إذا قررت يا رفاق التبديل إلى جداول لتخزين اسم المستخدم ، فيرجى فتح مشكلة متابعة لدمج هذا النظام. شكرا!

هل يستحق الأمر إنشاء علامة نمط [twitter: jywarren] تلقائيًا من ملف
نظام الزراعة العضوية؟ نحن بحاجة إلى توخي الحذر حتى لا يقرن أحدهم بشكل خاطئ
باستخدام علامات نمط [twitter: jywarren] ، لذلك ربما نحتاج إلى ذلك
الجمع بين هذه غوراف ، هل يمكن أن تشرح قليلاً عن كيفية عمل هذا النظام
يعمل؟

يوم الاثنين 23 يوليو 2018 الساعة 4:39 مساءً Gaurav Sachdeva [email protected]
كتب:

مرحبًا يا شباب ، أريد فقط أن أذكر أننا نقوم بتخزين أسماء المستخدمين لمختلف الشبكات الاجتماعية
الحسابات في علامات المستخدمين أيضًا ، لذلك إذا قررت يا رفاق التبديل إلى الجداول من أجل
تخزين اسم المستخدم بعد ذلك ، يرجى فتح مشكلة متابعة لدمج هذا النظام.
شكرا!

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-407193340 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AABfJ79eJpa40xw7imZ_m2K8A2B3F4v0ks5uJjRdgaJpZM4TrSYe
.

مرحبًا يا رفاق ، أريد فقط التذكير بأننا نقوم بتخزين أسماء مستخدمين لحسابات اجتماعية مختلفة في علامات مستخدمين أيضًا ، لذلك إذا قررت يا رفاق التبديل إلى جداول لتخزين اسم المستخدم ، فيرجى فتح مشكلة متابعة لدمج هذا النظام. شكرا!

مرحبًا Gauravano ، لا نقوم بتخزين أسماء مستخدمي وسائل التواصل الاجتماعي في أي مكان حتى الآن. حاليا يتم حفظ معرف المستخدم واسم المزود فقط.
Gauravano هل يمكنك من فضلك توضيح المشكلة التي تشير إليها؟ نحن لا نصنع طاولات جديدة. نحن نهاجر usertag.

نعم يمكننا استخدام الكود الذي حددته ، سنحتاج إلى عمود twitter_id في جدول user_tag؟

نعم ، المشكلة هي أنه لا يمكنك البحث بواسطة json ، ربما ... يمكنك البحث عن نص كامل ولكنه مكلف بعض الشيء ، أليس كذلك؟ SidharthBansal - ما رأيك في نهج جيد هنا؟

jywarren ، @ namangupta01 يمكننا تخزين اسم المستخدم.

نحن بحاجة إلى توخي الحذر حتى لا يربط أي شخص حسابه بشكل خاطئ باستخدام علامات نمط [twitter: jywarren] ، فربما نحتاج إلى دمجها؟

لقد أرسلت العلاقات العامة في أبريل لهذه القضية. لا أحد قادر على إنشاء أي علامة باسم oauth: ________
لذلك ، لا داعي للقلق بشأن هذه المشكلة. يمكنك التحقق من هذا الشيء بالذهاب إلى صفحة الملف الشخصي.
لقطة شاشة لفهم أفضل.
image

هل يستحق الأمر إنشاء علامة نمط [twitter: jywarren] تلقائيًا من نظام OA؟

jywarren نحن نقوم حاليًا بإنشاء علامات مستخدم OAuth من OAuth فقط. لا توجد طريقة أخرى لتوليدها.

ستساعد إضافة اسم مستخدم مباشر إلى عمود لجميع خدمات oauth؟

إضافة عدة أعمدة مرارا وتكرارا لن يساعد. سأقترح بشدة تخزين التجزئة بأكملها واستخدام ما نحتاج إليه متى دعت الحاجة. على سبيل المثال ، بعد استخدام naman للمعالج من تجزئة المصادقة. يمكننا استخدام الصورة من عنوان url للصورة لعرضها على صفحة ملف تعريف المختبر العامة. نحن نستخدم Gravatar حاليًا.

قضية ذات صلة # 3125
نحن نقوم بتخزين المعالج. يسمح بعض الموفرين للمستخدم بتغيير المعالج الخاص بهم. لذلك ، نحتاج إلى طريقة لتغيير تجزئة المصادقة إما في كل مرة يسجل فيها المستخدم الدخول أو عندما تنتهي صلاحية المصادقة. يعطي المصادقة تاريخ ووقت انتهاء الصلاحية. لذلك يمكننا استخدام ذلك وتحديث تجزئة المصادقة وفقًا لذلك. الرجاء مناقشة هذه العناصر الفرعية في # 3125 حتى نتمكن من التمسك بترحيل user_tag في هذه المشكلة.

شكرا

مرحبًا jywarrenSidharthBansal @ namangupta01 ، كنت أشير إلى هذا النظام -

نوفر لمستخدمي PL لإدخال أسماء مستخدمي الوسائط الاجتماعية المختلفة الخاصة بهم مثل هذا-
this_one

يضيف المستخدم المنصة الاجتماعية كمفتاح واسم المستخدم الخاص به كقيمة-
user_2

بعد ذلك يتم إضافة علامة المستخدم إلى ملفه الشخصي-
profile_tags

شكرا!

Gauravano أعتقد أن استخدام هذا لن يكون جيدًا لأنه يمكنني إضافة أي اسم مستخدم أريده؟

بصفتنا @ jywarren ، يجب علينا دمج نظام الزراعة العضوية معها؟

حسنًا ، تخزين التجزئة أمر منطقي - لماذا التحويل الإضافي ، أليس كذلك؟ رائع.

و +1 دمج هذه الأنظمة. النظام السابق رائع ولكنه سيستفيد من التكامل هنا للأسباب المذكورة أعلاه! شكرا لكم جميعا!

نعم ، يبدو تخزين التجزئة خيارًا جيدًا👍

يوم الثلاثاء 24 يوليو 2018 الساعة 10:45 مساءً Jeffrey Warren [email protected]
كتب:

حسنًا ، تخزين التجزئة أمر منطقي - لماذا التحويل الإضافي ، أليس كذلك؟
رائع.

و +1 دمج هذه الأنظمة. النظام السابق رائع لكنه سيفعل
الاستفادة من الاندماج هنا للأسباب أعلاه! شكرا لكم جميعا!

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-407482926 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/ATwCYU7kYuvbVUbybfTrYum5r2lVLYevks5uJ1Y-gaJpZM4TrSYe
.

jywarrenGauravanoSidharthBansal هل يمكنكم يا رفاق أن تخبروني كيف أحصل على التجزئة من السلسلة المحفوظة في db لأنني غير قادر على إيجاد طريقة؟ شكرا

مرحبًا Gauravano ، سأوصي بشدة بفتح مشكلة أخرى لدمج أيقونات الوسائط الاجتماعية مع OA وربطها هنا حتى لا تتباين المناقشة.
شكرا على الاقتراح الجميل.

مرحبًا SidharthBansa ، لقد جربت بالفعل الروابط أعلاه لكنها لم تعمل

حصلت على المشكلة .. يتعين علينا تحويل المتغير auth صراحة إلى تجزئة لحلها.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات