
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 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贡献文档