cul_hydra 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: da3844f4364d4f0488fcce5399fbbbef4f49e49a
4
- data.tar.gz: 140f4053fb595b0ac8711f6cf917264c6e158568
3
+ metadata.gz: e93016ff878ffcdab88ad5374d953567918e752d
4
+ data.tar.gz: d5362d736b702b63cdd1acd7209d4750bd13bb9f
5
5
  SHA512:
6
- metadata.gz: e7cf3163f61825251ed71f15e55d0b1315c9367e8501bd2a6ed596e3b19f49956d9e8c8cbe27366fd8c6679f6c43cc3ad7e9021de99089d1c78855f14ac438f0
7
- data.tar.gz: 24194475e9a29a3d8c3445fbf9a7babfcd9b970af7a16105d2056748cc90f1d05b64eb41c0d69b732ffc537a04c52222d981005a3090b07f07e73fcdf1c5e551
6
+ metadata.gz: fd584cc04096b3c7ced9222d4e0ca298bfb0d520e73e6628e556afc76e2e6cf3435aa71dde46d13762f4cc3199bbf0595d1bad21aa6ec890cdaa5c5f64d4efe9
7
+ data.tar.gz: a841140424e4cdf0d2fdb3def6aeed6c41cba7462259c4129a67c8a463f088e86e195b9c6ac995e98a37a8d20fad722d7cfb3f8c513a15b263f95d81a83348f3
@@ -24,10 +24,10 @@ module Cul::Hydra::OreProxiesHelperBehavior
24
24
  proxy_in = opts[:id]
25
25
  proxy_uri = "info:fedora/#{proxy_in}"
26
26
  proxy_id = opts[:proxy_id]
27
- proxy_in_query = "proxyIn_ssi:#{RSolr.escape(proxy_uri)}"
27
+ proxy_in_query = "proxyIn_ssi:#{RSolr.solr_escape(proxy_uri)}"
28
28
  f = [proxy_in_query]
29
29
  if proxy_id
30
- f << "belongsToContainer_ssi:#{RSolr.escape(proxy_id)}"
30
+ f << "belongsToContainer_ssi:#{RSolr.solr_escape(proxy_id)}"
31
31
  else
32
32
  f << "-belongsToContainer_ssi:*"
33
33
  end
@@ -112,7 +112,7 @@ module Cul::Hydra::OreProxiesHelperBehavior
112
112
  # the first three parts are proxied graph prefixes "info:fedora/PID/DSID/..."
113
113
  3.upto(parts.size - 2).each do |ix|
114
114
  f_id = parts[0..ix].join('/')
115
- yield( {id: id, proxy_id: URI.escape(f_id), label: parts[ix]})
115
+ yield( {id: id, proxy_id: (f_id), label: parts[ix]})
116
116
  end
117
117
  end
118
118
  end
@@ -0,0 +1,68 @@
1
+ require "active-fedora"
2
+ require "active_fedora_finders"
3
+ class AdministrativeSet < ::ActiveFedora::Base
4
+ include ::ActiveFedora::FinderMethods::RepositoryMethods
5
+ include ::ActiveFedora::DatastreamCollections
6
+ include Hydra::ModelMethods
7
+ include Cul::Hydra::Models::Common
8
+ include Pcdm::Models
9
+
10
+ has_and_belongs_to_many :members, :property => :ldp_contains, :class_name=>'ActiveFedora::Base'
11
+
12
+ rdf_types(RDF::CUL.Aggregator)
13
+ rdf_types(RDF::PCDM.AdministrativeSet)
14
+
15
+ def route_as
16
+ "administrative_set"
17
+ end
18
+
19
+ def has_struct_metadata?
20
+ false
21
+ end
22
+
23
+ def solr_members(opts={})
24
+ opts = {:rows=>25,:response_format=>:solr}.merge(opts)
25
+ r = self.parts(opts)
26
+ members = []
27
+ r.collect {|hit| members << SolrDocument.new(hit) } unless r.blank?
28
+ members
29
+ end
30
+
31
+ def thumbnail_info
32
+ members = solr_members
33
+ if members.length == 0
34
+ thumb = {:asset=>"cul_hydra/crystal/file.png",:mime=>'image/png'}
35
+ else
36
+ thumb = thumb_from_members(members)
37
+ end
38
+ return thumb || {:asset=>"cul_hydra/crystal/file.png",:mime=>'image/png'}
39
+ end
40
+
41
+ private
42
+ def thumb_from_members(members)
43
+ sorted = members.sort do |a,b|
44
+ c = a['title_si'] <=> b['title_si']
45
+ if c == 0 && a['identifier_ssim']
46
+ if b['identifier_ssim']
47
+ a['identifier_ssim'].delete(a.id) unless a['identifier_ssim'].length == 1
48
+ b['identifier_ssim'].delete(a.id) unless b['identifier_ssim'].length == 1
49
+ a['identifier_ssim'][0] <=> b['identifier_ssim'][0]
50
+ else
51
+ -1
52
+ end
53
+ else
54
+ c
55
+ end
56
+ end
57
+ thumb_from_solr_doc(sorted[0])
58
+ end
59
+
60
+ def thumb_from_solr_doc(solr_doc)
61
+ if solr_doc and (member = ActiveFedora::Base.find(solr_doc.id, :cast=>true)).respond_to? :thumbnail_info
62
+ member.thumbnail_info
63
+ else
64
+ return nil
65
+ end
66
+ end
67
+
68
+ end
@@ -1,5 +1,6 @@
1
1
  class BagAggregator < GenericAggregator
2
-
2
+ rdf_types(RDF::CUL.Aggregator)
3
+ rdf_types(RDF::PCDM.Collection)
3
4
  def route_as
4
5
  "collection"
5
6
  end
@@ -0,0 +1,6 @@
1
+ class Collection < GenericAggregator
2
+ include Pcdm::Models
3
+ rdf_types(RDF::CUL.Aggregator)
4
+ rdf_types(RDF::PCDM.Collection)
5
+
6
+ end
@@ -1,16 +1,8 @@
1
1
  module Cul::Hydra::Models::Aggregator
2
2
  extend ActiveSupport::Concern
3
-
4
3
  included do
5
4
  has_and_belongs_to_many :containers, :property=>:cul_member_of, :class_name=>'ActiveFedora::Base'
6
5
  has_metadata :name => "structMetadata", :type=>Cul::Hydra::Datastreams::StructMetadata, :versionable => true, :controlGroup => 'M'
7
- after_create :aggregator!
8
- end
9
-
10
- def aggregator!
11
- add_relationship(:rdf_type, Cul::Hydra::Models::AGGREGATOR_TYPE.to_s)
12
- @metadata_is_dirty = true
13
- self.save
14
6
  end
15
7
 
16
8
  def add_member(member, container=self)
@@ -10,15 +10,31 @@ module Cul::Hydra::Models::Common
10
10
  has_metadata :name => "descMetadata", :type=>Cul::Hydra::Datastreams::ModsDocument, :versionable => true
11
11
  has_metadata :name => "rightsMetadata", :type=>::Hydra::Datastream::RightsMetadata, :versionable => true
12
12
  has_many :publishers, :property => :publisher, :class_name=>'ActiveFedora::Base'
13
+ after_create :rdf_types!
13
14
  end
14
15
 
15
16
  module ClassMethods
16
17
  def pid_namespace
17
18
  'ldpd'
18
19
  end
20
+ def rdf_types(type=nil)
21
+ @rdf_types ||= []
22
+ if type
23
+ @rdf_types << type unless @rdf_types.include? type
24
+ end
25
+ @rdf_types
26
+ end
27
+ end
19
28
 
29
+ def rdf_types!
30
+ self.class.rdf_types.each do |type|
31
+ add_relationship(:rdf_type, type.to_s)
32
+ end
33
+ @metadata_is_dirty = true
34
+ self.save
20
35
  end
21
36
 
37
+
22
38
  # A Fedora object label can only contain a string value of up to 255 characters. If we try to
23
39
  # set a longer value, it causes errors upon object save. Truncate labels to 255 characters.
24
40
  # Note: this method maps to a method_missing hanlder that converts input into a String, so
@@ -34,7 +34,8 @@ module Cul::Hydra::Models::Resource
34
34
  end
35
35
 
36
36
  def resource!
37
- add_relationship(:rdf_type, Cul::Hydra::Models::RESOURCE_TYPE.to_s)
37
+ add_relationship(:rdf_type, RDF::CUL.Resource.to_s)
38
+ add_relationship(:rdf_type, RDF::PCDM.Object.to_s)
38
39
  @metadata_is_dirty = true
39
40
  update
40
41
  end
@@ -0,0 +1,8 @@
1
+ module Pcdm::Models
2
+ extend ActiveSupport::Concern
3
+ module ClassMethods
4
+ def to_class_uri
5
+ "info:fedora/pcdm:#{self.name.split('::').last}"
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,86 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # This file generated automatically using vocab-fetch from https://raw.githubusercontent.com/duraspace/pcdm/master/models.rdf
3
+ require 'rdf'
4
+ module RDF
5
+ class PCDM < RDF::StrictVocabulary('http://pcdm.org/models#')
6
+ # Class definitions
7
+ term :AdministrativeSet,
8
+ comment: %(
9
+ An Administrative Set is a grouping of resources that an administrative unit is ultimately
10
+ responsible for managing. The set itself helps to manage the items within it. An Object
11
+ or Collection may be contained by only one AdministrativeSet.
12
+ ).freeze,
13
+ label: 'Administrative Set'.freeze,
14
+ 'rdfs:isDefinedBy' => %(http://pcdm.org/models#).freeze,
15
+ subClassOf: 'http://www.w3.org/ns/ldp#Container'.freeze,
16
+ type: 'rdfs:Class'.freeze
17
+ term :Collection,
18
+ comment: %(
19
+ A Collection is a group of resources. Collections have descriptive metadata, access metadata,
20
+ and may links to works and/or collections. By default, member works and collections are an
21
+ unordered set, but can be ordered using the ORE Proxy class.
22
+ ).freeze,
23
+ label: 'Collection'.freeze,
24
+ 'rdfs:isDefinedBy' => %(http://pcdm.org/models#).freeze,
25
+ subClassOf: 'http://www.openarchives.org/ore/terms/Aggregation'.freeze,
26
+ type: 'rdfs:Class'.freeze
27
+ term :File,
28
+ comment: %(
29
+ A File is a sequence of binary data and is described by some accompanying metadata.
30
+ The metadata typically includes at least basic technical metadata \(size, content type,
31
+ modification date, etc.\), but can also include properties related to preservation,
32
+ digitization process, provenance, etc. Files MUST be contained by exactly one Object.
33
+ ).freeze,
34
+ label: 'File'.freeze,
35
+ 'rdfs:isDefinedBy' => %(http://pcdm.org/models#).freeze,
36
+ type: 'rdfs:Class'.freeze
37
+ term :Object,
38
+ comment: %(
39
+ An Object is an intellectual entity, sometimes called a "work", "digital object", etc.
40
+ Objects have descriptive metadata, access metadata, may contain files and other Objects as
41
+ member "components". Each level of a work is therefore represented by an Object instance,
42
+ and is capable of standing on its own, being linked to from Collections and other Objects.
43
+ Member Objects can be ordered using the ORE Proxy class.
44
+ ).freeze,
45
+ label: 'Object'.freeze,
46
+ 'rdfs:isDefinedBy' => %(http://pcdm.org/models#).freeze,
47
+ subClassOf: 'http://www.openarchives.org/ore/terms/Aggregation'.freeze,
48
+ type: 'rdfs:Class'.freeze
49
+
50
+ # Property definitions
51
+ property :hasFile,
52
+ comment: %(Links to a File contained by this Object.).freeze,
53
+ domain: 'http://pcdm.org/models#Object'.freeze,
54
+ label: 'has file'.freeze,
55
+ range: 'http://pcdm.org/models#File'.freeze,
56
+ 'rdfs:isDefinedBy' => %(http://pcdm.org/models#).freeze,
57
+ subPropertyOf: 'http://www.w3.org/ns/ldp#contains'.freeze,
58
+ type: 'rdf:Property'.freeze
59
+ property :hasMember,
60
+ comment: %(Links to a related Object. Typically used to link to component parts, such as a book linking to a page.).freeze,
61
+ domain: 'http://www.openarchives.org/ore/terms/Aggregation'.freeze,
62
+ label: 'has member'.freeze,
63
+ range: 'http://www.openarchives.org/ore/terms/Aggregation'.freeze,
64
+ 'rdfs:isDefinedBy' => %(http://pcdm.org/models#).freeze,
65
+ subPropertyOf: 'http://www.openarchives.org/ore/terms/aggregates'.freeze,
66
+ type: 'rdf:Property'.freeze
67
+ property :hasRelatedFile,
68
+ comment: %(Links to a File which is related to this Object but doesn't directly describe or represent it, such as technical metadata about other files.).freeze,
69
+ domain: 'http://pcdm.org/models#Object'.freeze,
70
+ label: 'has related file'.freeze,
71
+ range: 'http://pcdm.org/models#File'.freeze,
72
+ 'rdfs:isDefinedBy' => %(http://pcdm.org/models#).freeze,
73
+ subPropertyOf: 'http://www.w3.org/ns/ldp#contains'.freeze,
74
+ type: 'rdf:Property'.freeze
75
+
76
+ # Extra definitions
77
+ term :"",
78
+ comment: %(Ontology for the Portland Common Data Model, intended to underlie a wide array of repository and DAMS applications.).freeze,
79
+ 'dc:modified' => %(2015-03-16).freeze,
80
+ 'dc:publisher' => %(http://www.duraspace.org/).freeze,
81
+ 'dc:title' => %(Portland Common Data Model).freeze,
82
+ label: ''.freeze,
83
+ 'owl:versionInfo' => %(2015/03/16).freeze,
84
+ 'rdfs:seeAlso' => %(https://github.com/duraspace/pcdm/wiki).freeze
85
+ end
86
+ end
@@ -1,3 +1,17 @@
1
1
  class ContentAggregator < GenericAggregator
2
-
2
+ rdf_types(RDF::CUL.Aggregator)
3
+ rdf_types(RDF::PCDM.Object)
4
+ def to_solr(solr_doc = Hash.new, opts={})
5
+ solr_doc = super
6
+ self.members.each do |member_doc|
7
+ member = ActiveFedora::Base.find(member_doc['id'])
8
+ if member.is_a? GenericResource
9
+ member_doc = member.to_solr
10
+ unless member_doc["fulltext_tesim"].blank?
11
+ solr_doc["fulltext_tesim"] = solr_doc.fetch("fulltext_tesim",[]) + member_doc["fulltext_tesim"]
12
+ end
13
+ end
14
+ end
15
+ solr_doc
16
+ end
3
17
  end
@@ -23,6 +23,9 @@ class GenericResource < ::ActiveFedora::Base
23
23
  has_datastream :name => "content", :type=>::ActiveFedora::Datastream, :versionable => true
24
24
  has_metadata :name=>"RELS-INT", :type=>ActiveFedora::RelsInt::Datastream
25
25
 
26
+ rdf_types(RDF::CUL.Resource)
27
+ rdf_types(RDF::PCDM.Object)
28
+
26
29
  def assert_content_model
27
30
  super
28
31
  add_relationship(:rdf_type, RDF::CUL.Resource.to_s)
@@ -76,4 +76,13 @@
76
76
  http://www.w3.org/1999/02/22-rdf-syntax-ns#:
77
77
  :rdf_type: type
78
78
  http://www.loc.gov/premis/rdf/v1#:
79
- :original_name: hasOriginalName
79
+ :original_name: hasOriginalName
80
+ http://pcdm.org/models#:
81
+ :pcdm_has_file: hasFile
82
+ :pcdm_file_of: fileOf
83
+ :pcdm_has_member: hasMember
84
+ :pcdm_member_of: memberOf
85
+ :pcdm_has_related_file: hasRelatedFile
86
+ :pcdm_related_file_of: relatedFileOf
87
+ :pcdm_has_related_object: hasRelatedObject
88
+ :pcdm_related_object_of: relatedObjectOf
@@ -0,0 +1,52 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <foxml:digitalObject VERSION="1.1" PID="pcdm:Collection"
3
+ xmlns:foxml="info:fedora/fedora-system:def/foxml#"
4
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5
+ xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd">
6
+ <foxml:objectProperties>
7
+ <foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/>
8
+ <foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="CModel for PCDM Collections"/>
9
+ </foxml:objectProperties>
10
+ <foxml:datastream ID="DC" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true">
11
+ <foxml:datastreamVersion ID="DC1.0" LABEL="Dublin Core Record for CModel for PCDM Collections" MIMETYPE="text/xml" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/">
12
+ <foxml:xmlContent>
13
+ <oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
14
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
15
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
16
+ xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
17
+ <dc:title>CModel for PCDM Collections</dc:title>
18
+ <dc:creator>DuraSpace</dc:creator>
19
+ <dc:creator>ProjectHydra</dc:creator>
20
+ <dc:creator>Islandora</dc:creator>
21
+ <dc:contributor>NNC</dc:contributor>
22
+ <dc:identifier>http://pcdm.org/models#Collection</dc:identifier>
23
+ </oai_dc:dc>
24
+ </foxml:xmlContent>
25
+ </foxml:datastreamVersion>
26
+ </foxml:datastream>
27
+ <foxml:datastream ID="RELS-EXT" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true">
28
+ <foxml:datastreamVersion ID="RELS-EXT1.0" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0">
29
+ <foxml:xmlContent>
30
+ <rdf:RDF xmlns:fedora-model="info:fedora/fedora-system:def/model#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
31
+ <rdf:Description rdf:about="info:fedora/pcdm:Collection">
32
+ <fedora-model:hasModel rdf:resource="info:fedora/fedora-system:ContentModel-3.0"></fedora-model:hasModel>
33
+ </rdf:Description>
34
+ </rdf:RDF>
35
+ </foxml:xmlContent>
36
+ </foxml:datastreamVersion>
37
+ </foxml:datastream>
38
+ <foxml:datastream ID="DS-COMPOSITE-MODEL" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true">
39
+ <foxml:datastreamVersion ID="DS-COMPOSITE-MODEL1.0" LABEL="Datastream Composite Model" MIMETYPE="text/xml" FORMAT_URI="info:fedora/fedora-system:FedoraDSCompositeModel-1.0">
40
+ <foxml:xmlContent>
41
+ <dsCompositeModel xmlns="info:fedora/fedora-system:def/dsCompositeModel#">
42
+ <dsTypeModel ID="DC">
43
+ <form FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" MIME="text/xml"></form>
44
+ </dsTypeModel>
45
+ <dsTypeModel ID="RELS-EXT">
46
+ <form FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" MIME="application/rdf+xml"></form>
47
+ </dsTypeModel>
48
+ </dsCompositeModel>
49
+ </foxml:xmlContent>
50
+ </foxml:datastreamVersion>
51
+ </foxml:datastream>
52
+ </foxml:digitalObject>
@@ -0,0 +1,81 @@
1
+ require 'cul_hydra/controllers/helpers/resources_helper_behavior'
2
+ module Cul::Hydra::Controllers
3
+ module Collections
4
+ extend ActiveSupport::Concern
5
+ included do
6
+ include Hydra::AssetsControllerHelper
7
+ include Cul::Hydra::Controllers::Helpers::ResourcesHelperBehavior
8
+ include Hydra::RepositoryController
9
+ include MediaShelf::ActiveFedoraHelper
10
+ include Blacklight::SolrHelper
11
+ prepend_before_filter :sanitize_update_params
12
+ end
13
+
14
+ def index
15
+ if params[:layout] == "false"
16
+ # action = "index_embedded"
17
+ layout = false
18
+ end
19
+ if !params[:container_id].nil?
20
+ container_uri = "info:fedora/#{params[:container_id]}"
21
+ escaped_uri = container_uri.gsub(/(:)/, '\\:')
22
+ extra_controller_params = {:q=>"cul_member_of_s:#{escaped_uri}"}
23
+ @response, @document_list = get_search_results( extra_controller_params )
24
+
25
+ # Including this line so permissions tests can be run against the container
26
+ @container_response, @document = get_solr_response_for_doc_id(params[:container_id])
27
+
28
+ # Including these lines for backwards compatibility (until we can use Rails3 callbacks)
29
+ @container = ActiveFedora::Base.load_instance(params[:container_id])
30
+ @solr_result = @container.file_objects(:response_format=>:solr)
31
+ else
32
+ # @solr_result = ActiveFedora::SolrService.instance.conn.query('has_model_field:info\:fedora/ldpd\:Resource', @search_params)
33
+ @solr_result = Resource.find_by_solr(:all)
34
+ end
35
+ render :action=>params[:action], :layout=>layout
36
+ end
37
+
38
+ def new
39
+ @asset = Collection.new
40
+ apply_depositor_metadata(@asset)
41
+ set_collection_type(@asset, params[:content_type])
42
+ if !params[:container_id].nil?
43
+ associate_resource_with_container(@asset, params[:container_id])
44
+ end
45
+ @asset.save
46
+ msg = "Created a Content Aggregator with pid #{@asset.pid}. Now it's ready to be edited."
47
+ flash[:notice]= msg
48
+
49
+ session[:scripts] = params[:combined] == "true"
50
+ redirect_to url_for(:action=>"edit", :id=>@asset.pid, :new_asset=>true, :controller=>'catalog')
51
+
52
+ end
53
+
54
+ # Common destroy method for all AssetsControllers
55
+ def destroy
56
+ # The correct implementation, with garbage collection:
57
+ # if params.has_key?(:container_id)
58
+ # container = ActiveFedora::Base.load_instance(params[:container_id])
59
+ # container.file_objects_remove(params[:id])
60
+ # FileAsset.garbage_collect(params[:id])
61
+ # else
62
+
63
+ # The dirty implementation (leaves relationship in container object, deletes regardless of whether the file object has other containers)
64
+ ActiveFedora::Base.load_instance(params[:id]).delete
65
+ render :text => "Deleted #{params[:id]} from #{params[:container_id]}."
66
+ end
67
+
68
+
69
+ def show
70
+ @image_agg = Collection.find(params[:id])
71
+ if (@image_agg.nil?)
72
+ logger.warn("No such object: " + params[:id])
73
+ flash[:notice]= "No such object."
74
+ redirect_to(:action => 'index', :q => nil , :f => nil)
75
+ else
76
+ @id_array = @image_agg.containers(:response_format => :id_array)
77
+ end
78
+ render :action=>params[:action], :layout=>(params[:layout]=="false")
79
+ end
80
+ end
81
+ end
@@ -2,6 +2,7 @@ module Cul::Hydra
2
2
  module Controllers
3
3
  autoload :Aggregates, 'cul_hydra/controllers/aggregates'
4
4
  autoload :Catalog, 'cul_hydra/controllers/catalog'
5
+ autoload :Collections, 'cul_hydra/controllers/collections'
5
6
  autoload :ContentAggregators, 'cul_hydra/controllers/content_aggregators'
6
7
  autoload :Datastreams, 'cul_hydra/controllers/datastreams'
7
8
  autoload :Helpers, 'cul_hydra/controllers/helpers'
@@ -1,6 +1,6 @@
1
1
  module Cul
2
2
  module Hydra
3
- VERSION = '1.1.0'
3
+ VERSION = '1.2.0'
4
4
  def self.version
5
5
  VERSION
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cul_hydra
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Benjamin Armintor
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-08-26 00:00:00.000000000 Z
12
+ date: 2015-09-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: blacklight
@@ -314,7 +314,9 @@ files:
314
314
  - app/controllers/concerns/cul/hydra/thumbnails.rb
315
315
  - app/helpers/cul/hydra/ore_proxies_helper_behavior.rb
316
316
  - app/helpers/cul/hydra/struct_metadata_helper_behavior.rb
317
+ - app/models/administrative_set.rb
317
318
  - app/models/bag_aggregator.rb
319
+ - app/models/collection.rb
318
320
  - app/models/concept.rb
319
321
  - app/models/concerns/cul/hydra/models.rb
320
322
  - app/models/concerns/cul/hydra/models/aggregator.rb
@@ -327,12 +329,14 @@ files:
327
329
  - app/models/concerns/nfo/folder.rb
328
330
  - app/models/concerns/nie/information_element.rb
329
331
  - app/models/concerns/ore/proxy.rb
332
+ - app/models/concerns/pcdm/models.rb
330
333
  - app/models/concerns/rdf/cul.rb
331
334
  - app/models/concerns/rdf/fcrepo3.rb
332
335
  - app/models/concerns/rdf/nfo.rb
333
336
  - app/models/concerns/rdf/nie.rb
334
337
  - app/models/concerns/rdf/olo.rb
335
338
  - app/models/concerns/rdf/ore.rb
339
+ - app/models/concerns/rdf/pcdm.rb
336
340
  - app/models/concerns/rdf/pimo.rb
337
341
  - app/models/concerns/rdf/sc.rb
338
342
  - app/models/concerns/sc/canvas.rb
@@ -399,6 +403,7 @@ files:
399
403
  - fixtures/cmodels/ldpd_sdep.StaticImageAggregator.xml
400
404
  - fixtures/cmodels/ldpd_sdep.StaticImageCore.xml
401
405
  - fixtures/cmodels/ore_Proxy.xml
406
+ - fixtures/cmodels/pcdm_Collection.xml
402
407
  - fixtures/spec/BLOB/test001.jpg
403
408
  - fixtures/spec/CUL_DC/dc.xml
404
409
  - fixtures/spec/CUL_MODS/mods-001.xml
@@ -451,6 +456,7 @@ files:
451
456
  - lib/cul_hydra/controllers/aggregates.rb
452
457
  - lib/cul_hydra/controllers/aggregator_controller_helper.rb
453
458
  - lib/cul_hydra/controllers/catalog.rb
459
+ - lib/cul_hydra/controllers/collections.rb
454
460
  - lib/cul_hydra/controllers/content_aggregators.rb
455
461
  - lib/cul_hydra/controllers/datastreams.rb
456
462
  - lib/cul_hydra/controllers/helpers.rb