تعديل طريقة جلب البيانات للمشاركة في الريبو
السلام عليكم
إمتدادا للنقاش #62 والذي تم تنفيذه حالياً، أعتقد بإمكاننا التحسين للتأكد من صحة البيانات المدخلة الطريقة الحالية هي سحب ملف dev.json وإضافة مشاركاتك والرفع لقتهب، المقترح هو تفكيك ملف dev.json بالشكل التالي
-- .github
-- homepage
-- utilities
-- developers
---- mo9a7i.json
---- DevMoath.json
---- .....
-- .gitignore
-- ...
محتوى كل ملف للمطور يكون بنفس شكله الحالي، ولكن.... بعد إضافة المطور ملفه أو تعديله، وعند مراجعة ال pull request و قابلية الدمج، يقوم قتهب بتشييك بعض الأشياء وإعطاء خطأ إذا كانت البيانات المدخلة غير متناسقة مع الستاندرد المطلوب عبر تشغيل test file
كان في بالي مقترح آخر وهو أن اليوزر أصلاً مايضيف إسمه ومعلوماته الشخصية والوصف بالعربي، فقط يضيف الريبو المفتوحة المصدر، والسكربت في هذي الريبو يقوم بجلب إسم اليوزر ورابط صفحته والوصف للريبو وجميع هذي الخيارات. ويكون ملف المشاركة عبارة عن array فيها روابط فقط للريبوز مفتوحة المصدر
أتمنى مشاركتنا الأفكار إذا حصل لكم الوقت لتسهيل عملية المشاركة هنا وتحسين طريقة العرض أيضاً
الله يعافيك يا مهند وجهد تشكر عليه! حقيقة الي اتمناه ان يصير اضافة المشاريع بشكل كامل عن طريق UI في الموقع. المطور يسجل دخول بحسابه في GitHub عن طريقك https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps ثم المبرمج يختار المشاريع ويتم فتح pull request بشكل اوتماتيك عن طريق https://docs.github.com/en/rest?apiVersion=2022-11-28
هذا هدف بعيد لكن اي تعديل ممكن يقربنا لهذا الهدف أكيد مرحب فيه. هل اقتراحك هذا راح يقربنا لهذا الهدف؟ وش رايك؟
الله يعافيك يا مهند وجهد تشكر عليه! حقيقة الي اتمناه ان يصير اضافة المشاريع بشكل كامل عن طريق UI في الموقع. المطور يسجل دخول بحسابه في GitHub عن طريقك https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps ثم المبرمج يختار المشاريع ويتم فتح pull request بشكل اوتماتيك عن طريق https://docs.github.com/en/rest?apiVersion=2022-11-28
هذا هدف بعيد لكن اي تعديل ممكن يقربنا لهذا الهدف أكيد مرحب فيه. هل اقتراحك هذا راح يقربنا لهذا الهدف؟ وش رايك؟
هذه الفكرة غير قابلة للتنفيذ للاسف بسبب ان GitHub لايدعم PKCE (Proof Key for Code Exchange)
https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps#1-request-a-users-github-identity
عموما نرجع لاقتراحك مهند، ممتاز وأقترح لو نبدأ في تسهيل عملية الإضافة مثل ما قلت يضيف فقط المشروع وسكربت يسوي الباقي.
هذه الفكرة غير قابلة للتنفيذ للاسف بسبب ان GitHub لايدعم PKCE (Proof Key for Code Exchange)
الله يعافيك يا مهند وجهد تشكر عليه! حقيقة الي اتمناه ان يصير اضافة المشاريع بشكل كامل عن طريق UI في الموقع. المطور يسجل دخول بحسابه في GitHub عن طريقك https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps ثم المبرمج يختار المشاريع ويتم فتح pull request بشكل اوتماتيك عن طريق https://docs.github.com/en/rest?apiVersion=2022-11-28
هذا هدف بعيد لكن اي تعديل ممكن يقربنا لهذا الهدف أكيد مرحب فيه. هل اقتراحك هذا راح يقربنا لهذا الهدف؟ وش رايك؟
قد لا يحبذ البعض اعطاء صلاحيات عمل PR عبر حسابهم الشخصي، مع أن الفكرة ممتازة ولكن قد لا يفضل الاشخاص المهتمين بالخصوصية والأمن فعل ذلك...
أقترح أن تعمل واجهة بسيطة مع base64 شيء مشابه لـ Vue Playground
https://play.vuejs.org/#eNp9kLGqAjEQRX9lmVr2Fc9KRFCx0EJFLdNIHNdodhIyiS7I/rtJxNVC7IZ7zsCducPY2vIaEAYwZOmU9SNBw79uhB54loaOqirPbCh6d0FFIUCa2iqNbmW9MsQCBkUmie21NrdFzrwL2Hvl8oTy8iU/c5MyAWuHjO6KAjrm965C/8Sz7RKbOHewNoego/0DbpCNDqnjU5sEOsTaH15uO6+tcV5RteNZ45H4dVQqmsw2+wLis6Y/Tn/X/S/7eU9QC+0D5kh1Og==
حيث تقوم الواجهة بسحب بيانات المشروع المدخل وجعلها كرابط، وينسخ المستخدم هذا الرابط ويضعه في pr، ويقوم GitHub Action بقراءة base64 ويعدل الـ JSON
هلا حمد اشرحلنا اكثر عن موضوع الخصوصية
الكيفية اللي بيشتغل فيها التظبيق (الواجهة) انه بيقول لك سجل دخول بحسابك في قتهب وماراح يحفظ اي شي بالسيرفر (لانه serverless app) كلها بمتصفحك وبعد ماتختار الريبو بيسوي pull request باسمك زي ماتسويه بنفسك باي مشروع عام
طريقة الً fork, change, pull هي الطريقةالمتبعة بالمشاركات باغلب المشاريع مفتوحة المصدر
يمكن مافهمتك صح عطنا توضيح الله لايهينك
هلا حمد اشرحلنا اكثر عن موضوع الخصوصية
الكيفية اللي بيشتغل فيها التظبيق (الواجهة) انه بيقول لك سجل دخول بحسابك في قتهب وماراح يحفظ اي شي بالسيرفر (لانه serverless app) كلها بمتصفحك وبعد ماتختار الريبو بيسوي pull request باسمك زي ماتسويه بنفسك باي مشروع عام
طريقة الً fork, change, pull هي الطريقةالمتبعة بالمشاركات باغلب المشاريع مفتوحة المصدر
يمكن مافهمتك صح عطنا توضيح الله لايهينك
الموضوع أنه فيه بعض الاشخاص لا يحبذون إعطاء صلاحية عمل PR عبر oauth لتطبيق طرف ثالث خصوصًا لو استعمال لمرة واحدة (يضيف مشروعه بالقائمة) هذا الشيء لاحظته في مجتمعات الويكي (ويكيميديا) وكذلك البرمجيات الحرة والمفتوحة صحيح أنه يقدر يسوي revoke وقت ما بغى لكن البعض يوم يشوف أنه التطبيق قد يأخذ صلاحية أو يضيفك لمشروع بصلاحية معينة قد يتحفظ لأنه يرى أنه قد يمكن يخليه يكتب حاجات الشخص ما قالها مثلًا في الـPR وغيرها من الافتراضات عند الناس الي تهمهم مواضيع الخصوصية والأمان.
طبعًا عادي تقدر توفر أكثر من خيار للمشاركة، بحيث اللي يفضل يشارك بختار الطريقة المثلى له.
ولا أعرف لو فيه حل لمشكلة PKCE (Proof Key for Code Exchange) المذكورة فوق...