myexperiment-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[myexperiment-hackers] [1990] branches/event_logging: Subscriptions.


From: noreply
Subject: [myexperiment-hackers] [1990] branches/event_logging: Subscriptions.
Date: Wed, 19 Nov 2008 11:43:26 -0500 (EST)

Revision
1990
Author
alekses6
Date
2008-11-19 11:43:26 -0500 (Wed, 19 Nov 2008)

Log Message

Subscriptions. Added "Group Announcements" feed to the home page. Restyled tabs configuration on the home page.

Modified Paths

Added Paths

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">&nbsp;</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) + "&nbsp;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) + "&nbsp;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">&nbsp;</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">&nbsp;</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">&nbsp;</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'

reply via email to

[Prev in Thread] Current Thread [Next in Thread]