sufia 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. data/app/views/catalog/_index_partials/_list_files.html.erb +5 -6
  2. data/app/views/catalog/_recent_document.html.erb +2 -2
  3. data/app/views/dashboard/_index_partials/_default_group.html.erb +1 -1
  4. data/app/views/dashboard/_index_partials/_list_files.html.erb +2 -2
  5. data/app/views/generic_files/_show_descriptions.html.erb +14 -112
  6. data/app/views/generic_files/show_fields/_based_near.html.erb +9 -0
  7. data/app/views/generic_files/show_fields/_contributor.html.erb +9 -0
  8. data/app/views/generic_files/show_fields/_creator.html.erb +9 -0
  9. data/app/views/generic_files/show_fields/_date_created.html.erb +9 -0
  10. data/app/views/generic_files/show_fields/_description.html.erb +9 -0
  11. data/app/views/generic_files/show_fields/_identifier.html.erb +9 -0
  12. data/app/views/generic_files/show_fields/_language.html.erb +9 -0
  13. data/app/views/generic_files/show_fields/_publisher.html.erb +9 -0
  14. data/app/views/generic_files/show_fields/_related_url.html.erb +9 -0
  15. data/app/views/generic_files/show_fields/_resource_type.html.erb +9 -0
  16. data/app/views/generic_files/show_fields/_rights.html.erb +9 -0
  17. data/app/views/generic_files/show_fields/_subject.html.erb +9 -0
  18. data/app/views/generic_files/show_fields/_tag.html.erb +9 -0
  19. data/app/views/generic_files/show_fields/_title.html.erb +9 -0
  20. data/lib/generators/sufia/templates/catalog_controller.rb +72 -72
  21. data/lib/sufia/files_controller_behavior.rb +13 -4
  22. data/lib/sufia/solr_document_behavior.rb +1 -1
  23. data/lib/sufia/version.rb +1 -1
  24. data/spec/controllers/catalog_controller_spec.rb +9 -9
  25. data/spec/models/generic_file_spec.rb +16 -16
  26. data/spec/routing/route_spec.rb +1 -1
  27. data/sufia.gemspec +3 -3
  28. metadata +20 -6
@@ -1,5 +1,4 @@
1
1
  <% if document.has_key?(:noid_s) %>
2
- <%# logger.info document[:generic_file__creator_t].inspect %>
3
2
  <li>
4
3
  <h2>
5
4
  <%= link_to render_document_show_field_value(:document=>document, :field=>document.title_or_label), sufia.generic_file_path(document[:noid_s].first) %>
@@ -10,7 +9,7 @@
10
9
  <td rowspan="6" class="span20"> <%= render :partial => 'dashboard/_index_partials/thumbnail_display', :locals => {:document=>document, :height=>200, :width=>150} %>
11
10
  </td>
12
11
  <th><h4>Title:</h4></th>
13
- <td><%= render_document_show_field_value(:document=>document, :field=>"generic_file__title_display") %></td>
12
+ <td><%= render_document_show_field_value(:document=>document, :field=>"desc_metadata__title_display") %></td>
14
13
  </tr>
15
14
  <tr>
16
15
  <th><h4>Depositor:<h4></div>
@@ -18,19 +17,19 @@
18
17
  </tr>
19
18
  <tr>
20
19
  <th><h4>Creator:</h4></th>
21
- <td><%= render_document_show_field_value(:document=>document, :field=>"generic_file__creator_display") %></td>
20
+ <td><%= render_document_show_field_value(:document=>document, :field=>"desc_metadata__creator_display") %></td>
22
21
  </tr>
23
22
  <tr>
24
23
  <th><h4>Description:</h4></th>
25
- <td><%= iconify_auto_link(render_document_show_field_value(:document=>document, :field=>"generic_file__description_display")) %></th>
24
+ <td><%= iconify_auto_link(render_document_show_field_value(:document=>document, :field=>"desc_metadata__description_display")) %></th>
26
25
  </tr>
27
26
  <tr>
28
27
  <th><h4>Keywords:</h4></th>
29
- <td><%= render_document_show_field_value(:document=>document, :field=>"generic_file__tag_display") %></td>
28
+ <td><%= render_document_show_field_value(:document=>document, :field=>"desc_metadata__tag_display") %></td>
30
29
  </tr>
31
30
  <tr>
32
31
  <th><h4>Date Uploaded:</h4></th>
33
- <td><%= render_document_show_field_value(:document=>document, :field=>"generic_file__date_uploaded_display") %></td>
32
+ <td><%= render_document_show_field_value(:document=>document, :field=>"desc_metadata__date_uploaded_display") %></td>
34
33
  </tr>
35
34
  </table>
36
35
  </li>
@@ -1,6 +1,6 @@
1
- <%- keywords = link_to_facet_list(recent_document[:generic_file__tag_t], 'generic_file__tag_facet', 'no keywords specified') -%>
1
+ <%- keywords = link_to_facet_list(recent_document[:desc_metadata__tag_t], 'desc_metadata__tag_facet', 'no keywords specified') -%>
2
2
  <%- filename = render_document_show_field_value(:document=>recent_document, :field=>"label_t") -%>
3
- <%- title = render_document_show_field_value(:document=>recent_document, :field=>"generic_file__title_t") -%>
3
+ <%- title = render_document_show_field_value(:document=>recent_document, :field=>"desc_metadata__title_t") -%>
4
4
  <%- title = filename if title.empty? -%>
5
5
  <%- short_title = truncate(title, :length => 28, :separator => ' ') -%>
6
6
  <%- depositor = get_depositor_from_document(recent_document) -%>
@@ -22,7 +22,7 @@ limitations under the License.
22
22
  <th class="sm"><%= render :partial => 'batch_edits/check_all' %></th>
23
23
  <th>&nbsp;</th>
24
24
  <th class="center">Title</th>
25
- <th class="sorts-dash"><i id="generic_file__date_uploaded_dt" class="<%=params[:sort]== "generic_file__date_uploaded_dt desc" ? 'icon-caret-down' : params[:sort]== "generic_file__date_uploaded_dt asc" ? 'icon-caret-up' : ''%>"></i>Date Uploaded</th>
25
+ <th class="sorts-dash"><i id="desc_metadata__date_uploaded_dt" class="<%=params[:sort]== "desc_metadata__date_uploaded_dt desc" ? 'icon-caret-down' : params[:sort]== "desc_metadata__date_uploaded_dt asc" ? 'icon-caret-up' : ''%>"></i>Date Uploaded</th>
26
26
  <th>Visibility</th>
27
27
  <th class="center">Action</th>
28
28
  </tr>
@@ -34,7 +34,7 @@ on element ids -->
34
34
  <%= render :partial => 'dashboard/_index_partials/thumbnail_display', :locals => {:document=>document} %>
35
35
  <span class=center><%= link_to render_document_show_field_value(:document=>document, :field=>document.title_or_label), sufia.generic_file_path(noid), :id => "src_copy_link#{noid}" %> <br /></span>
36
36
  </td>
37
- <td width="17%"><%= document.fetch(:generic_file__date_uploaded_dt,'').to_time.strftime("%m/%d/%Y") unless document.fetch(:generic_file__date_uploaded_dt,'').blank? %> </td>
37
+ <td width="17%"><%= document.fetch(:desc_metadata__date_uploaded_dt,'').to_time.strftime("%m/%d/%Y") unless document.fetch(:desc_metadata__date_uploaded_dt,'').blank? %> </td>
38
38
  <td width="5%" align="center">
39
39
  <% if !document[:read_access_group_t].blank? and document[:read_access_group_t].include?('registered') %>
40
40
  <a href="<%= sufia.generic_file_path(noid) %>/edit/?tab=permissions" id="permission_<%= noid %>"><span class="label label-info" title="<%=t('sufia.institution_name') %>"><%=t('sufia.institution_name') %></span></a>
@@ -63,7 +63,7 @@ on element ids -->
63
63
  <td><strong>File Format: </strong> <%= render_document_show_field_value(:document=>document, :field=>"file_format_t") %> </td>
64
64
  </tr>
65
65
  <tr>
66
- <td><strong>Creator: </strong> <%= render_document_show_field_value(:document=>document, :field=>"generic_file__creator_display") %> </td>
66
+ <td><strong>Creator: </strong> <%= render_document_show_field_value(:document=>document, :field=>"desc_metadata__creator_display") %> </td>
67
67
  <td><strong>Depositor: </strong> <%= link_to_profile render_document_show_field_value(:document=>document, :field=>"depositor_t") %> </td>
68
68
  </tr>
69
69
  <tr>
@@ -1,118 +1,20 @@
1
1
  <h2 class="non lower">Descriptions</h2>
2
2
  <table class="table table-striped"><!-- class="verticalheadings"> -->
3
3
  <tbody>
4
- <tr>
5
- <th>Title</th>
6
- <td>
7
- <% @generic_file.title.each do |title| %>
8
- <%= title %><br />
9
- <% end %>
10
- </td>
11
- </tr>
12
- <tr>
13
- <th>Creator</th>
14
- <td>
15
- <% @generic_file.creator.each do |creator| %>
16
- <%= link_to_facet(creator, 'generic_file__creator_facet') %><br />
17
- <% end %>
18
- </td>
19
- </tr>
20
- <tr>
21
- <th>Contributor</th>
22
- <td>
23
- <% @generic_file.contributor.each do |contributor| %>
24
- <%= link_to_field('contributor', contributor) %><br />
25
- <% end %>
26
- </td>
27
- </tr>
28
- <tr>
29
- <th>Related URL</th>
30
- <td>
31
- <% @generic_file.related_url.each do |url| %>
32
- <%= iconify_auto_link(url) %><br />
33
- <% end %>
34
- </td>
35
- </tr>
36
- <tr>
37
- <th>Location</th>
38
- <td>
39
- <% @generic_file.based_near.each do |bn| %>
40
- <%= link_to_facet(bn, 'generic_file__based_near_facet') %><br />
41
- <% end %>
42
- </td>
43
- </tr>
44
- <tr>
45
- <th>Abstract or Summary</th>
46
- <td>
47
- <% @generic_file.description.each do |desc| %>
48
- <%= iconify_auto_link(desc) %><br />
49
- <% end %>
50
- </td>
51
- </tr>
52
- <tr>
53
- <th>Language</th>
54
- <td>
55
- <% @generic_file.language.each do |lang| %>
56
- <%= link_to_facet(lang,'generic_file__language_facet') %><br />
57
- <% end %>
58
- </td>
59
- </tr>
60
- <tr>
61
- <th>Resource Type</th>
62
- <td>
63
- <% @generic_file.resource_type.each do |rtype| %>
64
- <%= link_to_facet(rtype, 'generic_file__resource_type_facet') %><br />
65
- <% end %>
66
- </td>
67
- </tr>
68
- <tr>
69
- <th>Publisher</th>
70
- <td>
71
- <% @generic_file.publisher.each do |pub| %>
72
- <%= link_to_facet(pub,'generic_file__publisher_facet') %><br />
73
- <% end %>
74
- </td>
75
- </tr>
76
- <tr>
77
- <th>Rights</th>
78
- <td>
79
- <% @generic_file.rights.each do |r| %>
80
- <%=link_to_field('rights',r, Sufia::Engine.config.cc_licenses_reverse[r])%> <%= iconify_auto_link(r,false) %><br />
81
- <% end %>
82
- </td>
83
- </tr>
84
- <tr>
85
- <th>Subject</th>
86
- <td>
87
- <% @generic_file.subject.each do |sub| %>
88
- <%= link_to_facet(sub, 'generic_file__subject_facet') %><br />
89
- <% end %>
90
- </td>
91
- </tr>
92
- <tr>
93
- <th>Keyword</th>
94
- <td>
95
- <% @generic_file.tag.each do |t| %>
96
- <%= link_to_facet(t, 'generic_file__tag_facet') %><br />
97
- <% end %>
98
- </td>
99
- </tr>
100
- <tr>
101
- <th>Identifier</th>
102
- <td>
103
- <% @generic_file.identifier.each do |id| %>
104
- <%= id %><br />
105
- <% end %>
106
- </td>
107
- </tr>
108
- <tr>
109
- <th>Date Created</th>
110
- <td>
111
- <% @generic_file.date_created.each do |dc| %>
112
- <%= dc %><br />
113
- <% end %>
114
- </td>
115
- </tr>
4
+ <%= render :partial=>'generic_files/show_fields/title' %>
5
+ <%= render :partial=>'generic_files/show_fields/creator' %>
6
+ <%= render :partial=>'generic_files/show_fields/contributor' %>
7
+ <%= render :partial=>'generic_files/show_fields/related_url' %>
8
+ <%= render :partial=>'generic_files/show_fields/based_near' %>
9
+ <%= render :partial=>'generic_files/show_fields/description' %>
10
+ <%= render :partial=>'generic_files/show_fields/language' %>
11
+ <%= render :partial=>'generic_files/show_fields/resource_type' %>
12
+ <%= render :partial=>'generic_files/show_fields/publisher' %>
13
+ <%= render :partial=>'generic_files/show_fields/rights' %>
14
+ <%= render :partial=>'generic_files/show_fields/subject' %>
15
+ <%= render :partial=>'generic_files/show_fields/tag' %>
16
+ <%= render :partial=>'generic_files/show_fields/identifier' %>
17
+ <%= render :partial=>'generic_files/show_fields/date_created' %>
116
18
  </tbody>
117
19
  </table> <!-- /verticalheadings -->
118
20
 
@@ -0,0 +1,9 @@
1
+ <tr>
2
+ <th>Location</th>
3
+ <td>
4
+ <% @generic_file.based_near.each do |bn| %>
5
+ <%= link_to_facet(bn, 'desc_metadata__based_near_facet') %><br />
6
+ <% end %>
7
+ </td>
8
+ </tr>
9
+
@@ -0,0 +1,9 @@
1
+ <tr>
2
+ <th>Contributor</th>
3
+ <td>
4
+ <% @generic_file.contributor.each do |contributor| %>
5
+ <%= link_to_field('contributor', contributor) %><br />
6
+ <% end %>
7
+ </td>
8
+ </tr>
9
+
@@ -0,0 +1,9 @@
1
+ <tr>
2
+ <th>Creator</th>
3
+ <td>
4
+ <% @generic_file.creator.each do |creator| %>
5
+ <%= link_to_facet(creator, 'desc_metadata__creator_facet') %><br />
6
+ <% end %>
7
+ </td>
8
+ </tr>
9
+
@@ -0,0 +1,9 @@
1
+ <tr>
2
+ <th>Date Created</th>
3
+ <td>
4
+ <% @generic_file.date_created.each do |dc| %>
5
+ <%= dc %><br />
6
+ <% end %>
7
+ </td>
8
+ </tr>
9
+
@@ -0,0 +1,9 @@
1
+ <tr>
2
+ <th>Abstract or Summary</th>
3
+ <td>
4
+ <% @generic_file.description.each do |desc| %>
5
+ <%= iconify_auto_link(desc) %><br />
6
+ <% end %>
7
+ </td>
8
+ </tr>
9
+
@@ -0,0 +1,9 @@
1
+ <tr>
2
+ <th>Identifier</th>
3
+ <td>
4
+ <% @generic_file.identifier.each do |id| %>
5
+ <%= id %><br />
6
+ <% end %>
7
+ </td>
8
+ </tr>
9
+
@@ -0,0 +1,9 @@
1
+ <tr>
2
+ <th>Language</th>
3
+ <td>
4
+ <% @generic_file.language.each do |lang| %>
5
+ <%= link_to_facet(lang,'desc_metadata__language_facet') %><br />
6
+ <% end %>
7
+ </td>
8
+ </tr>
9
+
@@ -0,0 +1,9 @@
1
+ <tr>
2
+ <th>Publisher</th>
3
+ <td>
4
+ <% @generic_file.publisher.each do |pub| %>
5
+ <%= link_to_facet(pub,'desc_metadata__publisher_facet') %><br />
6
+ <% end %>
7
+ </td>
8
+ </tr>
9
+
@@ -0,0 +1,9 @@
1
+ <tr>
2
+ <th>Related URL</th>
3
+ <td>
4
+ <% @generic_file.related_url.each do |url| %>
5
+ <%= iconify_auto_link(url) %><br />
6
+ <% end %>
7
+ </td>
8
+ </tr>
9
+
@@ -0,0 +1,9 @@
1
+ <tr>
2
+ <th>Resource Type</th>
3
+ <td>
4
+ <% @generic_file.resource_type.each do |rtype| %>
5
+ <%= link_to_facet(rtype, 'desc_metadata__resource_type_facet') %><br />
6
+ <% end %>
7
+ </td>
8
+ </tr>
9
+
@@ -0,0 +1,9 @@
1
+ <tr>
2
+ <th>Rights</th>
3
+ <td>
4
+ <% @generic_file.rights.each do |r| %>
5
+ <%=link_to_field('rights',r, Sufia::Engine.config.cc_licenses_reverse[r])%> <%= iconify_auto_link(r,false) %><br />
6
+ <% end %>
7
+ </td>
8
+ </tr>
9
+
@@ -0,0 +1,9 @@
1
+ <tr>
2
+ <th>Subject</th>
3
+ <td>
4
+ <% @generic_file.subject.each do |sub| %>
5
+ <%= link_to_facet(sub, 'desc_metadata__subject_facet') %><br />
6
+ <% end %>
7
+ </td>
8
+ </tr>
9
+
@@ -0,0 +1,9 @@
1
+ <tr>
2
+ <th>Keyword</th>
3
+ <td>
4
+ <% @generic_file.tag.each do |t| %>
5
+ <%= link_to_facet(t, 'desc_metadata__tag_facet') %><br />
6
+ <% end %>
7
+ </td>
8
+ </tr>
9
+
@@ -0,0 +1,9 @@
1
+ <tr>
2
+ <th>Title</th>
3
+ <td>
4
+ <% @generic_file.title.each do |title| %>
5
+ <%= title %><br />
6
+ <% end %>
7
+ </td>
8
+ </tr>
9
+
@@ -103,24 +103,24 @@ class CatalogController < ApplicationController
103
103
  }
104
104
 
105
105
  # solr field configuration for search results/index views
106
- config.index.show_link = "generic_file__title_display"
106
+ config.index.show_link = "desc_metadata__title_display"
107
107
  config.index.record_display_type = "id"
108
108
 
109
109
  # solr field configuration for document/show views
110
- config.show.html_title = "generic_file__title_display"
111
- config.show.heading = "generic_file__title_display"
110
+ config.show.html_title = "desc_metadata__title_display"
111
+ config.show.heading = "desc_metadata__title_display"
112
112
  config.show.display_type = "has_model_s"
113
113
 
114
114
  # solr fields that will be treated as facets by the blacklight application
115
115
  # The ordering of the field names is the order of the display
116
- config.add_facet_field "generic_file__resource_type_facet", :label => "Resource Type", :limit => 5
117
- #config.add_facet_field "generic_file__contributor_facet", :label => "Contributor", :limit => 5
118
- config.add_facet_field "generic_file__creator_facet", :label => "Creator", :limit => 5
119
- config.add_facet_field "generic_file__tag_facet", :label => "Keyword", :limit => 5
120
- config.add_facet_field "generic_file__subject_facet", :label => "Subject", :limit => 5
121
- config.add_facet_field "generic_file__language_facet", :label => "Language", :limit => 5
122
- config.add_facet_field "generic_file__based_near_facet", :label => "Location", :limit => 5
123
- config.add_facet_field "generic_file__publisher_facet", :label => "Publisher", :limit => 5
116
+ config.add_facet_field "desc_metadata__resource_type_facet", :label => "Resource Type", :limit => 5
117
+ #config.add_facet_field "desc_metadata__contributor_facet", :label => "Contributor", :limit => 5
118
+ config.add_facet_field "desc_metadata__creator_facet", :label => "Creator", :limit => 5
119
+ config.add_facet_field "desc_metadata__tag_facet", :label => "Keyword", :limit => 5
120
+ config.add_facet_field "desc_metadata__subject_facet", :label => "Subject", :limit => 5
121
+ config.add_facet_field "desc_metadata__language_facet", :label => "Language", :limit => 5
122
+ config.add_facet_field "desc_metadata__based_near_facet", :label => "Location", :limit => 5
123
+ config.add_facet_field "desc_metadata__publisher_facet", :label => "Publisher", :limit => 5
124
124
  config.add_facet_field "file_format_facet", :label => "File Format", :limit => 5
125
125
 
126
126
  # Have BL send all facet field names to Solr, which has been the default
@@ -130,41 +130,41 @@ class CatalogController < ApplicationController
130
130
 
131
131
  # solr fields to be displayed in the index (search results) view
132
132
  # The ordering of the field names is the order of the display
133
- config.add_index_field "generic_file__title_display", :label => "Title"
134
- config.add_index_field "generic_file__description_display", :label => "Description"
135
- config.add_index_field "generic_file__tag_display", :label => "Keyword"
136
- config.add_index_field "generic_file__subject_display", :label => "Subject"
137
- config.add_index_field "generic_file__creator_display", :label => "Creator"
138
- config.add_index_field "generic_file__contributor_display", :label => "Contributor"
139
- config.add_index_field "generic_file__publisher_display", :label => "Publisher"
140
- config.add_index_field "generic_file__based_near_display", :label => "Location"
141
- config.add_index_field "generic_file__language_display", :label => "Language"
142
- config.add_index_field "generic_file__date_uploaded_display", :label => "Date Uploaded"
143
- config.add_index_field "generic_file__date_modified_display", :label => "Date Modified"
144
- config.add_index_field "generic_file__date_created_display", :label => "Date Created"
145
- config.add_index_field "generic_file__rights_display", :label => "Rights"
146
- config.add_index_field "generic_file__resource_type_display", :label => "Resource Type"
147
- config.add_index_field "generic_file__format_display", :label => "File Format"
148
- config.add_index_field "generic_file__identifier_display", :label => "Identifier"
133
+ config.add_index_field "desc_metadata__title_display", :label => "Title"
134
+ config.add_index_field "desc_metadata__description_display", :label => "Description"
135
+ config.add_index_field "desc_metadata__tag_display", :label => "Keyword"
136
+ config.add_index_field "desc_metadata__subject_display", :label => "Subject"
137
+ config.add_index_field "desc_metadata__creator_display", :label => "Creator"
138
+ config.add_index_field "desc_metadata__contributor_display", :label => "Contributor"
139
+ config.add_index_field "desc_metadata__publisher_display", :label => "Publisher"
140
+ config.add_index_field "desc_metadata__based_near_display", :label => "Location"
141
+ config.add_index_field "desc_metadata__language_display", :label => "Language"
142
+ config.add_index_field "desc_metadata__date_uploaded_display", :label => "Date Uploaded"
143
+ config.add_index_field "desc_metadata__date_modified_display", :label => "Date Modified"
144
+ config.add_index_field "desc_metadata__date_created_display", :label => "Date Created"
145
+ config.add_index_field "desc_metadata__rights_display", :label => "Rights"
146
+ config.add_index_field "desc_metadata__resource_type_display", :label => "Resource Type"
147
+ config.add_index_field "desc_metadata__format_display", :label => "File Format"
148
+ config.add_index_field "desc_metadata__identifier_display", :label => "Identifier"
149
149
 
150
150
  # solr fields to be displayed in the show (single result) view
151
151
  # The ordering of the field names is the order of the display
152
- config.add_show_field "generic_file__title_display", :label => "Title"
153
- config.add_show_field "generic_file__description_display", :label => "Description"
154
- config.add_show_field "generic_file__tag_display", :label => "Keyword"
155
- config.add_show_field "generic_file__subject_display", :label => "Subject"
156
- config.add_show_field "generic_file__creator_display", :label => "Creator"
157
- config.add_show_field "generic_file__contributor_display", :label => "Contributor"
158
- config.add_show_field "generic_file__publisher_display", :label => "Publisher"
159
- config.add_show_field "generic_file__based_near_display", :label => "Location"
160
- config.add_show_field "generic_file__language_display", :label => "Language"
161
- config.add_show_field "generic_file__date_uploaded_display", :label => "Date Uploaded"
162
- config.add_show_field "generic_file__date_modified_display", :label => "Date Modified"
163
- config.add_show_field "generic_file__date_created_display", :label => "Date Created"
164
- config.add_show_field "generic_file__rights_display", :label => "Rights"
165
- config.add_show_field "generic_file__resource_type_display", :label => "Resource Type"
166
- config.add_show_field "generic_file__file_format_display", :label => "File Format"
167
- config.add_show_field "generic_file__identifier_display", :label => "Identifier"
152
+ config.add_show_field "desc_metadata__title_display", :label => "Title"
153
+ config.add_show_field "desc_metadata__description_display", :label => "Description"
154
+ config.add_show_field "desc_metadata__tag_display", :label => "Keyword"
155
+ config.add_show_field "desc_metadata__subject_display", :label => "Subject"
156
+ config.add_show_field "desc_metadata__creator_display", :label => "Creator"
157
+ config.add_show_field "desc_metadata__contributor_display", :label => "Contributor"
158
+ config.add_show_field "desc_metadata__publisher_display", :label => "Publisher"
159
+ config.add_show_field "desc_metadata__based_near_display", :label => "Location"
160
+ config.add_show_field "desc_metadata__language_display", :label => "Language"
161
+ config.add_show_field "desc_metadata__date_uploaded_display", :label => "Date Uploaded"
162
+ config.add_show_field "desc_metadata__date_modified_display", :label => "Date Modified"
163
+ config.add_show_field "desc_metadata__date_created_display", :label => "Date Created"
164
+ config.add_show_field "desc_metadata__rights_display", :label => "Rights"
165
+ config.add_show_field "desc_metadata__resource_type_display", :label => "Resource Type"
166
+ config.add_show_field "desc_metadata__file_format_display", :label => "File Format"
167
+ config.add_show_field "desc_metadata__identifier_display", :label => "Identifier"
168
168
 
169
169
  # "fielded" search configuration. Used by pulldown among other places.
170
170
  # For supported keys in hash, see rdoc for Blacklight::SearchFields
@@ -200,16 +200,16 @@ class CatalogController < ApplicationController
200
200
  # Solr parameter de-referencing like $title_qf.
201
201
  # See: http://wiki.apache.org/solr/LocalParams
202
202
  field.solr_local_parameters = {
203
- :qf => "generic_file__contributor_t",
204
- :pf => "generic_file__contributor_t"
203
+ :qf => "desc_metadata__contributor_t",
204
+ :pf => "desc_metadata__contributor_t"
205
205
  }
206
206
  end
207
207
 
208
208
  config.add_search_field('creator') do |field|
209
209
  field.solr_parameters = { :"spellcheck.dictionary" => "creator" }
210
210
  field.solr_local_parameters = {
211
- :qf => "generic_file__creator_t",
212
- :pf => "generic_file__creator_t"
211
+ :qf => "desc_metadata__creator_t",
212
+ :pf => "desc_metadata__creator_t"
213
213
  }
214
214
  end
215
215
 
@@ -218,8 +218,8 @@ class CatalogController < ApplicationController
218
218
  :"spellcheck.dictionary" => "title"
219
219
  }
220
220
  field.solr_local_parameters = {
221
- :qf => "generic_file__title_t",
222
- :pf => "generic_file__title_t"
221
+ :qf => "desc_metadata__title_t",
222
+ :pf => "desc_metadata__title_t"
223
223
  }
224
224
  end
225
225
 
@@ -229,8 +229,8 @@ class CatalogController < ApplicationController
229
229
  :"spellcheck.dictionary" => "description"
230
230
  }
231
231
  field.solr_local_parameters = {
232
- :qf => "generic_file__description_t",
233
- :pf => "generic_file__description_t"
232
+ :qf => "desc_metadata__description_t",
233
+ :pf => "desc_metadata__description_t"
234
234
  }
235
235
  end
236
236
 
@@ -239,8 +239,8 @@ class CatalogController < ApplicationController
239
239
  :"spellcheck.dictionary" => "publisher"
240
240
  }
241
241
  field.solr_local_parameters = {
242
- :qf => "generic_file__publisher_t",
243
- :pf => "generic_file__publisher_t"
242
+ :qf => "desc_metadata__publisher_t",
243
+ :pf => "desc_metadata__publisher_t"
244
244
  }
245
245
  end
246
246
 
@@ -249,8 +249,8 @@ class CatalogController < ApplicationController
249
249
  :"spellcheck.dictionary" => "date_created"
250
250
  }
251
251
  field.solr_local_parameters = {
252
- :qf => "generic_file__date_created_t",
253
- :pf => "generic_file__date_created_t"
252
+ :qf => "desc_metadata__date_created_t",
253
+ :pf => "desc_metadata__date_created_t"
254
254
  }
255
255
  end
256
256
 
@@ -259,8 +259,8 @@ class CatalogController < ApplicationController
259
259
  :"spellcheck.dictionary" => "subject"
260
260
  }
261
261
  field.solr_local_parameters = {
262
- :qf => "generic_file__subject_t",
263
- :pf => "generic_file__subject_t"
262
+ :qf => "desc_metadata__subject_t",
263
+ :pf => "desc_metadata__subject_t"
264
264
  }
265
265
  end
266
266
 
@@ -269,8 +269,8 @@ class CatalogController < ApplicationController
269
269
  :"spellcheck.dictionary" => "language"
270
270
  }
271
271
  field.solr_local_parameters = {
272
- :qf => "generic_file__language_t",
273
- :pf => "generic_file__language_t"
272
+ :qf => "desc_metadata__language_t",
273
+ :pf => "desc_metadata__language_t"
274
274
  }
275
275
  end
276
276
 
@@ -279,8 +279,8 @@ class CatalogController < ApplicationController
279
279
  :"spellcheck.dictionary" => "resource_type"
280
280
  }
281
281
  field.solr_local_parameters = {
282
- :qf => "generic_file__resource_type_t",
283
- :pf => "generic_file__resource_type_t"
282
+ :qf => "desc_metadata__resource_type_t",
283
+ :pf => "desc_metadata__resource_type_t"
284
284
  }
285
285
  end
286
286
 
@@ -312,8 +312,8 @@ class CatalogController < ApplicationController
312
312
  :"spellcheck.dictionary" => "based_near"
313
313
  }
314
314
  field.solr_local_parameters = {
315
- :qf => "generic_file__based_near_t",
316
- :pf => "generic_file__based_near_t"
315
+ :qf => "desc_metadata__based_near_t",
316
+ :pf => "desc_metadata__based_near_t"
317
317
  }
318
318
  end
319
319
 
@@ -322,8 +322,8 @@ class CatalogController < ApplicationController
322
322
  :"spellcheck.dictionary" => "tag"
323
323
  }
324
324
  field.solr_local_parameters = {
325
- :qf => "generic_file__tag_t",
326
- :pf => "generic_file__tag_t"
325
+ :qf => "desc_metadata__tag_t",
326
+ :pf => "desc_metadata__tag_t"
327
327
  }
328
328
  end
329
329
 
@@ -336,8 +336,8 @@ class CatalogController < ApplicationController
336
336
 
337
337
  config.add_search_field('rights') do |field|
338
338
  field.solr_local_parameters = {
339
- :qf => "generic_file__rights_t",
340
- :pf => "generic_file__rights_t"
339
+ :qf => "desc_metadata__rights_t",
340
+ :pf => "desc_metadata__rights_t"
341
341
  }
342
342
  end
343
343
 
@@ -346,11 +346,11 @@ class CatalogController < ApplicationController
346
346
  # whether the sort is ascending or descending (it must be asc or desc
347
347
  # except in the relevancy case).
348
348
  # label is key, solr field is value
349
- config.add_sort_field 'score desc, generic_file__date_uploaded_dt desc', :label => "relevance \u25BC"
350
- config.add_sort_field 'generic_file__date_uploaded_dt desc', :label => "date uploaded \u25BC"
351
- config.add_sort_field 'generic_file__date_uploaded_dt asc', :label => "date uploaded \u25B2"
352
- config.add_sort_field 'generic_file__date_modified_dt desc', :label => "date modified \u25BC"
353
- config.add_sort_field 'generic_file__date_modified_dt asc', :label => "date modified \u25B2"
349
+ config.add_sort_field 'score desc, desc_metadata__date_uploaded_dt desc', :label => "relevance \u25BC"
350
+ config.add_sort_field 'desc_metadata__date_uploaded_dt desc', :label => "date uploaded \u25BC"
351
+ config.add_sort_field 'desc_metadata__date_uploaded_dt asc', :label => "date uploaded \u25B2"
352
+ config.add_sort_field 'desc_metadata__date_modified_dt desc', :label => "date modified \u25BC"
353
+ config.add_sort_field 'desc_metadata__date_modified_dt asc', :label => "date modified \u25B2"
354
354
 
355
355
  # If there are more than this many search results, no spelling ("did you
356
356
  # mean") suggestion is offered.
@@ -157,10 +157,9 @@ module Sufia
157
157
  version_event = true
158
158
  Sufia.queue.push(ContentNewVersionEventJob.new(@generic_file.pid, current_user.user_key))
159
159
  end
160
- @generic_file.attributes = params[:generic_file].reject { |k,v| %w{ Filedata Filename revision part_of date_modified date_uploaded format }.include? k}
161
- @generic_file.set_visibility(params[:visibility])
162
- @generic_file.date_modified = Time.now.ctime
163
- @generic_file.save!
160
+
161
+ update_metadata
162
+
164
163
  # do not trigger an update event if a version event has already been triggered
165
164
  Sufia.queue.push(ContentUpdateEventJob.new(@generic_file.pid, current_user.user_key)) unless version_event
166
165
  record_version_committer(@generic_file, current_user)
@@ -169,6 +168,16 @@ module Sufia
169
168
  end
170
169
 
171
170
  protected
171
+
172
+ # this is provided so that implementing application can override this behavior and map params to different attributes
173
+ def update_metadata
174
+ valid_attributes = params[:generic_file].select { |k,v| (@generic_file.terms_for_editing + [:permissions]).include? k.to_sym}
175
+ @generic_file.attributes = valid_attributes
176
+ @generic_file.set_visibility(params[:visibility])
177
+ @generic_file.date_modified = DateTime.now
178
+ @generic_file.save!
179
+ end
180
+
172
181
  def record_version_committer(generic_file, user)
173
182
  version = generic_file.content.latest_version
174
183
  # content datastream not (yet?) present
@@ -16,7 +16,7 @@
16
16
  module Sufia
17
17
  module SolrDocumentBehavior
18
18
  def title_or_label
19
- self['generic_file__title_display'] ? 'generic_file__title_display' : 'label_t'
19
+ self['desc_metadata__title_display'] ? 'desc_metadata__title_display' : 'label_t'
20
20
  end
21
21
  end
22
22
  end
@@ -1,3 +1,3 @@
1
1
  module Sufia
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
@@ -49,12 +49,12 @@ describe CatalogController do
49
49
  assigns(:document_list).map(&:id) == [@gf1.id]
50
50
 
51
51
  assigns(:document_list).count.should eql(1)
52
- assigns(:document_list)[0].fetch(:generic_file__title_t)[0].should eql('Test Document PDF')
52
+ assigns(:document_list)[0].fetch(:desc_metadata__title_t)[0].should eql('Test Document PDF')
53
53
  end
54
54
  end
55
55
  describe "facet search" do
56
56
  before do
57
- xhr :get, :index, :q=>"{f=generic_file__contributor_facet}Contrib1"
57
+ xhr :get, :index, :q=>"{f=desc_metadata__contributor_facet}Contrib1"
58
58
  end
59
59
  it "should find facet files" do
60
60
  response.should be_success
@@ -96,17 +96,17 @@ describe CatalogController do
96
96
  response.should render_template('catalog/recent')
97
97
  assigns(:recent_documents).count.should eql(4)
98
98
  # the order is reversed since the first in should be the last out in descending time order
99
- #assigns(:recent_documents).each {|doc| logger.info doc.fetch(:generic_file__title_t)[0]}
99
+ #assigns(:recent_documents).each {|doc| logger.info doc.fetch(:desc_metadata__title_t)[0]}
100
100
  lgf4 = assigns(:recent_documents)[0]
101
101
  lgf3 = assigns(:recent_documents)[1]
102
102
  lgf2 = assigns(:recent_documents)[2]
103
103
  lgf1 = assigns(:recent_documents)[3]
104
- lgf4.fetch(:generic_file__title_t)[0].should eql(@gf4.title[0])
105
- lgf4.fetch(:generic_file__contributor_t)[0].should eql(@gf4.contributor[0])
106
- lgf4.fetch(:generic_file__resource_type_t)[0].should eql(@gf4.resource_type[0])
107
- lgf1.fetch(:generic_file__title_t)[0].should eql(@gf1.title[0])
108
- lgf1.fetch(:generic_file__contributor_t)[0].should eql(@gf1.contributor[0])
109
- lgf1.fetch(:generic_file__resource_type_t)[0].should eql(@gf1.resource_type[0])
104
+ lgf4.fetch(:desc_metadata__title_t)[0].should eql(@gf4.title[0])
105
+ lgf4.fetch(:desc_metadata__contributor_t)[0].should eql(@gf4.contributor[0])
106
+ lgf4.fetch(:desc_metadata__resource_type_t)[0].should eql(@gf4.resource_type[0])
107
+ lgf1.fetch(:desc_metadata__title_t)[0].should eql(@gf1.title[0])
108
+ lgf1.fetch(:desc_metadata__contributor_t)[0].should eql(@gf1.contributor[0])
109
+ lgf1.fetch(:desc_metadata__resource_type_t)[0].should eql(@gf1.resource_type[0])
110
110
  end
111
111
  end
112
112
  end
@@ -211,23 +211,23 @@ describe GenericFile do
211
211
  @file.format_label = "JPEG Image"
212
212
  local = @file.to_solr
213
213
  local.should_not be_nil
214
- local["generic_file__part_of_t"].should be_nil
215
- local["generic_file__date_uploaded_t"].should be_nil
216
- local["generic_file__date_modified_t"].should be_nil
217
- local["generic_file__rights_t"].should == ["Wide open, buddy."]
218
- local["generic_file__related_url_t"].should be_nil
219
- local["generic_file__contributor_t"].should == ["Mohammad"]
220
- local["generic_file__creator_t"].should == ["Allah"]
221
- local["generic_file__title_t"].should == ["The Work"]
222
- local["generic_file__description_t"].should == ["The work by Allah"]
223
- local["generic_file__publisher_t"].should == ["Vertigo Comics"]
224
- local["generic_file__subject_t"].should == ["Theology"]
225
- local["generic_file__language_t"].should == ["Arabic"]
226
- local["generic_file__date_created_t"].should == ["1200-01-01"]
227
- local["generic_file__resource_type_t"].should == ["Book"]
214
+ local["desc_metadata__part_of_t"].should be_nil
215
+ local["desc_metadata__date_uploaded_t"].should be_nil
216
+ local["desc_metadata__date_modified_t"].should be_nil
217
+ local["desc_metadata__rights_t"].should == ["Wide open, buddy."]
218
+ local["desc_metadata__related_url_t"].should be_nil
219
+ local["desc_metadata__contributor_t"].should == ["Mohammad"]
220
+ local["desc_metadata__creator_t"].should == ["Allah"]
221
+ local["desc_metadata__title_t"].should == ["The Work"]
222
+ local["desc_metadata__description_t"].should == ["The work by Allah"]
223
+ local["desc_metadata__publisher_t"].should == ["Vertigo Comics"]
224
+ local["desc_metadata__subject_t"].should == ["Theology"]
225
+ local["desc_metadata__language_t"].should == ["Arabic"]
226
+ local["desc_metadata__date_created_t"].should == ["1200-01-01"]
227
+ local["desc_metadata__resource_type_t"].should == ["Book"]
228
228
  local["file_format_t"].should == "jpeg (JPEG Image)"
229
- local["generic_file__identifier_t"].should == ["urn:isbn:1234567890"]
230
- local["generic_file__based_near_t"].should == ["Medina, Saudi Arabia"]
229
+ local["desc_metadata__identifier_t"].should == ["urn:isbn:1234567890"]
230
+ local["desc_metadata__based_near_t"].should == ["Medina, Saudi Arabia"]
231
231
  local["mime_type_t"].should == ["image/jpeg"]
232
232
  local["noid_s"].should == "__DO_NOT_USE__"
233
233
  end
@@ -215,7 +215,7 @@ describe 'Routes' do
215
215
 
216
216
  describe "Catch-all" do
217
217
  it "should route non-existent routes to errors" do
218
- get('/awesome').should_not be_routable
218
+ { get: '/awesome' }.should route_to(controller: 'errors', action: 'routing', error: 'awesome')
219
219
  end
220
220
  end
221
221
  end
@@ -4,8 +4,8 @@ require File.expand_path('../lib/sufia/version', __FILE__)
4
4
  Gem::Specification.new do |gem|
5
5
  gem.authors = ["Justin Coyne"]
6
6
  gem.email = ["justin.coyne@yourmediashelf.com"]
7
- gem.description = %q{Engine for PSU scholarsphere}
8
- gem.summary = %q{A generic hyda-head repository}
7
+ gem.description = %q{Sufia is a Rails engine for creating a self-deposit institutional repository}
8
+ gem.summary = %q{Sufia was extracted from ScholarSphere developed by Penn State University}
9
9
  gem.homepage = ""
10
10
 
11
11
  gem.files = `git ls-files`.split($\)
@@ -19,7 +19,7 @@ Gem::Specification.new do |gem|
19
19
  gem.add_dependency 'blacklight', '~> 4.0.0'
20
20
  gem.add_dependency 'blacklight_advanced_search'
21
21
  gem.add_dependency "hydra-head", "~> 5.2"
22
- gem.add_dependency "active-fedora", "~> 5.5.0.rc1"
22
+ gem.add_dependency "active-fedora", "~> 5.5.0.rc2"
23
23
 
24
24
  gem.add_dependency 'noid', '0.5.5'
25
25
  gem.add_dependency 'hydra-batch-edit', '~> 0.1.0'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sufia
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-16 00:00:00.000000000 Z
12
+ date: 2013-01-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -82,7 +82,7 @@ dependencies:
82
82
  requirements:
83
83
  - - ~>
84
84
  - !ruby/object:Gem::Version
85
- version: 5.5.0.rc1
85
+ version: 5.5.0.rc2
86
86
  type: :runtime
87
87
  prerelease: false
88
88
  version_requirements: !ruby/object:Gem::Requirement
@@ -90,7 +90,7 @@ dependencies:
90
90
  requirements:
91
91
  - - ~>
92
92
  - !ruby/object:Gem::Version
93
- version: 5.5.0.rc1
93
+ version: 5.5.0.rc2
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: noid
96
96
  requirement: !ruby/object:Gem::Requirement
@@ -427,7 +427,7 @@ dependencies:
427
427
  - - ~>
428
428
  - !ruby/object:Gem::Version
429
429
  version: '2.0'
430
- description: Engine for PSU scholarsphere
430
+ description: Sufia is a Rails engine for creating a self-deposit institutional repository
431
431
  email:
432
432
  - justin.coyne@yourmediashelf.com
433
433
  executables:
@@ -690,6 +690,20 @@ files:
690
690
  - app/views/generic_files/edit_fields/_type.html.erb
691
691
  - app/views/generic_files/new.html.erb
692
692
  - app/views/generic_files/show.html.erb
693
+ - app/views/generic_files/show_fields/_based_near.html.erb
694
+ - app/views/generic_files/show_fields/_contributor.html.erb
695
+ - app/views/generic_files/show_fields/_creator.html.erb
696
+ - app/views/generic_files/show_fields/_date_created.html.erb
697
+ - app/views/generic_files/show_fields/_description.html.erb
698
+ - app/views/generic_files/show_fields/_identifier.html.erb
699
+ - app/views/generic_files/show_fields/_language.html.erb
700
+ - app/views/generic_files/show_fields/_publisher.html.erb
701
+ - app/views/generic_files/show_fields/_related_url.html.erb
702
+ - app/views/generic_files/show_fields/_resource_type.html.erb
703
+ - app/views/generic_files/show_fields/_rights.html.erb
704
+ - app/views/generic_files/show_fields/_subject.html.erb
705
+ - app/views/generic_files/show_fields/_tag.html.erb
706
+ - app/views/generic_files/show_fields/_title.html.erb
693
707
  - app/views/kaminari/blacklight/_first_page.html.erb
694
708
  - app/views/kaminari/blacklight/_gap.html.erb
695
709
  - app/views/kaminari/blacklight/_last_page.html.erb
@@ -963,7 +977,7 @@ rubyforge_project:
963
977
  rubygems_version: 1.8.24
964
978
  signing_key:
965
979
  specification_version: 3
966
- summary: A generic hyda-head repository
980
+ summary: Sufia was extracted from ScholarSphere developed by Penn State University
967
981
  test_files:
968
982
  - features/browse_dashboard_files.feature
969
983
  - features/browse_files.feature