
Le système de gestion de contenu pour la communauté de recherche de laboratoire public, l'application Web plots2 est une combinaison d'un blog de recherche de groupe - ce que nous appelons des «notes de recherche» - et un wiki. En savoir plus sur le modèle de données ici.
Commencez à exécuter (et à contribuer à) cette base de code immédiatement avec Gitpod:
Il présente une variété de fonctionnalités qui aident la communauté du laboratoire public à collaborer à la technologie environnementale, à la conception, à la documentation et à l'organisation communautaire. À l'origine un site Drupal, il a été réécrit en 2012 avec Ruby on Rails et a depuis étendu mais pas encore entièrement remplacé le modèle de données Drupal hérité et la conception de la base de données. Nous ❤️ open source et participons activement à divers programmes OSS tels que Google Summer of Code (GSOC), Rails Girls Summer of Code (RGSOC), Outreachy et Google Code-In (GCI). Certaines fonctionnalités clés incluent:
Nous développons un projet de feuille de route pour plots2 et nos projets plus larges du code de laboratoire; Lisez la suite et commentez ici.
Une description complète des fonctionnalités, des publics, des interrélations et des objectifs des projets de logiciels de laboratoire publics peuvent être trouvés ici: https://publiclab.org/software-overview
Les personnes qui créent notre plateforme prennent des décisions de conception et de technologie très différentes d'autres projets. Cela découle de notre profonde conviction que, pour voir un changement dans le monde, nous devons construire et maintenir des systèmes qui reflètent nos valeurs et nos principes.
De la conception à l'architecture du système en passant par les modèles de vocabulaire et de communication de base, nos systèmes se sont développés de manière organique depuis 2010 pour soutenir un réseau puissant, diversifié et coopératif de personnes capables de résoudre des problèmes environnementaux qui affectent les communautés dans le monde. La plate-forme que nous avons construite ensemble parle de cette histoire partagée à bien des égards, grande et petite. Il reflète les contributions des personnes confrontées à de graves problèmes de santé, aux organisateurs sur le terrain, aux spécialistes des politiques, aux pirates de matériel, aux éducateurs et aux fonctionnaires.
Cette large communauté et l'équipe de laboratoire public ont facilité un espace où nous pouvons discuter, décomposer, construire, prototype et critiquer les projets du monde réel. Ensemble, nous avons façonné une plate-forme qui incorpore des pièces familières mais qui semble finalement et se sent très différente de toute autre chose sur Internet. Malgré la croissance de notre plate-forme, il reste déterminé à entendre les voix des autres, le respect mutuel et le soutien, la sensibilisation aux obstacles et aux défis présentés par des lacunes dans l'expertise et les connaissances, et une sensibilité aux inégalités et déséquilibres de pouvoir perpétués par de nombreux modes grand public de production de connaissances et de développement technologique et scientifique.
Notre objectif mutuel de démocratiser les techniques de bricolage bon marché et accessibles nous a permis de créer un réseau collaboratif de praticiens qui réinventent activement la relation humaine avec l'environnement. Nos objectifs sont soutenus et facilités par un système qui remet en question et même défie la façon dont le travail collaboratif peut se produire.

(Ci-dessus: brouillon de notre modèle de données)
Nous accueillons les contributions et sommes particulièrement intéressés à accueillir les premiers contributeurs. En savoir plus sur la façon de contribuer ci-dessous! Nous accueillons particulièrement les contributions de personnes appartenant à des groupes sous-représentés dans des logiciels gratuits et open source!
Veuillez lire et respecter notre code de conduite; Notre communauté aspire à être un endroit respectueux à la fois lors des interactions en ligne et en personne.
Pour l'installation, les conditions préalables incluent SQLite3 et RVM. Cliquez ici pour une liste complète et des instructions.
git clone https://github.com/your_username/plots2.git où your_username d'utilisateur github est votre nom d'utilisateur github.cd plots2 .git remote add upstream https://github.com/publiclab/plots2.gitbundle install si vous avez des joyaux plus anciens dans votre environnement à partir de travaux de rails précédents. Si vous obtenez un message d'erreur comme Your Ruby version is 2.xx, but your Gemfile specified 2.7.3 , vous devez installer la version 2.7.3 Ruby à l'aide rvm ou rbenv .rvm install 2.7.3 suivi de rvm use 2.7.3rbenv install 2.7.3 suivi de rbenv local 2.7.3bundle config set without 'production mysql' dans le dossier root rails pour définir votre projet pour exclure les bibliothèques nécessaires en production.bundle install dans le dossier racine des rails.cp db/schema.rb.example db/schema.rb pour faire une copie de db/schema.rb.example dans db/schema.rb .sqlite3 comme base de données PLOTS2 car certains de nos contributeurs ont signalé des problèmes lors de l'utilisation mysql2 .cp config/database.yml.mysql.example config/database.yml pour faire une copie de config/database.yml.mysql.example dans config/database.ymlcp config/database.yml.sqlite.example config/database.yml pour faire une copie de config/database.yml.sqlite.example dans config/database.yml . Veuillez noter que si vous choisissez d'utiliser SQLite, certains tests peuvent échouer. Le projet a été configuré initialement pour utiliser MySQL et certains tests sont adaptés à MySQL DB. Pas besoin d'alarme, nous travaillons pour les résoudre et cela n'interférera pas avec votre processus de développementrake db:setup pour configurer la base de donnéesyarn installrails webpacker:install && rails webpacker:install:react && rails generate react:install (pour le travail SSL local, voir SSL ci-dessous)passenger start et accédez à http://localhost:3000/ sur votre navigateur.rails test pour confirmer que votre installation fonctionne correctement. Vous pouvez également exécuter rails test:system pour les tests système. ( Remarque: si vous avez choisi SQLite comme base de données, certains tests peuvent échouer; veuillez les ignorer, nous travaillons pour résoudre ce problème. Si votre serveur démarre correctement, vous êtes tous définis )Nous vous recommandons de travailler dans un environnement virtuel, soit sur un système à double démarrage pour éviter les problèmes de dépendances car les systèmes UNIX ont tendance à fonctionner plus lisses avec Ruby et Rails. Cela ne vous sera pas seulement bénéfique pour PLOCS2, mais aussi à l'avenir tout en travaillant sur d'autres projets Ruby, un système d'exploitation Linux ou Mac facilitera votre développement.
Avant de continuer avec les étapes d'installation de cette lecture, les utilisateurs du sous-système Windows pour Linux 2 (WSL 2) doivent ouvrir le terminal WSL 2 et taper les commandes ci-dessous.
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)Public Lab utilise Redis et peut être nécessaire pour certaines fonctionnalités lors de l'exécution de l'application localement.
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 & Réponse doit être pongquitbrew services start redisredis-serverbundle exec sidekiqChez Public Lab, nous utilisons le GEM OpenSSL pour fournir SSL (Secure Sockets Layer) pour une connexion sécurisée (HTTPS) en mode de développement. Vous pouvez exécuter la connexion HTTPS sur localhost via les étapes suivantes:
passenger start --ssl --ssl-certificate config/localhost.crt --ssl-certificate-key config/localhost.key --ssl-port 3001 .Une fois que vous avez terminé l'installation, utilisez l'une de ces informations d'identification pour vous connecter dans le site Web de PL dans votre environnement de développement / test local pour obtenir des autorisations supplémentaires pour les utilisateurs connectés uniquement. Chacun est livré avec son propre ensemble d'autorisations; Néanmoins, l'expérience à travers eux est à peu près la même.
Nom d'utilisateur : admin , moderator ou user
Mot de passe : password
Pour en savoir plus sur les systèmes de connexion, consultez cette page
Cliquez ici pour une description complète des tests et ici pour en savoir plus sur les tests système.
whenever --update-crontab pour mettre à jour les travaux CRON.crontab -l Pour certains, il sera nécessaire de prétendre vos commandes liées à GEM avec bundle exec . Par exemple, bundle exec passenger start . L'ajout bundle exec garantit que vous utilisez la version du passager que vous venez d'installer avec Bundler. bundle exec rake db:setup , bundle exec rake db:seed sont d'autres exemples de l'endroit où cela pourrait être nécessaire.
Public Lab prend désormais en charge la fonctionnalité "Répondre par e-mail pour commenter". Pour plus de détails, accédez à la documentation par e-mail
Pour signaler les bogues et les fonctionnalités de demande, veuillez utiliser le tracker GitHub Issue
Pour un support supplémentaire, rejoignez le site Web du Lab Public et la liste de diffusion à http://publiclab.org/lists. Pour les demandes urgentes, envoyez un e-mail à [email protected]
Cette application utilise RecaptCha via le joyau recaptcha en production uniquement. Pour plus d'informations, cliquez ici.
PublicLab.org soutient désormais l'internationalisation et la localisation, bien que nous soyons dans les étapes initiales. Cela a été accompli avec Rails-I8n.
Pour le voir en action, cliquez sur la liste déroulante «Language» située dans la section de pied de page de la page. Toutes les directives et les meilleures pratiques pour i18n peuvent être trouvées ici.
Les traductions sont organisées dans les fichiers YAML ici, qui sont définis de manière similaire aux fichiers de vues. Un exemple d'ajout de traductions peut être trouvé ici.
Depuis la mise en œuvre de notre nouveau système de traduction, nous utilisons maintenant l'assistance translation() , trouvée ici. Cela fournit des fonctionnalités de traduction supplémentaires telles que l'insertion d'une invite visible aux visiteurs du site si aucune traduction n'existe. Vous pouvez en savoir plus sur notre système de traduction en lisant nos documents de système de traduction.
Pour ajouter de nouvelles langues ou pour un support supplémentaire, veuillez écrire à [email protected]
Pour signaler les vulnérabilités de sécurité ou pour des questions sur la sécurité, veuillez contacter [email protected]. Notre groupe de travail Web évaluera et répondra rapidement.
Aidez à améliorer le logiciel de laboratoire public!
Nouveau sur le logiciel open source / libre? Voici une sélection de problèmes que nous avons rencontrés en particulier pour les débutants . Nous sommes ici pour aider, alors demandez-vous si l'on a l'air intéressant: https://code.publiclab.org
Voici un lien vers notre flux de travail GIT.
Vous souhaitez contribuer à PublicLab dans le cadre de Hacktoberfest? Consultez nos documents contribuants à HackToBerfest