
ระบบการจัดการเนื้อหาสำหรับชุมชนการวิจัยห้องปฏิบัติการสาธารณะเว็บแอปพลิเคชัน plots2 เป็นการรวมกันของบล็อกการวิจัยกลุ่ม -สิ่งที่เราเรียกว่า "บันทึกการวิจัย" -และวิกิ อ่านเพิ่มเติมเกี่ยวกับโมเดลข้อมูลที่นี่
เริ่มทำงาน (และมีส่วนร่วม) codebase นี้ทันทีด้วย gitpod:
มันนำเสนอคุณสมบัติที่หลากหลายที่ช่วยให้ชุมชนห้องปฏิบัติการสาธารณะร่วมมือกันเกี่ยวกับเทคโนโลยีสิ่งแวดล้อมการออกแบบเอกสารและการจัดระเบียบชุมชน เดิมทีเป็นไซต์ Drupal ซึ่งถูกเขียนขึ้นใหม่ในปี 2012 ด้วย Ruby on Rails และได้ขยายออกไป แต่ยังไม่ได้แทนที่โมเดลข้อมูล 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 เป็นชื่อผู้ใช้ github ของคุณcd plots2git remote add upstream https://github.com/publiclab/plots2.gitbundle install ก่อนหากคุณมีอัญมณีที่เก่ากว่าในสภาพแวดล้อมของคุณจากงานรถไฟก่อนหน้า หากคุณได้รับข้อความแสดงข้อผิดพลาดเช่น Your Ruby version is 2.xx, but your Gemfile specified 2.7.3 คุณต้องติดตั้ง Ruby Version 2.7.3 โดยใช้ rvm หรือ rbenvrvm install 2.7.3 ตามด้วย rvm use 2.7.3rbenv install 2.7.3 ตามด้วย rbenv local 2.7.3bundle config set without 'production mysql' จากโฟลเดอร์รูท Rails เพื่อตั้งค่าโครงการของคุณเพื่อยกเว้นไลบรารีที่จำเป็นในการผลิตเท่านั้นbundle install จากโฟลเดอร์รากรางcp db/schema.rb.example db/schema.rb เพื่อสร้างสำเนาของ db/schema.rb.example ใน db/schema.rbsqlite3 เป็นฐานข้อมูล Plots2 ของคุณเนื่องจากผู้ให้ข้อมูลบางคนของเราได้รายงานปัญหาขณะใช้ mysql2cp config/database.yml.mysql.example config/database.yml เพื่อสร้างสำเนาของ config/database.yml.mysql.example ใน config/database.ymlcp config/database.yml.sqlite.example config/database.yml เพื่อสร้างสำเนาของ config/database.yml.sqlite.example ใน config/database.yml โปรดทราบว่าหากคุณเลือกใช้ SQLite การทดสอบบางอย่างอาจล้มเหลว โครงการได้รับการตั้งค่าเริ่มต้นเพื่อใช้ MySQL และการทดสอบบางอย่างได้รับการปรับแต่งสำหรับ MySQL DB ไม่จำเป็นต้องมีการเตือนภัยเรากำลังทำงานเพื่อแก้ไขสิ่งเหล่านี้และสิ่งนี้จะไม่รบกวนกระบวนการพัฒนาของคุณrake db:setup เพื่อตั้งค่าฐานข้อมูลyarn installrails webpacker:install && rails webpacker:install:react && rails generate react:install (สำหรับงาน SSL ในเครื่องดู SSL ด้านล่าง)passenger start และนำทางไปที่ http://localhost:3000/ บนเบราว์เซอร์ของคุณrails test เพื่อยืนยันว่าการติดตั้งของคุณทำงานอย่างถูกต้อง นอกจากนี้คุณยังสามารถเรียกใช้ rails test:system สำหรับการทดสอบระบบ ( หมายเหตุ: หากคุณเลือก SQLite เป็นฐานข้อมูลของคุณการทดสอบบางอย่างอาจล้มเหลวโปรดเพิกเฉยต่อสิ่งเหล่านี้เรากำลังทำงานเพื่อแก้ไขปัญหานี้หากเซิร์ฟเวอร์ของคุณเริ่มต้นอย่างถูกต้องเราขอแนะนำให้คุณทำงานในสภาพแวดล้อมเสมือนจริงหรือในระบบบูทแบบคู่เพื่อหลีกเลี่ยงปัญหาการพึ่งพาเนื่องจากระบบ UNIX มักจะทำงานได้ราบรื่นขึ้นกับทับทิมและราง สิ่งนี้จะไม่เพียง แต่จะเป็นประโยชน์ต่อคุณในตอนนี้สำหรับ Plots2 แต่ยังรวมถึงในอนาคตในขณะที่ทำงานในโครงการทับทิมอื่น ๆ ระบบปฏิบัติการที่ใช้ Linux หรือ Mac จะทำให้การพัฒนาของคุณง่ายขึ้นมาก
ก่อนที่จะดำเนินการต่อด้วยขั้นตอนการติดตั้งใน readMe นี้ผู้ใช้ระบบย่อย Windows สำหรับ Linux 2 (WSL 2) ควรเปิดเทอร์มินัล 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ที่ Public Lab เราใช้ OpenSSL GEM เพื่อให้ SSL (Secure Sockets Layer) สำหรับการเชื่อมต่อที่ปลอดภัย (HTTPS) ในโหมดการพัฒนา คุณสามารถเรียกใช้การเชื่อมต่อ HTTPS บน LocalHost ผ่านขั้นตอนต่อไปนี้:
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 เพื่ออัปเดตงาน croncrontab -l สำหรับบางคนจำเป็นต้องเตรียมคำสั่งที่เกี่ยวข้องกับอัญมณีของคุณด้วย bundle exec ตัวอย่างเช่น bundle exec passenger start การเพิ่ม bundle exec ช่วยให้มั่นใจได้ว่าคุณใช้เวอร์ชันของผู้โดยสารที่คุณเพิ่งติดตั้งด้วย Bundler bundle exec rake db:setup , bundle exec rake db:seed เป็นตัวอย่างอื่น ๆ ที่อาจจำเป็น
ตอนนี้ห้องปฏิบัติการสาธารณะรองรับคุณลักษณะ "ตอบกลับทางอีเมลเพื่อแสดงความคิดเห็น" สำหรับรายละเอียดเพิ่มเติมไปที่เอกสารอีเมล
หากต้องการรายงานข้อบกพร่องและคุณสมบัติการร้องขอโปรดใช้ตัวติดตามปัญหา GitHub
สำหรับการสนับสนุนเพิ่มเติมเข้าร่วมเว็บไซต์ Public Lab และรายชื่อผู้รับจดหมายที่ http://publiclab.org/lists สำหรับคำขอเร่งด่วนอีเมล [email protected]
แอปพลิเคชันนี้ใช้ Recaptcha ผ่าน Recaptcha Gem ในการผลิตเท่านั้น สำหรับข้อมูลเพิ่มเติมคลิกที่นี่
Publiclab.org สนับสนุนการเป็นสากลและการโลคัลไลเซชั่นแม้ว่าเราจะอยู่ในระยะเริ่มต้น สิ่งนี้สามารถทำได้ด้วย Rails-I8N
หากต้องการดูการดำเนินการให้คลิกที่ดรอปดาวน์ 'ภาษา' ที่อยู่ในส่วนท้ายของหน้า แนวทางทั้งหมดและแนวทางปฏิบัติที่ดีที่สุดสำหรับ I18N สามารถพบได้ที่นี่
การแปลถูกจัดเรียงในไฟล์ YAML ที่นี่ซึ่งตั้งค่าในลักษณะเดียวกันกับการดูไฟล์ ตัวอย่างสำหรับการเพิ่มการแปลสามารถพบได้ที่นี่
ตั้งแต่การใช้ระบบการแปลใหม่ของเราตอนนี้เราใช้ตัวช่วย translation() ผู้ช่วยที่นี่ สิ่งนี้ให้คุณสมบัติการแปลพิเศษบางอย่างเช่นการแทรกคำสั่งที่ปรากฏให้ผู้เข้าชมไซต์หากยังไม่มีการแปล คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับระบบการแปลของเราโดยอ่านเอกสารระบบการแปลของเรา
หากต้องการเพิ่มภาษาใหม่หรือการสนับสนุนเพิ่มเติมโปรดเขียนถึง [email protected]
หากต้องการรายงานช่องโหว่ด้านความปลอดภัยหรือคำถามเกี่ยวกับความปลอดภัยโปรดติดต่อ [email protected] เว็บคณะทำงานของเราจะประเมินและตอบสนองทันที
ช่วยปรับปรุงซอฟต์แวร์ห้องปฏิบัติการสาธารณะ!
ใหม่สำหรับซอฟต์แวร์โอเพนซอร์ส/ฟรี? นี่คือการเลือกปัญหาที่เราทำ โดยเฉพาะอย่างยิ่งสำหรับผู้จับเวลาคนแรก เรามาที่นี่เพื่อช่วยดังนั้นเพียงแค่ถามว่ามีใครดูน่าสนใจ: https://code.publiclab.org
นี่คือลิงค์ไปยังเวิร์กโฟลว์ Git ของเรา
อยากจะมีส่วนร่วมใน PublicLab ซึ่งเป็นส่วนหนึ่งของ Hacktoberfest หรือไม่? ตรวจสอบเอกสารที่มีส่วนร่วมของ Hacktoberfest ของเรา