
نظام إدارة المحتوى لمجتمع أبحاث المختبر العام ، تطبيق الويب plots2 هو مزيج من مدونة أبحاث جماعية -ما نسميه "ملاحظات بحثية" -ويكي. اقرأ المزيد عن نموذج البيانات هنا.
ابدأ تشغيل (والمساهمة في) قاعدة قاعدة الشفرة هذه فورًا باستخدام gitpod:
يعرض مجموعة متنوعة من الميزات التي تساعد مجتمع المختبر العام على التعاون في تكنولوجيا البيئة والتصميم والوثائق وتنظيم المجتمع. في الأصل موقع Drupal ، تم إعادة كتابته في عام 2012 مع Ruby on Rails ، ومنذ ذلك الحين تم تمديده ولكن لم يتم استبداله تمامًا بنموذج بيانات Drupal Legacy وتصميم قاعدة البيانات. نحن مفتوح المصدر ونشارك بنشاط في برامج OSS المختلفة مثل Google Summer of Code (GSOC) و Rails Girls Summer of Code (RGSOC) و Outreachy و Google Code-In (GCI). تشمل بعض الميزات الرئيسية:
نحن نقوم بتطوير مشروع خريطة طريق لل plots2 ومشاريعنا الأوسع في قانون المختبرات العامة ؛ اقرأ المزيد وتعليق هنا.
يمكن العثور على وصف كامل للميزات والجمهور والعلاقات المتبادلة وأهداف مشاريع برامج المختبر العام هنا: https://publiclab.org/software-overview
يتخذ الأشخاص الذين يقومون بإنشاء منصتنا قرارات مختلفة تمامًا عن التصميم والتكنولوجيا من مشاريع أخرى. هذا ينبع من اعتقادنا العميق بأنه لرؤية تغيير في العالم ، يجب علينا بناء وأنظمة تعكس قيمنا ومبادئنا.
من التصميم إلى بنية النظام إلى أنماط المفردات والاتصالات الأساسية ، نمت أنظمتنا بشكل عضوي منذ عام 2010 لدعم شبكة قوية ومتنوعة وتعاونية من الأشخاص القادرين على مواجهة المشكلات البيئية التي تؤثر على المجتمعات على مستوى العالم. تتحدث المنصة التي بنيناها معًا إلى هذا التاريخ المشترك بعدة طرق ، كبيرة وصغيرة. ويعكس مدخلات من الأشخاص الذين يواجهون قضايا صحية خطيرة ، والمنظمين على أرض الواقع ، ومتخصصين في السياسة ، ومتسلولي الأجهزة ، والمعلمين ، وموظفي الخدمة المدنية.
قام هذا المجتمع العريض وفريق المختبر العام بتيسير مساحة حيث يمكننا مناقشة المشاريع الواقعية وإنشائها وبناءها ونموذجها ونقدها. لقد قمنا معًا بتشكيل منصة تتضمن قطعًا مألوفة ولكنها تبدو في النهاية مختلفة عن أي شيء آخر على الإنترنت. على الرغم من نمو منصتنا ، إلا أنه لا يزال ملتزماً بسماع أصوات الآخرين ، والاحترام والدعم المتبادلين ، والوعي بالحواجز والتحديات التي تقدمها الفجوات في الخبرة والمعرفة ، وحساسية عدم المساواة واختلال القوة التي تديمها العديد من أوضاع إنتاج المعرفة والتطور التكنولوجي والعلم.
لقد سمح لنا هدفنا المتبادل بضعف تقنيات القيام به غير مكلفة ويمكن الوصول إليها بنفسك بإنشاء شبكة تعاونية من الممارسين الذين يعيدون تصور العلاقة الإنسانية بنشاط. يتم دعم أهدافنا وتسهيلها من قبل نظام يسأل وحتى يتحدى كيف يمكن أن يحدث العمل التعاوني.

(أعلاه: مسودة نموذج البيانات لدينا)
نرحب بالمساهمات ، ونهتم بشكل خاص بالترحيب بالمساهمين لأول مرة. اقرأ المزيد عن كيفية المساهمة أدناه! نرحب بشكل خاص بالمساهمات من الأشخاص الذين ينتمون إلى مجموعات ممثلة تمثيلا ناقصا في برامج مجانية ومفتوحة المصدر!
يرجى قراءة والالتزام بمدونة قواعد سلوكنا ؛ يطمح مجتمعنا إلى أن يكون مكانًا محترمًا أثناء التفاعلات عبر الإنترنت والشخصية.
للتثبيت ، تشمل المتطلبات الأساسية SQLITE3 و RVM. انقر هنا للحصول على قائمة كاملة والتعليمات.
git clone https://github.com/your_username/plots2.git حيث يكون your_username هو اسم المستخدم الخاص بك.cd plots2 .git remote add upstream https://github.com/publiclab/plots2.gitbundle install أولاً إذا كان لديك جواهر أقدم في بيئتك من أعمال القضبان السابقة. إذا حصلت على رسالة خطأ مثل Your Ruby version is 2.xx, but your Gemfile specified 2.7.3 فأنت بحاجة إلى تثبيت Ruby الإصدار 2.7.3 باستخدام rvm أو rbenv .rvm install 2.7.3 متبوعًا بـ rvm use 2.7.3rbenv install 2.7.3 يليه rbenv local 2.7.3bundle config set without 'production mysql' من مجلد Rails Root لتعيين مشروعك لاستبعاد المكتبات المطلوبة فقط في الإنتاج.bundle install من مجلد Rails Root.cp db/schema.rb.example db/schema.rb لعمل نسخة من db/schema.rb.example في db/schema.rb .sqlite3 كقاعدة بيانات PLOTS2 الخاصة بك لأن بعض المساهمين لدينا قد أبلغوا عن مشكلات أثناء استخدام mysql2 .cp config/database.yml.mysql.example config/database.yml لعمل نسخة من config/database.yml.mysql.example في config/database.ymlcp config/database.yml.sqlite.example config/database.yml لإجراء نسخة من config/database.yml.sqlite.example في config/database.yml . يرجى ملاحظة ما إذا كنت اخترت استخدام SQLite قد تفشل بعض الاختبارات. تم إعداد المشروع مبدئيًا لاستخدام MySQL وبعض الاختبارات مصممة خصيصًا لـ MySQL DB. لا حاجة لإنذار ، نحن نعمل على إصلاحها وهذا لن يتداخل مع عملية التطوير الخاصة بكrake db:setup لإعداد قاعدة البياناتyarn installrails webpacker:install && rails webpacker:install:react && rails generate react:install (للاطلاع على عمل SSL المحلي ، انظر SSL أدناه)passenger start وانتقل إلى http://localhost:3000/ على متصفحك.rails test لتأكيد أن التثبيت يعمل بشكل صحيح. يمكنك أيضًا تشغيل rails test:system لاختبارات النظام. ( ملاحظة: إذا اخترت SQLite كقاعدة بياناتك ، فقد تفشل بعض الاختبارات ؛ يرجى تجاهلها ، فنحن نعمل على إصلاح هذا. إذا بدأ الخادم الخاص بك بشكل صحيح ، فأنت جميعًا قد تم تعيينك )نوصيك إما بالعمل في بيئة افتراضية ، أو في نظام تمهيد مزدوج لتجنب مشكلات التبعيات لأن أنظمة UNIX تميل إلى العمل أكثر سلاسة مع Ruby و Rails. لن يفيدك هذا الآن فقط من أجل Plots2 ، ولكن أيضًا في المستقبل أثناء العمل على مشاريع Ruby الأخرى ، سيجعل نظام التشغيل Linux أو Mac الخاص بك أسهل بكثير.
قبل المتابعة مع خطوات التثبيت في هذه القراءة ، يجب على مستخدمي Windows Subsystem for Linux 2 (WSL 2) فتح محطة WSL 2 واكتب الأوامر أدناه.
sudo apt updatesudo apt install curl g++ gcc autoconf automake bison libc6-devsudo apt install libffi-dev libgdbm-dev libncurses5-dev libsqlite3-dev libtoolsudo apt install libyaml-dev make pkg-config sqlite3 zlib1g-dev libgmp-devsudo apt install libreadline-dev libssl-devsudo apt install gnupg2gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDBcurl -sSL https://get.rvm.io | bash -s stablesource ~/.rvm/scripts/rvmrvm install ruby-xxx (this projects Ruby version)rvm --default use ruby-xxx (replace xxx with this project's Ruby version)يستخدم المختبر العام redis وقد يكون مطلوبًا لبعض الوظائف عند تشغيل التطبيق محليًا.
brew install redissudo yum -y install redissudo apt update && apt upgradesudo apt install Redis-serversudo nano /etc/redis/redis.confsudo service redis-server startredis-cliping والاستجابة يجب أن يكون pongquitbrew services start redisredis-serverbundle exec sidekiqفي Public Lab ، نستخدم GEM OpenSSL لتوفير طبقة SSL (طبقة مآخذ آمنة) لاتصال آمن (HTTPS) في وضع التطوير. يمكنك تشغيل اتصال HTTPS على المضيف المحلي من خلال الخطوات التالية:
passenger start --ssl --ssl-certificate config/localhost.crt --ssl-certificate-key config/localhost.key --ssl-port 3001 .بمجرد إكمال التثبيت ، استخدم أيًا من بيانات الاعتماد هذه لتسجيل الدخول إلى موقع الويب PL في بيئة التطوير/الاختبار المحلي لاكتساب أذونات إضافية للمستخدمين الذين تم تسجيلهم فقط. كل واحد يأتي مع مجموعة الأذونات الخاصة به. ومع ذلك ، فإن التجربة عبرهم هي نفسها إلى حد كبير.
اسم المستخدم : admin أو moderator أو user
كلمة المرور : password
لمعرفة المزيد عن أنظمة تسجيل الدخول ، راجع هذه الصفحة
انقر هنا للحصول على وصف شامل للاختبار وهنا للتعرف على اختبارات النظام.
whenever --update-crontab لتحديث وظائف CRON.crontab -l بالنسبة للبعض ، سيكون من الضروري إعداد أوامرك المتعلقة بالأحجار الكريمة مع bundle exec . على سبيل المثال ، bundle exec passenger start . تضمن إضافة bundle exec أنك تستخدم إصدار الركاب الذي قمت بتثبيته للتو باستخدام Bundler. bundle exec rake db:setup ، bundle exec rake db:seed هي أمثلة أخرى للمكان الذي قد يكون هذا ضروريًا.
يدعم المختبر العام الآن ميزة "الرد عبر البريد الإلكتروني للتعليق". لمزيد من التفاصيل ، انتقل إلى وثائق البريد الإلكتروني
للإبلاغ عن الأخطاء وطلب الميزات ، يرجى استخدام تعقب قضية Github
للحصول على دعم إضافي ، انضم إلى موقع الويب الخاص بالمختبر العام وقائمة البريد على http://publiclab.org/lists. للحصول على طلبات عاجلة ، أرسل بريدًا إلكترونيًا إلى [email protected]
يستخدم هذا التطبيق recaptcha عبر GEM Recaptcha في الإنتاج فقط. لمزيد من المعلومات ، انقر هنا.
PublicLab.org يدعم الآن التدويل والتوطين ، على الرغم من أننا في المراحل الأولية. وقد تم ذلك مع Rails-I8n.
لرؤيته في العمل ، انقر فوق "اللغة" المنسدلة الموجودة في قسم التذييل في الصفحة. يمكن العثور على جميع الإرشادات وأفضل الممارسات لـ I18N هنا.
يتم ترتيب الترجمات في ملفات YAML هنا ، والتي يتم تعيينها بطريقة مماثلة لملفات طرق العرض. مثال على إضافة ترجمات يمكن العثور عليها هنا.
منذ تنفيذ نظام الترجمة الجديد لدينا ، نستخدم الآن Helper translation() ، الموجود هنا. يوفر هذا بعض ميزات الترجمة الإضافية مثل إدخال موجه مرئي لزوار الموقع في حالة عدم وجود ترجمة حتى الآن. يمكنك معرفة المزيد عن نظام الترجمة الخاص بنا من خلال قراءة مستندات نظام الترجمة لدينا.
لإضافة لغات جديدة أو للحصول على دعم إضافي ، يرجى الكتابة إلى [email protected]
للإبلاغ عن نقاط الضعف الأمنية أو عن أسئلة حول الأمان ، يرجى الاتصال بـ [email protected]. سوف تقوم مجموعة عمل الويب لدينا بتقييم وتستجيب على الفور.
تساعد في تحسين برنامج المختبر العام!
جديد لفتح المصدر/البرامج المجانية؟ فيما يلي مجموعة مختارة من المشكلات التي قمنا بها خاصة بالنسبة للممتدين الأولين . نحن هنا للمساعدة ، لذا فقط اسأل عما إذا كان المرء يبدو مثيرًا للاهتمام: https://code.publiclab.org
فيما يلي رابط لسير العمل GIT الخاص بنا.
هل ترغب في المساهمة في PublicLab كجزء من Hacktoberfest؟ تحقق من مستندات Hacktoberfest الخاصة بنا