Diff
Modified: branches/event_logging/app/controllers/home_controller.rb (1989 => 1990)
--- branches/event_logging/app/controllers/home_controller.rb 2008-11-19 13:33:03 UTC (rev 1989)
+++ branches/event_logging/app/controllers/home_controller.rb 2008-11-19 16:43:26 UTC (rev 1990)
@@ -5,6 +5,7 @@
class HomeController < ApplicationController
+ before_filter :find_latest_public_group_announcements_rss, : [:group_announcements_rss]
before_filter :find_latest_public_updated_items_rss, : [:updated_items_rss]
before_filter :find_latest_comments_rss, : [:latest_comments_rss]
before_filter :find_latest_reviews_rss, : [:latest_reviews_rss]
@@ -24,6 +25,14 @@
end
end
+ def group_announcements_rss
+ respond_to do |format|
+ format.rss do
+ render :action ="" 'latest_group_announcements.rxml', :layout => false
+ end
+ end
+ end
+
def updated_items_rss
respond_to do |format|
format.rss do
@@ -51,6 +60,13 @@
protected
+ def find_latest_public_group_announcements_rss
+ # Only carry out if request is for RSS
+ if params[:format] and params[:format].downcase == 'rss'
+ @group_announcements_rss = GroupAnnouncement.latest_public(DEFAULT_RSS_ENTRY_COUNT)
+ end
+ end
+
def find_latest_public_updated_items_rss
# Only carry out if request is for RSS
if params[:format] and params[:format].downcase == 'rss'
Modified: branches/event_logging/app/helpers/application_helper.rb (1989 => 1990)
--- branches/event_logging/app/helpers/application_helper.rb 2008-11-19 13:33:03 UTC (rev 1989)
+++ branches/event_logging/app/helpers/application_helper.rb 2008-11-19 16:43:26 UTC (rev 1990)
@@ -1170,6 +1170,7 @@
feed_links << "<link href="" rel=\"alternate\" type=\"application/rss+xml\" title=\"myExperiment.org - Public News\" />"
feed_links << "<link href="" rel=\"alternate\" type=\"application/rss+xml\" title=\"myExperiment.org - Site Announcements\" />"
+ feed_links << "<link href="" rel=\"alternate\" type=\"application/rss+xml\" title=\"myExperiment.org - Group Announcements\" />"
feed_links << "<link href="" rel=\"alternate\" type=\"application/rss+xml\" title=\"myExperiment.org - Latest Groups\" />"
feed_links << "<link href="" rel=\"alternate\" type=\"application/rss+xml\" title=\"myExperiment.org - Updated Items\" />"
feed_links << "<link href="" rel=\"alternate\" type=\"application/rss+xml\" title=\"myExperiment.org - Latest Tags\" />"
Modified: branches/event_logging/app/models/group_announcement.rb (1989 => 1990)
--- branches/event_logging/app/models/group_announcement.rb 2008-11-19 13:33:03 UTC (rev 1989)
+++ branches/event_logging/app/models/group_announcement.rb 2008-11-19 16:43:26 UTC (rev 1990)
@@ -22,4 +22,8 @@
end
end
+ def self.latest_public(limit=10)
+ return GroupAnnouncement.find(:all, :conditions => ["public = ?", true], :order => "created_at DESC", :limit => limit)
+ end
+
end
Added: branches/event_logging/app/views/home/_group_announcements.rhtml (0 => 1990)
--- branches/event_logging/app/views/home/_group_announcements.rhtml (rev 0)
+++ branches/event_logging/app/views/home/_group_announcements.rhtml 2008-11-19 16:43:26 UTC (rev 1990)
@@ -0,0 +1,27 @@
+<!-- Group Announcements -->
+<div class="box">
+ <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"></b></b>
+ <div class="box_title">
+ <%= feed_icon_tag "latest public Group Announcements", home_latest_public_group_announcements_rss_url -%>
+ Public Group Announcements
+ </div>
+ <div class="content">
+ <% #cache(:controller => 'home_cache', :action ="" 'announcements') do -%>
+ <% unless (announcements = GroupAnnouncement.latest_public(DEFAULT_RSS_ENTRY_COUNT)).empty? %>
+ <ul class="announcements">
+ <% announcements.each do |a| %>
+ <li>
+ <p class="box_standout" style="font-size: 93%; padding: 0.2em 0.5em; margin: 0.1em 0; font-weight: bold;">
+ <%= link_to h(a.title), announcement_url(a) %>
+ </p>
+ <p style="font-size: 77%; padding-left: 1.5em;"><b><%= datetime a.created_at, false %></b> by <b><%= name a.user %></b> for <b><%= title a.network -%> Group</p>
+ </li>
+ <% end %>
+ </ul>
+ <% else %>
+ <p class="none_text">None</p>
+ <% end %>
+ <% #end %>
+ </div>
+ <b class="xbottom"><b class="xb5"></b><b class="xb6"></b><b class="xb7"></b><b class="xb1"></b></b>
+</div>
\ No newline at end of file
Modified: branches/event_logging/app/views/home/_news.rhtml (1989 => 1990)
--- branches/event_logging/app/views/home/_news.rhtml 2008-11-19 13:33:03 UTC (rev 1989)
+++ branches/event_logging/app/views/home/_news.rhtml 2008-11-19 16:43:26 UTC (rev 1990)
@@ -1,6 +1,6 @@
<!-- News -->
<% benchmark "Home page news feed" do %>
-<div class="box">
+<div class="box" style="<%= news_box_style -%>">
<b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"></b></b>
<div class="box_title">
<%= news_box_title -%>
Modified: branches/event_logging/app/views/home/index.rhtml (1989 => 1990)
--- branches/event_logging/app/views/home/index.rhtml 2008-11-19 13:33:03 UTC (rev 1989)
+++ branches/event_logging/app/views/home/index.rhtml 2008-11-19 16:43:26 UTC (rev 1990)
@@ -1,14 +1,19 @@
<div id="home_container">
+ <%= render :partial => 'stats' %>
+
<div id="tabsContainer" class="tabsContainer" style="margin-top: 2em;"></div>
<% if logged_in? -%>
<div class="tabContainer">
<div class="tabTitle"><b>My News</b></div>
<div class="tabContent">
- <%= render :partial => 'stats' %>
- <div style="margin-top: 1.5em;">
- <%= render :partial => "news", :locals => {:news_box_title => "My News", :news_for => current_user, :required_news_count => DEFAULT_USER_HOME_PAGE_NEWS_COUNT, :required_news_timeframe => DEFAULT_USER_HOME_PAGE_NEWS_TIMEFRAME} %>
+ <div style="text-align: center;">
+ <%= render :partial => "news", :locals => {:news_box_title => "My News",
+ :news_box_style => "width: 550px; text-align: left;",
+ :news_for => current_user,
+ :required_news_count => DEFAULT_USER_HOME_PAGE_NEWS_COUNT,
+ :required_news_timeframe => DEFAULT_USER_HOME_PAGE_NEWS_TIMEFRAME} %>
<div class="clearer"> </div>
</div>
</div>
@@ -18,20 +23,31 @@
<div class="tabContainer">
<div class="tabTitle"><b>Public News</b></div>
<div class="tabContent">
- <%= render :partial => 'stats' %>
- <div style="margin-top: 1.5em;">
- <div class="left">
- <%= render :partial => "announcements" %>
- </div>
- <div class="right">
- <%= render :partial => "news", :locals => {:news_box_title => feed_icon_tag("myExperiment Public News", home_public_news_rss_url) + " Public News", :news_for => nil, :required_news_count => DEFAULT_ANONYMOUS_HOME_PAGE_NEWS_COUNT, :required_news_timeframe => DEFAULT_ANONYMOUS_HOME_PAGE_NEWS_TIMEFRAME} %>
- </div>
+ <div style="text-align: center;">
+ <%= render :partial => "news", :locals => {:news_box_title => feed_icon_tag("myExperiment Public News", home_public_news_rss_url) + " Public News",
+ :news_box_style => "width: 550px; text-align: left;",
+ :news_for => nil,
+ :required_news_count => DEFAULT_ANONYMOUS_HOME_PAGE_NEWS_COUNT,
+ :required_news_timeframe => DEFAULT_ANONYMOUS_HOME_PAGE_NEWS_TIMEFRAME} %>
<div class="clearer"> </div>
</div>
</div>
</div>
<div class="tabContainer">
+ <div class="tabTitle"><b>Announcements</b></div>
+ <div class="tabContent">
+ <div style="float: left; width: 49%;">
+ <%= render :partial => "announcements" %>
+ </div>
+ <div style="float: right; width: 49%;">
+ <%= render :partial => "group_announcements" %>
+ </div>
+ <div class="clearer"> </div>
+ </div>
+ </div>
+
+ <div class="tabContainer">
<div class="tabTitle"><b>New Users</b></div>
<div class="tabContent">
<%= render :partial => "new_users" %>
@@ -66,7 +82,7 @@
<div style="float: left; width: 49%;">
<%= render :partial => "latest_reviews" %>
</div>
- <div style="float: right; width: 50%;">
+ <div style="float: right; width: 49%;">
<%= render :partial => "latest_comments" %>
</div>
<div class="clearer"> </div>
Added: branches/event_logging/app/views/home/latest_group_announcements.rxml (0 => 1990)
--- branches/event_logging/app/views/home/latest_group_announcements.rxml (rev 0)
+++ branches/event_logging/app/views/home/latest_group_announcements.rxml 2008-11-19 16:43:26 UTC (rev 1990)
@@ -0,0 +1,14 @@
+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 Public Group Announcements"
+ xml.link announcements_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 "Most recent public Group Announcements on myExperiment.org"
+
+ @group_announcements_rss.each do |ann|
+ render(:partial => "layouts/group_announcement", :object => ann, :locals => { :xm => xml, :group => ann.network, :show_group_title => true })
+ end
+ end
+end
\ No newline at end of file
Modified: branches/event_logging/app/views/layouts/_group_announcement.rxml (1989 => 1990)
--- branches/event_logging/app/views/layouts/_group_announcement.rxml 2008-11-19 13:33:03 UTC (rev 1989)
+++ branches/event_logging/app/views/layouts/_group_announcement.rxml 2008-11-19 16:43:26 UTC (rev 1990)
@@ -1,8 +1,20 @@
+show_group_title ||= nil
+
xm.item do
- xm.title group_announcement.title
+ ann_title = ""
+ if show_group_title
+ ann_title += h(group.title) + " Group: \""
+ end
+ ann_title += group_announcement.title
+ ann_title += "\"" if show_group_title
+
+ xm.title ann_title
xm.description white_list(group_announcement.body_html)
xm.pubDate group_announcement.updated_at.rfc822
+
xm.category "Group Announcements"
+ xm.category h(group.title) + " Group"
+
xm.guid [request.host_with_port, "announcement", group_announcement.id.to_s].join(":"), "isPermaLink" => "false"
xm.author h(group_announcement.user.name)
xm.link group_announcement_url(group, group_announcement)
Modified: branches/event_logging/config/environment_private.rb.pre (1989 => 1990)
--- branches/event_logging/config/environment_private.rb.pre 2008-11-19 13:33:03 UTC (rev 1989)
+++ branches/event_logging/config/environment_private.rb.pre 2008-11-19 16:43:26 UTC (rev 1990)
@@ -120,6 +120,8 @@
LATEST_GROUPS_RSS_ENTRY_COUNT = 10
# various feeds on "home" page
-# (DEFAULT_RSS_ENTRY_COUNT is currently used for "latest tags|comments|reviews"; RSS news feed for Files, Workflows, Packs)
+# (DEFAULT_RSS_ENTRY_COUNT is currently used for RSS feeds "latest tags|comments|reviews";
+# also, RSS news feeds for Files, Workflows, Packs;
+# also, RSS feed and listing on the "home" page for "latest public group announcements")
DEFAULT_RSS_ENTRY_COUNT = 20
LATEST_UPDATED_ITEMS_RSS_ENTRY_COUNT = 25
\ No newline at end of file
Modified: branches/event_logging/config/routes.rb (1989 => 1990)
--- branches/event_logging/config/routes.rb 2008-11-19 13:33:03 UTC (rev 1989)
+++ branches/event_logging/config/routes.rb 2008-11-19 16:43:26 UTC (rev 1990)
@@ -240,6 +240,7 @@
map.resources :announcements
map.home_public_news_rss 'home/public_news.rss', :controller => 'home', :action ="" 'public_news_rss', :format => 'rss'
+ map.home_latest_public_group_announcements_rss 'home/group_announcements.rss', :controller => 'home', :action ="" 'group_announcements_rss', :format => 'rss'
map.home_updated_items_rss 'home/updated_items.rss', :controller => 'home', :action ="" 'updated_items_rss', :format => 'rss'
map.home_latest_comments_rss 'home/latest_comments.rss', :controller => 'home', :action ="" 'latest_comments_rss', :format => 'rss'
map.home_latest_reviews_rss 'home/latest_reviews.rss', :controller => 'home', :action ="" 'latest_reviews_rss', :format => 'rss'