
パブリックラボリサーチコミュニティのコンテンツ管理システム、 plots2 Webアプリケーションは、「Research Notes」と呼ばれるグループ研究ブログとWikiの組み合わせです。データモデルの詳細については、こちらをご覧ください。
このコードベースをすぐにGitPodで実行し(および貢献します):
環境技術、設計、ドキュメント、コミュニティの組織化に関するパブリックラボコミュニティが協力するのに役立つさまざまな機能を紹介しています。もともとDrupalサイトでしたが、2012年にRuby on Railsで書き直され、その後拡張されましたが、まだ完全には完全に置き換えられていませんでした。オープンソースで、Google Summer of Code(GSOC)、Rails Girls Summer of Code(RGSOC)、Autreachy、Google Code-In(GCI)などのさまざまなOSSプログラムに積極的に参加しています。いくつかの重要な機能は次のとおりです。
私たちは、 plots2とより広範な公共研究所コードプロジェクトのロードマップドラフトを開発しています。詳細を読んで、こちらをコメントしてください。
パブリックラボソフトウェアプロジェクトの機能、視聴者、相互関係、および目標の完全な説明は、https://publiclab.org/software-overviewにあります。
私たちのプラットフォームを作成する人々は、他のプロジェクトから非常に異なる設計と技術の決定を下します。これは、世界の変化を見るためには、私たちの価値と原則を反映するシステムを構築し、維持しなければならないという私たちの深い信念に由来しています。
設計からシステムアーキテクチャ、基本的な語彙やコミュニケーションパターンまで、私たちのシステムは2010年以来有機的に成長し、世界的にコミュニティに影響を与える環境問題を引き受けることができる人々の強力で多様で協力的なネットワークをサポートしています。私たちが一緒に構築したプラットフォームは、この共有された歴史について、大小さまざまな方法で語っています。これは、深刻な健康問題に直面している人々、地上の主催者、政策スペシャリスト、ハードウェアハッカー、教育者、公務員からの意見を反映しています。
この幅広いコミュニティとパブリックラボチームは、現実世界のプロジェクトを議論、分解、構築、プロトタイプ、批評できるスペースを促進しました。一緒に、おなじみの作品を組み込んだプラットフォームを形作りましたが、最終的にはインターネット上の他のものとはまったく異なるように見えます。私たちのプラットフォームの成長にもかかわらず、他者の声、相互尊重と支援、専門知識と知識のギャップによって提示される障壁と課題の認識、および知識生産と技術と科学の開発の多くの主流モードによって永続化された不平等と権力の不均衡に対する感受性を聞くことに引き続きコミットしています。
安価でアクセスしやすい日曜大工のテクニックを民主化するという相互の目的により、環境との人間関係を積極的に再想像する実務家の共同ネットワークを作成することができました。私たちの目標は、共同作業がどのように起こるかに疑問を呈し、挑戦するシステムによってサポートされ、促進されます。

(上記:データモデルのドラフト)
私たちは貢献を歓迎し、特に初めての貢献者を歓迎することに興味があります。以下で貢献する方法の詳細を読んでください!特に、無料でオープンソースのソフトウェアで過小評価されているグループに属する人々からの貢献を歓迎します!
私たちの行動規範を読んで遵守してください。私たちのコミュニティは、オンラインと個人的なやり取りの両方で敬意を表する場所になることを目指しています。
インストールの場合、前提条件にはSQLite3およびRVMが含まれます。完全なリストと手順については、ここをクリックしてください。
git clone https://github.com/your_username/plots2.gitでyour_usernameレポのコピーをダウンロードします。cd plots2を使用して新しい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 rvmまたはrbenvを使用してRubyバージョン2.7.3をインストールする必要があります。rvm install 2.7.3に続いてrvm use 2.7.3rbenv install 2.7.3に続いてrbenv local 2.7.3bundle config set without 'production mysql'実行して、プロジェクトを設定して、生産に必要なライブラリを除外します。bundle installたGEMSをインストールします。cp db/schema.rb.example db/schema.rbを実行して、 db/schema.rb.example db/schema.rbのコピーを作成します。mysql2を使用している間、貢献者の一部が問題を報告しているため、Plots2データベースとしてsqlite3を使用することをお勧めします。cp config/database.yml.mysql.example config/database.ymlを実行して、config config/database.yml.mysql.example config/database.ymlコピーを作成します。cp config/database.yml.sqlite.example config/database.ymlを実行して、config config/database.yml.sqlite.example config/database.ymlコピーを作成します。 SQLiteを使用することを選択した場合は、一部のテストが失敗する可能性があることに注意してください。プロジェクトは最初はMySQLを使用するように設定されており、一部のテストはMySQL DB用に調整されています。アラームの必要はありません、私たちはこれらを修正するために取り組んでおり、これはあなたの開発プロセスを妨害しませんrake db:setupyarn installで静的資産(外部JavaScriptライブラリ、フォントなど)をインストールするrails 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ベースのOSがあなたの開発をはるかに容易にします。
このREADMEのインストール手順を継続する前に、Linux 2(WSL 2)のWindowsサブシステムのユーザーは、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とResponseはpongなければなりませんquitbrew services start redisredis-serverbundle exec sidekiqパブリックラボでは、OpenSSL GEMを使用して、開発モードで安全な接続(HTTPS)にSSL(Secure Socketsレイヤー)を提供します。次の手順で、localhostでHTTPS接続を実行できます。
passenger start --ssl --ssl-certificate config/localhost.crt --ssl-certificate-key config/localhost.key --ssl-port 3001 。インストールを完了したら、これらの資格情報のいずれかを使用して、ローカル開発/テスト環境でPL Webサイトにログインして、ユーザーにログインした追加のアクセス許可を取得します。それぞれに独自の許可セットが付属しています。それにもかかわらず、それらの経験はほとんど同じです。
ユーザー名: admin 、 moderator 、またはuser
パスワード: password
ログインシステムの詳細については、このページを参照してください
テストの包括的な説明については、ここをクリックしてください。ここでは、システムテストについて学びます。
whenever --update-crontabコマンドを実行します。crontab -lを使用します一部の場合、 bundle execでGEM関連のコマンドを準備する必要があります。たとえば、 bundle exec passenger start 。 bundle execを追加すると、バンドラーでインストールされたばかりの乗客のバージョンを使用しています。 bundle exec rake db:setup 、 bundle exec rake db:seedこれが必要になる可能性のある他の例です。
パブリックラボは、「コメントするために電子メールによる返信」機能をサポートするようになりました。詳細については、電子メールのドキュメントをご覧ください
バグとリクエスト機能を報告するには、GitHub Issue Trackerを使用してください
追加のサポートについては、http://publiclab.org/listsにパブリックラボWebサイトとメーリングリストに参加してください。緊急のリクエストについては、[email protected]にメールしてください
このアプリケーションは、生産のみでRecaptcha Gemを介してRecaptchaを使用します。詳細については、ここをクリックしてください。
PublicLab.orgは、初期段階にありますが、国際化とローカリゼーションをサポートするようになりました。これはRails-I8nで達成されています。
動作しているのを確認するには、ページのフッターセクションにある「言語」ドロップダウンをクリックします。 I18Nのすべてのガイドラインとベストプラクティスは、ここで見つけることができます。
翻訳は、ここのYAMLファイルに配置されており、ファイルを表示するのと同様の方法で設定されています。翻訳を追加する例は、こちらをご覧ください。
新しい翻訳システムの実装以来、ここにあるtranslation()ヘルパーを使用します。これにより、翻訳がまだ存在しない場合は、サイト訪問者に表示されるプロンプトを挿入するなど、いくつかの追加の翻訳機能が提供されます。翻訳システムのドキュメントを読んで、翻訳システムの詳細を確認できます。
新しい言語を追加するか、追加のサポートについては、[email protected]に書いてください
セキュリティの脆弱性を報告するか、セキュリティに関する質問については、[email protected]にお問い合わせください。当社のWebワーキンググループは、迅速に評価および応答します。
パブリックラボソフトウェアの改善を手伝ってください!
オープンソース/フリーソフトウェアは初めてですか?以下は、特に初めての人のために行った問題の選択です。私たちはここにいるので、面白そうに見えるかどうか尋ねてください:https://code.publiclab.org
これがGitワークフローへのリンクです。
Hacktoberfestの一部としてPublicLabに貢献したいですか? HacktoberFestの寄稿ドキュメントをご覧ください