muck-raker 0.1.15 → 0.1.16
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +21 -8
- data/Rakefile +6 -0
- data/VERSION +1 -1
- data/app/controllers/admin/{recommender → muck}/feeds_controller.rb +2 -2
- data/app/controllers/{recommender → muck}/entries_controller.rb +8 -5
- data/app/controllers/muck/feed_previews_controller.rb +33 -0
- data/app/controllers/muck/feeds_controller.rb +128 -0
- data/app/controllers/{recommender → muck}/recommendations_controller.rb +4 -1
- data/app/controllers/{recommender → muck}/search_controller.rb +3 -1
- data/app/helpers/muck_raker_feeds_helper.rb +24 -0
- data/app/models/attention.rb +13 -1
- data/app/models/click.rb +12 -0
- data/app/models/entry.rb +45 -11
- data/app/models/feed.rb +81 -7
- data/app/models/feed_parent.rb +18 -0
- data/app/models/language.rb +14 -0
- data/app/models/oai_endpoint.rb +12 -0
- data/app/models/raker_mailer.rb +16 -0
- data/app/models/recommendation.rb +13 -0
- data/app/models/service.rb +14 -0
- data/app/models/subject.rb +8 -0
- data/app/models/tag_cloud.rb +14 -1
- data/app/views/admin/feeds/index.html.erb +65 -0
- data/app/views/entries/_related_entry.html.erb +4 -0
- data/app/views/entries/_result_status.html.erb +3 -3
- data/app/views/entries/details.html.erb +19 -22
- data/app/views/entries/index.html.erb +1 -1
- data/app/views/entries/show.html.erb +4 -7
- data/app/views/feed_previews/new.html.erb +1 -0
- data/app/views/feed_previews/select_feeds.html.erb +6 -0
- data/app/views/feeds/_entry.html.erb +1 -0
- data/app/views/feeds/_feed.html.erb +9 -0
- data/app/views/feeds/index.html.erb +30 -94
- data/app/views/feeds/new.html.erb +1 -109
- data/app/views/feeds/new_extended.html.erb +1 -0
- data/app/views/feeds/show.html.erb +6 -0
- data/app/views/parts/_add_extended_feed.html.erb +31 -0
- data/app/views/parts/_add_feed.html.erb +20 -0
- data/app/views/parts/_add_single_feed.html.erb +21 -0
- data/app/views/parts/_select_feed.html.erb +4 -0
- data/app/views/raker_mailer/notification_feed_added.text.ar.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.ar.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.bg.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.bg.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.ca.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.ca.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.cs.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.cs.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.da.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.da.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.de.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.de.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.el.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.el.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.es.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.es.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.et.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.et.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.fa.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.fa.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.fi.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.fi.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.fr.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.fr.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.gl.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.gl.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.hi.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.hi.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.hr.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.hr.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.hu.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.hu.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.id.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.id.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.it.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.it.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.iw.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.iw.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.ja.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.ja.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.ko.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.ko.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.lt.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.lt.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.lv.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.lv.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.mt.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.mt.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.nl.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.nl.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.no.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.no.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.pl.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.pl.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.pt-PT.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.pt-PT.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.ro.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.ro.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.ru.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.ru.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.sk.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.sk.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.sl.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.sl.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.sq.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.sq.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.sr.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.sr.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.sv.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.sv.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.th.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.th.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.tl.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.tl.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.tr.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.tr.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.uk.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.uk.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.vi.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.vi.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.zh-CN.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.zh-CN.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.zh-TW.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.zh-TW.plain.erb +5 -0
- data/app/views/raker_mailer/notification_feed_added.text.zh.html.erb +3 -0
- data/app/views/raker_mailer/notification_feed_added.text.zh.plain.erb +5 -0
- data/app/views/recommendations/index.xml.builder +4 -4
- data/config/muck_raker_routes.rb +10 -13
- data/db/migrate/20090623181458_add_grain_size_to_entries.rb +6 -6
- data/db/migrate/20090623193525_add_grain_size_to_tag_clouds.rb +12 -0
- data/db/migrate/20090717175825_normalize_entries_subjects.rb +1 -0
- data/db/migrate/20090721043213_change_services_title_to_name.rb +9 -0
- data/db/migrate/20090721054927_remove_services_not_null_from_feeds.rb +9 -0
- data/db/migrate/20090723050510_create_feed_parents.rb +17 -0
- data/lib/active_record/acts/muck_feed_parent.rb +22 -0
- data/lib/muck_raker/muck_custom_form_builder.rb +22 -0
- data/lib/muck_raker/services.rb +6 -0
- data/lib/muck_raker/tasks.rb +8 -4
- data/lib/muck_raker.rb +7 -2
- data/locales/ar.yml +48 -15
- data/locales/bg.yml +48 -15
- data/locales/ca.yml +48 -15
- data/locales/cs.yml +48 -15
- data/locales/da.yml +48 -15
- data/locales/de.yml +48 -15
- data/locales/el.yml +48 -15
- data/locales/en.yml +46 -17
- data/locales/es.yml +48 -15
- data/locales/et.yml +48 -15
- data/locales/fa.yml +48 -15
- data/locales/fi.yml +49 -16
- data/locales/fr.yml +48 -15
- data/locales/gl.yml +48 -15
- data/locales/hi.yml +48 -15
- data/locales/hr.yml +48 -15
- data/locales/hu.yml +48 -15
- data/locales/id.yml +48 -15
- data/locales/it.yml +49 -16
- data/locales/iw.yml +48 -15
- data/locales/ja.yml +48 -15
- data/locales/ko.yml +48 -15
- data/locales/lt.yml +48 -15
- data/locales/lv.yml +48 -15
- data/locales/mt.yml +48 -15
- data/locales/nl.yml +48 -15
- data/locales/no.yml +48 -15
- data/locales/pl.yml +48 -15
- data/locales/pt-PT.yml +48 -15
- data/locales/ro.yml +48 -15
- data/locales/ru.yml +48 -15
- data/locales/sk.yml +48 -15
- data/locales/sl.yml +48 -15
- data/locales/sq.yml +48 -15
- data/locales/sr.yml +48 -15
- data/locales/sv.yml +48 -15
- data/locales/th.yml +48 -15
- data/locales/tl.yml +48 -15
- data/locales/tr.yml +48 -15
- data/locales/uk.yml +48 -15
- data/locales/vi.yml +48 -15
- data/locales/zh-CN.yml +48 -15
- data/locales/zh-TW.yml +48 -15
- data/locales/zh.yml +48 -15
- data/muck-raker.gemspec +298 -26
- data/rails/init.rb +0 -9
- data/test/rails_root/app/models/user.rb +31 -1
- data/test/rails_root/app/views/default/index.html.erb +15 -0
- data/test/rails_root/app/views/layouts/default.html.erb +38 -24
- data/test/rails_root/app/views/layouts/popup.html.erb +40 -0
- data/test/rails_root/config/database.yml +12 -11
- data/test/rails_root/config/environment.rb +4 -1
- data/test/rails_root/config/global_config.yml +3 -0
- data/test/rails_root/db/migrate/20090402234137_create_languages.rb +18 -0
- data/test/rails_root/db/migrate/20090426041056_create_countries.rb +15 -0
- data/test/rails_root/db/migrate/20090426041103_create_states.rb +18 -0
- data/test/rails_root/{migrate → db/migrate}/20090602191243_create_muck_raker.rb +0 -0
- data/test/rails_root/{migrate → db/migrate}/20090619211125_create_tag_clouds.rb +0 -0
- data/test/rails_root/db/migrate/20090623181458_add_grain_size_to_entries.rb +16 -0
- data/test/rails_root/db/migrate/20090623193525_add_grain_size_to_tag_clouds.rb +12 -0
- data/test/rails_root/{migrate → db/migrate}/20090703175825_denormalize_entries_subjects.rb +0 -0
- data/test/rails_root/db/migrate/20090716035935_change_tag_cloud_grain_sizes.rb +9 -0
- data/test/rails_root/db/migrate/20090717175825_normalize_entries_subjects.rb +18 -0
- data/test/rails_root/db/migrate/20090721043213_change_services_title_to_name.rb +9 -0
- data/test/rails_root/db/migrate/20090721054927_remove_services_not_null_from_feeds.rb +9 -0
- data/test/rails_root/db/migrate/20090723050510_create_feed_parents.rb +17 -0
- data/test/rails_root/db/schema.rb +289 -54
- data/test/rails_root/public/images/fancybox/fancy_closebox.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_left.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_progress.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_right.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_e.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_n.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_ne.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_nw.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_s.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_se.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_sw.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_w.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_title_left.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_title_main.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_title_right.png +0 -0
- data/test/rails_root/public/javascripts/jquery/jquery.easing.js +1 -0
- data/test/rails_root/public/javascripts/jquery/jquery.fancybox.js +9 -0
- data/test/rails_root/public/javascripts/muck.js +7 -3
- data/test/rails_root/public/stylesheets/application.css +1 -0
- data/test/rails_root/public/stylesheets/jquery/jquery.fancybox.css +44 -0
- data/test/rails_root/public/stylesheets/styles.css +6 -2
- data/test/rails_root/test/factories.rb +14 -1
- data/test/rails_root/test/functional/feed_previews_controller_test.rb +32 -0
- data/test/rails_root/test/functional/feeds_controller_test.rb +57 -5
- data/test/rails_root/test/shoulda_macros/controller.rb +5 -1
- data/test/rails_root/test/test_helper.rb +2 -0
- data/test/rails_root/test/unit/entry_test.rb +30 -5
- data/test/rails_root/test/unit/feed_parent_test.rb +10 -0
- data/test/rails_root/test/unit/feed_test.rb +55 -3
- data/test/rails_root/test/unit/raker_mailer_test.rb +26 -0
- data/test/rails_root/test/unit/tag_cloud_test.rb +16 -28
- data/test/rails_root/test/unit/user_test.rb +11 -0
- metadata +211 -18
- data/app/controllers/recommender/default_controller.rb +0 -15
- data/app/controllers/recommender/feeds_controller.rb +0 -64
- data/app/views/default/tour.html.erb +0 -15
- data/app/views/default/widgets.html.erb +0 -4
- data/test/rails_root/migrate/20090623181458_add_grain_size_to_entries.rb +0 -16
data/app/models/tag_cloud.rb
CHANGED
@@ -1,6 +1,19 @@
|
|
1
|
+
# == Schema Information
|
2
|
+
#
|
3
|
+
# Table name: tag_clouds
|
4
|
+
#
|
5
|
+
# id :integer(4) not null, primary key
|
6
|
+
# language_id :integer(4)
|
7
|
+
# filter :string(255)
|
8
|
+
# tag_list :string(5000)
|
9
|
+
# grain_size :string(255) default("all")
|
10
|
+
#
|
11
|
+
|
1
12
|
class TagCloud < ActiveRecord::Base
|
2
13
|
|
3
|
-
|
14
|
+
# Get a tag cloud for the given language
|
15
|
+
# HACK language_id = 38 is english
|
16
|
+
def self.language_tags(language_id = 38, grain_size = 'all', filter = '')
|
4
17
|
cloud = TagCloud.find(:first, :conditions => ["language_id = ? AND grain_size = ? AND filter = ? ", language_id, grain_size, filter.sort.join('/')])
|
5
18
|
cloud.nil? ? '' : cloud.tag_list
|
6
19
|
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
<h1>OER Recommender - Registered Collections</h1>
|
2
|
+
<div>
|
3
|
+
<p><a href="/feeds/new">Register a New Collection</a></p>
|
4
|
+
<%= render :partial => 'feeds/feeds', :object => @feeds %>
|
5
|
+
|
6
|
+
<% if @banned_feeds.size > 0 %>
|
7
|
+
<h1>Banned Feeds</h1>
|
8
|
+
<%= render :partial => 'feeds/feeds', :object => @banned_feeds %>
|
9
|
+
<table>
|
10
|
+
|
11
|
+
<% for feed in @banned_feeds %>
|
12
|
+
<tr>
|
13
|
+
<td><%= link_to feed.title, "/feeds/" + feed.id.to_s + "/entries" %> <%= link_to "[go]", feed.display_uri, :style => "color:red" %></td>
|
14
|
+
<td>
|
15
|
+
<%= link_to 'Edit', edit_feed_path(feed) %>
|
16
|
+
<%
|
17
|
+
=begin %>
|
18
|
+
<% if feed.status >= 0 %>
|
19
|
+
<%= link_to 'Ban', ban_feed_path(feed), :confirm => 'Are you sure?', :method => :post %>
|
20
|
+
<% else %>
|
21
|
+
<%= link_to 'Unban', unban_feed_path(feed), :confirm => 'Are you sure?', :method => :post %>
|
22
|
+
<% end %>
|
23
|
+
<%= link_to 'Harvest', harvest_now_feed_path(feed), :method => :post %>
|
24
|
+
<%= link_to 'Delete', feed_path(feed), :method => :delete %>
|
25
|
+
<%
|
26
|
+
=end %>
|
27
|
+
</td>
|
28
|
+
<td><%=h feed.description %></td>
|
29
|
+
<td><%=h feed.harvest_interval %></td>
|
30
|
+
<td><%=h feed.last_harvested_at %></td>
|
31
|
+
<td><%=h feed.failed_requests %></td>
|
32
|
+
<td><%=h feed.error_message ? "Failed last request:" + feed.error_message : feed.status >= 0 ? "Ok" : "Banned" %></td>
|
33
|
+
<td><%=h feed.uri %></td>
|
34
|
+
</tr>
|
35
|
+
<% end %>
|
36
|
+
</table>
|
37
|
+
</div>
|
38
|
+
<% end %>
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
<tr>
|
44
|
+
<td><%= link_to feed.title, "/feeds/" + feed.id.to_s + "/entries" %> <%= link_to "[go]", feed.display_uri, :style => "color:red" %></td>
|
45
|
+
<td>
|
46
|
+
<%= link_to 'Edit', edit_feed_path(feed) %>
|
47
|
+
<%
|
48
|
+
=begin %>
|
49
|
+
<% if feed.status >= 0 %>
|
50
|
+
<%= link_to 'Ban', ban_feed_path(feed), :confirm => 'Are you sure?', :method => :post %>
|
51
|
+
<% else %>
|
52
|
+
<%= link_to 'Unban', unban_feed_path(feed), :confirm => 'Are you sure?', :method => :post %>
|
53
|
+
<% end %>
|
54
|
+
<%= link_to 'Harvest', harvest_now_feed_path(feed), :method => :post %>
|
55
|
+
<%= link_to 'Delete', feed_path(feed), :method => :delete %>
|
56
|
+
<%
|
57
|
+
=end %>
|
58
|
+
</td>
|
59
|
+
<td><%=h feed.description %></td>
|
60
|
+
<td><%=h feed.refresh_interval_hours %></td>
|
61
|
+
<td><%=h feed.last_harvested_at %></td>
|
62
|
+
<td><%=h feed.failed_requests %></td>
|
63
|
+
<td><%=h feed.error_message ? "Failed last request:" + feed.error_message : feed.status >= 0 ? "Ok" : "Banned" %></td>
|
64
|
+
<td><%=h feed.uri %></td>
|
65
|
+
</tr>
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<%= link_to related_entry.title + " (" + related_entry.collection + ")", "/r?id=#{related_entry.id}", :class => "title_link", :rel => "nofollow" %>
|
2
|
+
- <%= link_to t('muck.raker.related_resources'), resource_path(related_entry.dest_entry_id), :class => "related_resources_link", :rel => "nofollow" %>
|
3
|
+
<% if !related_entry.direct_link.nil? %> - <%= link_to t('muck.raker.metadata'), "/r?id=#{related_entry.id}&target=metadata", :class => "catalog_link" %><% end %>
|
4
|
+
<% if related_entry.description.length > 0 %><br/><span class="description"><%= truncate_words(related_entry.description) %></span><% end %>
|
@@ -5,11 +5,11 @@
|
|
5
5
|
<%= (' ' + link_to('[' + t('muck.raker.start_over') + ']', {:action => 'index', :grain_size => @grain_size}) + ' ') unless @tag_filter.nil? %>
|
6
6
|
|
7
7
|
<% if @grain_size == 'course' %>
|
8
|
-
<%= link_to('[' + t('muck.raker.show_tagged_resources') + ']', {:grain_size => 'all'}) %>
|
8
|
+
<%= link_to('[' + t('muck.raker.show_tagged_resources') + ']', @tag_filter.nil? ? {:q => @search, :grain_size => 'all'} : {:grain_size => 'all'}) %>
|
9
9
|
<% else %>
|
10
|
-
<%= link_to('[' + t('muck.raker.show_tagged_courses') + ']', {:grain_size => 'course'}) %>
|
10
|
+
<%= link_to('[' + t('muck.raker.show_tagged_courses') + ']', @tag_filter.nil? ? {:q => @search, :grain_size => 'course'} : {:grain_size => 'course'}) %>
|
11
11
|
<% end %>
|
12
12
|
|
13
13
|
</span>
|
14
14
|
</div>
|
15
|
-
</div>
|
15
|
+
</div>
|
@@ -1,28 +1,25 @@
|
|
1
|
-
<h1><%= link_to @entry_title, @entry.permalink %> <%= link_to "(xml)", "/recommendations.xml?u=" + @entry.permalink, :class=> "catalog_link" %> - details
|
1
|
+
<h1><%= link_to @entry_title, @entry.permalink %> <%= link_to "(xml)", "/recommendations.xml?u=" + @entry.permalink, :class=> "catalog_link" %> - <%= t('muck.raker.details') %></h1>
|
2
2
|
|
3
3
|
<table border="1" cellpadding="3px">
|
4
|
-
<tr>
|
5
|
-
<th
|
6
|
-
<th class="centered">Relevance</th>
|
7
|
-
<th class="centered">Clicks</th>
|
8
|
-
<th class="centered">Avg Time<br/>(seconds)</th>
|
9
|
-
</tr>
|
10
|
-
<% @
|
11
|
-
<tr>
|
12
|
-
<td><%=
|
13
|
-
<td class="centered"><%= round(r["relevance"]) %></td>
|
14
|
-
<td class="centered"><%= r["clicks"] %></td>
|
15
|
-
<td class="centered"><%= r["avg_time_on_target"] %></td>
|
16
|
-
</tr>
|
17
|
-
<% end%>
|
4
|
+
<tr>
|
5
|
+
<th><%= t('muck.raker.related_resources_title') %> <span style="color:#888;font-weight:normal;">(<%= t('muck.raker.calculated') %> <%= @entry.relevance_calculated_at.strftime("%d %b %Y") %>)</span></th>
|
6
|
+
<th class="centered">Relevance</th>
|
7
|
+
<th class="centered">Clicks</th>
|
8
|
+
<th class="centered">Avg Time<br/>(seconds)</th>
|
9
|
+
</tr>
|
10
|
+
<% @recommendations.each do |r| %>
|
11
|
+
<tr>
|
12
|
+
<td><%= render :partial => 'entries/related_entry', :locals => {:related_entry => r} %></td>
|
13
|
+
<td class="centered"><%= round(r["relevance"]) %></td>
|
14
|
+
<td class="centered"><%= r["clicks"] %></td>
|
15
|
+
<td class="centered"><%= r["avg_time_on_target"] %></td>
|
16
|
+
</tr>
|
17
|
+
<% end%>
|
18
18
|
</table>
|
19
19
|
|
20
20
|
<p>Ranking method:</p>
|
21
21
|
<ol>
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
</ol>
|
26
|
-
|
27
|
-
</body>
|
28
|
-
</html>
|
22
|
+
<li><em>Popular items</em> ordered by number of clicks. These are items that have been clicked on at least 1.5 standard deviations more than the average number of times.</li>
|
23
|
+
<li><em>Highly relevant</em> items, ordered randomly. These are items with a relevance score at least one standard deviation higher than the average relevance score.</li>
|
24
|
+
<li><em>Other relevant</em> items, ordered randomly. These are the rest of the relevant items.</li>
|
25
|
+
</ol>
|
@@ -1,10 +1,7 @@
|
|
1
1
|
<% link = @entry.direct_link.nil? ? @entry.permalink : @entry.direct_link %>
|
2
|
-
|
3
2
|
<h1 style="margin-bottom:20px;"><%= link_to @entry_title, link %> - <%= t('muck.raker.related_resources_title') %> - <%= link_to 'details', "?details=true", :class=> "catalog_link" %></h1>
|
4
|
-
|
5
3
|
<div id="results">
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
</
|
10
|
-
</html>
|
4
|
+
<% @recommendations.each do |r| %>
|
5
|
+
<p><%= render :partial => 'entries/related_entry', :locals => {:related_entry => r} %></p>
|
6
|
+
<% end %>
|
7
|
+
</div>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= add_feed %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= entry.title %>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<tr>
|
2
|
+
<td><%= link_to h(feed.title || feed.display_uri), feed_path(feed) %> <%= link_to t('muck.raker.visit'), feed.display_uri, :target => '_blank' %></td>
|
3
|
+
<td><%= h feed.description %></td>
|
4
|
+
<td><%= feed.refresh_interval_hours %></td>
|
5
|
+
<td><%= feed.last_harvested_at %></td>
|
6
|
+
<td><%= feed.failed_requests %></td>
|
7
|
+
<td><%= feed.error_message ? t('muck.raker.failed_last_request', :error => feed.error_message) : feed.status >= 0 ? t('muck.raker.ok') : t('muck.raker.banned') %></td>
|
8
|
+
<td><%= link_to feed.uri, h(feed.uri), :target => '_blank' %></td>
|
9
|
+
</tr>
|
@@ -1,95 +1,31 @@
|
|
1
|
-
<h1
|
2
|
-
|
3
|
-
<
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
<
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
</tr>
|
21
|
-
|
22
|
-
<% for feed in @feeds %>
|
23
|
-
<tr>
|
24
|
-
<td><%= feed.id.to_s %></td>
|
25
|
-
<td><%= link_to feed.title, "/feeds/" + feed.id.to_s + "/entries" %> <%= link_to "[go]", feed.display_uri, :style => "color:red" %></td>
|
26
|
-
<td>
|
27
|
-
<%= link_to 'Edit', edit_feed_path(feed) %>
|
28
|
-
<%
|
29
|
-
=begin %>
|
30
|
-
<% if feed.status >= 0 %>
|
31
|
-
<%= link_to 'Ban', ban_feed_path(feed), :confirm => 'Are you sure?', :method => :post %>
|
32
|
-
<% else %>
|
33
|
-
<%= link_to 'Unban', unban_feed_path(feed), :confirm => 'Are you sure?', :method => :post %>
|
34
|
-
<% end %>
|
35
|
-
<%= link_to 'Harvest', harvest_now_feed_path(feed), :method => :post %>
|
36
|
-
<%= link_to 'Delete', feed_path(feed), :method => :delete %>
|
37
|
-
<%
|
38
|
-
=end %>
|
39
|
-
</td>
|
40
|
-
<td><%=h feed.description %></td>
|
41
|
-
<td><%=h feed.refresh_interval_hours %></td>
|
42
|
-
<td><%=h feed.last_harvested_at %></td>
|
43
|
-
<td><%=h feed.failed_requests %></td>
|
44
|
-
<td><%=h feed.error_message ? "Failed last request:" + feed.error_message : feed.status >= 0 ? "Ok" : "Banned" %></td>
|
45
|
-
<td><%=h feed.uri %></td>
|
46
|
-
</tr>
|
47
|
-
<% end %>
|
48
|
-
|
49
|
-
</table>
|
50
|
-
|
51
|
-
<% if @banned_feeds.size > 0 %>
|
52
|
-
|
53
|
-
<h1>Banned Feeds</h1>
|
54
|
-
|
55
|
-
<table>
|
56
|
-
<tr>
|
57
|
-
<th width="200px;">Title</th>
|
58
|
-
<th>Description</th>
|
59
|
-
<th>Refresh interval</th>
|
60
|
-
<th>Harvested at</th>
|
61
|
-
<th>Failed harvests</th>
|
62
|
-
<th>Email</th>
|
63
|
-
<th>Status</th>
|
64
|
-
<th>Actions</th>
|
65
|
-
</tr>
|
66
|
-
|
67
|
-
<% for feed in @banned_feeds %>
|
68
|
-
<tr>
|
69
|
-
<td><%= link_to feed.title, "/feeds/" + feed.id.to_s + "/entries" %> <%= link_to "[go]", feed.display_uri, :style => "color:red" %></td>
|
70
|
-
<td>
|
71
|
-
<%= link_to 'Edit', edit_feed_path(feed) %>
|
72
|
-
<%
|
73
|
-
=begin %>
|
74
|
-
<% if feed.status >= 0 %>
|
75
|
-
<%= link_to 'Ban', ban_feed_path(feed), :confirm => 'Are you sure?', :method => :post %>
|
76
|
-
<% else %>
|
77
|
-
<%= link_to 'Unban', unban_feed_path(feed), :confirm => 'Are you sure?', :method => :post %>
|
78
|
-
<% end %>
|
79
|
-
<%= link_to 'Harvest', harvest_now_feed_path(feed), :method => :post %>
|
80
|
-
<%= link_to 'Delete', feed_path(feed), :method => :delete %>
|
81
|
-
<%
|
82
|
-
=end %>
|
83
|
-
</td>
|
84
|
-
<td><%=h feed.description %></td>
|
85
|
-
<td><%=h feed.harvest_interval %></td>
|
86
|
-
<td><%=h feed.last_harvested_at %></td>
|
87
|
-
<td><%=h feed.failed_requests %></td>
|
88
|
-
<td><%=h feed.error_message ? "Failed last request:" + feed.error_message : feed.status >= 0 ? "Ok" : "Banned" %></td>
|
89
|
-
<td><%=h feed.uri %></td>
|
90
|
-
</tr>
|
91
|
-
<% end %>
|
92
|
-
|
93
|
-
</table>
|
1
|
+
<h1><%= t('muck.raker.feeds_title') %></h1>
|
2
|
+
<div>
|
3
|
+
<p>
|
4
|
+
<%= link_to t('muck.raker.discover_feed'), new_feed_preview_path, :class => 'iframe lightbox' %>
|
5
|
+
<%= link_to t('muck.raker.add_feed'), new_feed_path, :class => 'iframe lightbox' %>
|
6
|
+
<%= link_to t('muck.raker.add_feed_advanced'), new_extended_feeds_path, :class => 'iframe lightbox' %>
|
7
|
+
</p>
|
8
|
+
<table class="feeds">
|
9
|
+
<tr>
|
10
|
+
<th><%= t('muck.raker.title') %></th>
|
11
|
+
<th><%= t('muck.raker.description') %></th>
|
12
|
+
<th><%= t('muck.raker.harvest_interval') %></th>
|
13
|
+
<th><%= t('muck.raker.harvested_at') %></th>
|
14
|
+
<th><%= t('muck.raker.failed_harvests') %></th>
|
15
|
+
<th><%= t('muck.raker.status') %></th>
|
16
|
+
<th><%= t('muck.raker.uri') %></th>
|
17
|
+
</tr>
|
18
|
+
<%= render :partial => 'feeds/feed', :collection => @feeds %>
|
19
|
+
</table>
|
94
20
|
</div>
|
95
|
-
|
21
|
+
|
22
|
+
<% content_for :javascript do -%>
|
23
|
+
jQuery(document).ready(function() {
|
24
|
+
jQuery('a.lightbox').fancybox({
|
25
|
+
'hideOnContentClick': true,
|
26
|
+
'overlayShow': true,
|
27
|
+
'frameWidth': 700,
|
28
|
+
'frameHeight': 600
|
29
|
+
});
|
30
|
+
});
|
31
|
+
<% end -%>
|
@@ -1,109 +1 @@
|
|
1
|
-
|
2
|
-
function validate()
|
3
|
-
{
|
4
|
-
title = document.getElementById("feed_title");
|
5
|
-
if (!title.value)
|
6
|
-
{
|
7
|
-
alert("You must specify a Title for the collection.");
|
8
|
-
return false;
|
9
|
-
}
|
10
|
-
short_title = document.getElementById("feed_short_title");
|
11
|
-
if (!short_title.value)
|
12
|
-
{
|
13
|
-
alert("You must specify a Short Title for the collection.");
|
14
|
-
return false;
|
15
|
-
}
|
16
|
-
h_title = document.getElementById("feed_harvested_from_title");
|
17
|
-
if (!h_title.value)
|
18
|
-
{
|
19
|
-
alert("You must specify a Harvested From Title.");
|
20
|
-
return false;
|
21
|
-
}
|
22
|
-
h_short_title = document.getElementById("feed_harvested_from_short_title");
|
23
|
-
if (!h_short_title.value)
|
24
|
-
{
|
25
|
-
alert("You must specify a Harevested From Short Title.");
|
26
|
-
return false;
|
27
|
-
}
|
28
|
-
rss_uri = document.getElementById("feed_uri");
|
29
|
-
if (!rss_uri.value)
|
30
|
-
{
|
31
|
-
alert("You must specify the Address of the Repository Metadata RSS.");
|
32
|
-
return false;
|
33
|
-
}
|
34
|
-
if (rss_uri.value.indexOf("http://") != 0)
|
35
|
-
{
|
36
|
-
rss_uri.value = "http://" + rss_uri.value;
|
37
|
-
}
|
38
|
-
display_uri = document.getElementById("feed_display_uri");
|
39
|
-
if (display_uri.value && display_uri.value.indexOf("http://") != 0)
|
40
|
-
{
|
41
|
-
display_uri.value = "http://" + display_uri.value;
|
42
|
-
}
|
43
|
-
return true;
|
44
|
-
}
|
45
|
-
</script>
|
46
|
-
|
47
|
-
<div style="float:left;">
|
48
|
-
<h1>OER Recommender - Register a Collection</h1>
|
49
|
-
|
50
|
-
<%= error_messages_for :feed %>
|
51
|
-
|
52
|
-
<% form_for(:feed, :url => "/feeds", :html => {:onsubmit => "return validate()"}) do |f| %>
|
53
|
-
|
54
|
-
<p>
|
55
|
-
<b>Title</b><br />
|
56
|
-
<%= f.text_field :title, :size => 100 %>
|
57
|
-
</p>
|
58
|
-
|
59
|
-
<p>
|
60
|
-
<b>Short Title (this will be appended to resource titles)</b><br />
|
61
|
-
<%= f.text_field :short_title, {:maxlength => 30, :size => 30} %>
|
62
|
-
</p>
|
63
|
-
|
64
|
-
<p>
|
65
|
-
<b>Repository Title</b><br />
|
66
|
-
<%= f.text_field :harvested_from_title, :size => 100 %>
|
67
|
-
</p>
|
68
|
-
|
69
|
-
<p>
|
70
|
-
<b>Repository Short Title</b><br />
|
71
|
-
<%= f.text_field :harvested_from_short_title, {:maxlength => 30, :size => 30} %>
|
72
|
-
</p>
|
73
|
-
|
74
|
-
<p>
|
75
|
-
<b>Address of the Collection Metadata</b><br />
|
76
|
-
<%= f.text_field :uri, :size => 100 %>
|
77
|
-
</p>
|
78
|
-
|
79
|
-
<p>
|
80
|
-
<b>Address of the Collection Home Page</b><br />
|
81
|
-
<%= f.text_field :display_uri, :size => 100 %>
|
82
|
-
</p>
|
83
|
-
|
84
|
-
<p>
|
85
|
-
<b>Type of Metadata:</b>
|
86
|
-
<select name="feed[service_id]">
|
87
|
-
<option value="0">RSS</option>
|
88
|
-
<option value="13">OAI</option>
|
89
|
-
</select>
|
90
|
-
<br/>If you specify OAI, you must specify the full url to the ListRecords request (not just the OAI endpoint)
|
91
|
-
</p>
|
92
|
-
|
93
|
-
<p>
|
94
|
-
<b>Collection Description</b><br />
|
95
|
-
<%= f.text_field :description, :size => 100 %>
|
96
|
-
</p>
|
97
|
-
|
98
|
-
<p>
|
99
|
-
<b>How Often to Harvest the Collection</b><br />
|
100
|
-
<%= select :feed, "refresh_interval_hours", [["Once a day", "24"], ["Once a week", "168"], ["Once a month", "672"]] %>
|
101
|
-
</p>
|
102
|
-
|
103
|
-
<p>
|
104
|
-
<%= submit_tag "Add Collection" %>
|
105
|
-
</p>
|
106
|
-
|
107
|
-
<% end %>
|
108
|
-
</div>
|
109
|
-
|
1
|
+
<%= add_single_feed %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= add_extended_feed %>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
<div id="add_single_feed">
|
2
|
+
<h1><%= t('muck.raker.add_extended_feed_title') %></h1>
|
3
|
+
<p><%= t('muck.raker.add_extended_feed_sub_title') %></p>
|
4
|
+
<%= error_messages_for :feed -%>
|
5
|
+
<% custom_form_for(:feed, :url => new_feed_path_with_parent(parent)) do |f| -%>
|
6
|
+
<%= f.text_field :title, { :label => t('muck.raker.title' ) } %>
|
7
|
+
<%= f.text_field :short_title, { :label => t('muck.raker.short_title' ) } %>
|
8
|
+
<%= f.text_field :harvested_from_title, { :label => t('muck.raker.repository_title' ) } %>
|
9
|
+
<%= f.text_field :harvested_from_short_title, { :label => t('muck.raker.repository_short_title' ) } %>
|
10
|
+
<%= f.text_field :uri, { :label => t('muck.raker.collection_uri' ) } %>
|
11
|
+
<%= f.text_field :display_uri, { :label => t('muck.raker.collection_home_uri' ) } %>
|
12
|
+
<%= f.text_area :description, { :label => t('muck.raker.collection_description' ) } %>
|
13
|
+
<%= f.muck_raker_language_select :default_language_id, { :label => t('muck.raker.add_feed_url' ) } %>
|
14
|
+
<%= f.muck_raker_service_select :service_id, { :label => t('muck.raker.type_of_metadata'),
|
15
|
+
:tip => t('muck.raker.oai_prompt') } %>
|
16
|
+
<div class="button form-row">
|
17
|
+
<%= submit_tag t('muck.raker.add_feed'), :id => 'add_feed_uri' %>
|
18
|
+
<span id="finding_uri_message" style="display:none;">
|
19
|
+
<%= t('muck.raker.submitting_feed_message') %><img src="/images/loading.gif" alt="Loading content image" />
|
20
|
+
</span>
|
21
|
+
</div>
|
22
|
+
<% end -%>
|
23
|
+
</div>
|
24
|
+
<% content_for :javascript do -%>
|
25
|
+
jQuery(document).ready(function() {
|
26
|
+
jQuery('#add_feed_uri').onclick({
|
27
|
+
jQuery(this).hide();
|
28
|
+
jQuery('#finding_uri_message').show();
|
29
|
+
});
|
30
|
+
});
|
31
|
+
<% end -%>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<div id="add-feed">
|
2
|
+
<%= output_errors(t('muck.raker.problem_adding_feed'), {:class => 'help-box'}, @feed) %>
|
3
|
+
<% custom_form_for(:feed, :url => select_feeds_feed_previews_path) do |f| -%>
|
4
|
+
<%= f.text_field :uri, { :label => t('muck.raker.add_feed_url' ) } %>
|
5
|
+
<div class="button form-row">
|
6
|
+
<%= submit_tag t('muck.raker.add_feed'), :id => 'add_feed_uri' %>
|
7
|
+
<span id="finding_uri_message" style="display:none;">
|
8
|
+
<%= t('muck.raker.discover_feed_message') %><img src="/images/loading.gif" alt="Loading content image" />
|
9
|
+
</span>
|
10
|
+
</div>
|
11
|
+
<% end -%>
|
12
|
+
</div>
|
13
|
+
<% content_for :javascript do -%>
|
14
|
+
jQuery(document).ready(function() {
|
15
|
+
jQuery('#add_feed_uri').onclick({
|
16
|
+
jQuery(this).hide();
|
17
|
+
jQuery('#finding_uri_message').show();
|
18
|
+
});
|
19
|
+
});
|
20
|
+
<% end -%>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<div id="add_single_feed">
|
2
|
+
<%= error_messages_for :feed -%>
|
3
|
+
<% custom_form_for(:feed, :url => new_feed_path_with_parent(parent)) do |f| -%>
|
4
|
+
<%= f.text_field :uri, { :label => t('muck.raker.add_feed_url' ) } %>
|
5
|
+
<%= f.text_field :title, { :label => t('muck.raker.title' ) } %>
|
6
|
+
<div class="button form-row">
|
7
|
+
<%= submit_tag t('muck.raker.add_feed'), :id => 'add_feed_uri' %>
|
8
|
+
<span id="finding_uri_message" style="display:none;">
|
9
|
+
<%= t('muck.raker.discover_feed_message') %><img src="/images/loading.gif" alt="Loading content image" />
|
10
|
+
</span>
|
11
|
+
</div>
|
12
|
+
<% end -%>
|
13
|
+
</div>
|
14
|
+
<% content_for :javascript do -%>
|
15
|
+
jQuery(document).ready(function() {
|
16
|
+
jQuery('#add_feed_uri').onclick({
|
17
|
+
jQuery(this).hide();
|
18
|
+
jQuery('#finding_uri_message').show();
|
19
|
+
});
|
20
|
+
});
|
21
|
+
<% end -%>
|