
El sistema de gestión de contenido para la comunidad de investigación de laboratorio público, la aplicación web plots2 es una combinación de un blog de investigación grupal, lo que llamamos "notas de investigación", y una wiki. Lea más sobre el modelo de datos aquí.
Comience a ejecutar (y contribuir a) esta base de código inmediatamente con GitPod:
Muestra una variedad de características que ayudan a la comunidad de laboratorio público a colaborar en tecnología ambiental, diseño, documentación y organización comunitaria. Originalmente un sitio de Drupal, se reescribió en 2012 con Ruby on Rails y desde entonces ha extendido, pero aún no ha reemplazado por completo el modelo de datos Drupal Legacy y el diseño de la base de datos. Nosotros ❤️ de código abierto y participamos activamente en varios programas de OSS como Google Summer of Code (GSOC), Rails Girls Summer of Code (RGSOC), Alcance y Google Code-In (GCI). Algunas características clave incluyen:
Estamos desarrollando un borrador de hoja de ruta para plots2 y nuestros proyectos de código de laboratorio público más amplios; Lea más y comente aquí.
Aquí se puede encontrar una descripción completa de las características, audiencias, interrelaciones y objetivos de los proyectos de software de laboratorio público: https://publiclab.org/software-overview
Las personas que crean nuestra plataforma toman decisiones de diseño y tecnología muy diferentes de otros proyectos. Esto se deriva de nuestra profunda creencia de que, para ver un cambio en el mundo, debemos construir y mantener sistemas que reflejen nuestros valores y principios.
Desde el diseño hasta la arquitectura del sistema hasta los patrones básicos de vocabulario y de comunicación, nuestros sistemas han crecido orgánicamente desde 2010 para apoyar una red potente, diversa y cooperativa de personas capaces de asumir problemas ambientales que afectan a las comunidades a nivel mundial. La plataforma que hemos construido juntos habla de esta historia compartida de muchas maneras, grande y pequeña. Refleja el aporte de las personas que enfrentan problemas de salud graves, organizadores en el terreno, especialistas en políticas, piratas informáticos, educadores y funcionarios públicos.
Esta amplia comunidad y el equipo de laboratorio público han facilitado un espacio donde podemos discutir, descomponer, construir, prototipos y criticar proyectos del mundo real. Juntos hemos dado forma a una plataforma que incorpora piezas familiares, pero en última instancia se ve y se siente bastante diferente de cualquier otra cosa en Internet. A pesar del crecimiento de nuestra plataforma, sigue comprometido a escuchar las voces de los demás, el respeto y el apoyo mutuo, la conciencia de las barreras y los desafíos presentados por la brechas en la experiencia y el conocimiento, y una sensibilidad a las desigualdades y desequilibrios de poder perpetuados por muchos modos principales de producción de conocimiento y desarrollo tecnológico y científico.
Nuestro objetivo mutuo de democratizar técnicas de bricolaje económicas y accesibles nos ha permitido crear una red colaborativa de profesionales que vuelvan a imaginar activamente la relación humana con el medio ambiente. Nuestros objetivos son apoyados y facilitados por un sistema que cuestiona e incluso desafía cómo puede ocurrir el trabajo colaborativo.

(Arriba: borrador de nuestro modelo de datos)
Agradecemos las contribuciones y estamos especialmente interesados en dar la bienvenida a los contribuyentes por primera vez. ¡Lea más sobre cómo contribuir a continuación! ¡Damos la bienvenida especialmente las contribuciones de las personas que pertenecen a grupos subrepresentados en software gratuito y de código abierto!
Lea y cumpla con nuestro Código de Conducta; Nuestra comunidad aspira a ser un lugar respetuoso durante las interacciones en línea y en persona.
Para la instalación, los requisitos previos incluyen SQLITE3 y RVM. Haga clic aquí para obtener una lista e instrucciones completas.
git clone https://github.com/your_username/plots2.git donde your_username es su nombre de usuario Github.cd plots2 .git remote add upstream https://github.com/publiclab/plots2.gitbundle install si tiene gemas más antiguas en su entorno de Work anterior Rails. Si recibe un mensaje de error como Your Ruby version is 2.xx, but your Gemfile specified 2.7.3 entonces debe instalar la versión 2.7.3 de Ruby usando rvm o rbenv .rvm install 2.7.3 seguido de rvm use 2.7.3rbenv install 2.7.3 seguido de rbenv local 2.7.3bundle config set without 'production mysql' desde la carpeta Rails Root para establecer su proyecto para excluir las bibliotecas solo necesarias en la producción.bundle install desde la carpeta Rails Root.cp db/schema.rb.example db/schema.rb para hacer una copia de db/schema.rb.example en db/schema.rb .sqlite3 como su base de datos PLOTS2, ya que algunos de nuestros contribuyentes han informado de problemas mientras usan mysql2 .cp config/database.yml.mysql.example config/database.yml para hacer una copia de config/database.yml.mysql.example en config/database.ymlcp config/database.yml.sqlite.example config/database.yml para hacer una copia de config/database.yml.sqlite.example en config/database.yml . Tenga en cuenta que si elige usar SQLite, algunas pruebas pueden fallar. El proyecto se configuró inicialmente para usar MySQL y algunas pruebas están diseñadas para MySQL DB. No hay necesidad de alarma, estamos trabajando para solucionarlos y esto no interferirá con su proceso de desarrollorake db:setup para configurar la base de datosyarn installrails webpacker:install && rails webpacker:install:react && rails generate react:install (para el trabajo local de SSL, consulte SSL a continuación)passenger start y navegue a http://localhost:3000/ en su navegador.rails test para confirmar que su instalación funciona correctamente. También puede ejecutar rails test:system para pruebas del sistema. ( Nota: si elige SQLite como su base de datos, algunas pruebas pueden fallar; por favor ignorelas, estamos trabajando para solucionar esto. Si su servidor comienza correctamente, está listo )Le recomendamos que trabaje en un entorno virtual o en un sistema de arranque dual para evitar problemas de dependencias, ya que los sistemas UNIX tienden a funcionar más suaves con rubí y rieles. Esto no solo lo beneficiará ahora para PLOTS2, sino también en el futuro mientras trabaja en otros proyectos de Ruby, un sistema operativo basado en Linux o Mac hará su desarrollo mucho más fácil.
Antes de continuar con los pasos de instalación en este ReadMe, los usuarios del subsistema de Windows para Linux 2 (WSL 2) deben abrir el terminal WSL 2 y escribir los comandos a continuación.
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 usa Redis y puede ser necesario para alguna funcionalidad al ejecutar la aplicación localmente.
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 y respuesta debe ser pongquitbrew services start redisredis-serverbundle exec sidekiqEn Public Lab utilizamos la gema OpenSSL para proporcionar SSL (capa de enchufes seguros) para una conexión segura (HTTPS) en el modo de desarrollo. Puede ejecutar la conexión HTTPS en localhost a través de los siguientes pasos:
passenger start --ssl --ssl-certificate config/localhost.crt --ssl-certificate-key config/localhost.key --ssl-port 3001 .Una vez que complete la instalación, use cualquiera de estas credenciales para iniciar sesión en el sitio web de PL en su entorno de desarrollo/prueba local para obtener permisos adicionales para los usuarios iniciados solo. Cada uno viene con su propio conjunto de permisos; Sin embargo, la experiencia en ellos es más o menos la misma.
Nombre de usuario : admin , moderator o user
Contraseña : password
Para obtener más información sobre los sistemas de inicio de sesión, consulte esta página
Haga clic aquí para obtener una descripción completa de las pruebas y aquí para conocer las pruebas del sistema.
whenever --update-crontab para actualizar los trabajos cron.crontab -l Para algunos, será necesario preparar sus comandos relacionados con GEM con bundle exec . Por ejemplo, bundle exec passenger start . Agregar bundle exec garantiza que esté utilizando la versión del pasajero que acaba de instalar con Bundler. bundle exec rake db:setup , bundle exec rake db:seed son otros ejemplos de dónde podría ser necesario.
Public Lab ahora admite la función "Respuesta por correo electrónico a Comentario". Para más detalles, vaya a la documentación del correo electrónico
Para informar los errores y las funciones de solicitud, utilice el rastreador de problemas de GitHub
Para obtener apoyo adicional, únase al sitio web de Public Lab y la lista de correo en http://publiclab.org/lists. Para solicitudes urgentes, envíe un correo electrónico a [email protected]
Esta aplicación utiliza recaptcha a través de la gema recaptcha en producción solamente. Para obtener más información, haga clic aquí.
PublicLab.org ahora apoya la internacionalización y la localización, aunque estamos en las etapas iniciales. Esto se ha logrado con Rails-I8N.
Para verlo en acción, haga clic en el menú desplegable 'Idioma' ubicado en la sección de pies de página de la página. Todas las pautas y las mejores prácticas para I18N se pueden encontrar aquí.
Las traducciones se organizan en los archivos YAML aquí, que se establecen de manera similar a los archivos de Vistas. Se puede encontrar un ejemplo para agregar traducciones aquí.
Desde la implementación de nuestro nuevo sistema de traducción, ahora usamos el ayudante translation() , que se encuentra aquí. Esto proporciona algunas características de traducción adicionales, como insertar un aviso visible para los visitantes del sitio si todavía no existe traducción. Puede obtener más información sobre nuestro sistema de traducción leyendo nuestros documentos del sistema de traducción.
Para agregar nuevos idiomas o para obtener soporte adicional, escriba a [email protected]
Para informar vulnerabilidades de seguridad o para obtener preguntas sobre seguridad, comuníquese con [email protected]. Nuestro grupo de trabajo web evaluará y responderá de inmediato.
¡Ayuda a mejorar el software de laboratorio público!
¿Nuevo en el código abierto/software gratuito? Aquí hay una selección de problemas que hemos hecho especialmente para los principiantes . Estamos aquí para ayudar, así que pregunte si uno parece interesante: https://code.publiclab.org
Aquí hay un enlace a nuestro flujo de trabajo Git.
¿Deseando contribuir a PublicLab como parte de Hacktoberfest? Echa un vistazo a nuestros documentos contribuyentes de Hacktoberfest