<%= link_to 'Dashboard', neurohub_path, { :class => "btn-nav secondary", "data-active"=> request.path_info.include?('welcome') || action_name==="welcome" } %>
- <%= link_to 'Projects', nh_projects_path, { :class => "btn-nav secondary", "data-active"=> request.path_info.include?('nh_projects') && action_name==="index" } %>
- <%= link_to "Storage", nh_storages_path, { :class => "btn-nav secondary", "data-active"=> request.path_info.include?('nh_storages') && action_name==="index" } %>
+ <%= link_to 'News', nh_news_path, { :class => "btn-nav secondary", "data-active"=> request.path_info.include?('welcome') && action_name==="news" } %>
<% if @nh_invites_count > 0 %>
<%= link_to 'Invitations', nh_invitations_path, { :class => "btn-nav secondary badge", "data-badge"=> @nh_new_invites_count > 0 ? @nh_new_invites_count : nil, "data-active"=> request.path_info.include?('nh_invitations') && action_name==="index" } %>
<% end %>
diff --git a/BrainPortal/app/views/neurohub_portal/news.html.erb b/BrainPortal/app/views/neurohub_portal/news.html.erb
new file mode 100644
index 000000000..450829638
--- /dev/null
+++ b/BrainPortal/app/views/neurohub_portal/news.html.erb
@@ -0,0 +1,208 @@
+<%-
+#
+# NeuroHub Project
+#
+# Copyright (C) 2020
+# The Royal Institution for the Advancement of Learning
+# McGill University
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+-%>
+
+<%
+ new_invites = Invitation.where(user_id: current_user.id, active: true, read: false).all || []
+%>
+
+
+<% title("Dashboard", '') %>
+
+
diff --git a/BrainPortal/app/views/neurohub_portal/welcome.html.erb b/BrainPortal/app/views/neurohub_portal/welcome.html.erb
index 450829638..86c6e8717 100644
--- a/BrainPortal/app/views/neurohub_portal/welcome.html.erb
+++ b/BrainPortal/app/views/neurohub_portal/welcome.html.erb
@@ -2,7 +2,7 @@
#
# NeuroHub Project
#
-# Copyright (C) 2020
+# Copyright (C) 2020-2023
# The Royal Institution for the Advancement of Learning
# McGill University
#
@@ -21,188 +21,73 @@
#
-%>
-<%
- new_invites = Invitation.where(user_id: current_user.id, active: true, read: false).all || []
-%>
+<% cache('categorical_welcome_grid_v_1', expires_in: 30.minutes ) do %>
+ <%
+ # The info about neurohub collection of data framework is extracted from a spreadsheet
+ # so can be adjusted without CBRAIN reboot
+ # Once the the collection is more stable, can be moved into model/controller
-<% title("Dashboard", '') %>
+ require 'csv'
+ require 'ostruct'
+ csv_text = File.read('public/neurohub_components/soft.csv')
+ csv = CSV.parse(csv_text, :headers => true)
+ hashes = csv.map {|row| row.to_hash.stringify_keys.transform_keys(&:downcase)} # rows to chashes
+ grouped_hashes = hashes.group_by {|h| h['boxid']} # software components are grouped by categories
-