
Das Content -Management -System für die öffentliche Labor -Forschungsgemeinschaft ist die plots2 -Webanwendung eine Kombination aus einem Gruppenforschungsblog -wie wir "Forschungsnotizen" und ein Wiki bezeichnen. Lesen Sie hier mehr über das Datenmodell.
Beginnen Sie mit dem Ausführen (und tragen Sie dazu bei) diese Codebasis sofort mit Gitpod:
Es zeigt eine Vielzahl von Funktionen, die der öffentlichen Labor -Community helfen, die Organisation von Umwelttechnologie, Design, Dokumentation und Gemeinschaftsorganisation zusammenzuarbeiten. Ursprünglich ein Drupal -Standort, wurde es 2012 mit Ruby on Rails umgeschrieben und hat das Legacy -Drupal -Datenmodell und das Datenbankdesign seitdem erweitert, aber noch nicht vollständig ersetzt. Wir ❤️ Open Source und aktiv nehmen an verschiedenen OSS-Programmen wie Google Summer of Code (GSOC), Rails Girls Summer of Code (RGSOC), Outreachy und Google Code-In (GCI) teil. Einige wichtige Funktionen sind:
Wir entwickeln einen Entwurf für plots2 und unsere umfassenderen Projekte für öffentliche Laborkodex. Lesen Sie mehr und kommentieren Sie hier.
Eine vollständige Beschreibung der Funktionen, Publikum, Wechselbeziehungen und Ziele von öffentlichen Laborsoftwareprojekten finden Sie hier: https://publiclab.org/software-overview
Die Menschen, die unsere Plattform erstellen, machen sehr unterschiedliche Design- und Technologieentscheidungen bei anderen Projekten. Dies ergibt sich aus unserer tiefen Überzeugung, dass wir, um eine Veränderung in der Welt zu sehen, Systeme aufbauen und aufrechterhalten müssen, die unsere Werte und Prinzipien widerspiegeln.
Von Design über die Systemarchitektur über das grundlegende Vokabular- und Kommunikationsmuster sind unsere Systeme seit 2010 organisch gewachsen, um ein leistungsstarkes, vielfältiges und kooperatives Netzwerk von Menschen zu unterstützen, die in der Lage sind, Umweltprobleme zu übernehmen, die sich weltweit auf die Gemeinden auswirken. Die Plattform, die wir zusammen aufgebaut haben, spricht in vielerlei Hinsicht in vielerlei Hinsicht, groß und klein. Es spiegelt die Beiträge von Menschen wider, die ernsthafte gesundheitliche Probleme, Organisatoren vor Ort, Politikspezialisten, Hardware-Hackern, Pädagogen und Beamten konfrontiert haben.
Diese breite Community und das öffentliche Laborteam haben einen Raum erleichtert, in dem wir reale Projekte mit realen Welt diskutieren, aufschlüsseln, konstruieren, Prototypen und Kritik diskutieren können. Gemeinsam haben wir eine Plattform geprägt, die vertraute Stücke enthält, aber letztendlich ganz anders aussieht und sich von allem anderen im Internet anders anfühlt. Trotz des Wachstums unserer Plattform bleibt es weiterhin verpflichtet, die Stimmen anderer zu hören, gegenseitiger Respekt und Unterstützung, ein Bewusstsein für die Hindernisse und Herausforderungen, die durch Fachwissen und Wissensunterschiede vorgestellt werden, sowie eine Sensibilität für die Ungleichheiten und Machtungleichgewichte durch viele Mainstream -Modi der Wissensproduktion sowie die technologische und wissenschaftliche Entwicklung.
Unser gegenseitiges Ziel, kostengünstige und zugängliche Do-it-yourself-Techniken zu demokratisieren, hat es uns ermöglicht, ein kollaboratives Netzwerk von Praktikern zu schaffen, die sich die menschliche Beziehung zur Umwelt aktiv vorstellen. Unsere Ziele werden durch ein System unterstützt und erleichtert, das Fragen und sogar herausfordert, wie kollaborative Arbeiten geschehen können.

(Oben: Entwurf unseres Datenmodells)
Wir begrüßen Beiträge und sind besonders daran interessiert, Erstversuche zu begrüßen. Lesen Sie mehr darüber, wie Sie unten beitragen! Wir begrüßen besonders Beiträge von Personen, die zu Gruppen gehören, die in der kostenlosen und Open-Source-Software unterrepräsentiert sind!
Bitte lesen und halten Sie unseren Verhaltenskodex; Unsere Community strebt an, sowohl während der Online- als auch in der persönlichen Interaktionen ein respektvoller Ort zu sein.
Zur Installation umfassen die Voraussetzungen SQLite3 und RVM. Klicken Sie hier, um eine vollständige Liste und Anweisungen zu erhalten.
git clone https://github.com/your_username/plots2.git herunter, wo your_username Ihr Github -Benutzername ist.cd plots2 ein.git remote add upstream https://github.com/publiclab/plots2.gitbundle install wenn Sie ältere Edelsteine in Ihrer Umgebung aus früheren Schienen haben. Wenn Sie eine Fehlermeldung wie Your Ruby version is 2.xx, but your Gemfile specified 2.7.3 , müssen Sie die Ruby -Version 2.7.3 mit rvm oder rbenv installieren.rvm install 2.7.3 gefolgt von rvm use 2.7.3rbenv install 2.7.3 gefolgt von rbenv local 2.7.3bundle config set without 'production mysql' aus dem Rails Root -Ordner aus, um Ihr Projekt so festzulegen, dass Bibliotheken nur für die Produktion benötigt werden.bundle install aus dem Schienenwurzelordner.cp db/schema.rb.example db/schema.rb aus, um eine Kopie von db/schema.rb.example in db/schema.rb zu erstellen.sqlite3 als Ihre Plots2 -Datenbank zu verwenden, da einige unserer Mitwirkenden Probleme bei der Verwendung mysql2 gemeldet haben .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 aus, um eine Kopie von config/database.yml.sqlite.example in config/database.yml zu erstellen. Bitte beachten Sie, ob Sie SQLite verwenden möchten, einige Tests können fehlschlagen. Das Projekt wurde zunächst eingerichtet, um MySQL zu verwenden, und einige Tests sind auf MySQL DB zugeschnitten. Keine Notwendigkeit für Alarm, wir arbeiten daran, diese zu beheben, und dies wird Ihren Entwicklungsprozess nicht beeinträchtigenrake db:setup , um die Datenbank einzurichtenyarn installrails webpacker:install && rails webpacker:install:react && rails generate react:install (für lokale SSL -Arbeiten siehe SSL unten)passenger start und navigieren Sie zu http://localhost:3000/ auf Ihrem Browser.rails test aus, um zu bestätigen, dass Ihre Installation ordnungsgemäß funktioniert. Sie können auch rails test:system für Systemtests durchführen. ( Hinweis: Wenn Sie SQLite als Datenbank gewählt haben, können einige Tests fehlschlagen. Bitte ignorieren wir diese, wir arbeiten daran, dies zu beheben. Wenn Ihr Server korrekt startet, sind Sie alle festgelegt .Wir empfehlen, dass Sie entweder in einer virtuellen Umgebung oder in einem Dual -Booted -System arbeiten, um Abhängigkeitenprobleme zu vermeiden, da Unix -Systeme dazu neigen, mit Ruby und Rails reibungsloser zu arbeiten. Dies wird Ihnen jetzt nicht nur für Plots2 profitieren, sondern auch in Zukunft, während Sie an anderen Ruby -Projekten arbeiten. Ein Linux- oder Mac -basiertes Betriebssystem wird Ihre Entwicklung erheblich erleichtern.
Bevor Sie mit den Installationsschritten in diesem Readme fortfahren, sollten Benutzer des Windows -Subsystems für Linux 2 (WSL 2) das WSL 2 -Terminal öffnen und die folgenden Befehle eingeben.
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)Das öffentliche Labor verwendet Redis und kann für einige Funktionen erforderlich sein, wenn die Anwendung lokal ausgeführt wird.
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 sollte pong seinquitbrew services start redisredis-serverbundle exec sidekiqIm öffentlichen Labor verwenden wir das OpenSSL -Gem, um SSL (Secure Sockets Layer) für eine sichere Verbindung (HTTPS) im Entwicklungsmodus bereitzustellen. Sie können die HTTPS -Verbindung in Localhost in den folgenden Schritten ausführen:
passenger start --ssl --ssl-certificate config/localhost.crt --ssl-certificate-key config/localhost.key --ssl-port 3001 .Sobald Sie die Installation abgeschlossen haben, verwenden Sie diese Anmeldeinformationen, um sich in Ihrer lokalen Entwicklungs-/Testumgebung auf der PL -Website anzumelden, um zusätzliche Berechtigungen für protokollierte Benutzer zu erhalten. Jeder kommt mit eigenen Berechtigungen; Trotzdem ist die Erfahrung in ihnen ziemlich gleich.
Benutzername : admin , moderator oder user
Passwort : password
Weitere Informationen zu den Anmeldesystemen finden Sie auf dieser Seite
Klicken Sie hier, um eine umfassende Beschreibung des Tests und hier zu erhalten, um mehr über Systemtests zu erfahren.
whenever --update-crontab , um die Cron-Jobs zu aktualisieren.crontab -l Für einige ist es notwendig, Ihre Edelsteinbefehle mit bundle exec vorzubereiten. Zum Beispiel bundle exec passenger start . Durch das Hinzufügen von bundle exec stellt Sie sicher, dass Sie die Version von Passagier verwenden, die Sie gerade mit Bundler installiert haben. bundle exec rake db:setup , bundle exec rake db:seed sind weitere Beispiele dafür, wo dies erforderlich sein könnte.
Das öffentliche Labor unterstützt jetzt die Funktion "Antwort per E -Mail -to -Kommentar". Weitere Informationen finden Sie in der E -Mail -Dokumentation
Um Fehler zu melden und Funktionen anzufordern, verwenden Sie bitte den GitHub -Ausgabe -Tracker
Für zusätzliche Unterstützung gehen Sie der öffentlichen Labor -Website und der Mailingliste unter http://publiclab.org/lists bei. Für dringende Anfragen senden Sie eine E -Mail an [email protected]
Diese Anwendung verwendet Recaptcha nur über das Recaptcha -Gem in der Produktion. Weitere Informationen finden Sie hier.
PublicLab.org unterstützt jetzt die Internationalisierung und Lokalisierung, obwohl wir uns in den Anfangsphasen befinden. Dies wurde mit Rails-i8n erreicht.
Um es in Aktion anzuzeigen, klicken Sie auf die Dropdown-Liste "Sprache" im Abschnitt Fußzeile der Seite. Alle Richtlinien und Best Practices für I18N finden Sie hier.
Übersetzungen sind in den YAML -Dateien hier angeordnet, die in ähnlicher Weise wie Ansichtsdateien festgelegt sind. Ein Beispiel zum Hinzufügen von Übersetzungen finden Sie hier.
Seit der Implementierung unseres neuen Übersetzungssystems verwenden wir jetzt den hier gefundenen translation() Helfer. Dies bietet einige zusätzliche Übersetzungsfunktionen wie das Einfügen einer Eingabeaufforderung, die auf Site -Besuchern sichtbar ist, wenn noch keine Übersetzung vorhanden ist. Sie können mehr über unser Übersetzungssystem erfahren, indem Sie unsere Übersetzungssystemdokumente lesen.
Um neue Sprachen hinzuzufügen oder zusätzliche Unterstützung zu erhalten
Um Sicherheitslücken zu melden oder Fragen zur Sicherheit zu erhalten, wenden Sie sich bitte an [email protected]. Unsere Web -Arbeitsgruppe wird sofort bewerten und antworten.
Verbesserung der öffentlichen Laborsoftware!
Neu in Open Source/Free Software? Hier finden Sie eine Auswahl an Problemen, die wir speziell für Erstspiele gemacht haben. Wir sind hier, um zu helfen. Fragen Sie also, ob man interessant aussieht: https://code.publiclab.org
Hier ist ein Link zu unserem Git -Workflow.
Möchten Sie als Teil des Hacktoberfests bei PublicLab beitragen? Schauen Sie sich unsere Hacktoberfest an, die Docs beitragen