From 40641dca421f5ea06d3b2245bf71d0e3bbe2c62d Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Sat, 6 Jan 2024 17:36:51 -0500 Subject: [PATCH 01/30] Update editing.md --- docs/editing.md | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/docs/editing.md b/docs/editing.md index 7b5057c4..c1adcc16 100644 --- a/docs/editing.md +++ b/docs/editing.md @@ -405,3 +405,45 @@ If you use Gmail: For papers that you are already assigned to edit, the dedicated JOSS dashboard aggregates notifications associated with each paper. The dashboard is available at: `https://joss.theoj.org/dashboard/` Another tool you might want to try out is [Octobox](https://octobox.io/). + +## Top tips for JOSS editors + +**Aim for reviewer redundancy** + +If you have 3 people agree to review, take them up on their offer(s), that way if one person drops out, you'll have a backup and won't have to look for more reviewers. Also, when sending invites, try pinging a number of people at the same time rather than doing it one-by-one. + +**Email is a good backup** + +Email is often the most reliable way of contacting people. Whether it's inviting reviewers, following up with reviewers or authors etc., if you've not heard back from someone on GitHub, try emailing them (their email is often available on their GitHub profile page). + +**Default to over-communicating** + +When you take an action (even if it isn't on GitHub), share on the review thready what you're up to. For example, if you're looking for reviewers and are sending emails – leave a note on the review thread saying as much. + +**Use the JOSS Slack** + +There's lots of historical knowledge in our Slack, and it's a great way to get questions answered. + +**Ask reviewers to complete their review in 4-6 weeks** + +We aim for a total submission ... publication time of ~3 months. This means we ideally want reviewers to complete their review in 4-6 weeks (max). + +**Use saved replies on GitHub** + +[Saved replies](https://docs.github.com/en/get-started/writing-on-github/working-with-saved-replies/using-saved-replies) on GitHub can be a huge productivity boost. Try making some using the example messages listed above. + +**Ping reviewers if they’ve not started after 2 weeks** + +If a reviewer hasn't started within 1-2 weeks, you should probably give them a nudge. People often agree to review, and then forget about the review. + +**Learn how to nudge gently, and often** + +One of your jobs as the editor is to ensure the review keeps moving at a reasonable pace. If nothing has happened for a week or so, consider nudging the author or reviewers (depending upon who you're waiting for). A friendly _"👋 reviewer, how are you getting along here"_ can often be sufficient to get things moving again. + +**Check in twice a week** + +Try to check in on your JOSS submissions twice per week, even if only for 5 minutes. Use your dashboard to stay on top of the current status of your submissions (i.e., who was the last person to comment on the thread). + +**Leave feedback on reviewers** + +Leave feedback on the [reviewers application](https://reviewers.joss.theoj.org/) at the end of the review. This helps future editors when they're seeking out good reviewer candidates. From 23bddfda688fcca1d06725f4106035af457352ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baz=C3=A1n?= Date: Mon, 8 Jan 2024 10:47:47 +0100 Subject: [PATCH 02/30] Update to Ruby 3.3.0 --- .github/workflows/tests.yml | 2 +- .ruby-version | 2 +- Gemfile | 2 +- Gemfile.lock | 8 ++------ 4 files changed, 5 insertions(+), 9 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 751f3317..a57c8ff0 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -15,7 +15,7 @@ jobs: - name: Install Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: 3.2.2 + ruby-version: 3.3.0 bundler-cache: true - name: Install Elasticsearch uses: ankane/setup-elasticsearch@v1 diff --git a/.ruby-version b/.ruby-version index be94e6f5..15a27998 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.2.2 +3.3.0 diff --git a/Gemfile b/Gemfile index ed241d57..858d82b0 100644 --- a/Gemfile +++ b/Gemfile @@ -1,5 +1,5 @@ source 'https://rubygems.org' -ruby '3.2.2' +ruby '3.3.0' gem 'aasm', '~> 5.5.0' gem 'chartkick' diff --git a/Gemfile.lock b/Gemfile.lock index 024c5a3b..2440f660 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -250,10 +250,6 @@ GEM nokogiri (1.15.5) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.15.5-x86_64-darwin) - racc (~> 1.4) - nokogiri (1.15.5-x86_64-linux) - racc (~> 1.4) oauth2 (2.0.9) faraday (>= 0.17.3, < 3.0) jwt (>= 1.0, < 3.0) @@ -512,7 +508,7 @@ DEPENDENCIES webmock RUBY VERSION - ruby 3.2.2p53 + ruby 3.3.0p0 BUNDLED WITH - 2.4.14 + 2.5.4 From 732234ddc2855ae7f95b80c6072bd751ad6e550e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baz=C3=A1n?= Date: Mon, 8 Jan 2024 10:50:44 +0100 Subject: [PATCH 03/30] Update nokogiri --- Gemfile.lock | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 2440f660..c6b95140 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -247,9 +247,13 @@ GEM newrelic_rpm (9.6.0) base64 nio4r (2.6.1) - nokogiri (1.15.5) + nokogiri (1.16.0) mini_portile2 (~> 2.8.2) racc (~> 1.4) + nokogiri (1.16.0-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.16.0-x86_64-linux) + racc (~> 1.4) oauth2 (2.0.9) faraday (>= 0.17.3, < 3.0) jwt (>= 1.0, < 3.0) From b68e5b38173bbbb968dbfeb1bfa472471265c023 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baz=C3=A1n?= Date: Mon, 8 Jan 2024 10:52:28 +0100 Subject: [PATCH 04/30] Bundle update --- Gemfile.lock | 55 ++++++++++++++++++++++++++-------------------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c6b95140..b0a0dd22 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -81,11 +81,11 @@ GEM minitest (>= 5.1) mutex_m tzinfo (~> 2.0) - addressable (2.8.5) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) afm (0.2.2) base64 (0.2.0) - bigdecimal (3.1.4) + bigdecimal (3.1.5) bindex (0.8.1) bootsnap (1.17.0) msgpack (~> 1.2) @@ -100,7 +100,7 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - chartkick (5.0.4) + chartkick (5.0.5) coderay (1.1.3) commonmarker (0.23.10) concurrent-ruby (1.2.2) @@ -124,9 +124,9 @@ GEM multi_json erubi (1.12.0) execjs (2.9.1) - factory_bot (6.4.2) + factory_bot (6.4.5) activesupport (>= 5.0.0) - factory_bot_rails (6.4.2) + factory_bot_rails (6.4.3) factory_bot (~> 6.4) railties (>= 5.0.0) faraday (1.10.3) @@ -164,7 +164,7 @@ GEM retriable (>= 2.0, < 4.a) rexml webrick - google-apis-drive_v3 (0.44.0) + google-apis-drive_v3 (0.46.0) google-apis-core (>= 0.11.0, < 2.a) google-apis-sheets_v4 (0.26.0) google-apis-core (>= 0.11.0, < 2.a) @@ -182,7 +182,7 @@ GEM signet (~> 0.15) groupdate (6.4.0) activesupport (>= 6.1) - hashdiff (1.0.1) + hashdiff (1.1.0) hashery (2.1.2) hashie (5.0.0) honeybadger (5.2.1) @@ -192,12 +192,12 @@ GEM httpclient (2.8.3) i18n (1.14.1) concurrent-ruby (~> 1.0) - importmap-rails (1.2.3) + importmap-rails (2.0.1) actionpack (>= 6.0.0) activesupport (>= 6.0.0) railties (>= 6.0.0) - io-console (0.6.0) - irb (1.9.1) + io-console (0.7.1) + irb (1.11.0) rdoc reline (>= 0.3.8) issue (1.0.0) @@ -232,7 +232,7 @@ GEM multi_xml (0.6.0) multipart-post (2.3.0) mutex_m (0.2.0) - net-imap (0.4.6) + net-imap (0.4.9.1) date net-protocol net-pop (0.1.2) @@ -241,12 +241,12 @@ GEM timeout net-sftp (4.0.0) net-ssh (>= 5.0.0, < 8.0.0) - net-smtp (0.4.0) + net-smtp (0.4.0.1) net-protocol - net-ssh (7.2.0) + net-ssh (7.2.1) newrelic_rpm (9.6.0) base64 - nio4r (2.6.1) + nio4r (2.7.0) nokogiri (1.16.0) mini_portile2 (~> 2.8.2) racc (~> 1.4) @@ -269,7 +269,7 @@ GEM octokit (8.0.0) faraday (>= 1, < 3) sawyer (~> 0.9) - omniauth (2.1.1) + omniauth (2.1.2) hashie (>= 3.4.6) rack (>= 2.2.3) rack-protection @@ -298,16 +298,17 @@ GEM pry-byebug (3.10.1) byebug (~> 11.0) pry (>= 0.13, < 0.15) - psych (5.1.1.1) + psych (5.1.2) stringio public_suffix (5.0.4) - puma (6.4.0) + puma (6.4.2) nio4r (~> 2.0) racc (1.7.3) rack (2.2.8) - rack-protection (3.1.0) + rack-protection (3.2.0) + base64 (>= 0.1.0) rack (~> 2.2, >= 2.2.4) - rack-session (1.0.1) + rack-session (1.0.2) rack (< 3) rack-test (2.1.0) rack (>= 1.3) @@ -344,14 +345,14 @@ GEM thor (~> 1.0, >= 1.2.2) zeitwerk (~> 2.6) rake (13.1.0) - rdoc (6.6.0) + rdoc (6.6.2) psych (>= 4.0.0) redis (5.0.8) redis-client (>= 0.17.0) - redis-client (0.18.0) + redis-client (0.19.1) connection_pool - regexp_parser (2.8.2) - reline (0.4.0) + regexp_parser (2.8.3) + reline (0.4.2) io-console (~> 0.5) representable (3.2.0) declarative (< 0.1.0) @@ -397,10 +398,10 @@ GEM sawyer (0.9.2) addressable (>= 2.3.5) faraday (>= 0.17.3, < 3) - searchkick (5.3.0) + searchkick (5.3.1) activemodel (>= 6.1) hashie - selenium-webdriver (4.15.0) + selenium-webdriver (4.16.0) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) @@ -422,9 +423,9 @@ GEM actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) - stimulus-rails (1.3.0) + stimulus-rails (1.3.3) railties (>= 6.0.0) - stringio (3.0.9) + stringio (3.1.0) thor (1.3.0) tilt (2.3.0) timeout (0.4.1) From fd57eb5650262b7b3debf69a9afddc3500b6996a Mon Sep 17 00:00:00 2001 From: Kyle Niemeyer Date: Wed, 10 Jan 2024 14:07:18 -0800 Subject: [PATCH 05/30] Update editorial_bot.md Adds option specifying branch to check repository command --- docs/editorial_bot.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/editorial_bot.md b/docs/editorial_bot.md index 4223bd6b..31acd236 100644 --- a/docs/editorial_bot.md +++ b/docs/editorial_bot.md @@ -302,7 +302,7 @@ JOSS editors-in-chief can withdraw a submission with the following command: @editorialbot check references # Perform checks on the repository -@editorialbot check repository +@editorialbot check repository [from branch ] # Adds a checklist for the reviewer using this command @editorialbot generate my checklist From 613c695be47ed453c3daa8f4077a175f2705dc9e Mon Sep 17 00:00:00 2001 From: Wilhelm Vermelin <36416659+wilswer@users.noreply.github.com> Date: Mon, 15 Jan 2024 11:55:03 +0100 Subject: [PATCH 06/30] Fix typo in submitting.md forth -> fourth --- docs/submitting.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/submitting.md b/docs/submitting.md index 6732274f..3b15d25b 100644 --- a/docs/submitting.md +++ b/docs/submitting.md @@ -390,7 +390,7 @@ Please start headings on the first level. The maximum supported level is 5, but ###### Deeper nesting -Fourth- and fifth-level subsections – like this one and the following heading – are supported by the system; however, their use is discouraged. Use lists instead of forth- and fifth-level headings. +Fourth- and fifth-level subsections – like this one and the following heading – are supported by the system; however, their use is discouraged. Use lists instead of fourth- and fifth-level headings. #### Lists From 1f18b46b39128372aad7a3a410d2687ae89f0497 Mon Sep 17 00:00:00 2001 From: "Daniel S. Katz" Date: Tue, 16 Jan 2024 12:46:23 -0600 Subject: [PATCH 07/30] fixing typo --- docs/reviewer_guidelines.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reviewer_guidelines.md b/docs/reviewer_guidelines.md index a6f5aa5d..d20b57eb 100644 --- a/docs/reviewer_guidelines.md +++ b/docs/reviewer_guidelines.md @@ -21,6 +21,6 @@ The definition of a conflict of Interest in peer review is a circumstance that m As a reviewer (or editor), COIs are your present or previous association with any authors of a submission: recent (past four years) collaborators in funded research or work that is published; and lifetime for the family members, business partners, and thesis student/advisor or mentor. In addition, your recent (past year) association with the same organization of a submitter is a COI, for example, being employed at the same institution. -If you have a conflict of interest with a submission, you should disclose the specific reason to the submissions' editor (or to an EiC if you are an editor, or to the other EiCs if you are an EiC). This may lead to you not being able to review or edit the submission, but some conflicts may be recorded and then waived, and if you think you are able to make an impartial assessment of the work, you should request that the conflict be waived. For example, if you and a submitter were two of 2000 authors of a high energy physics paper but did not actually collaborate. Or if you and a submitter worked together 6 years ago, but due to delays in the publishing industry, a paper from that collaboration with both of you as authors was published 2 year ago. Or if you and a submitter are both employed by the same very large organization but in different units without any knowledge of each other. +If you have a conflict of interest with a submission, you should disclose the specific reason to the submissions' editor (or to an EiC if you are an editor, or to the other EiCs if you are an EiC). This may lead to you not being able to review or edit the submission, but some conflicts may be recorded and then waived, and if you think you are able to make an impartial assessment of the work, you should request that the conflict be waived. For example, if you and a submitter were two of 2000 authors of a high energy physics paper but did not actually collaborate. Or if you and a submitter worked together 6 years ago, but due to delays in the publishing industry, a paper from that collaboration with both of you as authors was published 2 years ago. Or if you and a submitter are both employed by the same very large organization but in different units without any knowledge of each other. Declaring actual, perceived, and potential conflicts of interest is required under professional ethics. If in doubt: ask the editors. From b6f0767a05e5f957875ec08d396c7fc0141964ab Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Thu, 18 Jan 2024 12:08:16 +0000 Subject: [PATCH 08/30] Adding buddy to editor form --- app/controllers/editors_controller.rb | 2 +- app/models/editor.rb | 2 ++ app/views/editors/_form.html.erb | 5 +++++ app/views/editors/show.html.erb | 9 +++++++++ db/migrate/20240109210521_add_start_date_to_editors.rb | 6 ++++++ db/schema.rb | 10 ++++++---- 6 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 db/migrate/20240109210521_add_start_date_to_editors.rb diff --git a/app/controllers/editors_controller.rb b/app/controllers/editors_controller.rb index aaf0284e..14fd3cdc 100644 --- a/app/controllers/editors_controller.rb +++ b/app/controllers/editors_controller.rb @@ -89,7 +89,7 @@ def set_current_editor end def editor_params - params.require(:editor).permit(:max_assignments, :availability_comment, :kind, :title, :first_name, :last_name, :login, :email, :avatar_url, :category_list, :url, :description, { track_ids: [] }) + params.require(:editor).permit(:max_assignments, :availability_comment, :kind, :title, :first_name, :last_name, :buddy_id, :login, :email, :avatar_url, :category_list, :url, :description, { track_ids: [] }) end def profile_params diff --git a/app/models/editor.rb b/app/models/editor.rb index 7fee4cf1..fecb988c 100644 --- a/app/models/editor.rb +++ b/app/models/editor.rb @@ -14,6 +14,8 @@ class Editor < ApplicationRecord has_and_belongs_to_many :tracks has_many :track_aeics, dependent: :destroy has_many :managed_tracks, through: :track_aeics, source: :track + belongs_to :buddy, class_name: "Editor", optional: true + has_one :buddy_editor, class_name: "Editor", foreign_key: "buddy_id" normalizes :login, with: -> login { login.gsub(/^@/, "") } before_save :clear_title, if: :board_removed? diff --git a/app/views/editors/_form.html.erb b/app/views/editors/_form.html.erb index 59cce7c5..f0e7ed64 100644 --- a/app/views/editors/_form.html.erb +++ b/app/views/editors/_form.html.erb @@ -63,6 +63,11 @@ <% end %> +
+ <%= f.label :buddy %> + <%= f.select :buddy_id, Editor.active.collect { |e| ["#{e.full_name} (@#{e.login})", e.id] }, { include_blank: true }, { class: "form-control" } %> +
+
<%= f.label :email %> <%= f.text_field :email, class: "form-control" %> diff --git a/app/views/editors/show.html.erb b/app/views/editors/show.html.erb index 4d48e014..1eba0e2e 100644 --- a/app/views/editors/show.html.erb +++ b/app/views/editors/show.html.erb @@ -32,6 +32,15 @@ <%= @editor.email %>

+

+ Buddy: + <% if @editor.buddy.present? %> + <%= "#{@editor.buddy.full_name} (@#{@editor.buddy.login})" %> + <% else %> + None + <% end %> +

+

Avatar url: <%= @editor.avatar_url %> diff --git a/db/migrate/20240109210521_add_start_date_to_editors.rb b/db/migrate/20240109210521_add_start_date_to_editors.rb new file mode 100644 index 00000000..197d8c93 --- /dev/null +++ b/db/migrate/20240109210521_add_start_date_to_editors.rb @@ -0,0 +1,6 @@ +class AddStartDateToEditors < ActiveRecord::Migration[7.1] + def change + add_column :editors, :buddy_id, :integer + add_index :editors, :buddy_id + end +end diff --git a/db/schema.rb b/db/schema.rb index 2df47d9d..ed566b3c 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2023_06_09_104144) do +ActiveRecord::Schema[7.1].define(version: 2024_01_09_210521) do # These are extensions that must be enabled in order to support this database enable_extension "hstore" enable_extension "plpgsql" @@ -31,6 +31,8 @@ t.integer "user_id" t.string "availability_comment" t.integer "max_assignments", default: 4, null: false + t.integer "buddy_id" + t.index ["buddy_id"], name: "index_editors_on_buddy_id" t.index ["user_id"], name: "index_editors_on_user_id" end @@ -78,7 +80,7 @@ t.index ["token"], name: "index_onboarding_invitations_on_token" end - create_table "papers", force: :cascade do |t| + create_table "papers", id: :serial, force: :cascade do |t| t.string "title" t.string "state" t.string "repository_url" @@ -93,10 +95,10 @@ t.string "doi" t.text "paper_body" t.integer "meta_review_issue_id" - t.string "kind" t.text "authors" t.text "citation_string" t.datetime "accepted_at", precision: nil + t.string "kind" t.integer "editor_id" t.string "reviewers", default: [], array: true t.text "activities" @@ -149,7 +151,7 @@ t.index ["name"], name: "index_tracks_on_name" end - create_table "users", force: :cascade do |t| + create_table "users", id: :serial, force: :cascade do |t| t.string "provider" t.string "uid" t.string "name" From 28b21e0a8d8b723ef803753e5ffc87fe4a98fe9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baz=C3=A1n?= Date: Fri, 19 Jan 2024 11:26:05 +0100 Subject: [PATCH 09/30] New Rails version (7.1.3) --- Gemfile | 2 +- Gemfile.lock | 120 +++++++++++++++++++++++++-------------------------- 2 files changed, 61 insertions(+), 61 deletions(-) diff --git a/Gemfile b/Gemfile index 858d82b0..bed480c3 100644 --- a/Gemfile +++ b/Gemfile @@ -18,7 +18,7 @@ gem 'octokit' gem 'pdf-reader', '~> 2.11.0' gem 'pg', '~> 1.4.6' gem 'pagy' -gem 'rails', '7.1.2' +gem 'rails', '7.1.3' gem "importmap-rails" gem "turbo-rails" gem "stimulus-rails" diff --git a/Gemfile.lock b/Gemfile.lock index b0a0dd22..57be4ea1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -4,35 +4,35 @@ GEM Ascii85 (1.1.0) aasm (5.5.0) concurrent-ruby (~> 1.0) - actioncable (7.1.2) - actionpack (= 7.1.2) - activesupport (= 7.1.2) + actioncable (7.1.3) + actionpack (= 7.1.3) + activesupport (= 7.1.3) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.1.2) - actionpack (= 7.1.2) - activejob (= 7.1.2) - activerecord (= 7.1.2) - activestorage (= 7.1.2) - activesupport (= 7.1.2) + actionmailbox (7.1.3) + actionpack (= 7.1.3) + activejob (= 7.1.3) + activerecord (= 7.1.3) + activestorage (= 7.1.3) + activesupport (= 7.1.3) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.1.2) - actionpack (= 7.1.2) - actionview (= 7.1.2) - activejob (= 7.1.2) - activesupport (= 7.1.2) + actionmailer (7.1.3) + actionpack (= 7.1.3) + actionview (= 7.1.3) + activejob (= 7.1.3) + activesupport (= 7.1.3) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.2) - actionpack (7.1.2) - actionview (= 7.1.2) - activesupport (= 7.1.2) + actionpack (7.1.3) + actionview (= 7.1.3) + activesupport (= 7.1.3) nokogiri (>= 1.8.5) racc rack (>= 2.2.4) @@ -40,15 +40,15 @@ GEM rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - actiontext (7.1.2) - actionpack (= 7.1.2) - activerecord (= 7.1.2) - activestorage (= 7.1.2) - activesupport (= 7.1.2) + actiontext (7.1.3) + actionpack (= 7.1.3) + activerecord (= 7.1.3) + activestorage (= 7.1.3) + activesupport (= 7.1.3) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.1.2) - activesupport (= 7.1.2) + actionview (7.1.3) + activesupport (= 7.1.3) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) @@ -56,22 +56,22 @@ GEM active_link_to (1.0.5) actionpack addressable - activejob (7.1.2) - activesupport (= 7.1.2) + activejob (7.1.3) + activesupport (= 7.1.3) globalid (>= 0.3.6) - activemodel (7.1.2) - activesupport (= 7.1.2) - activerecord (7.1.2) - activemodel (= 7.1.2) - activesupport (= 7.1.2) + activemodel (7.1.3) + activesupport (= 7.1.3) + activerecord (7.1.3) + activemodel (= 7.1.3) + activesupport (= 7.1.3) timeout (>= 0.4.0) - activestorage (7.1.2) - actionpack (= 7.1.2) - activejob (= 7.1.2) - activerecord (= 7.1.2) - activesupport (= 7.1.2) + activestorage (7.1.3) + actionpack (= 7.1.3) + activejob (= 7.1.3) + activerecord (= 7.1.3) + activesupport (= 7.1.3) marcel (~> 1.0) - activesupport (7.1.2) + activesupport (7.1.3) base64 bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) @@ -85,7 +85,7 @@ GEM public_suffix (>= 2.0.2, < 6.0) afm (0.2.2) base64 (0.2.0) - bigdecimal (3.1.5) + bigdecimal (3.1.6) bindex (0.8.1) bootsnap (1.17.0) msgpack (~> 1.2) @@ -103,7 +103,7 @@ GEM chartkick (5.0.5) coderay (1.1.3) commonmarker (0.23.10) - concurrent-ruby (1.2.2) + concurrent-ruby (1.2.3) connection_pool (2.4.1) crack (0.4.5) rexml @@ -196,10 +196,10 @@ GEM actionpack (>= 6.0.0) activesupport (>= 6.0.0) railties (>= 6.0.0) - io-console (0.7.1) - irb (1.11.0) + io-console (0.7.2) + irb (1.11.1) rdoc - reline (>= 0.3.8) + reline (>= 0.4.2) issue (1.0.0) openssl rack @@ -226,7 +226,7 @@ GEM mini_portile2 (2.8.5) mini_racer (0.8.0) libv8-node (~> 18.16.0.0) - minitest (5.20.0) + minitest (5.21.2) msgpack (1.7.2) multi_json (1.15.0) multi_xml (0.6.0) @@ -315,20 +315,20 @@ GEM rackup (1.0.0) rack (< 3) webrick - rails (7.1.2) - actioncable (= 7.1.2) - actionmailbox (= 7.1.2) - actionmailer (= 7.1.2) - actionpack (= 7.1.2) - actiontext (= 7.1.2) - actionview (= 7.1.2) - activejob (= 7.1.2) - activemodel (= 7.1.2) - activerecord (= 7.1.2) - activestorage (= 7.1.2) - activesupport (= 7.1.2) + rails (7.1.3) + actioncable (= 7.1.3) + actionmailbox (= 7.1.3) + actionmailer (= 7.1.3) + actionpack (= 7.1.3) + actiontext (= 7.1.3) + actionview (= 7.1.3) + activejob (= 7.1.3) + activemodel (= 7.1.3) + activerecord (= 7.1.3) + activestorage (= 7.1.3) + activesupport (= 7.1.3) bundler (>= 1.15.0) - railties (= 7.1.2) + railties (= 7.1.3) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest @@ -336,9 +336,9 @@ GEM rails-html-sanitizer (1.6.0) loofah (~> 2.21) nokogiri (~> 1.14) - railties (7.1.2) - actionpack (= 7.1.2) - activesupport (= 7.1.2) + railties (7.1.3) + actionpack (= 7.1.3) + activesupport (= 7.1.3) irb rackup (>= 1.0.0) rake (>= 12.2) @@ -494,7 +494,7 @@ DEPENDENCIES pg (~> 1.4.6) pry-byebug puma - rails (= 7.1.2) + rails (= 7.1.3) redis (~> 5.0) responders rspec-rails (~> 6.1.0) From 01980178edbbf27a4aac1ea7bcb2fe310303cb98 Mon Sep 17 00:00:00 2001 From: Julia <23313172+jromanowska@users.noreply.github.com> Date: Fri, 19 Jan 2024 13:33:15 +0100 Subject: [PATCH 10/30] Update editing.md Remove tip to set status to "not-watching" - this has now been changed in GitHub and by default is "participating or mentions". --- docs/editing.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/docs/editing.md b/docs/editing.md index c1adcc16..f1aef92d 100644 --- a/docs/editing.md +++ b/docs/editing.md @@ -374,16 +374,6 @@ Being on the JOSS editorial team means that there can be a _lot_ of notification ### Things you should do when joining the editorial team -**Unsubscribe from the reviews repository on GitHub** - -When you're added to the editorial team on GitHub, you will almost certainly find yourself subscribed (watching) to the [`joss-reviews`](https://github.com/openjournals/joss-reviews) repository. The first thing you should do is set yourself to 'not watching': - -![Repository notifications settings](https://cloud.githubusercontent.com/assets/4483/20250593/64d7ce48-a9de-11e6-9225-d3dfb3e48e68.png) - -Please note, that by not watching the reviews repository, you will still receive notifications for issues (reviews) where you are `@mentioned`. - -Sometimes another editor might mention you in a review issue (for example to ask you a question). If you've responded and no-longer want to receive messages for that review, you can manually unsubscribe by clicking the button in the right-hand column on the review issue page. - **Curate your GitHub notifications experience** GitHub has extensive documentation on [managing notifications](https://help.github.com/en/articles/managing-your-notifications) which explains when and why different notifications are sent from a repository. From b69b5742663b9e515cfe1ace452307b10a0b82d4 Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Sat, 20 Jan 2024 08:10:48 +0000 Subject: [PATCH 11/30] Add start date to profile --- app/views/editors/index.html.erb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/views/editors/index.html.erb b/app/views/editors/index.html.erb index a4459f6c..7e26bbcb 100644 --- a/app/views/editors/index.html.erb +++ b/app/views/editors/index.html.erb @@ -21,6 +21,7 @@ Editor Categories + Start date Editing Capacity Invites @@ -36,6 +37,7 @@ <%= link_to editor.login, editor, title: editor.full_name %> <%= editor.category_list %> + <%= editor.created_at.strftime('%Y-%m-%d') %> <%= link_to in_progress_for_editor(editor), "/dashboard/#{editor.login}" %> <%= display_availability(editor) %> class="text-center" title="Invites"><%= open_invites_for_editor(editor) %> From baf733ee800d465beef477cb0e9777d89b956dad Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Sat, 20 Jan 2024 12:07:27 +0000 Subject: [PATCH 12/30] Sort buddies --- app/views/editors/_form.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/editors/_form.html.erb b/app/views/editors/_form.html.erb index f0e7ed64..7474c968 100644 --- a/app/views/editors/_form.html.erb +++ b/app/views/editors/_form.html.erb @@ -65,7 +65,7 @@

<%= f.label :buddy %> - <%= f.select :buddy_id, Editor.active.collect { |e| ["#{e.full_name} (@#{e.login})", e.id] }, { include_blank: true }, { class: "form-control" } %> + <%= f.select :buddy_id, Editor.active.sort_by(&:first_name).collect { |e| ["#{e.full_name} (@#{e.login})", e.id] }, { include_blank: true }, { class: "form-control" } %>
From 9017bab050a67c4ec24af7e1d8357e0dd7a95fd6 Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Wed, 24 Jan 2024 09:13:01 +0000 Subject: [PATCH 13/30] Stubbing out onboarding guide --- docs/editing.md | 87 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/docs/editing.md b/docs/editing.md index f1aef92d..c86c9445 100644 --- a/docs/editing.md +++ b/docs/editing.md @@ -437,3 +437,90 @@ Try to check in on your JOSS submissions twice per week, even if only for 5 minu **Leave feedback on reviewers** Leave feedback on the [reviewers application](https://reviewers.joss.theoj.org/) at the end of the review. This helps future editors when they're seeking out good reviewer candidates. + +## Onboarding a new JOSS editor + +All new editors at JOSS have an onboarding call with an Editor-in-Chief. You can use the structure below to make sure you highlight the most important aspects of being an editor. + +**Thing to check before the call** + +- Have they reviewed or published in JOSS before? If not, you'll need to spend significantly more time explaining how the review process works. +- Check on their research background (e.g., what tracks they might edit most actively in). +- Make sure to send them the [editorial guide](https://joss.readthedocs.io/en/latest/editing.html) to read before the call. + +### The onboarding call + +**Preamble/introductions** + +- Welcome! Thank them for their application to join the team. +- Point out that this isn't an interview. Rather, this is an informational call designed to give the candidate the information they need to make an informed decision about editing at JOSS. +- 90-day trial period/try out. Editor or JOSS editorial board can decide to part ways after that period. +- No strict term limits. Some editors have been with us for 7+ years, others do 1-2 years. Most important thing is to be proactive with your editing responsibilities. +- Confirm with them their level of familiarity with JOSS/our review process. +- Point out that they *do not* need to make a decision on the call today. They are welcome to have a think about joining and get back to us. + +**Share your screen** + +- Visit JOSS (https://joss.theoj.org) +- Pick a recently-published paper (you might want to identify this before the call). +- Show the paper on the JOSS site, and then go to the linked review issue. +- Explain that there are *two* issues per submission – the pre-review issue and the main review issue. + +**The pre-review issue** + +- The 'meeting room for the paper'. Where author meets editor, and reviewers are identified. +- Note that the EiC may have initiated a scope review. The editor should not start editing until this has completed. Also, editors are able to query the scope (as are reviewers) if they think the EiC should have (but didn't). +- Walk them through what is happening in the pre-review issue... +- Editor is invited (likely with GitHub mention but also via email invite (`@editorialbot invite @editor as editor`)) +- Once editor accepts they start looking for reviewers. + +**Finding reviewers** + +- Explain that this is one of the more time-intensive aspects of editing. +- Explain where you can look for editors (your own professional network, asking the authors for recommendations, the [reviewers application](https://reviewers.joss.theoj.org/), similar papers identified by Editorialbot, ) +- Point out that we have a minimum of two reviewers, but if more than that accept (e.g., 3/4 then take them all – this gives you redundancy if one drops out). +- Don't invite one reviewer at a time! If you do this, it may take many weeks to find two reviewers who accept. Try 3/4/5 invites simultaneously. + +**The review** + +- Once both reviewers are assigned, time to get going! +- Encourage reviewers to complete their review in 4-6 weeks. +- Make sure to check in on the review – if reviewers haven't started after ~1-2 weeks, time to remind them. +- Your role as editor is not to do the review yourself, rather, your job is to ensure that both reviewers give a good review. +- Walk the editor through the various review artifacts: The checklist, comments/questions/discussion between reviewers and author, issues opened on the upstream repository (and cross-linked into the review thread). +- Point editors to the ['top tips'](editing.html#top-tips-for-joss-editors) section of our docs. Much of what makes an editor successful is regular check-ins on the review, and nudging people if nothing is happening. +- Do *not* let a review go multiple weeks without checking in. + +**Wrapping up the review** + +- Once the review is wrapping up, show the candidate the checks that an editor should be doing (reading the paper, suggested edits, asking for an archive etc.). +- Show the `recommend-accept` step which is the formal hand-off between editor and editor-in-chief. + +**Show them the dashboard on the JOSS site** + +- Point out that this means you *do not* need to stay on top of all of your notifications (the dashboard has the latest information). +- Highlight here that we ask editors to handle 8-12 submissions per year on average. +- ...and that means 3-4 submissions on their desk at any one time (once they have completed their initial probationary period). +- Show them the backlog for a track, and how they are welcome to pick papers from it (ideally oldest first). +- Show them their profile page, and how they can list their tracks there, and also what their availability is. + +**Other important things to highlight** + +- Don't invite other editors as reviewers. We're all busy editing our own papers... +- Please be willing to edit outside of your specialisms. This helps JOSS run smoothly – often we don't have the 'ideal' editor for a submission and someone has to take it. +- Highlight that editors will have a buddy to work with for the first few months, and that it's very common for editors to ask questions in Slack (and people generally respond quickly). +- Scope reviews only work if editors vote! Please respond and vote on the weekly scope review email if you can. The process is private (authors don't know what editors are saying). Detailed comments are really helpful for the EiCs. + +**Wrapping up** + +- Make sure you've highlighted everything in the ['top tips'](editing.html#top-tips-for-joss-editors) section of our docs. +- Reinforce that this is a commitment, and thay regular attention to their submissions is absolutely critical (i.e., check in a couple of times per week). +- Ask if they would like to move forward or would like time to consider the opportunity. +- If they want to move forward, highlight they will receive a small number of invites: One to the JOSS editors GitHub team, a Slack invite, a Google Group invite, and an invite to the JOSS website to fill out their profile. +- Thank them again, and welcome them to the team. + +**Communicate outcome to EiC** + +- Let the EiC know what the outcome was, and ask them to send out the invites to our various systems. +- Work with EiC to identify onboarding buddy. +- Decide who is going to identify the first couple of papers for the editor to work on. \ No newline at end of file From fb5c9c12db6427106b1f01d2fb4bc36f87bf55c8 Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Wed, 24 Jan 2024 09:17:32 +0000 Subject: [PATCH 14/30] Picking a paper --- docs/editing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/editing.md b/docs/editing.md index c86c9445..b49f23ce 100644 --- a/docs/editing.md +++ b/docs/editing.md @@ -462,7 +462,7 @@ All new editors at JOSS have an onboarding call with an Editor-in-Chief. You can **Share your screen** - Visit JOSS (https://joss.theoj.org) -- Pick a recently-published paper (you might want to identify this before the call). +- Pick a recently-published paper (you might want to identify this before the call one that shows off the review process well). - Show the paper on the JOSS site, and then go to the linked review issue. - Explain that there are *two* issues per submission – the pre-review issue and the main review issue. From 9ecd3415553974d259d84ab0570ebdec24f38be4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baz=C3=A1n?= Date: Wed, 24 Jan 2024 12:47:46 +0100 Subject: [PATCH 15/30] Update link --- docs/installing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installing.md b/docs/installing.md index 58622a84..48297679 100644 --- a/docs/installing.md +++ b/docs/installing.md @@ -111,7 +111,7 @@ see [the official docs](https://devcenter.heroku.com/articles/heroku-postgresql# Some times you may not want to launch an exact copy of JOSS, but a modified version. This can be especially useful if you're planning to spin up your own platform based on the Open Journals framework. -[NeuroLibre](https://neurolibre.herokuapp.com) is one such example use-case. +[NeuroLibre](https://neurolibre.org/) is one such example use-case. ### Modifying your site configuration From 6dbc7e94d6f94108bee11b082364b0690a468a3f Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Wed, 24 Jan 2024 14:26:34 +0000 Subject: [PATCH 16/30] Update docs/editing.md Co-authored-by: Daniel S. Katz --- docs/editing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/editing.md b/docs/editing.md index b49f23ce..fa735b00 100644 --- a/docs/editing.md +++ b/docs/editing.md @@ -455,7 +455,7 @@ All new editors at JOSS have an onboarding call with an Editor-in-Chief. You can - Welcome! Thank them for their application to join the team. - Point out that this isn't an interview. Rather, this is an informational call designed to give the candidate the information they need to make an informed decision about editing at JOSS. - 90-day trial period/try out. Editor or JOSS editorial board can decide to part ways after that period. -- No strict term limits. Some editors have been with us for 7+ years, others do 1-2 years. Most important thing is to be proactive with your editing responsibilities. +- No strict term limits. Some editors have been with us for 7+ years, others do 1-2 years. Most important thing is to be proactive with your editing responsibilities and communicating any issues with the EiCs. - Confirm with them their level of familiarity with JOSS/our review process. - Point out that they *do not* need to make a decision on the call today. They are welcome to have a think about joining and get back to us. From 06ec0d06fa858d8a18251905c18cee3f57d7b04d Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Wed, 24 Jan 2024 14:26:46 +0000 Subject: [PATCH 17/30] Update docs/editing.md Co-authored-by: Daniel S. Katz --- docs/editing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/editing.md b/docs/editing.md index fa735b00..cbcac085 100644 --- a/docs/editing.md +++ b/docs/editing.md @@ -479,7 +479,7 @@ All new editors at JOSS have an onboarding call with an Editor-in-Chief. You can - Explain that this is one of the more time-intensive aspects of editing. - Explain where you can look for editors (your own professional network, asking the authors for recommendations, the [reviewers application](https://reviewers.joss.theoj.org/), similar papers identified by Editorialbot, ) - Point out that we have a minimum of two reviewers, but if more than that accept (e.g., 3/4 then take them all – this gives you redundancy if one drops out). -- Don't invite one reviewer at a time! If you do this, it may take many weeks to find two reviewers who accept. Try 3/4/5 invites simultaneously. +- Don't invite only one reviewer at a time! If you do this, it may take many weeks to find two reviewers who accept. Try 3/4/5 invites simultaneously. **The review** From e522b7c5c3a0c3d07442bc6c977ed03dcf3736c2 Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Wed, 24 Jan 2024 14:26:53 +0000 Subject: [PATCH 18/30] Update docs/editing.md Co-authored-by: Daniel S. Katz --- docs/editing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/editing.md b/docs/editing.md index cbcac085..63b84710 100644 --- a/docs/editing.md +++ b/docs/editing.md @@ -483,7 +483,7 @@ All new editors at JOSS have an onboarding call with an Editor-in-Chief. You can **The review** -- Once both reviewers are assigned, time to get going! +- Once at least two reviewers are assigned, time to get going! - Encourage reviewers to complete their review in 4-6 weeks. - Make sure to check in on the review – if reviewers haven't started after ~1-2 weeks, time to remind them. - Your role as editor is not to do the review yourself, rather, your job is to ensure that both reviewers give a good review. From 7390856cadcfadcf46e3a4238e32c6bf8ecefd0a Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Wed, 24 Jan 2024 14:27:04 +0000 Subject: [PATCH 19/30] Update docs/editing.md Co-authored-by: Daniel S. Katz --- docs/editing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/editing.md b/docs/editing.md index 63b84710..e5472ff4 100644 --- a/docs/editing.md +++ b/docs/editing.md @@ -486,7 +486,7 @@ All new editors at JOSS have an onboarding call with an Editor-in-Chief. You can - Once at least two reviewers are assigned, time to get going! - Encourage reviewers to complete their review in 4-6 weeks. - Make sure to check in on the review – if reviewers haven't started after ~1-2 weeks, time to remind them. -- Your role as editor is not to do the review yourself, rather, your job is to ensure that both reviewers give a good review. +- Your role as editor is not to do the review yourself, rather, your job is to ensure that both reviewers give a good review and to facilitate discussion and consensus on what the author needs to do. - Walk the editor through the various review artifacts: The checklist, comments/questions/discussion between reviewers and author, issues opened on the upstream repository (and cross-linked into the review thread). - Point editors to the ['top tips'](editing.html#top-tips-for-joss-editors) section of our docs. Much of what makes an editor successful is regular check-ins on the review, and nudging people if nothing is happening. - Do *not* let a review go multiple weeks without checking in. From e4f8f3c089cfe0710fc692d032b4b24e60460313 Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Wed, 24 Jan 2024 14:27:17 +0000 Subject: [PATCH 20/30] Update docs/editing.md Co-authored-by: Daniel S. Katz --- docs/editing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/editing.md b/docs/editing.md index e5472ff4..884890e6 100644 --- a/docs/editing.md +++ b/docs/editing.md @@ -493,7 +493,7 @@ All new editors at JOSS have an onboarding call with an Editor-in-Chief. You can **Wrapping up the review** -- Once the review is wrapping up, show the candidate the checks that an editor should be doing (reading the paper, suggested edits, asking for an archive etc.). +- Once the review is wrapping up, show the candidate the checks that an editor should be doing (reading the paper, suggested edits, asking for an archive etc.) - Show the `recommend-accept` step which is the formal hand-off between editor and editor-in-chief. **Show them the dashboard on the JOSS site** From d3c8cd36ba1776224bc158e87b3df71eeca79968 Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Mon, 29 Jan 2024 09:59:02 +0000 Subject: [PATCH 21/30] Adding explicit note about editorial load. --- docs/editing.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/editing.md b/docs/editing.md index 884890e6..da106258 100644 --- a/docs/editing.md +++ b/docs/editing.md @@ -329,6 +329,10 @@ This doesn’t mean that you’re the editor, just that you’ve been suggested ## Expectations on JOSS editors +### Editorial load + +Our goal is for editors to handle between 3-4 submissions at any one time, and 8-12 submissions per year. During the trial period for editors (usually the first 90 days), we recommend new editors handle 1-2 submissions as they learn the JOSS editorial system and processes. + ### Responding to editorial assignments As documented above, usually, papers will be assigned to you by one of the TEiCs. We ask that editors do their best to respond in a timely fashion (~ 3 working days) to invites to edit a new submission. @@ -523,4 +527,4 @@ All new editors at JOSS have an onboarding call with an Editor-in-Chief. You can - Let the EiC know what the outcome was, and ask them to send out the invites to our various systems. - Work with EiC to identify onboarding buddy. -- Decide who is going to identify the first couple of papers for the editor to work on. \ No newline at end of file +- Decide who is going to identify the first couple of papers for the editor to work on. From 59420d175decb278bcc3793db9b5f731114d789b Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Mon, 29 Jan 2024 10:03:14 +0000 Subject: [PATCH 22/30] Sample messages. --- docs/editing.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/editing.md b/docs/editing.md index da106258..efa6654f 100644 --- a/docs/editing.md +++ b/docs/editing.md @@ -484,6 +484,7 @@ All new editors at JOSS have an onboarding call with an Editor-in-Chief. You can - Explain where you can look for editors (your own professional network, asking the authors for recommendations, the [reviewers application](https://reviewers.joss.theoj.org/), similar papers identified by Editorialbot, ) - Point out that we have a minimum of two reviewers, but if more than that accept (e.g., 3/4 then take them all – this gives you redundancy if one drops out). - Don't invite only one reviewer at a time! If you do this, it may take many weeks to find two reviewers who accept. Try 3/4/5 invites simultaneously. +- The [sample messages](editing.html#sample-messages-for-authors-and-reviewers) section of the documentation has some example language you can use. **The review** @@ -499,6 +500,8 @@ All new editors at JOSS have an onboarding call with an Editor-in-Chief. You can - Once the review is wrapping up, show the candidate the checks that an editor should be doing (reading the paper, suggested edits, asking for an archive etc.) - Show the `recommend-accept` step which is the formal hand-off between editor and editor-in-chief. +- The [sample messages](editing.html#sample-messages-for-authors-and-reviewers) section of the documentation has a checklist for the last steps of the review (for both authors and editors). + **Show them the dashboard on the JOSS site** From a698f189e2df4b2b2e937c91937499f6612204ed Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Mon, 29 Jan 2024 10:14:19 +0000 Subject: [PATCH 23/30] Completing the trial. --- docs/editing.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/editing.md b/docs/editing.md index efa6654f..e8a8f50b 100644 --- a/docs/editing.md +++ b/docs/editing.md @@ -333,6 +333,16 @@ This doesn’t mean that you’re the editor, just that you’ve been suggested Our goal is for editors to handle between 3-4 submissions at any one time, and 8-12 submissions per year. During the trial period for editors (usually the first 90 days), we recommend new editors handle 1-2 submissions as they learn the JOSS editorial system and processes. +### Completing the trial period + +JOSS has a 90-day trial period for new editors. At the end of the trial, the editor or JOSS editorial board can decide to part ways if either party determines editing for JOSS isn't a good fit for the editor. The most important traits the editorial board will be looking for with new editors are: + +- Demonstrating professionalism in communications with authors, reviewers, and the wider editorial team. +- Editorial responsibility, including [keeping up with their assigned submissions](editing.html#continued-attention-to-assigned-submissions). +- Encouraging good social (software community) practices. For example, thanking reviewers and making them feel like they are part of a team working together. + +If you're struggling with your editorial work, please let your buddy or an EiC know. + ### Responding to editorial assignments As documented above, usually, papers will be assigned to you by one of the TEiCs. We ask that editors do their best to respond in a timely fashion (~ 3 working days) to invites to edit a new submission. From c0fbf230f2983734ef5427253ed99b44c4648c53 Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Tue, 30 Jan 2024 09:20:11 +0000 Subject: [PATCH 24/30] Checklist update --- docs/editing.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/editing.md b/docs/editing.md index e8a8f50b..4889e732 100644 --- a/docs/editing.md +++ b/docs/editing.md @@ -251,16 +251,18 @@ Please feel free to ping me (@editorname) if you have any questions/concerns. ``` At this point could you: -- [ ] Make a tagged release of your software, and list the version tag of the archived version here. -- [ ] Archive the reviewed software in Zenodo or a similar service (e.g., figshare, an institutional repository) -- [ ] Check the archival deposit (e.g., in Zenodo) has the correct metadata. This includes the title (should match the paper title) and author list (make sure the list is correct and people who only made a small fix are not on it). You may also add the authors' ORCID. -- [ ] Please list the DOI of the archived version here. +- Make a tagged release of your software, and list the version tag of the archived version here. +- Archive the reviewed software in Zenodo or a similar service (e.g., figshare, an institutional repository) +- Check the archival deposit (e.g., in Zenodo) has the correct metadata. This includes the title (should match the paper title) and author list (make sure the list is correct and people who only made a small fix are not on it). You may also add the authors' ORCID. +- Please list the DOI of the archived version here. I can then move forward with recommending acceptance of the submission. ``` ### Rejection due to out of scope/failing substantial scholarly effort test +(Note that rejections are handled by EiCs and not individual editors). + ``` @authorname - thanks for your submission to JOSS. Unfortunately, after review by the JOSS editorial team we've determined that this submission doesn't meet our [substantial scholarly effort](https://joss.readthedocs.io/en/latest/submitting.html#substantial-scholarly-effort) criterion. From 89f3a9c97cc34ad7f27942f0726e445f0be6d078 Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Tue, 30 Jan 2024 09:21:56 +0000 Subject: [PATCH 25/30] Update editing.md --- docs/editing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/editing.md b/docs/editing.md index 4889e732..5521ccd4 100644 --- a/docs/editing.md +++ b/docs/editing.md @@ -464,7 +464,7 @@ All new editors at JOSS have an onboarding call with an Editor-in-Chief. You can - Check on their research background (e.g., what tracks they might edit most actively in). - Make sure to send them the [editorial guide](https://joss.readthedocs.io/en/latest/editing.html) to read before the call. -### The onboarding call +### The onboarding call **Preamble/introductions** From c80f7285f4ea18115e22aef557e120cce4df17d5 Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Sat, 3 Feb 2024 07:40:24 +0000 Subject: [PATCH 26/30] Updating dashboard --- app/helpers/editors_helper.rb | 7 +++++ app/views/editors/index.html.erb | 46 +++++--------------------------- 2 files changed, 13 insertions(+), 40 deletions(-) diff --git a/app/helpers/editors_helper.rb b/app/helpers/editors_helper.rb index e328315e..ffbcadb3 100644 --- a/app/helpers/editors_helper.rb +++ b/app/helpers/editors_helper.rb @@ -26,6 +26,13 @@ def display_availability(editor) "#{display_count}".html_safe end + def availability_remaining(editor) + active_assignments = @assignment_by_editor[editor.id].to_i - @paused_by_editor[editor.id].to_i + availability = editor.max_assignments - active_assignments + + return "#{availability}" + end + def in_progress_for_editor(editor) paused_count = @paused_by_editor[editor.id].to_i total_paper_count = @assignment_by_editor[editor.id].to_i diff --git a/app/views/editors/index.html.erb b/app/views/editors/index.html.erb index 7e26bbcb..411f44c6 100644 --- a/app/views/editors/index.html.erb +++ b/app/views/editors/index.html.erb @@ -14,13 +14,12 @@ <%= render partial: "aeic_dashboard/menu" %>
- <%= link_to 'New Editor', new_editor_path, class: 'btn action-btn float-right' %> - - - + + + @@ -32,14 +31,15 @@ <%- @active_editors.each do |editor| %> + - + @@ -55,38 +55,4 @@

-
-
-
-
- <%= image_tag "icon_papers.svg", height: "32px" %>

Editors Emeritus

-
-
-
- -
EditorCategoriesNameHandleCategories Start date Editing Capacity
<%= link_to editor.full_name, editor %> > - <%= link_to(image_tag(avatar(editor.login), size: "24x24", class: "avatar", title: editor.full_name), github_user_link(editor.login), target: "_blank") %> + <%= link_to(image_tag(avatar(editor.login), size: "32x32", class: "avatar", title: editor.full_name), github_user_link(editor.login), target: "_blank") %> <%= link_to editor.login, editor, title: editor.full_name %> <%= editor.category_list %> <%= editor.created_at.strftime('%Y-%m-%d') %> <%= link_to in_progress_for_editor(editor), "/dashboard/#{editor.login}" %><%= display_availability(editor) %> class="text-center" title="Limit: <%= editor.max_assignments %>"><%= display_availability(editor) %> class="text-center" title="Invites"><%= open_invites_for_editor(editor) %> <%= link_to 'Edit', edit_editor_path(editor), title: 'Edit' %>
- - - - - - - - - - - - <%- @emeritus_editors.each do |editor| %> - - - - - - - - <%- end %> - -
NameLoginCategoriesDescription
<%= link_to editor.full_name, editor %>> - <%= link_to image_tag(avatar(editor.login), size: "24x24", class: "avatar", title: github_user_link(editor.login)), github_user_link(editor.login), target: "_blank" %> - <%= link_to editor.login, "/dashboard/#{editor.login}" %><%= editor.category_list %><%= editor.description.html_safe %><%= link_to 'Edit', edit_editor_path(editor), title: 'Edit' %>
From a7e1cffd474967838f47beacbbdd94dedf1054ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baz=C3=A1n?= Date: Sun, 4 Feb 2024 12:32:09 +0100 Subject: [PATCH 27/30] Add spec --- spec/models/editor_spec.rb | 38 ++++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/spec/models/editor_spec.rb b/spec/models/editor_spec.rb index d7d01b5c..5db4b547 100644 --- a/spec/models/editor_spec.rb +++ b/spec/models/editor_spec.rb @@ -135,17 +135,35 @@ end describe "#by_track" do - it "should filter by track" do - track_A, track_B = create_list(:track, 2) - editor_A = create(:editor, tracks: [track_A]) - editor_AB = create(:editor, tracks: [track_A, track_B]) - editor_B = create(:editor, tracks: [track_B]) - - track_A_editors = Editor.by_track(track_A.id) - expect(track_A_editors.size).to eq(2) - expect(track_A_editors.include?(editor_A)).to be true - expect(track_A_editors.include?(editor_AB)).to be true + it "should filter by track" do + track_A, track_B = create_list(:track, 2) + editor_A = create(:editor, tracks: [track_A]) + editor_AB = create(:editor, tracks: [track_A, track_B]) + editor_B = create(:editor, tracks: [track_B]) + + track_A_editors = Editor.by_track(track_A.id) + expect(track_A_editors.size).to eq(2) + expect(track_A_editors.include?(editor_A)).to be true + expect(track_A_editors.include?(editor_AB)).to be true + end end + + describe "#status" do + it "should be Retired for emeritus editors" do + emeritus_editor = create(:editor, kind: "emeritus") + + expect(emeritus_editor.status).to eq "Retired" + end + + it "should be Active otherwise" do + board_editor = create(:editor, kind: "board") + topic_editor = create(:editor, kind: "topic") + pending_editor = create(:editor, kind: "pending") + + expect(board_editor.status).to eq "Active" + expect(topic_editor.status).to eq "Active" + expect(pending_editor.status).to eq "Active" + end end describe "#accept!" do From d9629f3c6cf8447e0e34fcb35fec0f6d5ac7ea00 Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Sun, 4 Feb 2024 21:48:37 +0000 Subject: [PATCH 28/30] Editor dashboard tweaks --- app/helpers/editors_helper.rb | 10 ++++++++-- app/views/editors/index.html.erb | 6 +++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/helpers/editors_helper.rb b/app/helpers/editors_helper.rb index ffbcadb3..37c6ee01 100644 --- a/app/helpers/editors_helper.rb +++ b/app/helpers/editors_helper.rb @@ -16,12 +16,13 @@ def display_availability(editor) comment = "#{editor.max_assignments} max." - display_count = editor.max_assignments + display_count = "#{active_assignments} / #{editor.max_assignments}" if editor.availability_comment.present? - display_count = "#{display_count}*" + display_count = "#{active_assignments} / #{editor.max_assignments}*" comment += " : #{editor.availability_comment}" end + "#{display_count}".html_safe end @@ -33,6 +34,11 @@ def availability_remaining(editor) return "#{availability}" end + def active_assignments_for_editor(editor) + active_assignments = @assignment_by_editor[editor.id].to_i - @paused_by_editor[editor.id].to_i + return "#{active_assignments}" + end + def in_progress_for_editor(editor) paused_count = @paused_by_editor[editor.id].to_i total_paper_count = @assignment_by_editor[editor.id].to_i diff --git a/app/views/editors/index.html.erb b/app/views/editors/index.html.erb index 411f44c6..129ef296 100644 --- a/app/views/editors/index.html.erb +++ b/app/views/editors/index.html.erb @@ -22,7 +22,7 @@ Categories Start date Editing - Capacity + Space Invites @@ -38,8 +38,8 @@ <%= editor.category_list %> <%= editor.created_at.strftime('%Y-%m-%d') %> - <%= link_to in_progress_for_editor(editor), "/dashboard/#{editor.login}" %> - class="text-center" title="Limit: <%= editor.max_assignments %>"><%= display_availability(editor) %> + class="text-center" title="Limit: <%= editor.max_assignments %>"><%= link_to display_availability(editor), "/dashboard/#{editor.login}" %> + class="text-center" title="Limit: <%= editor.max_assignments %>"><%= availability_remaining(editor) %> class="text-center" title="Invites"><%= open_invites_for_editor(editor) %> <%= link_to 'Edit', edit_editor_path(editor), title: 'Edit' %> From a8a83690d986e475ae458a06e365fc9fb40d170a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baz=C3=A1n?= Date: Tue, 6 Feb 2024 19:49:41 +0100 Subject: [PATCH 29/30] Sec update --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 57be4ea1..959569dd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -247,12 +247,12 @@ GEM newrelic_rpm (9.6.0) base64 nio4r (2.7.0) - nokogiri (1.16.0) + nokogiri (1.16.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.16.0-x86_64-darwin) + nokogiri (1.16.2-x86_64-darwin) racc (~> 1.4) - nokogiri (1.16.0-x86_64-linux) + nokogiri (1.16.2-x86_64-linux) racc (~> 1.4) oauth2 (2.0.9) faraday (>= 0.17.3, < 3.0) From 801625d1773f62d5abec1b23ba12f9ea1ae0e65f Mon Sep 17 00:00:00 2001 From: Adam Tyson Date: Thu, 8 Feb 2024 10:56:43 +0000 Subject: [PATCH 30/30] Fix typo in editing.md (#1312) --- docs/editing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/editing.md b/docs/editing.md index 5521ccd4..1cea4278 100644 --- a/docs/editing.md +++ b/docs/editing.md @@ -302,7 +302,7 @@ This doesn’t mean that you’re the editor, just that you’ve been suggested **Step 7: Editor tells EditorialBot to assign the reviewers to the paper** - Use `@editorialbot add @reviewer as reviewer` -- To add a second reviewer use `@editorialbot add @reviwer2 as reviewer` +- To add a second reviewer use `@editorialbot add @reviewer2 as reviewer` **Step 8: Create the actual review issue**