Diff
Modified: branches/event_logging/app/controllers/packs_controller.rb (1945 => 1946)
--- branches/event_logging/app/controllers/packs_controller.rb 2008-11-12 14:48:40 UTC (rev 1945)
+++ branches/event_logging/app/controllers/packs_controller.rb 2008-11-12 15:40:10 UTC (rev 1946)
@@ -9,6 +9,7 @@
before_filter :login_required, :except => [:index, :show, :all, :search, :items, :download]
before_filter :find_packs, : [:all]
+ before_filter :find_packs_rss, : [:index]
before_filter :find_pack_auth, :except => [:index, :new, :create, :all, :search]
before_filter :set_sharing_mode_variables, : [:show, :new, :create, :edit, :update]
@@ -36,6 +37,9 @@
def index
respond_to do |format|
format.html # index.rhtml
+ format.rss do
+ render :action ="" 'index.rxml', :layout => false
+ end
end
end
@@ -418,6 +422,19 @@
:current => params[:page] })
end
+ def find_packs_rss
+ # Only carry out if request is for RSS
+ if params[:format] and params[:format].downcase == 'rss'
+ found = Pack.find(:all, :order => "packs.updated_at DESC", :limit => 30, :include => [ { :contribution => :policy } ])
+
+ @rss_packs = []
+
+ found.each do |pack|
+ @rss_packs << pack if pack.authorized?("show", (logged_in? ? current_user : nil))
+ end
+ end
+ end
+
def find_pack_auth
begin
pack = Pack.find(params[:id])
Modified: branches/event_logging/app/views/contributions/_most_tabs.rhtml (1945 => 1946)
--- branches/event_logging/app/views/contributions/_most_tabs.rhtml 2008-11-12 14:48:40 UTC (rev 1945)
+++ branches/event_logging/app/views/contributions/_most_tabs.rhtml 2008-11-12 15:40:10 UTC (rev 1946)
@@ -3,12 +3,12 @@
<% unless (most_r = Contribution.most_recent(10, type)).empty? %>
<div class="tabContainer">
<div class="tabTitle">
- <% if ['workflows', 'blobs'].include? controller.controller_name.downcase -%>
- <% latest_what = controller_visible_name(controller.controller_name.camelcase) %>
- <%= feed_icon_tag "Latest #{latest_what}", eval("formatted_#{latest_what.downcase}_path(:rss)"), "margin-right: 0.2em;" %>
- <% end -%>
- Latest
- </div>
+ <% if ['workflows', 'blobs', 'packs'].include? controller.controller_name.downcase -%>
+ <% latest_what = controller_visible_name(controller.controller_name.camelcase) %>
+ <%= feed_icon_tag "Latest #{latest_what}", eval("formatted_#{latest_what.downcase}_path(:rss)"), "margin-right: 0.2em;" %>
+ <% end -%>
+ Latest
+ </div>
<div class="tabContent">
<%= render :partial => "contributions/list", :locals => { :collection => most_r, :table => true } %>
</div>
Added: branches/event_logging/app/views/layouts/_pack.rxml (0 => 1946)
--- branches/event_logging/app/views/layouts/_pack.rxml (rev 0)
+++ branches/event_logging/app/views/layouts/_pack.rxml 2008-11-12 15:40:10 UTC (rev 1946)
@@ -0,0 +1,8 @@
+xm.item do
+ xm.title "#{h(pack.title)} (#{h(pack.contribution.contributor.name || pack.contribution.contributor.title)})"
+ xm.description white_list(pack.description_html)
+ xm.pubDate pack.contribution.updated_at.rfc822
+ xm.guid [request.host_with_port, "pack", pack.id.to_s].join(":"), "isPermaLink" => "false"
+ xm.author h(pack.contribution.contributor.name || pack.contribution.contributor.title)
+ xm.link pack_url(pack)
+end
\ No newline at end of file
Added: branches/event_logging/app/views/packs/index.rxml (0 => 1946)
--- branches/event_logging/app/views/packs/index.rxml (rev 0)
+++ branches/event_logging/app/views/packs/index.rxml 2008-11-12 15:40:10 UTC (rev 1946)
@@ -0,0 +1,11 @@
+xml.rss "version" => "2.0", 'xmlns:opensearch' => "http://a9.com/-/spec/opensearch/1.1/", 'xmlns:atom' => "http://www.w3.org/2005/Atom" do
+ xml.channel do
+ xml.title "myExperiment.org - Latest Packs"
+ xml.link packs_url
+ xml.language "en-us"
+ xml.ttl "60"
+ xml.tag! "atom:link", :rel => 'search', :type => 'application/opensearchdescription+xml', :href ="" "http://#{request.host_with_port}/open_search.xml"
+ xml.description "RSS feed listing the latest Packs which have been uploaded to myExperiment.org"
+ render(:partial => "layouts/pack", :collection => @rss_packs, :locals => { :xm => xml })
+ end
+end
\ No newline at end of file