
plots2 Web應用程序的內容管理系統是小組研究博客的組合 - 我們稱之為“研究筆記”和Wiki。在此處閱讀有關數據模型的更多信息。
立即開始使用gitpod運行(並貢獻)此代碼庫:
它展示了各種功能,可幫助公共實驗室社區在環境技術,設計,文檔和社區組織方面合作。它最初是一個Drupal網站,於2012年通過Ruby在Rails上進行了重寫,此後又擴展了,但還沒有完全取代Legacy Drupal數據模型和數據庫設計。我們開源的,積極參與各種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輸入新的圖2目錄。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在導軌根文件夾中。cp db/schema.rb.example db/schema.rb以在db db/schema.rb.example schema.rb中的db/schema.rb 。sqlite3作為您的圖2數據庫,因為我們的一些貢獻者在使用mysql2時報告了問題。cp config/database.yml.mysql.example config/database.yml ,在config/database.yml中製作config/database.yml.mysql.example的副本cp config/database.yml.sqlite.example config/database.yml以在config/database.yml中的config/database.yml.sqlite.example進行副本。請注意,如果您選擇使用SQLite,則某些測試可能會失敗。該項目最初是為使用MySQL設置的,並且對MySQL DB進行了一些測試。無需警報,我們正在努力解決這些問題,這不會干擾您的開發過程rake db:setup以設置數據庫yarn 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更加順暢。這不僅將使您現在對圖2的好處,而且將來在從事其他Ruby項目時,Linux或Mac的OS將使您的開髮變得更加容易。
在繼續使用此讀數中的安裝步驟之前,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 gnupg2 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類型應為pongquitbrew services start redisredis-serverbundle exec sidekiq在公共實驗室,我們使用OpenSL GEM在開發模式下為安全連接(HTTPS)提供SSL(安全套接字層)。您可以通過以下步驟在Localhost上運行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將與GEM相關的命令進行預處理。例如, 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文件中排列,這些文件以與視圖文件相似的方式設置。可以在此處找到一個添加翻譯的示例。
自從實現新的翻譯系統以來,我們現在使用translation()助手,此處找到。這提供了一些額外的翻譯功能,例如如果尚不存在翻譯,請插入站點訪問者可見的及時。您可以通過閱讀我們的翻譯系統文檔來了解有關我們的翻譯系統的更多信息。
要添加新語言或額外支持,請寫入[email protected]
要報告安全漏洞或有關安全性問題,請聯繫[email protected]。我們的網絡工作組將及時評估和響應。
幫助改善公共實驗室軟件!
新的到開源/免費軟件?這是我們特別針對初學者提出的一些問題。我們在這裡提供幫助,所以只問一個看起來很有趣:https://code.publiclab.org
這是我們GIT工作流程的鏈接。
希望為Hacktoberfest的一部分為PublicLab做出貢獻嗎?查看我們的Hacktoberfest貢獻文檔