diff --git a/app/controllers/admin/communication/websites_controller.rb b/app/controllers/admin/communication/websites_controller.rb
index f8e4754c3f57753ba7a9b342d25d6ae270b67474..2f40b095a292ec45ee82e182136ea5c6634632bd 100644
--- a/app/controllers/admin/communication/websites_controller.rb
+++ b/app/controllers/admin/communication/websites_controller.rb
@@ -51,6 +51,6 @@ class Admin::Communication::WebsitesController < Admin::Communication::Applicati
   end
 
   def website_params
-    params.require(:communication_website).permit(:name, :domain)
+    params.require(:communication_website).permit(:name, :domain, :repository, :access_token)
   end
 end
diff --git a/app/controllers/admin/research/journal/volumes_controller.rb b/app/controllers/admin/research/journal/volumes_controller.rb
index 0e7911460def8f02155fa86d79aadabd79195936..3ed5348422d724ddf28ac743829384244e76bbec 100644
--- a/app/controllers/admin/research/journal/volumes_controller.rb
+++ b/app/controllers/admin/research/journal/volumes_controller.rb
@@ -2,6 +2,7 @@ class Admin::Research::Journal::VolumesController < Admin::Research::Journal::Ap
   load_and_authorize_resource class: Research::Journal::Volume
 
   def index
+    @volumes = @volumes.ordered
     breadcrumb
   end
 
@@ -54,6 +55,6 @@ class Admin::Research::Journal::VolumesController < Admin::Research::Journal::Ap
   end
 
   def volume_params
-    params.require(:research_journal_volume).permit(:title, :number, :published_at)
+    params.require(:research_journal_volume).permit(:title, :number, :published_at, :description)
   end
 end
diff --git a/app/models/communication/website.rb b/app/models/communication/website.rb
index 18f308ca146ef8f69774953d474401af759862c3..c5ac8d1d5183b4208197c33aaebab11dabfaabac 100644
--- a/app/models/communication/website.rb
+++ b/app/models/communication/website.rb
@@ -3,8 +3,10 @@
 # Table name: communication_websites
 #
 #  id            :uuid             not null, primary key
+#  access_token  :string
 #  domain        :string
 #  name          :string
+#  repository    :string
 #  created_at    :datetime         not null
 #  updated_at    :datetime         not null
 #  university_id :uuid             not null
diff --git a/app/models/research/journal/volume.rb b/app/models/research/journal/volume.rb
index 39fc7f41a2b6c2f6d1a0d06548a57d0bc16c9909..ed0e9f297407b8295d165beaa59a70e055d9b6dd 100644
--- a/app/models/research/journal/volume.rb
+++ b/app/models/research/journal/volume.rb
@@ -3,6 +3,7 @@
 # Table name: research_journal_volumes
 #
 #  id                  :uuid             not null, primary key
+#  description         :text
 #  number              :integer
 #  published_at        :datetime
 #  title               :string
@@ -28,6 +29,8 @@ class Research::Journal::Volume < ApplicationRecord
 
   after_save :publish_to_github
 
+  scope :ordered, -> { order(number: :desc, published_at: :desc) }
+
   def to_s
     "##{ number } #{ title }"
   end
diff --git a/app/views/admin/communication/websites/_form.html.erb b/app/views/admin/communication/websites/_form.html.erb
index 85bfdf3accdaaa428eda05637fc6cd980b38e4b1..a4161a45d4b6640c02802c2ea9aa47cd427d4cc8 100644
--- a/app/views/admin/communication/websites/_form.html.erb
+++ b/app/views/admin/communication/websites/_form.html.erb
@@ -1,10 +1,14 @@
 <%= simple_form_for [:admin, website] do |f| %>
   <div class="row">
-    <div class="col-md-6">
+    <div class="col-md-4">
       <%= f.input :name %>
     </div>
-    <div class="col-md-6">
+    <div class="col-md-4">
       <%= f.input :domain %>
+      <%= f.input :repository %>
+      <%= f.input :access_token %>
+    </div>
+    <div class="col-md-4">
     </div>
   </div>
   <% content_for :buttons do %>
diff --git a/app/views/admin/research/journal/volumes/_form.html.erb b/app/views/admin/research/journal/volumes/_form.html.erb
index 04fb38734581c620c25fffd25d57c2f03aaf9cc5..0ab792a10477ddfbf673be87d55c77d49e3e1545 100644
--- a/app/views/admin/research/journal/volumes/_form.html.erb
+++ b/app/views/admin/research/journal/volumes/_form.html.erb
@@ -1,7 +1,14 @@
 <%= simple_form_for [:admin, volume] do |f| %>
-  <%= f.input :title %>
-  <%= f.input :number %>
-  <%= f.input :published_at, html5: true %>
+  <div class="row">
+    <div class="col-md-4">
+      <%= f.input :title %>
+      <%= f.input :number %>
+      <%= f.input :published_at, html5: true %>
+    </div>
+    <div class="col-md-8">
+      <%= f.input :description, input_html: { rows: 5 } %>
+    </div>
+  </div>
   <% content_for :buttons do %>
     <%= submit f %>
   <% end %>
diff --git a/app/views/admin/research/journal/volumes/jekyll.html.erb b/app/views/admin/research/journal/volumes/jekyll.html.erb
index f02574e998089171096cd707c765a4e14e275af7..c55119b9b8708329aafe30ed0a506581e98aad84 100644
--- a/app/views/admin/research/journal/volumes/jekyll.html.erb
+++ b/app/views/admin/research/journal/volumes/jekyll.html.erb
@@ -21,4 +21,4 @@ articles:
   - <%= article.id %>
 <% end %>
 ---
-The internal dynamics of political parties were a central concern for the founders of both organization theory and political sociology, yet contemporary research tends to neglect the importance and value of studying these electoral machines from a truly organizational point of view. The present issue seeks to remedy this shortcoming by allowing curious and creative scholars to reimagine what it might mean for organization scholars and activists alike to engage actively with political parties. While some contributions reflect on the idiosyncrasies of political parties in general, most articles and notes cultivate a so-called immersive approach to the study of party organization, in which the researcher ventures beyond the glossy surface of party propaganda in order to experience and analyze party organizing in practice rather than on paper. These ambitions yield fascinating accounts of parties such as Podemos, En Marche, DiEM25, Movimento 5 Stelle, the British Labour Party, as well as the German and Icelandic Pirate Party.
+<%= @volume.description %>
diff --git a/db/migrate/20210906072443_add_repo_to_websites.rb b/db/migrate/20210906072443_add_repo_to_websites.rb
new file mode 100644
index 0000000000000000000000000000000000000000..109bb847c1e4fa88479f6a615f59d840e0f590c4
--- /dev/null
+++ b/db/migrate/20210906072443_add_repo_to_websites.rb
@@ -0,0 +1,6 @@
+class AddRepoToWebsites < ActiveRecord::Migration[6.1]
+  def change
+    add_column :communication_websites, :access_token, :string
+    add_column :communication_websites, :repository, :string
+  end
+end
diff --git a/db/migrate/20210906074132_add_description_to_research_journal_volumes.rb b/db/migrate/20210906074132_add_description_to_research_journal_volumes.rb
new file mode 100644
index 0000000000000000000000000000000000000000..d695cad935906bacf5371c11e70f897945b587b1
--- /dev/null
+++ b/db/migrate/20210906074132_add_description_to_research_journal_volumes.rb
@@ -0,0 +1,5 @@
+class AddDescriptionToResearchJournalVolumes < ActiveRecord::Migration[6.1]
+  def change
+    add_column :research_journal_volumes, :description, :text
+  end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 44e5ac9a5a875c43b661a62e270fbf0e98ee2c24..9066a2fdce1eca9fca85453634e4815cfd9a137a 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: 2021_08_31_122745) do
+ActiveRecord::Schema.define(version: 2021_09_06_074132) do
 
   # These are extensions that must be enabled in order to support this database
   enable_extension "pgcrypto"
@@ -64,6 +64,8 @@ ActiveRecord::Schema.define(version: 2021_08_31_122745) do
     t.string "domain"
     t.datetime "created_at", precision: 6, null: false
     t.datetime "updated_at", precision: 6, null: false
+    t.string "access_token"
+    t.string "repository"
     t.index ["university_id"], name: "index_communication_websites_on_university_id"
   end
 
@@ -110,6 +112,7 @@ ActiveRecord::Schema.define(version: 2021_08_31_122745) do
     t.datetime "published_at"
     t.datetime "created_at", precision: 6, null: false
     t.datetime "updated_at", precision: 6, null: false
+    t.text "description"
     t.index ["research_journal_id"], name: "index_research_journal_volumes_on_research_journal_id"
     t.index ["university_id"], name: "index_research_journal_volumes_on_university_id"
   end
diff --git a/test/fixtures/research/journal/volumes.yml b/test/fixtures/research/journal/volumes.yml
index b5dfce353cf223871d41fa14702d8e64cdec6918..1ffa4e70c74424b6de9dce64ed982c843c94e8c4 100644
--- a/test/fixtures/research/journal/volumes.yml
+++ b/test/fixtures/research/journal/volumes.yml
@@ -3,6 +3,7 @@
 # Table name: research_journal_volumes
 #
 #  id                  :uuid             not null, primary key
+#  description         :text
 #  number              :integer
 #  published_at        :datetime
 #  title               :string
diff --git a/test/models/research/journal/volume_test.rb b/test/models/research/journal/volume_test.rb
index 3d62a1aaa415ed55a44e6b24eace4df7e51b4c3f..a8ffee5add1b23e81300ce7a8e06cf7bcd4c75b6 100644
--- a/test/models/research/journal/volume_test.rb
+++ b/test/models/research/journal/volume_test.rb
@@ -3,6 +3,7 @@
 # Table name: research_journal_volumes
 #
 #  id                  :uuid             not null, primary key
+#  description         :text
 #  number              :integer
 #  published_at        :datetime
 #  title               :string