كود الواجهة الخلفية

مرحباً،

أحاول إيجاد طريقة لتنفيذ بعض التعليمات البرمجية في الواجهة الخلفية.

الهدف النهائي هو استدعاء واجهة برمجة تطبيقات Maxmind وإعادة توجيه المستخدمين القادمين من خارج كيبيك إلى موقع آخر.

لقد وجدت هذا المنشور وأفهم أنه للقيام بذلك سأحتاج إلى استخدام نسخة مستضافة ذاتيًا من Discourse.

هل هناك طريقة للقيام بما أحاول القيام به في الخطة الاحترافية؟

تحياتي،

جوليان

لا أعرف الإجابة، آسف، ولكن يجب أن تفكر مليًا في مثل هذا الحل. تحديد الموقع الجغرافي عبر IP غير موثوق به حقًا.

ستحتاج إلى كتابة إضافة (plugin) لذلك. انظر Developing Discourse Plugins - Part 1 - Create a basic plugin.

لا حاجة لاستدعاء واجهات برمجة التطبيقات، حيث أن Discourse يأتي مع تكامل MaxMind بشكل افتراضي، ويمكنك ببساطة استدعاء DiscourseIpInfo.get(ip) من إضافتك.

إذا كنت تستخدم الاستضافة الخاصة بنا، فيرجى الاتصال بالدعم. يمكننا مساعدتك في الإضافات المخصصة في خطة Enterprise الخاصة بنا.

3 إعجابات

ستحتاج إلى كتابة إضافة (plugin) لذلك. انظر Developing Discourse Plugins - Part 1 - Create a basic plugin.

هل سأتمكن من استخدام هذه الإضافة مع إصدار SaaS من Discourse (مع الخطة الاحترافية)؟

لا حاجة لاستدعاءات API، حيث أن Discourse يأتي مع تكامل MaxMind جاهزًا، ويمكنك ببساطة استدعاء DiscourseIpInfo.get(ip) من إضافتك.

هل هذا دقيق بما يكفي لاستهداف المستخدمين من كيبيك، كندا فقط. معظم خدمات GeoIP التي وجدتها كانت دقيقة على مستوى البلد ولكنها لم تتمكن من استهداف مقاطعة معينة في كندا.

إذا كنت تستخدم الاستضافة الخاصة بنا، فيرجى الاتصال بالدعم. يمكننا مساعدتك في الإضافات المخصصة في خطة المؤسسات (Enterprise plan).

إذًا، هل هذا غير ممكن مع الخطة القياسية (Standard plan)؟ تخميني هو أن خطة المؤسسات (Enterprise plan) أغلى بثلاث مرات على الأقل من الخطة الاحترافية (pro plan).

من الصعب معرفة ذلك، إليك ما اكتشفته عن عنوان IP الخاص بي:

=> {:country=>"United States",
 :country_code=>"US",
 :region=>"Tennessee",
 :city=>"Nashville",
 :latitude=>36.1315,
 :longitude=>-86.8019,
 :location=>"Nashville, Tennessee, United States",
 :geoname_ids=>[6255149, 6252001, 4644585, 4662168],
 :asn=>7922,
 :organization=>"COMCAST-7922"}

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

هذا يبدو دقيقًا بما فيه الكفاية، ولكن العديد من خدمات GeoIP أكثر دقة لعناوين IP من الولايات المتحدة مقارنة بعناوين IP من كندا.

لا يجب أن يكون إيجابيًا أو سلبيًا بنسبة 100٪، إنها طريقة للحصول على سياج أول نظرًا لأن الخدمة تُقدم للأشخاص في كيبيك فقط.

إعجاب واحد (1)

بدلاً من إعادة توجيه كاملة، قد تتمكن من استخدام مكون سمة (theme-component) يقوم، على سبيل المثال، إذا كنت تتطلع إلى إعادة توجيه المستخدمين الفرنسيين. قد يستخدم Local لملء نافذة منبثقة في شاشة تسجيل الدخول للموقع المفضل للناطقين بالفرنسية.

إعجاب واحد (1)

أوصي بأن تقوم فقط بتضمين حقل مخصص للمستخدم يقول “أنا في كيبيك” والذي يجب عليهم النقر عليه عند التسجيل.

إذا كنت ترغب في الحصول على إضافة، على الرغم من ذلك، فقد أتمكن من المساعدة.

إعجاب واحد (1)

أرحب بطلب سحب (PR) إلى المكون الإضافي للمواقع (كميزة في إعدادات الموقع) لتحديد موقع المستخدم تلقائيًا وتعيينه في ملفه الشخصي، والذي يمكن أن يكون للقراءة فقط في هذا الوضع (ميزة أخرى) لمنعه من تغييره بنفسه (ولكن قد يقوم المسؤول بتغييره عند الطلب).\n\nبعد ذلك، كمكافأة، ستتمكن من رؤية الجميع على الخريطة :slight_smile:

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

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

إعجابَين (2)