diff --git a/Gemfile.lock b/Gemfile.lock
index 6eab0f05d3d9eccb080c73f567766f8cbfadcc56..de189936aedb7a92f6b6ca4cb341282eb49a99e3 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -89,7 +89,7 @@ GEM
     autoprefixer-rails (10.4.7.0)
       execjs (~> 2)
     aws-eventstream (1.2.0)
-    aws-partitions (1.612.0)
+    aws-partitions (1.613.0)
     aws-sdk-core (3.131.5)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.525.0)
@@ -314,7 +314,7 @@ GEM
       multi_json (~> 1.3)
       multi_xml (~> 0.5)
       rack (>= 1.2, < 3)
-    octokit (5.1.0)
+    octokit (5.2.0)
       faraday (>= 1, < 3)
       sawyer (~> 0.9)
     omniauth (2.1.0)
@@ -466,7 +466,7 @@ GEM
       nokogiri (~> 1.6)
       rubyzip (>= 1.3.0)
       selenium-webdriver (~> 4.0)
-    webmock (3.14.0)
+    webmock (3.16.0)
       addressable (>= 2.8.0)
       crack (>= 0.3.2)
       hashdiff (>= 0.4.0, < 2.0.0)
diff --git a/app/controllers/admin/research/journals/articles_controller.rb b/app/controllers/admin/research/journals/articles_controller.rb
deleted file mode 100644
index 50fe4b3bbd71492cd8bb4447fe4370eb26da8714..0000000000000000000000000000000000000000
--- a/app/controllers/admin/research/journals/articles_controller.rb
+++ /dev/null
@@ -1,66 +0,0 @@
-class Admin::Research::Journals::ArticlesController < Admin::Research::Journals::ApplicationController
-  load_and_authorize_resource class: Research::Journal::Article, through: :journal
-
-  include Admin::Reorderable
-
-  def index
-    breadcrumb
-  end
-
-  def show
-    breadcrumb
-  end
-
-  def new
-    breadcrumb
-  end
-
-  def edit
-    breadcrumb
-    add_breadcrumb t('edit')
-  end
-
-  def create
-    @article.assign_attributes(
-      journal: @journal,
-      university: current_university,
-      updated_by: current_user
-    )
-    if @article.save_and_sync
-      redirect_to admin_research_journal_article_path(@article), notice: t('admin.successfully_created_html', model: @article.to_s)
-    else
-      breadcrumb
-      render :new, status: :unprocessable_entity
-    end
-  end
-
-  def update
-    @article.updated_by = current_user
-    if @article.update_and_sync(article_params)
-      redirect_to admin_research_journal_article_path(@article), notice: t('admin.successfully_updated_html', model: @article.to_s)
-    else
-      breadcrumb
-      add_breadcrumb t('edit')
-      render :edit, status: :unprocessable_entity
-  end
-  end
-
-  def destroy
-    @article.destroy_and_sync
-    redirect_to admin_research_journal_path(@journal), notice: t('admin.successfully_destroyed_html', model: @article.to_s)
-  end
-
-  private
-
-  def breadcrumb
-    super
-    add_breadcrumb Research::Journal::Article.model_name.human(count: 2), admin_research_journal_articles_path
-    breadcrumb_for @article
-  end
-
-  def article_params
-    params.require(:research_journal_article)
-          .permit(:title, :slug, :text, :published, :published_at, :abstract, :description, :pdf, :references, :keywords, :research_journal_volume_id, person_ids: [])
-          .merge(university_id: current_university.id)
-  end
-end
diff --git a/app/controllers/admin/research/journals/papers_controller.rb b/app/controllers/admin/research/journals/papers_controller.rb
new file mode 100644
index 0000000000000000000000000000000000000000..205c59c45f6639fa7bd0bddf444e88d59cc9ed30
--- /dev/null
+++ b/app/controllers/admin/research/journals/papers_controller.rb
@@ -0,0 +1,66 @@
+class Admin::Research::Journals::PapersController < Admin::Research::Journals::ApplicationController
+  load_and_authorize_resource class: Research::Journal::Paper, through: :journal
+
+  include Admin::Reorderable
+
+  def index
+    breadcrumb
+  end
+
+  def show
+    breadcrumb
+  end
+
+  def new
+    breadcrumb
+  end
+
+  def edit
+    breadcrumb
+    add_breadcrumb t('edit')
+  end
+
+  def create
+    @paper.assign_attributes(
+      journal: @journal,
+      university: current_university,
+      updated_by: current_user
+    )
+    if @paper.save_and_sync
+      redirect_to admin_research_journal_paper_path(@paper), notice: t('admin.successfully_created_html', model: @paper.to_s)
+    else
+      breadcrumb
+      render :new, status: :unprocessable_entity
+    end
+  end
+
+  def update
+    @paper.updated_by = current_user
+    if @paper.update_and_sync(paper_params)
+      redirect_to admin_research_journal_paper_path(@paper), notice: t('admin.successfully_updated_html', model: @paper.to_s)
+    else
+      breadcrumb
+      add_breadcrumb t('edit')
+      render :edit, status: :unprocessable_entity
+  end
+  end
+
+  def destroy
+    @paper.destroy_and_sync
+    redirect_to admin_research_journal_path(@journal), notice: t('admin.successfully_destroyed_html', model: @paper.to_s)
+  end
+
+  private
+
+  def breadcrumb
+    super
+    add_breadcrumb Research::Journal::Paper.model_name.human(count: 2), admin_research_journal_papers_path
+    breadcrumb_for @paper
+  end
+
+  def paper_params
+    params.require(:research_journal_paper)
+          .permit(:title, :slug, :text, :published, :published_at, :abstract, :description, :pdf, :references, :keywords, :research_journal_volume_id, person_ids: [])
+          .merge(university_id: current_university.id)
+  end
+end
diff --git a/app/controllers/admin/research/journals/volumes_controller.rb b/app/controllers/admin/research/journals/volumes_controller.rb
index 3805ef140a1b67b35a494d34e666739483270c19..069b4d1e14a582431ee6a2a757d36a1df8681add 100644
--- a/app/controllers/admin/research/journals/volumes_controller.rb
+++ b/app/controllers/admin/research/journals/volumes_controller.rb
@@ -7,7 +7,7 @@ class Admin::Research::Journals::VolumesController < Admin::Research::Journals::
   end
 
   def show
-    @articles = @volume.articles.ordered
+    @papers = @volume.papers.ordered
     breadcrumb
   end
 
diff --git a/app/controllers/admin/research/journals_controller.rb b/app/controllers/admin/research/journals_controller.rb
index 0fb198f42ec13db026963621faf104fb8e9ef777..070827385be943e06b4dc21091b35f099efe8eef 100644
--- a/app/controllers/admin/research/journals_controller.rb
+++ b/app/controllers/admin/research/journals_controller.rb
@@ -12,7 +12,7 @@ class Admin::Research::JournalsController < Admin::Research::ApplicationControll
   end
 
   def show
-    @articles = @journal.articles.order(published_at: :desc, created_at: :desc).limit(10)
+    @papers = @journal.papers.ordered.limit(10)
     breadcrumb
   end
 
diff --git a/app/models/ability.rb b/app/models/ability.rb
index 2c9f5c0abbd4fd50faa0aeab6969b25cf7c733d9..63debd8bea640c67f837fba651f70552d52130d1 100644
--- a/app/models/ability.rb
+++ b/app/models/ability.rb
@@ -24,7 +24,7 @@ class Ability
     can :read, Education::Program, university_id: @user.university_id
     can :read, Education::School, university_id: @user.university_id
     can :read, Research::Journal, university_id: @user.university_id
-    can :read, Research::Journal::Article, university_id: @user.university_id
+    can :read, Research::Journal::Paper, university_id: @user.university_id
     can :read, Research::Journal::Volume, university_id: @user.university_id
     can :read, Research::Laboratory, university_id: @user.university_id
     can :read, User, university_id: @user.university_id
@@ -107,7 +107,7 @@ class Ability
     can :manage, Education::Program, university_id: @user.university_id
     can :manage, :all_programs # needed to prevent program_manager to access specific global screens
     can :manage, Research::Journal, university_id: @user.university_id
-    can :manage, Research::Journal::Article, university_id: @user.university_id
+    can :manage, Research::Journal::Paper, university_id: @user.university_id
     can :manage, Research::Journal::Volume, university_id: @user.university_id
     can :manage, Research::Laboratory, university_id: @user.university_id
     can :manage, University::Role, university_id: @user.university_id
diff --git a/app/models/communication/website/menu/item.rb b/app/models/communication/website/menu/item.rb
index 234e37df76ef240389c844d96010b0a22fce3179..151b7505b7e61a458a8ccafcf292c960fadd6227 100644
--- a/app/models/communication/website/menu/item.rb
+++ b/app/models/communication/website/menu/item.rb
@@ -68,8 +68,8 @@ class Communication::Website::Menu::Item < ApplicationRecord
     teachers: 54,
     volumes: 60,
     volume: 61,
-    articles: 62,
-    article: 63
+    papers: 62,
+    paper: 63
   }, _prefix: :kind
 
   validates :title, presence: true
@@ -90,8 +90,8 @@ class Communication::Website::Menu::Item < ApplicationRecord
       'page' => Icon::COMMUNICATION_WEBSITE_PAGE,
       'program' => Icon::EDUCATION_PROGRAM,
       'programs' => Icon::EDUCATION_PROGRAM,
-      'article' => Icon::RESEARCH_LABORATORY,
-      'articles' => Icon::RESEARCH_LABORATORY,
+      'paper' => Icon::RESEARCH_LABORATORY,
+      'papers' => Icon::RESEARCH_LABORATORY,
       'volumes' => Icon::RESEARCH_LABORATORY,
       'volume' => Icon::RESEARCH_LABORATORY,
       'researchers' => Icon::RESEARCH_RESEARCHER,
@@ -147,7 +147,7 @@ class Communication::Website::Menu::Item < ApplicationRecord
     kind_category? ||
     kind_post? ||
     kind_volume? ||
-    kind_article?
+    kind_paper?
   end
 
   def sync_menu
diff --git a/app/models/communication/website/menu/item/with_targets.rb b/app/models/communication/website/menu/item/with_targets.rb
index dbc8a06db0f58615a8834117188cd41e1dab2393..41cfd47aa11dfbbc4b36fe8118c7b6fe1a55dae7 100644
--- a/app/models/communication/website/menu/item/with_targets.rb
+++ b/app/models/communication/website/menu/item/with_targets.rb
@@ -78,12 +78,12 @@ module Communication::Website::Menu::Item::WithTargets
     Static.clean_path "#{website.special_page(:research_volumes).path}#{about.path}"
   end
 
-  def target_for_articles
-    Static.clean_path website.special_page(:research_articles).path
+  def target_for_papers
+    Static.clean_path website.special_page(:research_papers).path
   end
 
-  def target_for_article
+  def target_for_paper
     return unless about&.published && about&.published_at
-    Static.clean_path "#{website.special_page(:research_articles).path}#{about.path}"
+    Static.clean_path "#{website.special_page(:research_papers).path}#{about.path}"
   end
 end
diff --git a/app/models/communication/website/page/with_kind.rb b/app/models/communication/website/page/with_kind.rb
index a1b0ea544157ca08e7836300114f825194a96578..60983f7557d7d33a2673ee0aa70c0661f1ed1df4 100644
--- a/app/models/communication/website/page/with_kind.rb
+++ b/app/models/communication/website/page/with_kind.rb
@@ -8,7 +8,7 @@ module Communication::Website::Page::WithKind
       communication_posts: 10,
       education_programs: 20,
       education_diplomas: 21,
-      research_articles: 30,
+      research_papers: 30,
       research_volumes: 32,
       legal_terms: 80,
         sitemap: 81,
@@ -26,7 +26,7 @@ module Communication::Website::Page::WithKind
       'communication_posts',
       'education_programs',
       'education_diplomas',
-      'research_articles',
+      'research_papers',
       'research_volumes',
       'organizations',
       'persons',
diff --git a/app/models/communication/website/with_dependencies.rb b/app/models/communication/website/with_dependencies.rb
index c9939dc2b03d01632982ac5b83df91bb3125443c..b3a2231079d5b8458c3754d8b2cff1c3828ecf72 100644
--- a/app/models/communication/website/with_dependencies.rb
+++ b/app/models/communication/website/with_dependencies.rb
@@ -49,8 +49,8 @@ module Communication::Website::WithDependencies
     has_research_volumes? ? about.published_volumes : Research::Journal::Volume.none
   end
 
-  def research_articles
-    has_research_articles? ? about.published_articles : Research::Journal::Article.none
+  def research_papers
+    has_research_papers? ? about.published_papers : Research::Journal::Paper.none
   end
 
   def administrators
@@ -174,8 +174,8 @@ module Communication::Website::WithDependencies
     about && about.has_education_diplomas?
   end
 
-  def has_research_articles?
-    about && about.has_research_articles?
+  def has_research_papers?
+    about && about.has_research_papers?
   end
 
   def has_research_volumes?
diff --git a/app/models/communication/website/with_menu_items.rb b/app/models/communication/website/with_menu_items.rb
index 1a8c9c6a364f37faad803dfe2459a9a24f3bb630..cd2e66c5daecc230c7db5ec4a0ac419ee9c22440 100644
--- a/app/models/communication/website/with_menu_items.rb
+++ b/app/models/communication/website/with_menu_items.rb
@@ -80,11 +80,11 @@ module Communication::Website::WithMenuItems
     has_research_volumes?
   end
 
-  def menu_item_kind_articles?
-    has_research_articles?
+  def menu_item_kind_papers?
+    has_research_papers?
   end
 
-  def menu_item_kind_article?
-    has_research_articles?
+  def menu_item_kind_paper?
+    has_research_papers?
   end
 end
diff --git a/app/models/communication/website/with_special_pages.rb b/app/models/communication/website/with_special_pages.rb
index 54fdc06bf5f121fa7c1d8420ea067510f669802a..3da2f83c06e21a0847814176a79f52f5524785d6 100644
--- a/app/models/communication/website/with_special_pages.rb
+++ b/app/models/communication/website/with_special_pages.rb
@@ -13,7 +13,7 @@ module Communication::Website::WithSpecialPages
     def create_missing_special_pages
       homepage = create_special_page('home')
       # first level pages with test
-      ['legal_terms', 'sitemap', 'privacy_policy', 'accessibility', 'communication_posts', 'education_programs', 'education_diplomas', 'research_articles', 'research_volumes', 'organizations'].each do |kind|
+      ['legal_terms', 'sitemap', 'privacy_policy', 'accessibility', 'communication_posts', 'education_programs', 'education_diplomas', 'research_papers', 'research_volumes', 'organizations'].each do |kind|
         create_special_page(kind, homepage.id) if public_send("has_#{kind}?")
       end
       # team pages
diff --git a/app/models/concerns/aboutable.rb b/app/models/concerns/aboutable.rb
index 05e71acfb1eddb0fa29e25a702515b8123c5bdba..5a9f8541b9ed4abdb3e77a0297e4773a94d0e47e 100644
--- a/app/models/concerns/aboutable.rb
+++ b/app/models/concerns/aboutable.rb
@@ -21,7 +21,7 @@ module Aboutable
     raise NotImplementedError
   end
 
-  def has_research_articles?
+  def has_research_papers?
     raise NotImplementedError
   end
 
diff --git a/app/models/education/program.rb b/app/models/education/program.rb
index 5cc68257912633c5e73f04e0bdd59454d2cbce84..52ecb7123e888def59012c15b8d2d35d62277901 100644
--- a/app/models/education/program.rb
+++ b/app/models/education/program.rb
@@ -202,7 +202,7 @@ class Education::Program < ApplicationRecord
     diploma.present? || descendants.any? { |descendant| descendant.diploma.present? }
   end
 
-  def has_research_articles?
+  def has_research_papers?
     false
   end
 
diff --git a/app/models/education/school.rb b/app/models/education/school.rb
index aadc491bb702cde9a656eab235a75bb4b55212d1..cd6817b6fca158ff9f20f723fc83919edf6bd887 100644
--- a/app/models/education/school.rb
+++ b/app/models/education/school.rb
@@ -84,7 +84,7 @@ class Education::School < ApplicationRecord
   # Aboutable methods #
   #####################
 
-  def has_research_articles?
+  def has_research_papers?
     false
   end
 
diff --git a/app/models/research/journal.rb b/app/models/research/journal.rb
index 885d92465a6b402e3b55488b8f25a9076550939c..7d302b7e63eff80a95868df995ecb8e0220f4c80 100644
--- a/app/models/research/journal.rb
+++ b/app/models/research/journal.rb
@@ -28,10 +28,10 @@ class Research::Journal < ApplicationRecord
   has_many :websites, class_name: 'Communication::Website', as: :about, dependent: :nullify
   has_many :volumes, foreign_key: :research_journal_id, dependent: :destroy
   has_many :published_volumes, -> { published }, class_name: 'Research::Journal::Volume', foreign_key: :research_journal_id, dependent: :destroy
-  has_many :articles, foreign_key: :research_journal_id, dependent: :destroy
-  has_many :published_articles, -> { published }, class_name: 'Research::Journal::Article', foreign_key: :research_journal_id, dependent: :destroy
-  has_many :people, -> { distinct }, through: :articles
-  has_many :people_through_published_articles, -> { distinct }, through: :published_articles, source: :people
+  has_many :papers, foreign_key: :research_journal_id, dependent: :destroy
+  has_many :published_papers, -> { published }, class_name: 'Research::Journal::Paper', foreign_key: :research_journal_id, dependent: :destroy
+  has_many :people, -> { distinct }, through: :papers
+  has_many :people_through_published_papers, -> { distinct }, through: :published_papers, source: :people
 
   scope :ordered, -> { order(:title) }
   scope :for_search_term, -> (term) {
@@ -48,7 +48,7 @@ class Research::Journal < ApplicationRecord
   end
 
   def researchers
-    university.people.where(id: people_through_published_articles.pluck(:id), is_researcher: true)
+    university.people.where(id: people_through_published_papers.pluck(:id), is_researcher: true)
   end
 
   def git_path(website)
@@ -57,14 +57,14 @@ class Research::Journal < ApplicationRecord
 
   def git_dependencies(website)
     dependencies = [self]
-    dependencies += published_articles + published_articles.map(&:active_storage_blobs).flatten if has_research_articles?
+    dependencies += published_papers + published_papers.map(&:active_storage_blobs).flatten if has_research_papers?
     dependencies += published_volumes + published_volumes.map(&:active_storage_blobs).flatten if has_research_volumes?
     dependencies += researchers + researchers.map(&:researcher) + researchers.map(&:active_storage_blobs).flatten if has_researchers?
     dependencies
   end
 
   def git_destroy_dependencies(website)
-    [self] + articles + volumes
+    [self] + papers + volumes
   end
 
   #####################
@@ -90,8 +90,8 @@ class Research::Journal < ApplicationRecord
     false
   end
 
-  def has_research_articles?
-    published_articles.published.any?
+  def has_research_papers?
+    published_papers.published.any?
   end
 
   def has_research_volumes?
diff --git a/app/models/research/journal/article.rb b/app/models/research/journal/paper.rb
similarity index 74%
rename from app/models/research/journal/article.rb
rename to app/models/research/journal/paper.rb
index 40fa4544dc9b9fc82aecc134fa00e1b3ab551e77..73222e19074fa180f71b1c36099d799255a62940 100644
--- a/app/models/research/journal/article.rb
+++ b/app/models/research/journal/paper.rb
@@ -1,6 +1,6 @@
 # == Schema Information
 #
-# Table name: research_journal_articles
+# Table name: research_journal_papers
 #
 #  id                         :uuid             not null, primary key
 #  abstract                   :text
@@ -22,10 +22,10 @@
 #
 # Indexes
 #
-#  index_research_journal_articles_on_research_journal_id         (research_journal_id)
-#  index_research_journal_articles_on_research_journal_volume_id  (research_journal_volume_id)
-#  index_research_journal_articles_on_university_id               (university_id)
-#  index_research_journal_articles_on_updated_by_id               (updated_by_id)
+#  index_research_journal_papers_on_research_journal_id         (research_journal_id)
+#  index_research_journal_papers_on_research_journal_volume_id  (research_journal_volume_id)
+#  index_research_journal_papers_on_university_id               (university_id)
+#  index_research_journal_papers_on_updated_by_id               (updated_by_id)
 #
 # Foreign Keys
 #
@@ -34,7 +34,7 @@
 #  fk_rails_2713063b85  (updated_by_id => users.id)
 #  fk_rails_935541e014  (university_id => universities.id)
 #
-class Research::Journal::Article < ApplicationRecord
+class Research::Journal::Paper < ApplicationRecord
   include Sanitizable
   include WithUniversity
   include WithGit
@@ -50,7 +50,7 @@ class Research::Journal::Article < ApplicationRecord
   belongs_to :updated_by, class_name: 'User'
   has_and_belongs_to_many :people,
                           class_name: 'University::Person',
-                          join_table: :research_journal_articles_researchers,
+                          join_table: :research_journal_papers_researchers,
                           association_foreign_key: :researcher_id
   has_many :websites, -> { distinct }, through: :journal
 
@@ -59,15 +59,16 @@ class Research::Journal::Article < ApplicationRecord
   before_validation :set_published_at, if: :published_changed?
 
   scope :published, -> { where(published: true) }
+  scope :ordered, -> { order(published_at: :desc, created_at: :desc) }
 
   def git_path(website)
-    "content/articles/#{published_at.year}/#{published_at.strftime "%Y-%m-%d"}-#{slug}.html" if (volume.nil? || volume.published_at) && published_at
+    "content/papers/#{published_at.year}/#{published_at.strftime "%Y-%m-%d"}-#{slug}.html" if (volume.nil? || volume.published_at) && published_at
   end
 
   def git_dependencies(website)
     [self] +
     active_storage_blobs +
-    other_articles_in_the_volume +
+    other_papers_in_the_volume +
     people +
     people.map(&:active_storage_blobs).flatten +
     people.map(&:researcher) +
@@ -84,13 +85,13 @@ class Research::Journal::Article < ApplicationRecord
 
   protected
 
-  def other_articles_in_the_volume
+  def other_papers_in_the_volume
     return [] if volume.nil?
-    volume.articles.where.not(id: self)
+    volume.papers.where.not(id: self)
   end
 
   def last_ordered_element
-    Research::Journal::Article.where(
+    Research::Journal::Paper.where(
       university_id: university_id,
       research_journal_volume_id: research_journal_volume_id
     ).ordered.last
diff --git a/app/models/research/journal/volume.rb b/app/models/research/journal/volume.rb
index dc0e9ae3868ab1f9029ac218ad9106a96de5b7fc..1aef5e46df1e11488101e2e97b4e310c158ab210 100644
--- a/app/models/research/journal/volume.rb
+++ b/app/models/research/journal/volume.rb
@@ -39,9 +39,9 @@ class Research::Journal::Volume < ApplicationRecord
   has_summernote :text
 
   belongs_to :journal, foreign_key: :research_journal_id
-  has_many :articles, foreign_key: :research_journal_volume_id, dependent: :nullify
+  has_many :papers, foreign_key: :research_journal_volume_id, dependent: :nullify
   has_many :websites, -> { distinct }, through: :journal
-  has_many :people, -> { distinct }, through: :articles
+  has_many :people, -> { distinct }, through: :papers
 
   before_validation :set_published_at, if: :published_changed?
 
@@ -58,7 +58,7 @@ class Research::Journal::Volume < ApplicationRecord
 
   def git_dependencies(website)
     [self] +
-    articles +
+    papers +
     people +
     people.map(&:active_storage_blobs).flatten +
     people.map(&:researcher) +
diff --git a/app/models/research/laboratory.rb b/app/models/research/laboratory.rb
index 964f4dbd9bfb3db828d3a3719e63e4e6b20a49a4..2daa8f561dd6972026cfc0bba330ae23815192f5 100644
--- a/app/models/research/laboratory.rb
+++ b/app/models/research/laboratory.rb
@@ -80,7 +80,7 @@ class Research::Laboratory < ApplicationRecord
     false
   end
 
-  def has_research_articles?
+  def has_research_papers?
     false
   end
 
diff --git a/app/models/university/person.rb b/app/models/university/person.rb
index 0b40a7082fe2a43d59c084d89a163e0502542cee..a3f3f3e10ab70d333719afd964d9aea4782818b5 100644
--- a/app/models/university/person.rb
+++ b/app/models/university/person.rb
@@ -70,9 +70,9 @@ class University::Person < ApplicationRecord
 
   belongs_to :user, optional: true
 
-  has_and_belongs_to_many :research_journal_articles,
-                          class_name: 'Research::Journal::Article',
-                          join_table: :research_journal_articles_researchers,
+  has_and_belongs_to_many :research_journal_papers,
+                          class_name: 'Research::Journal::Paper',
+                          join_table: :research_journal_papers_researchers,
                           foreign_key: :researcher_id
 
   has_many                :communication_website_posts,
@@ -96,7 +96,7 @@ class University::Person < ApplicationRecord
 
   has_many                :researcher_websites,
                           -> { distinct },
-                          through: :research_journal_articles,
+                          through: :research_journal_papers,
                           source: :websites
 
   has_many                :teacher_websites,
diff --git a/app/views/admin/communication/websites/configs/permalinks/static.html.erb b/app/views/admin/communication/websites/configs/permalinks/static.html.erb
index 1d0f127129dfcb73842d6cbe436abe56125b5cb7..a7bdb1749c200bbd12a7bbf7756afbe1a9ac690f 100644
--- a/app/views/admin/communication/websites/configs/permalinks/static.html.erb
+++ b/app/views/admin/communication/websites/configs/permalinks/static.html.erb
@@ -24,5 +24,5 @@ administrators: <%= @website.special_page(:persons).path_without_language %>:slu
 teachers:       <%= @website.special_page(:persons).path_without_language %>:slug/programs/
 <% end %>
 <% if @website.has_researchers? %>
-researchers:    <%= @website.special_page(:persons).path_without_language %>:slug/articles/
+researchers:    <%= @website.special_page(:persons).path_without_language %>:slug/papers/
 <% end %>
diff --git a/app/views/admin/communication/websites/menus/items/_form.html.erb b/app/views/admin/communication/websites/menus/items/_form.html.erb
index 7dc309043ccc451fdb0766b2a5e089bfa1066726..6279d63485b74ca9b28685e6d109c2ea843b075a 100644
--- a/app/views/admin/communication/websites/menus/items/_form.html.erb
+++ b/app/views/admin/communication/websites/menus/items/_form.html.erb
@@ -32,8 +32,8 @@
                   about_collection = collection @website.posts
                 elsif item.kind_volume?
                   about_collection = collection @website.research_volumes
-                elsif item.kind_article?
-                  about_collection = collection @website.research_articles
+                elsif item.kind_paper?
+                  about_collection = collection @website.research_papers
                 end
               else
                 about_collection = []
diff --git a/app/views/admin/communication/websites/menus/items/kind_switch.js.erb b/app/views/admin/communication/websites/menus/items/kind_switch.js.erb
index 484357c7b692e4f6e7aba487985491912834084a..3e7d34011024a1dbf6e07ebd112f6ffa7e7f1971 100644
--- a/app/views/admin/communication/websites/menus/items/kind_switch.js.erb
+++ b/app/views/admin/communication/websites/menus/items/kind_switch.js.erb
@@ -61,14 +61,14 @@ function hideAbout() {
     end
     %>
     displayAbout('Research::Journal::Volume', "<%= j(raw(options.join(''))) %>");
-<% elsif @kind == 'article' %>
+<% elsif @kind == 'paper' %>
     <%
     options = ['<option value="" label=" "></option>']
-    @website.research_articles.ordered.each do |article|
-        options << "<option value=\"#{article.id}\">#{article.to_s}</option>"
+    @website.research_papers.ordered.each do |paper|
+        options << "<option value=\"#{paper.id}\">#{paper.to_s}</option>"
     end
     %>
-    displayAbout('Research::Journal::Article', "<%= j(raw(options.join(''))) %>");
+    displayAbout('Research::Journal::Paper', "<%= j(raw(options.join(''))) %>");
 <% else %>
     $('.js-url-field').addClass('d-none');
     hideAbout();
diff --git a/app/views/admin/research/journals/articles/_list.html.erb b/app/views/admin/research/journals/articles/_list.html.erb
deleted file mode 100644
index 5004452d6d731b8a02ad59f8718425777ff68d76..0000000000000000000000000000000000000000
--- a/app/views/admin/research/journals/articles/_list.html.erb
+++ /dev/null
@@ -1,33 +0,0 @@
-<table class="table">
-  <thead>
-    <tr>
-      <th><%= Research::Journal::Article.model_name.human %></th>
-      <th><%= Research::Journal::Article.human_attribute_name('published_at') %></th>
-      <th></th>
-    </tr>
-  </thead>
-  <tbody>
-    <% articles.each do |article| %>
-      <tr>
-        <td>
-          <%= link_to article,
-                      admin_research_journal_article_path(journal_id: article.journal, id: article),
-                      class: "#{'draft' unless article.published?}" %>
-        </td>
-        <td><%= article.published_at %></td>
-        <td class="text-end">
-          <div class="btn-group" role="group">
-            <%= link_to t('edit'),
-                        edit_admin_research_journal_article_path(journal_id: article.journal, id: article),
-                        class: button_classes %>
-            <%= link_to t('delete'),
-                        admin_research_journal_article_path(journal_id: article.journal, id: article),
-                        method: :delete,
-                        data: { confirm: t('please_confirm') },
-                        class: button_classes_danger %>
-          </div>
-        </td>
-      </tr>
-    <% end %>
-  </tbody>
-</table>
diff --git a/app/views/admin/research/journals/articles/edit.html.erb b/app/views/admin/research/journals/articles/edit.html.erb
deleted file mode 100644
index 097d859060b778e20278a7ccf0eb489fdb41aea9..0000000000000000000000000000000000000000
--- a/app/views/admin/research/journals/articles/edit.html.erb
+++ /dev/null
@@ -1,3 +0,0 @@
-<% content_for :title, @article %>
-
-<%= render 'form', article: @article %>
diff --git a/app/views/admin/research/journals/articles/index.html.erb b/app/views/admin/research/journals/articles/index.html.erb
deleted file mode 100644
index 482b92c24acabe62a91b96fc21ae2d040be2a330..0000000000000000000000000000000000000000
--- a/app/views/admin/research/journals/articles/index.html.erb
+++ /dev/null
@@ -1,7 +0,0 @@
-<% content_for :title, Research::Journal::Article.model_name.human(count: 2) %>
-
-<%= render 'admin/research/journals/articles/list', articles: @articles %>
-
-<% content_for :action_bar_right do %>
-  <%= create_link Research::Journal::Article %>
-<% end %>
diff --git a/app/views/admin/research/journals/articles/new.html.erb b/app/views/admin/research/journals/articles/new.html.erb
deleted file mode 100644
index 512b1e2dcb8db3e80081bd0840f5c2a8384eff79..0000000000000000000000000000000000000000
--- a/app/views/admin/research/journals/articles/new.html.erb
+++ /dev/null
@@ -1,3 +0,0 @@
-<% content_for :title, Research::Journal::Article.model_name.human %>
-
-<%= render 'form', article: @article %>
diff --git a/app/views/admin/research/journals/articles/show.html.erb b/app/views/admin/research/journals/articles/show.html.erb
deleted file mode 100644
index 9deb350e3fde89431cabe2c82cb4ffb745a03255..0000000000000000000000000000000000000000
--- a/app/views/admin/research/journals/articles/show.html.erb
+++ /dev/null
@@ -1,84 +0,0 @@
-<% content_for :title, @article %>
-
-<div class="row">
-  <div class="col-md-8">
-    <div class="card flex-fill w-100">
-      <div class="card-header">
-        <h2 class="card-title mb-0 h5"><%= t('content') %></h2>
-      </div>
-      <div class="card-body">
-        <h3 class="h5"><%= Research::Journal::Article.human_attribute_name('abstract') %></h3>
-        <p><%= @article.abstract %></p>
-        <% if @article.pdf.attached? %>
-          <h3 class="h5 mt-4"><%= Research::Journal::Article.human_attribute_name('pdf') %></h3>
-          <%= link_to @article.pdf.filename, url_for(@article.pdf) %>
-        <% end %>
-        <h3 class="h5 mt-4"><%= Research::Journal::Article.human_attribute_name('text') %></h3>
-        <p><%= @article.text %></p>
-        <h3 class="h5 mt-4"><%= Research::Journal::Article.human_attribute_name('references') %></h3>
-        <p><%= @article.references %></p>
-      </div>
-    </div>
-  </div>
-  <div class="col-md-4">
-    <div class="card flex-fill w-100">
-      <div class="card-header">
-        <h2 class="card-title mb-0 h5"><%= t('metadata') %></h2>
-      </div>
-      <div class="card-body">
-        <% if @article.volume %>
-          <h3 class="h5"><%= Research::Journal::Article.human_attribute_name('volume') %></h3>
-          <p><%= link_to  @article.volume,
-                          [:admin, @article.volume],
-                          class: "#{'draft' unless @article.volume.published?}" %></p>
-        <% end %>
-        <h3 class="h5"><%= Research::Journal::Article.human_attribute_name('published') %></h3>
-        <p><%= t @article.published %></p>
-        <% if @article.published? && @article.published_at.present? %>
-          <h3 class="h5">
-            <%= Research::Journal::Article.human_attribute_name('published_at') %>
-          </h3>
-          <p><%= l @article.published_at.to_time, format: :date_with_explicit_month %></p>
-        <% end %>
-        <% unless @article.keywords.blank? %>
-          <h3 class="h5">
-            <%= Research::Journal::Article.human_attribute_name('keywords') %>
-          </h3>
-          <p><%= @article.keywords %></p>
-        <% end %>
-        <% if @article.people.any? %>
-          <h3 class="h5">
-            <%= Research::Journal::Article.human_attribute_name('people') %>
-          </h3>
-          <ul class="list-unstyled mb-0">
-            <% @article.people.each do |person| %>
-              <li><%= link_to person, admin_research_researcher_path(person) %></li>
-            <% end %>
-          </ul>
-        <% end %>
-      </div>
-    </div>
-    <% if @article.description.present? %>
-      <div class="card flex-fill w-100">
-        <div class="card-header">
-          <h5 class="card-title mb-0"><%= t('seo') %></h5>
-        </div>
-        <div class="card-body">
-          <h3 class="h5">
-            <%= Research::Journal::Article.human_attribute_name('description') %>
-          </h3>
-          <%= simple_format @article.description %>
-        </div>
-      </div>
-    <% end %>
-
-  </div>
-</div>
-
-<% content_for :action_bar_left do %>
-  <%= destroy_link @article %>
-<% end %>
-
-<% content_for :action_bar_right do %>
-  <%= edit_link @article %>
-<% end %>
diff --git a/app/views/admin/research/journals/index.html.erb b/app/views/admin/research/journals/index.html.erb
index e5fff3497acd3a0d73f1d3842b5f8f9324c4f2e9..365ee4023e193d66c82e97375fe071583a15614a 100644
--- a/app/views/admin/research/journals/index.html.erb
+++ b/app/views/admin/research/journals/index.html.erb
@@ -7,7 +7,7 @@
     <tr>
       <th><%= Research::Journal.human_attribute_name('title') %></th>
       <th><%= Research::Journal::Volume.model_name.human(count: 2) %></th>
-      <th><%= Research::Journal::Article.model_name.human(count: 2) %></th>
+      <th><%= Research::Journal::Paper.model_name.human(count: 2) %></th>
       <th></th>
     </tr>
   </thead>
@@ -17,7 +17,7 @@
       <tr>
         <td><%= link_to journal, [:admin, journal] %></td>
         <td><%= link_to "#{journal.volumes.count}", admin_research_journal_volumes_path(journal_id: journal) %></td>
-        <td><%= link_to "#{journal.articles.count}", admin_research_journal_articles_path(journal_id: journal) %></td>
+        <td><%= link_to "#{journal.papers.count}", admin_research_journal_papers_path(journal_id: journal) %></td>
         <td class="text-end">
           <div class="btn-group" role="group">
             <%= edit_link journal %>
diff --git a/app/views/admin/research/journals/articles/_form.html.erb b/app/views/admin/research/journals/papers/_form.html.erb
similarity index 90%
rename from app/views/admin/research/journals/articles/_form.html.erb
rename to app/views/admin/research/journals/papers/_form.html.erb
index 198a9b5adbeaf25b38ab301459da5e5f19a8fe2b..f3e6cc44ad3e47fb182c367a28509fe077df8c4b 100644
--- a/app/views/admin/research/journals/articles/_form.html.erb
+++ b/app/views/admin/research/journals/papers/_form.html.erb
@@ -1,4 +1,4 @@
-<%= simple_form_for [:admin, article] do |f| %>
+<%= simple_form_for [:admin, paper] do |f| %>
   <%= f.error_notification %>
   <%= f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present? %>
 
@@ -25,9 +25,9 @@
         <div class="card-body">
           <%= f.input :slug,
                       as: :string,
-                      input_html: article.persisted? ? {} : {
+                      input_html: paper.persisted? ? {} : {
                         class: 'js-slug-input',
-                        data: { source: '#research_journal_article_title' }
+                        data: { source: '#research_journal_paper_title' }
                       } %>
           <%= f.association :volume, collection: @journal.volumes, label: Research::Journal::Volume.model_name.human %>
           <%= f.input :published %>
diff --git a/app/views/admin/research/journals/papers/_list.html.erb b/app/views/admin/research/journals/papers/_list.html.erb
new file mode 100644
index 0000000000000000000000000000000000000000..907248867d97de57d0895ca1d8e1dc71f9fd4d40
--- /dev/null
+++ b/app/views/admin/research/journals/papers/_list.html.erb
@@ -0,0 +1,33 @@
+<table class="table">
+  <thead>
+    <tr>
+      <th><%= Research::Journal::Paper.model_name.human %></th>
+      <th><%= Research::Journal::Paper.human_attribute_name('published_at') %></th>
+      <th></th>
+    </tr>
+  </thead>
+  <tbody>
+    <% papers.each do |paper| %>
+      <tr>
+        <td>
+          <%= link_to paper,
+                      admin_research_journal_paper_path(journal_id: paper.journal, id: paper),
+                      class: "#{'draft' unless paper.published?}" %>
+        </td>
+        <td><%= paper.published_at %></td>
+        <td class="text-end">
+          <div class="btn-group" role="group">
+            <%= link_to t('edit'),
+                        edit_admin_research_journal_paper_path(journal_id: paper.journal, id: paper),
+                        class: button_classes %>
+            <%= link_to t('delete'),
+                        admin_research_journal_paper_path(journal_id: paper.journal, id: paper),
+                        method: :delete,
+                        data: { confirm: t('please_confirm') },
+                        class: button_classes_danger %>
+          </div>
+        </td>
+      </tr>
+    <% end %>
+  </tbody>
+</table>
diff --git a/app/views/admin/research/journals/papers/edit.html.erb b/app/views/admin/research/journals/papers/edit.html.erb
new file mode 100644
index 0000000000000000000000000000000000000000..2918a2bdea2636c995b5ef490cad2841f3677c9c
--- /dev/null
+++ b/app/views/admin/research/journals/papers/edit.html.erb
@@ -0,0 +1,3 @@
+<% content_for :title, @paper %>
+
+<%= render 'form', paper: @paper %>
diff --git a/app/views/admin/research/journals/papers/index.html.erb b/app/views/admin/research/journals/papers/index.html.erb
new file mode 100644
index 0000000000000000000000000000000000000000..832f92909e12f56c300a5683f59f4b7d623610e9
--- /dev/null
+++ b/app/views/admin/research/journals/papers/index.html.erb
@@ -0,0 +1,7 @@
+<% content_for :title, Research::Journal::Paper.model_name.human(count: 2) %>
+
+<%= render 'admin/research/journals/papers/list', papers: @papers %>
+
+<% content_for :action_bar_right do %>
+  <%= create_link Research::Journal::Paper %>
+<% end %>
diff --git a/app/views/admin/research/journals/papers/new.html.erb b/app/views/admin/research/journals/papers/new.html.erb
new file mode 100644
index 0000000000000000000000000000000000000000..c93d71c66c5c47d30e1331ed4b994f18be64d6ab
--- /dev/null
+++ b/app/views/admin/research/journals/papers/new.html.erb
@@ -0,0 +1,3 @@
+<% content_for :title, Research::Journal::Paper.model_name.human %>
+
+<%= render 'form', paper: @paper %>
diff --git a/app/views/admin/research/journals/papers/show.html.erb b/app/views/admin/research/journals/papers/show.html.erb
new file mode 100644
index 0000000000000000000000000000000000000000..8abc2ab2fde974c9ac2f18972df9908b9441b5ce
--- /dev/null
+++ b/app/views/admin/research/journals/papers/show.html.erb
@@ -0,0 +1,84 @@
+<% content_for :title, @paper %>
+
+<div class="row">
+  <div class="col-md-8">
+    <div class="card flex-fill w-100">
+      <div class="card-header">
+        <h2 class="card-title mb-0 h5"><%= t('content') %></h2>
+      </div>
+      <div class="card-body">
+        <h3 class="h5"><%= Research::Journal::Paper.human_attribute_name('abstract') %></h3>
+        <p><%= @paper.abstract %></p>
+        <% if @paper.pdf.attached? %>
+          <h3 class="h5 mt-4"><%= Research::Journal::Paper.human_attribute_name('pdf') %></h3>
+          <%= link_to @paper.pdf.filename, url_for(@paper.pdf) %>
+        <% end %>
+        <h3 class="h5 mt-4"><%= Research::Journal::Paper.human_attribute_name('text') %></h3>
+        <p><%= @paper.text %></p>
+        <h3 class="h5 mt-4"><%= Research::Journal::Paper.human_attribute_name('references') %></h3>
+        <p><%= @paper.references %></p>
+      </div>
+    </div>
+  </div>
+  <div class="col-md-4">
+    <div class="card flex-fill w-100">
+      <div class="card-header">
+        <h2 class="card-title mb-0 h5"><%= t('metadata') %></h2>
+      </div>
+      <div class="card-body">
+        <% if @paper.volume %>
+          <h3 class="h5"><%= Research::Journal::Paper.human_attribute_name('volume') %></h3>
+          <p><%= link_to  @paper.volume,
+                          [:admin, @paper.volume],
+                          class: "#{'draft' unless @paper.volume.published?}" %></p>
+        <% end %>
+        <h3 class="h5"><%= Research::Journal::Paper.human_attribute_name('published') %></h3>
+        <p><%= t @paper.published %></p>
+        <% if @paper.published? && @paper.published_at.present? %>
+          <h3 class="h5">
+            <%= Research::Journal::Paper.human_attribute_name('published_at') %>
+          </h3>
+          <p><%= l @paper.published_at.to_time, format: :date_with_explicit_month %></p>
+        <% end %>
+        <% unless @paper.keywords.blank? %>
+          <h3 class="h5">
+            <%= Research::Journal::Paper.human_attribute_name('keywords') %>
+          </h3>
+          <p><%= @paper.keywords %></p>
+        <% end %>
+        <% if @paper.people.any? %>
+          <h3 class="h5">
+            <%= Research::Journal::Paper.human_attribute_name('people') %>
+          </h3>
+          <ul class="list-unstyled mb-0">
+            <% @paper.people.each do |person| %>
+              <li><%= link_to person, admin_research_researcher_path(person) %></li>
+            <% end %>
+          </ul>
+        <% end %>
+      </div>
+    </div>
+    <% if @paper.description.present? %>
+      <div class="card flex-fill w-100">
+        <div class="card-header">
+          <h5 class="card-title mb-0"><%= t('seo') %></h5>
+        </div>
+        <div class="card-body">
+          <h3 class="h5">
+            <%= Research::Journal::Paper.human_attribute_name('description') %>
+          </h3>
+          <%= simple_format @paper.description %>
+        </div>
+      </div>
+    <% end %>
+
+  </div>
+</div>
+
+<% content_for :action_bar_left do %>
+  <%= destroy_link @paper %>
+<% end %>
+
+<% content_for :action_bar_right do %>
+  <%= edit_link @paper %>
+<% end %>
diff --git a/app/views/admin/research/journals/articles/static.html.erb b/app/views/admin/research/journals/papers/static.html.erb
similarity index 100%
rename from app/views/admin/research/journals/articles/static.html.erb
rename to app/views/admin/research/journals/papers/static.html.erb
diff --git a/app/views/admin/research/journals/show.html.erb b/app/views/admin/research/journals/show.html.erb
index a6f4f6788f083fafd01b9a276df17ccc0abe1ac1..b01f2f5754e52f0b7cf2acf28dc79c8f9b769be2 100644
--- a/app/views/admin/research/journals/show.html.erb
+++ b/app/views/admin/research/journals/show.html.erb
@@ -11,7 +11,6 @@
   <% if @journal.issn %><%= Research::Journal.human_attribute_name('issn') %> <%= @journal.issn %><% end %>
 <% end %>
 
-
 <div class="card mt-5">
   <div class="card-header">
     <div class="float-end">
@@ -45,14 +44,14 @@
   <div class="card-header">
     <div class="float-end">
       <%= link_to t('create'),
-                  new_admin_research_journal_article_path(journal_id: @journal),
+                  new_admin_research_journal_paper_path(journal_id: @journal),
                   class: button_classes %>
     </div>
     <h2 class="card-title">
-      <%= link_to Research::Journal::Article.model_name.human(count: 2),
-                  admin_research_journal_articles_path(journal_id: @journal) %></h2>
+      <%= link_to Research::Journal::Paper.model_name.human(count: 2),
+                  admin_research_journal_papers_path(journal_id: @journal) %></h2>
   </div>
-  <%= render 'admin/research/journals/articles/list', articles: @articles %>
+  <%= render 'admin/research/journals/papers/list', papers: @papers %>
 </div>
 
 <% content_for :action_bar_left do %>
diff --git a/app/views/admin/research/journals/volumes/show.html.erb b/app/views/admin/research/journals/volumes/show.html.erb
index 33250b106e35ff479788b6dd9cb0081571f248d8..bf24bdfd716785c5ea88e6510bb4378064758bad 100644
--- a/app/views/admin/research/journals/volumes/show.html.erb
+++ b/app/views/admin/research/journals/volumes/show.html.erb
@@ -7,38 +7,38 @@
         <h2 class="card-title mb-0 h5"><%= t('content') %></h2>
       </div>
       <div class="card-body">
-        <% if @articles.any? %>
-          <h3 class="h5 mt-4"><%= Research::Journal::Volume.human_attribute_name('articles') %></h3>
+        <% if @papers.any? %>
+          <h3 class="h5 mt-4"><%= Research::Journal::Volume.human_attribute_name('papers') %></h3>
           <table class="table">
             <thead>
               <tr>
-                <% if can? :reorder, Research::Journal::Article %>
+                <% if can? :reorder, Research::Journal::Paper %>
                   <th width="20" class="ps-0">&nbsp;</th>
                 <% end %>
-                <th class="ps-0"><%= Research::Journal::Article.model_name.human %></th>
-                <th><%= Research::Journal::Article.human_attribute_name('published_at') %></th>
+                <th class="ps-0"><%= Research::Journal::Paper.model_name.human %></th>
+                <th><%= Research::Journal::Paper.human_attribute_name('published_at') %></th>
                 <th></th>
               </tr>
             </thead>
-            <tbody data-sortable data-sort-url="<%= reorder_admin_research_journal_articles_path(journal_id: @journal.id) %>">
-              <% @articles.each do |article| %>
-                <tr data-id="<%= article.id %>">
-                  <% if can? :reorder, Research::Journal::Article %>
+            <tbody data-sortable data-sort-url="<%= reorder_admin_research_journal_papers_path(journal_id: @journal.id) %>">
+              <% @papers.each do |paper| %>
+                <tr data-id="<%= paper.id %>">
+                  <% if can? :reorder, Research::Journal::Paper %>
                     <td><i class="fa fa-bars handle"></i></td>
                   <% end %>
                   <td>
-                    <%= link_to article,
-                                admin_research_journal_article_path(journal_id: article.journal, id: article),
-                                class: "#{'draft' unless article.published?}" %>
+                    <%= link_to paper,
+                                admin_research_journal_paper_path(journal_id: paper.journal, id: paper),
+                                class: "#{'draft' unless paper.published?}" %>
                   </td>
-                  <td><%= article.published_at %></td>
+                  <td><%= paper.published_at %></td>
                   <td class="text-end">
                     <div class="btn-group" role="group">
                       <%= link_to t('edit'),
-                                  edit_admin_research_journal_article_path(journal_id: article.journal, id: article),
+                                  edit_admin_research_journal_paper_path(journal_id: paper.journal, id: paper),
                                   class: button_classes %>
                       <%= link_to t('delete'),
-                                  admin_research_journal_article_path(journal_id: article.journal, id: article),
+                                  admin_research_journal_paper_path(journal_id: paper.journal, id: paper),
                                   method: :delete,
                                   data: { confirm: t('please_confirm') },
                                   class: button_classes_danger %>
diff --git a/app/views/admin/research/researchers/index.html.erb b/app/views/admin/research/researchers/index.html.erb
index d20f3591baaf0bbd51dbb3315f83e29b768694b8..2d8f876f3560cc85416baa7d498a24bd535d30d2 100644
--- a/app/views/admin/research/researchers/index.html.erb
+++ b/app/views/admin/research/researchers/index.html.erb
@@ -8,7 +8,7 @@
       <th><%= University::Person.human_attribute_name('name') %></th>
       <th><%= University::Person.human_attribute_name('first_name') %></th>
       <th></th>
-      <th><%= t('research.number_of_articles') %></th>
+      <th><%= t('research.number_of_papers') %></th>
     </tr>
   </thead>
 
@@ -21,7 +21,7 @@
           <%= kamifusen_tag researcher.best_picture,
                             width: 40 if researcher.best_picture.attached? %>
         </td>
-        <td><%= researcher.research_journal_articles.count %></td>
+        <td><%= researcher.research_journal_papers.count %></td>
       </tr>
     <% end %>
   </tbody>
diff --git a/app/views/admin/research/researchers/show.html.erb b/app/views/admin/research/researchers/show.html.erb
index 6b521d61fdfba8b71ffb21016e960ddfad32cb11..63257c188fb3d295609c3128918307221423ba25 100644
--- a/app/views/admin/research/researchers/show.html.erb
+++ b/app/views/admin/research/researchers/show.html.erb
@@ -2,15 +2,15 @@
 
 <%= render 'admin/university/people/main_infos', person: @researcher %>
 
-<% if @articles.total_count > 0 %>
+<% if @papers.total_count > 0 %>
   <div class="card">
     <div class="card-header">
-      <h2 class="card-title mb-0 h5"><%= "#{Research::Journal::Article.model_name.human(count: 2)} (#{@articles.total_count})" %></h2>
+      <h2 class="card-title mb-0 h5"><%= "#{Research::Journal::Paper.model_name.human(count: 2)} (#{@papers.total_count})" %></h2>
     </div>
-    <%= render 'admin/research/journals/articles/list', articles: @articles %>
-    <% if @articles.total_pages > 1 %>
+    <%= render 'admin/research/journals/papers/list', papers: @papers %>
+    <% if @papers.total_pages > 1 %>
       <div class="card-footer">
-        <%= paginate @articles, theme: 'bootstrap-5' %>
+        <%= paginate @papers, theme: 'bootstrap-5' %>
       </div>
     <% end %>
   </div>
diff --git a/config/locales/communication/en.yml b/config/locales/communication/en.yml
index c28642d8ddbee5c818c2cc315e97a55eb19dc9bb..9f445beb233dea175f9314db27980de0045ca123 100644
--- a/config/locales/communication/en.yml
+++ b/config/locales/communication/en.yml
@@ -551,11 +551,11 @@ en:
             description_short: ''
             slug: privacy-policy
             title: Privacy policy
-          research_articles:
-            admin_description: list of articles
-            description_short: List of articles
-            slug: articles
-            title: Articles
+          research_papers:
+            admin_description: list of papers
+            description_short: List of papers
+            slug: papers
+            title: Papers
           research_volumes:
             admin_description: list of volumes
             description_short: List of volumes
@@ -620,8 +620,8 @@ en:
               page: Specific Page
               program: Specific program
               programs: Programs index
-              article: Specific research article
-              articles: Research articles index
+              paper: Specific research paper
+              papers: Research papers index
               volume: Specific research volume
               volumes: Research volumes index
               researchers: Research staff
diff --git a/config/locales/communication/fr.yml b/config/locales/communication/fr.yml
index 5017d765186c4fea73bc22609bafbd50e25ec416..3b20932c1a839f011645aab64cb76064cacbfca0 100644
--- a/config/locales/communication/fr.yml
+++ b/config/locales/communication/fr.yml
@@ -555,11 +555,11 @@ fr:
             description_short: ''
             slug: politique-de-confidentialite
             title: Politique de confidentialité
-          research_articles:
-            admin_description: liste des articles
-            description_short: Liste des articles
-            slug: articles
-            title: Articles
+          research_papers:
+            admin_description: liste des papiers
+            description_short: Liste des papiers
+            slug: papiers
+            title: Papiers
           research_volumes:
             admin_description: liste des volumes
             description_short: Liste des volumes
@@ -624,8 +624,8 @@ fr:
               page: Page spécifique
               program: Formation spécifique
               programs: Liste des formations
-              article: Article spécifique
-              articles: Liste des articles
+              paper: Papier spécifique
+              papers: Liste des papiers
               volume: Volume spécifique
               volumes: Liste des volumes
               researchers: Équipe de recherche
diff --git a/config/locales/research/en.yml b/config/locales/research/en.yml
index be2ded093af18e35d4e37661bef697780fdd0cef..09f9bc0711bc530b6766cbd1d9ac4183f18aff91 100644
--- a/config/locales/research/en.yml
+++ b/config/locales/research/en.yml
@@ -7,9 +7,9 @@ en:
       research/journal:
         one: Journal
         other: Journals
-      research/journal/article:
-        one: Article
-        other: Articles
+      research/journal/paper:
+        one: Paper
+        other: Papers
       research/journal/volume:
         one: Volume
         other: Volumes
@@ -26,11 +26,11 @@ en:
       research/journal:
         issn: ISSN
         title: Title
-      research/journal/article:
+      research/journal/paper:
         abstract: Abstract
         description: Meta Description
         keywords: Keywords
-        pdf: Article PDF
+        pdf: PDF
         published: Published?
         published_at: Published at
         references: References
@@ -69,13 +69,13 @@ en:
         title: Title
   research:
     manage_researchers: Managege researchers
-    number_of_articles: Number of articles
+    number_of_papers: Number of papers
     researchers:
       one: Researcher
       other: Researchers
   simple_form:
     hints:
-      research_journal_article:
+      research_journal_paper:
         description: If this field is empty the main text's begining will be used.
       research_journal_volume:
         cover: JPG or PNG file
diff --git a/config/locales/research/fr.yml b/config/locales/research/fr.yml
index 21ed4ad67eab2664de443272dd47e919648a99e7..1dc6d8e66c89d7aed3c3f8fecb497aa5a3937abe 100644
--- a/config/locales/research/fr.yml
+++ b/config/locales/research/fr.yml
@@ -7,9 +7,9 @@ fr:
       research/journal:
         one: Revue scientifique
         other: Revues scientifiques
-      research/journal/article:
-        one: Article
-        other: Articles
+      research/journal/paper:
+        one: Papier
+        other: Papiers
       research/journal/volume:
         one: Volumes
         other: Volumes
@@ -26,11 +26,11 @@ fr:
       research/journal:
         issn: ISSN
         title: Titre
-      research/journal/article:
+      research/journal/paper:
         abstract: Extrait
         description: Meta Description
         keywords: Mots clés
-        pdf: PDF de l'article
+        pdf: PDF
         published: Publié ?
         published_at: Publié le
         references: Références
@@ -69,13 +69,13 @@ fr:
         title: Titre
   research:
     manage_researchers: Gérer les Chercheu·rs·ses
-    number_of_articles: Nombre d'articles
+    number_of_papers: Nombre de papiers
     researchers:
       one: Chercheu·r·se
       other: Chercheu·rs·ses
   simple_form:
     hints:
-      research_journal_article:
+      research_journal_paper:
         description: Si ce champ est vide le début de l'extrait sera utilisé.
       research_journal_volume:
         cover: Fichier JPG ou PNG
diff --git a/config/locales/university/en.yml b/config/locales/university/en.yml
index 5f5cfdffb8adfa5a131febc79f579bdc33990b04..9c88adb86e694f7c2cae6831686beb76b0db290e 100644
--- a/config/locales/university/en.yml
+++ b/config/locales/university/en.yml
@@ -57,7 +57,7 @@ en:
         phone_personal: Personal phone
         phone_professional: Professional phone
         picture: Profile picture
-        research_journal_articles: Articles
+        research_journal_papers: Papiers
         researcher: Researcher
         roles: Roles
         slug: Slug
@@ -136,7 +136,7 @@ en:
         is_administration: "Fulfill administrative missions."
         is_alumnus: "Studies or studied in the school."
         is_author: "Writes posts for websites."
-        is_researcher: "Writes articles for journals."
+        is_researcher: "Writes papers for journals."
         is_teacher: "Teaches in Schools."
         linkedin: "Example: https://www.linkedin.com/in/osuny"
         tenure: "To differ from temporary lecturer."
diff --git a/config/locales/university/fr.yml b/config/locales/university/fr.yml
index e02d65e3a48d06e7d01311c4007583e1d77e18d8..b80dd0997d5afe2ef10799f1fe1ad8319e0c020b 100644
--- a/config/locales/university/fr.yml
+++ b/config/locales/university/fr.yml
@@ -57,7 +57,7 @@ fr:
         phone_personal: Téléphone personnel
         phone_professional: Téléphone professionnel
         picture: Photo de profil
-        research_journal_articles: Articles
+        research_journal_papers: Papiers
         researcher: Chercheur·se
         roles: Rôles
         slug: Slug
@@ -136,7 +136,7 @@ fr:
         is_administration: "Remplit des missions administratives."
         is_alumnus: "Étudie ou a étudié dans l'établissement."
         is_author: "Écrit des articles pour les sites."
-        is_researcher: "Écrit des articles dans des revues scientifiques."
+        is_researcher: "Écrit des papiers dans des revues scientifiques."
         is_teacher: "Enseigne dans des formations."
         linkedin: "Exemple : https://www.linkedin.com/in/osuny"
         tenure: "À différencier d'une personne vacataire."
diff --git a/config/routes/admin/research.rb b/config/routes/admin/research.rb
index d4ec9725ca5ab7f5d396d564f5b7fd26a473e076..7a1189c6039be5fd66838d756ef9429487bcda61 100644
--- a/config/routes/admin/research.rb
+++ b/config/routes/admin/research.rb
@@ -2,7 +2,7 @@ namespace :research do
   resources :researchers, only: [:index, :show]
   resources :journals do
     resources :volumes, controller: 'journals/volumes'
-    resources :articles, controller: 'journals/articles' do
+    resources :papers, controller: 'journals/papers' do
       collection do
         post :reorder
       end
diff --git a/db/migrate/20220802151713_rename_research_articles_to_research_papers.rb b/db/migrate/20220802151713_rename_research_articles_to_research_papers.rb
new file mode 100644
index 0000000000000000000000000000000000000000..cbdde00730a54b614363728cdd3a327ade5cc40e
--- /dev/null
+++ b/db/migrate/20220802151713_rename_research_articles_to_research_papers.rb
@@ -0,0 +1,7 @@
+class RenameResearchArticlesToResearchPapers < ActiveRecord::Migration[6.1]
+  def change
+    rename_table :research_journal_articles, :research_journal_papers
+    rename_table :research_journal_articles_researchers, :research_journal_papers_researchers
+    rename_column :research_journal_papers_researchers, :article_id, :paper_id
+  end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 5c8796c4a5ed371b4a1c0dcf596fcafd0a78d012..5f9451178ec0ad09927a24371f27380cdebae8af 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.define(version: 2022_07_27_075720) do
+ActiveRecord::Schema.define(version: 2022_08_02_151713) do
 
   # These are extensions that must be enabled in order to support this database
   enable_extension "pgcrypto"
@@ -530,7 +530,7 @@ ActiveRecord::Schema.define(version: 2022_07_27_075720) do
     t.datetime "updated_at", precision: 6, null: false
   end
 
-  create_table "research_journal_articles", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t|
+  create_table "research_journal_papers", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t|
     t.string "title"
     t.datetime "published_at"
     t.uuid "university_id", null: false
@@ -547,17 +547,17 @@ ActiveRecord::Schema.define(version: 2022_07_27_075720) do
     t.integer "position"
     t.text "text"
     t.text "description"
-    t.index ["research_journal_id"], name: "index_research_journal_articles_on_research_journal_id"
-    t.index ["research_journal_volume_id"], name: "index_research_journal_articles_on_research_journal_volume_id"
-    t.index ["university_id"], name: "index_research_journal_articles_on_university_id"
-    t.index ["updated_by_id"], name: "index_research_journal_articles_on_updated_by_id"
+    t.index ["research_journal_id"], name: "index_research_journal_papers_on_research_journal_id"
+    t.index ["research_journal_volume_id"], name: "index_research_journal_papers_on_research_journal_volume_id"
+    t.index ["university_id"], name: "index_research_journal_papers_on_university_id"
+    t.index ["updated_by_id"], name: "index_research_journal_papers_on_updated_by_id"
   end
 
-  create_table "research_journal_articles_researchers", force: :cascade do |t|
+  create_table "research_journal_papers_researchers", force: :cascade do |t|
     t.uuid "researcher_id", null: false
-    t.uuid "article_id", null: false
-    t.index ["article_id"], name: "index_research_journal_articles_researchers_on_article_id"
-    t.index ["researcher_id"], name: "index_research_journal_articles_researchers_on_researcher_id"
+    t.uuid "paper_id", null: false
+    t.index ["paper_id"], name: "index_research_journal_papers_researchers_on_paper_id"
+    t.index ["researcher_id"], name: "index_research_journal_papers_researchers_on_researcher_id"
   end
 
   create_table "research_journal_volumes", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t|
@@ -854,12 +854,12 @@ ActiveRecord::Schema.define(version: 2022_07_27_075720) do
   add_foreign_key "education_schools", "universities"
   add_foreign_key "imports", "universities"
   add_foreign_key "imports", "users"
-  add_foreign_key "research_journal_articles", "research_journal_volumes"
-  add_foreign_key "research_journal_articles", "research_journals"
-  add_foreign_key "research_journal_articles", "universities"
-  add_foreign_key "research_journal_articles", "users", column: "updated_by_id"
-  add_foreign_key "research_journal_articles_researchers", "research_journal_articles", column: "article_id"
-  add_foreign_key "research_journal_articles_researchers", "university_people", column: "researcher_id"
+  add_foreign_key "research_journal_papers", "research_journal_volumes"
+  add_foreign_key "research_journal_papers", "research_journals"
+  add_foreign_key "research_journal_papers", "universities"
+  add_foreign_key "research_journal_papers", "users", column: "updated_by_id"
+  add_foreign_key "research_journal_papers_researchers", "research_journal_papers", column: "paper_id"
+  add_foreign_key "research_journal_papers_researchers", "university_people", column: "researcher_id"
   add_foreign_key "research_journal_volumes", "research_journals"
   add_foreign_key "research_journal_volumes", "universities"
   add_foreign_key "research_journals", "universities"