atrium 0.0.1.alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. data/.gitignore +13 -0
  2. data/.gitmodules +3 -0
  3. data/.rvmrc +32 -0
  4. data/GETTING_STARTED.textile +109 -0
  5. data/Gemfile +4 -0
  6. data/Gemfile.lock +320 -0
  7. data/Guardfile +10 -0
  8. data/README.mkd +56 -0
  9. data/Rakefile +6 -0
  10. data/app/assets/images/atrium/ajax-loader.gif +0 -0
  11. data/app/assets/images/atrium/lightbox-ico-loading.gif +0 -0
  12. data/app/assets/images/atrium/logo.png +0 -0
  13. data/app/assets/javascripts/atrium/atrium.js +281 -0
  14. data/app/assets/javascripts/chosen.jquery.js +899 -0
  15. data/app/assets/javascripts/ckeditor.warning.js +65 -0
  16. data/app/assets/javascripts/ckeditor/config.js.coffee +6 -0
  17. data/app/assets/javascripts/ckeditor/jquery.generateId.js +13 -0
  18. data/app/assets/javascripts/ckeditor/jquery.jeditable.ckeditor.js +59 -0
  19. data/app/assets/javascripts/ckeditor/plugins/linkItem/application_link.png +0 -0
  20. data/app/assets/javascripts/ckeditor/plugins/linkItem/dialogs/linkItem.js +1470 -0
  21. data/app/assets/javascripts/ckeditor/plugins/linkItem/plugin.js +16 -0
  22. data/app/assets/javascripts/ckeditor/plugins/linkItem/ui_toolbar_pencil.png +0 -0
  23. data/app/assets/javascripts/jquery.colorbox.js +864 -0
  24. data/app/assets/javascripts/jquery.jeditable.js +543 -0
  25. data/app/assets/stylesheets/atrium/atrium.css +216 -0
  26. data/app/assets/stylesheets/atrium/chosen-sprite.png +0 -0
  27. data/app/assets/stylesheets/atrium/chosen.css +367 -0
  28. data/app/assets/stylesheets/colorbox.css +42 -0
  29. data/app/assets/stylesheets/controls.png +0 -0
  30. data/app/assets/stylesheets/loading.gif +0 -0
  31. data/app/controllers/atrium/base_controller.rb +25 -0
  32. data/app/controllers/atrium/collection_exhibit_order_controller.rb +21 -0
  33. data/app/controllers/atrium/collections_controller.rb +165 -0
  34. data/app/controllers/atrium/customization_controller.rb +41 -0
  35. data/app/controllers/atrium/descriptions_controller.rb +177 -0
  36. data/app/controllers/atrium/exhibit_facet_order_controller.rb +19 -0
  37. data/app/controllers/atrium/exhibits_controller.rb +108 -0
  38. data/app/controllers/atrium/showcases_controller.rb +193 -0
  39. data/app/helpers/atrium/base_helper.rb +6 -0
  40. data/app/models/ability.rb +14 -0
  41. data/app/models/atrium/browse_level.rb +41 -0
  42. data/app/models/atrium/collection.rb +121 -0
  43. data/app/models/atrium/description.rb +128 -0
  44. data/app/models/atrium/essay.rb +21 -0
  45. data/app/models/atrium/exhibit.rb +58 -0
  46. data/app/models/atrium/search/facet.rb +29 -0
  47. data/app/models/atrium/search/facet_selection.rb +17 -0
  48. data/app/models/atrium/showcase.rb +173 -0
  49. data/app/models/atrium/showcase/facet_selection.rb +21 -0
  50. data/app/models/atrium/showcase/item.rb +19 -0
  51. data/app/models/role_mapper.rb +23 -0
  52. data/app/views/_user_util_links.html.erb +25 -0
  53. data/app/views/atrium/collections/_bookmark_control.html.erb +25 -0
  54. data/app/views/atrium/collections/_browse_index.html.erb +20 -0
  55. data/app/views/atrium/collections/_collection_items_index.html.erb +10 -0
  56. data/app/views/atrium/collections/_document.html.erb +24 -0
  57. data/app/views/atrium/collections/_document_list.html.erb +6 -0
  58. data/app/views/atrium/collections/_edit_navigation.html.erb +20 -0
  59. data/app/views/atrium/collections/_folder_control.html.erb +12 -0
  60. data/app/views/atrium/collections/_form.html.erb +93 -0
  61. data/app/views/atrium/collections/_listing.html.erb +18 -0
  62. data/app/views/atrium/collections/_navigation.html.erb +45 -0
  63. data/app/views/atrium/collections/_results_pagination.html.erb +9 -0
  64. data/app/views/atrium/collections/_sort_and_per_page.html.erb +23 -0
  65. data/app/views/atrium/collections/edit.html.erb +5 -0
  66. data/app/views/atrium/collections/new.html.erb +6 -0
  67. data/app/views/atrium/collections/show.html.erb +22 -0
  68. data/app/views/atrium/descriptions/_form.html.erb +64 -0
  69. data/app/views/atrium/descriptions/edit.html.erb +4 -0
  70. data/app/views/atrium/descriptions/index.html.erb +4 -0
  71. data/app/views/atrium/descriptions/new.html.erb +2 -0
  72. data/app/views/atrium/descriptions/show.html.erb +20 -0
  73. data/app/views/atrium/exhibits/_bookmark_control.html.erb +25 -0
  74. data/app/views/atrium/exhibits/_folder_control.html.erb +12 -0
  75. data/app/views/atrium/exhibits/_form.html.erb +108 -0
  76. data/app/views/atrium/exhibits/edit.html.erb +9 -0
  77. data/app/views/atrium/exhibits/new.html.erb +6 -0
  78. data/app/views/atrium/exhibits/show.html.erb +26 -0
  79. data/app/views/atrium/showcases/_showcase_navigation.html.erb +23 -0
  80. data/app/views/atrium/showcases/show.html.erb +1 -0
  81. data/app/views/catalog/_collection_home_text.html.erb +6 -0
  82. data/app/views/catalog/_constraints.html.erb +9 -0
  83. data/app/views/catalog/_default_collection_text.html.erb +18 -0
  84. data/app/views/catalog/_default_home_text.html.erb +6 -0
  85. data/app/views/catalog/_home_text.html.erb +6 -0
  86. data/app/views/catalog/_index_partials/_description.html.erb +8 -0
  87. data/app/views/catalog/_search_form.html.erb +66 -0
  88. data/app/views/catalog/_show_partials/_description.html.erb +15 -0
  89. data/app/views/catalog/browse_show.html.erb +18 -0
  90. data/app/views/catalog/index.html.erb +35 -0
  91. data/app/views/catalog/list_description.html.erb +24 -0
  92. data/app/views/catalog/list_item.html.erb +3 -0
  93. data/app/views/layouts/atrium.html.erb +86 -0
  94. data/app/views/layouts/atrium_themes/default.html.erb +4 -0
  95. data/app/views/layouts/item_listing.html.erb +36 -0
  96. data/app/views/listing/_document.html.erb +27 -0
  97. data/app/views/listing/_document_list.html.erb +3 -0
  98. data/app/views/listing/_item_search.html.erb +27 -0
  99. data/app/views/shared/_banner.html.erb +5 -0
  100. data/app/views/shared/_collection_complete_list.html.erb +33 -0
  101. data/app/views/shared/_collection_search_form.html.erb +12 -0
  102. data/app/views/shared/_collection_title_header.html.erb +3 -0
  103. data/app/views/shared/_featured_sources.html.erb +20 -0
  104. data/app/views/shared/_list_descriptions.html.erb +38 -0
  105. data/app/views/shared/_navigation_browse_levels.html.erb +34 -0
  106. data/app/views/shared/_showcase_configure_menu.html.erb +22 -0
  107. data/app/views/shared/_top_navigation.html.erb +9 -0
  108. data/atrium.gemspec +76 -0
  109. data/config/routes.rb +12 -0
  110. data/init.rb +3 -0
  111. data/lib/application_controller.rb +24 -0
  112. data/lib/atrium.rb +42 -0
  113. data/lib/atrium/application_helper.rb +24 -0
  114. data/lib/atrium/atrium_helper_behavior.rb +162 -0
  115. data/lib/atrium/catalog.rb +203 -0
  116. data/lib/atrium/collections_helper.rb +139 -0
  117. data/lib/atrium/controller.rb +10 -0
  118. data/lib/atrium/descriptions_helper.rb +23 -0
  119. data/lib/atrium/engine.rb +12 -0
  120. data/lib/atrium/layout_helper.rb +13 -0
  121. data/lib/atrium/routes.rb +99 -0
  122. data/lib/atrium/solr_helper.rb +440 -0
  123. data/lib/atrium/version.rb +3 -0
  124. data/lib/generators/atrium/assets_generator.rb +44 -0
  125. data/lib/generators/atrium/atrium_generator.rb +149 -0
  126. data/lib/generators/atrium/cucumber_support_generator.rb +29 -0
  127. data/lib/generators/atrium/templates/config/role_map_cucumber.yml +2 -0
  128. data/lib/generators/atrium/templates/config/role_map_development.yml +2 -0
  129. data/lib/generators/atrium/templates/config/role_map_production.yml +2 -0
  130. data/lib/generators/atrium/templates/config/role_map_test.yml +2 -0
  131. data/lib/generators/atrium/templates/config/solr.yml +10 -0
  132. data/lib/generators/atrium/templates/db/seeds.rb +87 -0
  133. data/lib/generators/atrium/templates/migrations/create_atrium_browse_levels.rb +18 -0
  134. data/lib/generators/atrium/templates/migrations/create_atrium_collections.rb +20 -0
  135. data/lib/generators/atrium/templates/migrations/create_atrium_descriptions.rb +16 -0
  136. data/lib/generators/atrium/templates/migrations/create_atrium_essays.rb +15 -0
  137. data/lib/generators/atrium/templates/migrations/create_atrium_exhibits.rb +16 -0
  138. data/lib/generators/atrium/templates/migrations/create_atrium_search_facets.rb +14 -0
  139. data/lib/generators/atrium/templates/migrations/create_atrium_showcase_facet_selections.rb +15 -0
  140. data/lib/generators/atrium/templates/migrations/create_atrium_showcase_items.rb +17 -0
  141. data/lib/generators/atrium/templates/migrations/create_atrium_showcases.rb +16 -0
  142. data/lib/generators/atrium/templates/themes/example.html.erb +21 -0
  143. data/lib/railties/all_tests.rake +23 -0
  144. data/lib/railties/atrium_cucumber.rake +121 -0
  145. data/lib/railties/index.rake +37 -0
  146. data/tasks/atrium.rake +268 -0
  147. data/tasks/atrium_rspec.rake +91 -0
  148. data/test_support/etc/Gemfile +33 -0
  149. data/test_support/etc/bundle_config +3 -0
  150. data/test_support/etc/rvmrc +32 -0
  151. data/test_support/features/atrium_collections.feature +162 -0
  152. data/test_support/features/atrium_exhibits.feature +164 -0
  153. data/test_support/features/step_definitions/atrium_collection_steps.rb +102 -0
  154. data/test_support/features/step_definitions/atrium_exhibit_steps.rb +53 -0
  155. data/test_support/features/step_definitions/bookmarks_steps.rb +6 -0
  156. data/test_support/features/step_definitions/error_steps.rb +5 -0
  157. data/test_support/features/step_definitions/folder_steps.rb +27 -0
  158. data/test_support/features/step_definitions/general_steps.rb +50 -0
  159. data/test_support/features/step_definitions/record_view_steps.rb +12 -0
  160. data/test_support/features/step_definitions/saved_searches_steps.rb +22 -0
  161. data/test_support/features/step_definitions/search_facets_steps.rb +29 -0
  162. data/test_support/features/step_definitions/search_history_steps.rb +9 -0
  163. data/test_support/features/step_definitions/search_result_steps.rb +114 -0
  164. data/test_support/features/step_definitions/search_steps.rb +103 -0
  165. data/test_support/features/step_definitions/user_steps.rb +5 -0
  166. data/test_support/features/step_definitions/web_steps.rb +213 -0
  167. data/test_support/features/support/env.rb +67 -0
  168. data/test_support/features/support/paths.rb +76 -0
  169. data/test_support/features/support/selectors.rb +40 -0
  170. data/test_support/fixtures/atrium_exhibits.yml +3 -0
  171. data/test_support/spec/controllers/atrium/base_controller_spec.rb +13 -0
  172. data/test_support/spec/controllers/atrium/collection_exhibit_order_controller_spec.rb +29 -0
  173. data/test_support/spec/controllers/atrium/collections_controller_spec.rb +185 -0
  174. data/test_support/spec/controllers/atrium/customization_controller_spec.rb +38 -0
  175. data/test_support/spec/controllers/atrium/descriptions_controller_spec.rb +150 -0
  176. data/test_support/spec/controllers/atrium/exhibit_facet_order_controller_spec.rb +36 -0
  177. data/test_support/spec/controllers/atrium/exhibits_controller_spec.rb +192 -0
  178. data/test_support/spec/controllers/atrium/showcases_controller_spec.rb +185 -0
  179. data/test_support/spec/helpers/atrium_collections_helper_spec.rb +147 -0
  180. data/test_support/spec/helpers/atrium_description_helper_spec.rb +47 -0
  181. data/test_support/spec/helpers/atrium_solr_helper_spec.rb +512 -0
  182. data/test_support/spec/models/atrium/browse_level_spec.rb +31 -0
  183. data/test_support/spec/models/atrium/collection_spec.rb +30 -0
  184. data/test_support/spec/models/atrium/description_spec.rb +67 -0
  185. data/test_support/spec/models/atrium/essay_spec.rb +12 -0
  186. data/test_support/spec/models/atrium/exhibit_spec.rb +76 -0
  187. data/test_support/spec/models/atrium/search/facet_selection_spec.rb +24 -0
  188. data/test_support/spec/models/atrium/search/facet_spec.rb +11 -0
  189. data/test_support/spec/models/atrium/search_facet_spec.rb +54 -0
  190. data/test_support/spec/models/atrium/showcase/facet_selection_spec.rb +15 -0
  191. data/test_support/spec/models/atrium/showcase/item_spec.rb +12 -0
  192. data/test_support/spec/models/atrium/showcase_facet_selection_spec.rb +65 -0
  193. data/test_support/spec/models/atrium/showcase_spec.rb +134 -0
  194. data/test_support/spec/rcov.opts +3 -0
  195. data/test_support/spec/routing/atrium/collections_routing_spec.rb +33 -0
  196. data/test_support/spec/spec.opts +4 -0
  197. data/test_support/spec/spec_helper.rb +47 -0
  198. data/test_support/spec/support/be_accessible_matcher.rb +8 -0
  199. data/test_support/spec/support/be_routed_mixin.rb +7 -0
  200. data/test_support/tmp/step_definitions/catalog_index_steps.rb +14 -0
  201. data/test_support/tmp/step_definitions/edit_document_steps.rb +67 -0
  202. data/test_support/tmp/step_definitions/hydra_metadata_steps.rb +3 -0
  203. data/test_support/tmp/step_definitions/hydra_steps.rb +8 -0
  204. data/test_support/tmp/step_definitions/search_steps.rb +86 -0
  205. data/test_support/tmp/step_definitions/searching_steps.rb +22 -0
  206. data/test_support/tmp/step_definitions/select_steps.rb +8 -0
  207. data/test_support/tmp/step_definitions/show_document_steps.rb +73 -0
  208. data/test_support/tmp/step_definitions/user_steps.rb +15 -0
  209. data/test_support/tmp/step_definitions/web_steps.rb +273 -0
  210. data/test_support/tmp/support/env.rb +54 -0
  211. data/test_support/tmp/support/paths.rb +57 -0
  212. metadata +1047 -0
@@ -0,0 +1,24 @@
1
+
2
+ <% @page_title = application_name + " Search Results" %>
3
+
4
+ <% extra_head_content << render_opensearch_response_metadata.html_safe %>
5
+
6
+ <%= render :partial => 'search_form' %>
7
+
8
+
9
+ <div class="pageEntriesInfo">
10
+ <%= render_pagination_info @response, :entry_name=>'item' %>
11
+ <%=link_to "start over", catalog_index_path, :id=>"startOverLink" %>
12
+ </div>
13
+
14
+ <%= render 'sort_and_per_page' %>
15
+
16
+ <%= render 'results_pagination' %>
17
+
18
+ <%= render :partial => 'listing/document_list' %>
19
+
20
+ <% sidebar_items << capture do %>
21
+ <%= render :partial=>'facets' %>
22
+ <% end %>
23
+
24
+ <%= render 'results_pagination' %>
@@ -0,0 +1,3 @@
1
+ <div class="featured_search">
2
+ <%= render :partial => "listing/item_search" %>
3
+ </div>
@@ -0,0 +1,86 @@
1
+ <!DOCTYPE html>
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <title><%= h(@page_title || application_name) %></title>
6
+ <link href="<%= opensearch_catalog_path(:format => 'xml', :only_path => false) %>" title="<%= application_name%>" type="application/opensearchdescription+xml" rel="search"/>
7
+ <%= favicon_link_tag asset_path('favicon.ico') %>
8
+ <%= stylesheet_link_tag "application" %>
9
+ <%= javascript_include_tag "application" %>
10
+ <%= csrf_meta_tags %>
11
+ <%= raw(render_head_content) %>
12
+ <%= yield :theme_styles %>
13
+ </head>
14
+ <% if params[:q].to_s.empty? and params[:f].to_s.empty? and params[:id].nil? %>
15
+ <body onload="$('input#q').focus();" class="<%= render_body_class.html_safe %>">
16
+ <% else %>
17
+ <body class="<%= render_body_class.html_safe %>">
18
+ <% end %>
19
+ <%= render :partial => 'shared/banner' %>
20
+ <div id="page">
21
+ <div id="hd">
22
+ <div id="logo">
23
+ <% if content_for? :main_header %>
24
+ <%= yield :main_header %>
25
+ <% else %>
26
+ <%# NOTE: There shouldn't be a new collection object hanging around here but one is present in the root catalog page when logged in. %>
27
+ <% if @atrium_collection && !@atrium_collection.new_record? %>
28
+ <h3><%= link_to @atrium_collection.title, atrium_collection_home_path(@atrium_collection) %></h3>
29
+ <% else %>
30
+ <h1 class="site_title">
31
+ <%= link_to application_name, "/" %>
32
+ </h1>
33
+ <% end %>
34
+ <% end %>
35
+ </div>
36
+ <div id="user_util_links">
37
+ <%= render :partial=>'/user_util_links' %>
38
+ </div>
39
+ </div>
40
+ <div id="bd">
41
+ <div id="main">
42
+ <div id="main_container">
43
+ <%= render :partial=>'/flash_msg' %>
44
+ <%= yield %>
45
+ </div>
46
+ </div>
47
+ <div id="sidebar">
48
+ <% if params[:controller].eql?( "catalog") %>
49
+ <% if (params[:atrium_collection_browse].blank? && params[:atrium_exhibit_browse].blank?) || params[:class] == "edit_collection" %>
50
+ <% if params[:collection_id] %>
51
+ <h3 class="collection-browse-link"><%= link_to "Browse This Collection", atrium_collection_path(params[:collection_id]) %></h3>
52
+ <% end %>
53
+ <% else %>
54
+ <%= render :partial => 'shared/collection_search_form' %>
55
+ <%= render :partial => 'atrium/collections/navigation' %>
56
+ <% end %>
57
+ <% elsif params[:controller].eql?("atrium/collections") && !(params[:action].eql?("show"))%>
58
+ <%= render :partial => 'atrium/collections/edit_navigation' %>
59
+ <% elsif params[:controller].eql?("atrium/exhibits") && !(params[:action].eql?("show"))%>
60
+ <%= render :partial => 'atrium/collections/edit_navigation' %>
61
+ <% elsif params[:controller].eql?("atrium/exhibits") && params[:action].eql?("show") && session[:edit_showcase]%>
62
+ <%= render :partial => 'atrium/showcases/showcase_navigation' %>
63
+ <% elsif params[:controller].eql?("atrium/collections") && params[:action].eql?("show") && session[:edit_showcase]%>
64
+ <%= render :partial => 'atrium/showcases/showcase_navigation' %>
65
+ <% elsif params[:controller].eql?("atrium/collections") && params[:action].eql?("show")%>
66
+ <%= render :partial => 'shared/collection_search_form' %>
67
+ <%= render :partial => 'atrium/collections/navigation' %>
68
+ <% elsif params[:controller].eql?("atrium/descriptions") && params[:action].eql?("index")%>
69
+ <%= render :partial => 'shared/collection_search_form' %>
70
+ <%= render :partial => 'atrium/collections/navigation' %>
71
+ <% elsif params[:controller].eql?("atrium/descriptions") && !(params[:action].eql?("index"))%>
72
+ <% elsif params[:controller] != "user_sessions" && !(params[:controller] == "atrium/collections" && params[:action] == "index")%>
73
+ <%= render :partial => 'shared/collection_search_form' %>
74
+ <%= render :partial => 'atrium/collections/navigation' %>
75
+ <% end %>
76
+ <%= sidebar_items.join('').html_safe %>
77
+ </div>
78
+ </div>
79
+ <div id="ft">
80
+ <%= yield :footer %>
81
+ <%= raw(@footer) %>
82
+ </div>
83
+ </div>
84
+
85
+ </body>
86
+ </html>
@@ -0,0 +1,4 @@
1
+ <% content_for :footer do %>
2
+ <p>Powered by <a href="https://github.com/ndlib/atrium">Atrium</a></p>
3
+ <% end %>
4
+ <%= render :template => 'layouts/atrium' %>
@@ -0,0 +1,36 @@
1
+ <!DOCTYPE html>
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <title><%= h(@page_title || application_name) %></title>
6
+ <link href="<%= opensearch_catalog_path(:format => 'xml', :only_path => false) %>" title="<%= application_name%>" type="application/opensearchdescription+xml" rel="search"/>
7
+ <%= favicon_link_tag asset_path('favicon.ico') %>
8
+ <%= stylesheet_link_tag "application" %>
9
+ <%= javascript_include_tag "application" %>
10
+ <%= csrf_meta_tags %>
11
+ <%= raw(render_head_content) %>
12
+ </head>
13
+ <% if params[:q].to_s.empty? and params[:f].to_s.empty? and params[:id].nil? %>
14
+ <body onload="$('input#q').focus();" class="<%= render_body_class.html_safe %>">
15
+ <% else %>
16
+ <body class="<%= render_body_class.html_safe %>">
17
+ <% end %>
18
+ <%= render :partial => 'shared/banner' %>
19
+ <div id="page">
20
+ <div id="bd">
21
+ <div id="main">
22
+ <div id="main_container">
23
+ <%= render :partial=>'/flash_msg' %>
24
+ <%= yield %>
25
+ </div>
26
+ </div>
27
+ <div id="sidebar">
28
+ <%= sidebar_items.join('').html_safe %>
29
+ </div>
30
+ </div>
31
+ <div id="ft">
32
+ <%= raw(@footer) %>
33
+ </div>
34
+ </div>
35
+ </body>
36
+ </html>
@@ -0,0 +1,27 @@
1
+ <% # container for a single doc -%>
2
+ <div class="document <%= render_document_class document %>">
3
+
4
+ <% # header bar for doc items in index view -%>
5
+ <div class="documentHeader">
6
+ <%- if params[:CKEditor] %>
7
+ <% # main title container for doc partial view -%>
8
+ <div class="ckeditor">
9
+ <h3 class="index_title"><%= document_counter + 1 + @response.params[:start].to_i %>.
10
+ <%= link_to_document document, :label=>document_show_link_field, :counter => (document_counter + 1 + @response.params[:start].to_i) %>
11
+ </h3>
12
+ </div>
13
+ <% else %>
14
+ <% # bookmark/folder functions for items/docs are hidden in collection and exhibit view-%>
15
+ <%= render_index_doc_actions document %>
16
+ <div class="yui-u">
17
+ <h3 class="index_title"><%= document_counter + 1 + @response.params[:start].to_i %>.
18
+ <%= render_document_index_label document, :label=>document_show_link_field %>
19
+ </h3>
20
+ </div>
21
+ <% end %>
22
+ </div>
23
+
24
+ <% # main container for doc partial view -%>
25
+ <%= render_document_partial document, :index %>
26
+
27
+ </div>
@@ -0,0 +1,3 @@
1
+ <div id="documents">
2
+ <%= render :partial => 'listing/document', :collection => @document_list, :as => :document %>
3
+ </div>
@@ -0,0 +1,27 @@
1
+
2
+ <% @page_title = application_name + " Search Results" %>
3
+
4
+ <% extra_head_content << render_opensearch_response_metadata.html_safe %>
5
+
6
+ <%= render :partial => 'search_form' %>
7
+
8
+ <%= render :partial => 'did_you_mean' %>
9
+
10
+ <%= render 'constraints', :localized_params=>params %>
11
+
12
+ <div class="pageEntriesInfo">
13
+ <%= render_pagination_info @response, :entry_name=>'item' %>
14
+ <%=link_to "start over", catalog_index_path, :id=>"startOverLink" %>
15
+ </div>
16
+
17
+ <%= render 'sort_and_per_page' %>
18
+
19
+ <%= render 'results_pagination' %>
20
+
21
+ <%= render :partial => 'listing/document_list' %>
22
+
23
+ <% sidebar_items << capture do %>
24
+ <%= render :partial=>'facets' %>
25
+ <% end %>
26
+
27
+ <%= render 'results_pagination' %>
@@ -0,0 +1,5 @@
1
+ <%- if @atrium_showcase && is_editing? %>
2
+ <div id="banner">
3
+ <%= render :partial=>'shared/showcase_configure_menu' %>
4
+ </div>
5
+ <%- end %>
@@ -0,0 +1,33 @@
1
+ <% # container for all documents in index view -%>
2
+ <div id="documents" class="collection-listing">
3
+ <% # loop thru each doc -%>
4
+ <% document_list = @document_list if document_list.nil?%>
5
+ <% response = @response if response.nil?%>
6
+ <% document_list.each_with_index do |document,counter| %>
7
+ <div class="document<%= thumbnail_class( document ) %>">
8
+ <% # header bar for doc items in index view -%>
9
+ <div class="documentHeader yui-g">
10
+ <% # main title container for doc partial view -%>
11
+ <div class="yui-u">
12
+ <%- af_model = get_af_model(document) -%>
13
+ <%- if af_model == "Collection" && document[Collection.title_solr_field_name] && !document[Collection.title_solr_field_name].empty?-%>
14
+ <%- title = document[Collection.title_solr_field_name].first -%>
15
+ <%- elsif af_model == "Component" && document["component_type_t"] && !document["component_type_t"].empty? && document[Component.title_solr_field_name] && !document[Component.title_solr_field_name].empty?-%>
16
+ <%- title = document[Component.title_solr_field_name].first -%>
17
+ <%- elsif af_model == "Page" && document["name_t"] && !document["name_t"].empty? -%>
18
+ <%- title = document["name_t"].first -%>
19
+ <%- else-%>
20
+ <%- title = document[:id] %>
21
+ <%- end %>
22
+ <!--<h2 class="index_title"><span class="title_count"><%# response.params[:start].to_i.eql?(0) ? counter + 1 + response.params[:start].to_i+new_counter : counter + 1 + response.params[:start].to_i-new_counter%>. </span> <%# link_to_document document, :label=>title.blank? ? document_show_link_field : title , :counter => (counter + 1 + response.params[:start].to_i) %></h2>-->
23
+ <h2 class="index_title"><span class="title_count"><%= counter + 1 + response.params[:start].to_i %>. </span> <%= link_to_document document, :label=>title.blank? ? document_show_link_field : title , :counter => (counter + 1 + response.params[:start].to_i) %></h2>
24
+ </div>
25
+ </div>
26
+
27
+ <% # main container for doc partial view -%>
28
+ <%= render_document_index_partial document, document[:id], counter, :index %>
29
+
30
+ </div>
31
+
32
+ <% end %>
33
+ </div>
@@ -0,0 +1,12 @@
1
+ <div id="collection-search" class="search">
2
+ <%- @atrium_collection ? collection_id = @atrium_collection[:id] : collection_id = params[:id]%>
3
+ <%= form_tag catalog_index_path, :method => :get do %>
4
+ <fieldset>
5
+ <h3 class="search"><label for="q"><%= link_to("Search Complete Collection", atrium_collection_home_path(collection_id)) %></label></h3>
6
+ <%= text_field_tag :q, params[:q], :class => "q" %>
7
+ <%= hidden_field_tag :collection_id, collection_id%>
8
+ <%= search_as_hidden_fields(:omit_keys => [:q, :f, :search_field, :qt, :action, :id, :controller, :class]).html_safe %>
9
+ <%= submit_tag 'Search', :class=>'submit' %>
10
+ </fieldset>
11
+ <% end %>
12
+ </div>
@@ -0,0 +1,3 @@
1
+ <div id="collection-title">
2
+ <%= @atrium_collection.display_title %>
3
+ </div>
@@ -0,0 +1,20 @@
1
+
2
+ <h1>Featured Sources</h1>
3
+
4
+ <div id="documents">
5
+ <%- if @featured_documents-%>
6
+ <% @featured_documents.each_with_index do |document, i| %>
7
+ <% # container for a single doc -%>
8
+ <div class="document <%= render_document_class document %>">
9
+ <% # header bar for doc items in index view -%>
10
+ <div class="documentHeader">
11
+ <% # main title container for doc partial view -%>
12
+ <div class="yui-u">
13
+ <h3 class="index_title"><%= i + 1 + @featured_response.params[:start].to_i%>. <%= link_to_document document, :label => document_show_link_field, :results_view => false %></h3>
14
+ </div>
15
+ </div>
16
+ <%= render_document_partial document, :index %>
17
+ </div>
18
+ <% end %>
19
+ <%- end -%>
20
+ </div>
@@ -0,0 +1,38 @@
1
+
2
+ <% descriptions.each do |desc| %>
3
+ <%- title= desc.pretty_title %>
4
+ <% if !desc.nil? && !is_editing?%>
5
+ <% path = params[:controller] == "atrium_exhibits" ? atrium_description_path(desc[:id], :f=>params[:f], :exhibit_id=>params[:id]) : atrium_description_path(desc[:id], :collection_id=>params[:id]) %>
6
+ <% if desc.show_on_this_page? %>
7
+ <h3>
8
+ <%= link_to title, path, :label=>("Essay: \"#{title}\"") %>
9
+ </h3>
10
+ <blockquote>
11
+ <%= desc.get_summary.html_safe %>
12
+ </blockquote>
13
+ <%= link_to "Read the complete essay", path%>
14
+ <% else %>
15
+ <h3><%=title%></h3>
16
+ <%- content= desc.description_solr_id.blank? ? desc.get_essay : get_essay_from_description(@description_hash,desc.description_solr_id)%>
17
+ <blockquote class="intro"><%= truncate( content, :length =>550, :ommision => "....").html_safe%></blockquote>
18
+ <% if content.length>50 %>
19
+ <a class="heading" href="#">[Read the complete essay]</a>
20
+ <div style="display: none"class="content" id="<%= desc[:id] %>">
21
+ <%= content.html_safe %>
22
+ </div>
23
+ <% end %>
24
+ <% end %>
25
+ <% elsif is_editing?%>
26
+ <%# need to add dl tag for animated JS to work %>
27
+ <dl>
28
+ <h3><%= "Essay: #{title}"%></h3>
29
+ <h4>Summary: </h4> <blockquote> <%= desc.get_summary.html_safe %></blockquote>
30
+ <h4>Essay: </h4><blockquote> <%= desc.get_summary.html_safe %> </blockquote>
31
+ <h4>From Solr:</h4> <%= desc.description_solr_id.blank? ? "" : get_essay_from_description(@description_hash,desc.description_solr_id).html_safe%>
32
+ <% if (can? :create, Atrium::Description)%>
33
+ <%= link_to 'Edit Description', edit_atrium_description_path(desc[:id]), :class => 'description_colorbox button', :action=> atrium_descriptions_path(:showcase_id=>desc.atrium_showcase_id, :id=>desc[:id], :no_layout=>true) if desc.description_solr_id.blank? %>
34
+ <a class="destroy_description button" href=# action="<%= atrium_description_path(desc[:id])%>" title="Remove Description"> Delete this description</a>
35
+ <% end %>
36
+ </dl>
37
+ <% end %>
38
+ <% end %>
@@ -0,0 +1,34 @@
1
+ <%# This partial recursively calls itself as necessary to render the navigation browse level data. %>
2
+ <% unless browse_levels.nil? || browse_facets.nil? || exhibit_number.nil?%>
3
+ <% browse_level = browse_levels.first %>
4
+ <% unless browse_level.values.empty? %>
5
+ <% solr_facet_name = browse_level.solr_facet_name %>
6
+ <% browse_level.label = facet_field_labels[solr_facet_name] if browse_level.label.blank? %>
7
+ <h3 class="facet-heading"><%= browse_level.label %></h3>
8
+ <ul class="browse-facets">
9
+ <% browse_level.values.each do |value| %>
10
+ <li class="<%= value.downcase.gsub(/\W/, '-') %>">
11
+ <% @exhibit ? exhibit_set_from_params = @exhibit.set_number : exhibit_set_from_params = get_exhibit_set_number(exhibit_id) %>
12
+ <% if !browse_level.selected.nil? && browse_level.selected == value && exhibit_number.to_i == exhibit_set_from_params.to_i%>
13
+ <% selected_path = get_selected_browse_facet_path(solr_facet_name, value, browse_facets, exhibit_number, exhibit_id) %>
14
+ <span class="selected browse-facet">
15
+ <%= value %>
16
+ </span>
17
+ <%= link_to("[remove]", selected_path, :class=>"remove") %>
18
+ <% if browse_levels.size > 1 && !browse_levels.second.values.empty? %>
19
+ <%= render :partial => 'shared/navigation_browse_levels',
20
+ :locals => {
21
+ :browse_levels => browse_levels.slice(1, browse_levels.length - 1),
22
+ :browse_facets => browse_facets.slice(1, browse_facets.length - 1),
23
+ :exhibit_number => exhibit_number,
24
+ :exhibit_id => exhibit_id
25
+ } %>
26
+ <% end %>
27
+ <% else %>
28
+ <%= link_to(value, get_browse_facet_path(solr_facet_name, value, browse_facets, exhibit_number, exhibit_id)) %>
29
+ <% end %>
30
+ </li>
31
+ <% end %>
32
+ </ul>
33
+ <% end %>
34
+ <% end %>
@@ -0,0 +1,22 @@
1
+ <strong>Browse view configuration</strong>
2
+ <%- params[:controller] == "atrium_collections" ? collection_id = params[:id] : collection_id = params[:collection_id] -%>
3
+
4
+ <ul class="controls">
5
+ <li>
6
+ <%= link_to 'Select Featured Items',
7
+ atrium_showcase_featured_path(:id => @atrium_showcase[:id], :collection_id => collection_id, :f => params[:f]),
8
+ :class => 'select_colorbox button',
9
+ :action => atrium_showcase_path(:id => @atrium_showcase[:id], :no_layout=>true)
10
+ %>
11
+ </li>
12
+ <li>
13
+ <%= link_to 'Add New Description', new_atrium_description_path(:showcase_id=>@atrium_showcase[:id]), :class => 'description_colorbox button', :action=> atrium_descriptions_path(:showcase_id=>@atrium_showcase[:id], :no_layout=>true) %>
14
+ </li>
15
+ <li>
16
+ <%= link_to 'Add Description From Solr', atrium_descriptions_add_path(:showcase_id=>@atrium_showcase[:id]), :class => 'description_colorbox button', :action=> atrium_descriptions_link_path(:showcase_id=>@atrium_showcase[:id], :no_layout=>true) %>
17
+ </li>
18
+ <li class="last">
19
+ <%= link_to "Stop Editing", stop_atrium_customization_path(@atrium_showcase.for_exhibit? ? {:type => 'exhibit', :id => @exhibit[:id], :f => params[:f]} : {:type => 'collection', :id => @atrium_collection[:id], :f => params[:f]}), :class => 'button close' %>
20
+ </li>
21
+ </ul>
22
+
@@ -0,0 +1,9 @@
1
+ <% if @atrium_collection.exhibits.any? %>
2
+ <div class="yui-g">
3
+ <ul id="exhibit-menu">
4
+ <% @atrium_collection.exhibits.each do |exhibit| %>
5
+ <li><%= link_to exhibit.pretty_title, atrium_exhibit_path(exhibit) %></li>
6
+ <% end %>
7
+ </ul>
8
+ </div>
9
+ <% end %>
@@ -0,0 +1,76 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "atrium/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "atrium"
7
+ s.version = Atrium::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Rick Johnson, Dan Brubaker Horst, Jeremy Friesen, and Banu Lakshminarayanan"]
10
+ s.email = ["hydra-tech@googlegroups.com"]
11
+ s.homepage = "https://github.com/ndlib/atrium"
12
+ s.summary = %q{Atrium Rails Engine (requires Rails 3)}
13
+ s.description = %q{This is an ALPHA release -- you have been warned. It will get much better soon. Atrium is a Rails Engine for for creating collections in either a Blacklight or Hydra context. The full hydra stack includes: Blacklight, Fedora, Solr, active-fedora, solrizer, and om. The first use of the atrium name for a gem was by Hiten Parmar: https://github.com/hrp/atrium}
14
+
15
+
16
+ s.add_dependency 'rails', '~> 3.1'
17
+ s.add_dependency 'blacklight', '~> 3.3'
18
+ s.add_dependency 'builder'
19
+ s.add_dependency 'cancan'
20
+ s.add_dependency 'ckeditor_rails'
21
+ s.add_dependency 'columnize'
22
+ s.add_dependency 'crack'
23
+ s.add_dependency 'curb'
24
+ s.add_dependency 'database_cleaner'
25
+ s.add_dependency 'diff-lcs'
26
+ s.add_dependency 'facets', '2.8.4'
27
+ s.add_dependency 'haml'
28
+ s.add_dependency 'httparty'
29
+ s.add_dependency 'json_pure', '>1.4.3'
30
+ s.add_dependency 'launchy'
31
+ s.add_dependency 'linecache'
32
+ s.add_dependency 'mediashelf-loggable'
33
+ s.add_dependency 'mime-types'
34
+ s.add_dependency 'multipart-post'
35
+ s.add_dependency 'nokogiri' # Default to using the version required by Blacklight
36
+ s.add_dependency 'om', '>=1.2.3'
37
+ s.add_dependency 'rack'
38
+ s.add_dependency 'rack-test'
39
+ s.add_dependency 'rake'
40
+ s.add_dependency 'rcov'
41
+ s.add_dependency 'RedCloth', '=4.2.3'
42
+ s.add_dependency 'solr-ruby'
43
+ s.add_dependency 'solrizer', '>=1.1.0'
44
+ s.add_dependency 'term-ansicolor'
45
+ s.add_dependency 'trollop'
46
+ s.add_dependency 'xml-simple'
47
+ s.add_dependency 'yard'
48
+ s.add_dependency 'block_helpers'
49
+ s.add_dependency 'sanitize'
50
+ s.add_dependency 'morphine'
51
+ s.add_development_dependency 'cucumber', '>=0.8.5'
52
+ s.add_development_dependency 'cucumber-rails', '>=1.0.0'
53
+ s.add_development_dependency 'devise' # Expected by Blacklight generator in test app
54
+ s.add_development_dependency 'factory_girl'
55
+ s.add_development_dependency 'gherkin'
56
+ s.add_development_dependency 'jettywrapper', '~> 1.1.0'
57
+ s.add_development_dependency 'jquery-rails'
58
+ s.add_development_dependency 'mocha'
59
+ s.add_development_dependency 'rake'
60
+ s.add_development_dependency 'rspec', '>= 2.0.0'
61
+ s.add_development_dependency 'rspec-rails', '>= 2.0.0' # rspec-rails 2.0.0 requires Rails 3.
62
+ s.add_development_dependency 'ruby-debug'
63
+ s.add_development_dependency 'ruby-debug-base'
64
+ s.add_development_dependency 'sqlite3'
65
+ s.add_development_dependency 'rspec-on-rails-matchers'
66
+ s.add_development_dependency 'rspec-given'
67
+ s.add_development_dependency 'guard'
68
+ s.add_development_dependency 'guard-rspec'
69
+ s.add_development_dependency 'ruby_gntp' if RUBY_PLATFORM =~ /darwin/
70
+
71
+
72
+ s.files = `git ls-files`.split("\n")
73
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
74
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
75
+ s.require_paths = ["lib"]
76
+ end