fcrepo_admin 0.1.0
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.
- checksums.yaml +15 -0
- data/.gitignore +9 -0
- data/.rspec +1 -0
- data/Gemfile +5 -0
- data/LICENSE +27 -0
- data/README.rdoc +75 -0
- data/Rakefile +22 -0
- data/app/controllers/fcrepo_admin/audit_trail_controller.rb +17 -0
- data/app/controllers/fcrepo_admin/datastreams_controller.rb +29 -0
- data/app/controllers/fcrepo_admin/objects_controller.rb +14 -0
- data/app/helpers/application_helper.rb +2 -0
- data/app/mailers/.gitkeep +0 -0
- data/app/models/.gitkeep +0 -0
- data/app/views/fcrepo_admin/audit_trail/index.html.erb +34 -0
- data/app/views/fcrepo_admin/catalog/_datastreams.html.erb +19 -0
- data/app/views/fcrepo_admin/catalog/_show.html.erb +2 -0
- data/app/views/fcrepo_admin/datastreams/_content.html.erb +12 -0
- data/app/views/fcrepo_admin/datastreams/_datastreams.html +18 -0
- data/app/views/fcrepo_admin/datastreams/_profile.html.erb +10 -0
- data/app/views/fcrepo_admin/datastreams/index.html.erb +4 -0
- data/app/views/fcrepo_admin/datastreams/show.html.erb +22 -0
- data/app/views/fcrepo_admin/objects/_more_info.html.erb +6 -0
- data/app/views/fcrepo_admin/objects/_properties.html.erb +8 -0
- data/app/views/fcrepo_admin/objects/show.html.erb +18 -0
- data/config/locales/fcrepo_admin.en.yml +55 -0
- data/config/routes.rb +14 -0
- data/doc/README_FOR_APP +2 -0
- data/fcrepo_admin.gemspec +42 -0
- data/lib/assets/.gitkeep +0 -0
- data/lib/assets/stylesheets/fcrepo_admin/fcrepo_admin.css +4 -0
- data/lib/fcrepo_admin.rb +8 -0
- data/lib/fcrepo_admin/controller_behavior.rb +10 -0
- data/lib/fcrepo_admin/engine.rb +12 -0
- data/lib/fcrepo_admin/solr_document_extension.rb +49 -0
- data/lib/fcrepo_admin/version.rb +3 -0
- data/lib/tasks/.gitkeep +0 -0
- data/lib/tasks/fcrepo_admin.rake +24 -0
- data/script/rails +6 -0
- data/spec/controllers/audit_trail_controller_spec.rb +20 -0
- data/spec/controllers/datastreams_controller_spec.rb +21 -0
- data/spec/factories/fcrepo_admin_factories.rb +20 -0
- data/spec/factories/user_factories.rb +8 -0
- data/spec/features/audit_trail/index.html.erb_spec.rb +11 -0
- data/spec/features/catalog/show.html.erb_spec.rb +21 -0
- data/spec/features/datastreams/show.html.erb_spec.rb +31 -0
- data/spec/features/objects/show.html.erb_spec.rb +29 -0
- data/spec/fixtures/auditable.foxml.xml +110 -0
- data/spec/internal/README.rdoc +261 -0
- data/spec/internal/Rakefile +7 -0
- data/spec/internal/app/assets/javascripts/application.js +16 -0
- data/spec/internal/app/assets/stylesheets/application.css +13 -0
- data/spec/internal/app/assets/stylesheets/blacklight.css.scss +3 -0
- data/spec/internal/app/controllers/application_controller.rb +11 -0
- data/spec/internal/app/controllers/catalog_controller.rb +169 -0
- data/spec/internal/app/helpers/application_helper.rb +2 -0
- data/spec/internal/app/mailers/.gitkeep +0 -0
- data/spec/internal/app/models/.gitkeep +0 -0
- data/spec/internal/app/models/ability.rb +4 -0
- data/spec/internal/app/models/content_model.rb +12 -0
- data/spec/internal/app/models/solr_document.rb +36 -0
- data/spec/internal/app/models/user.rb +26 -0
- data/spec/internal/app/views/catalog/_show_default.html.erb +12 -0
- data/spec/internal/app/views/layouts/application.html.erb +14 -0
- data/spec/internal/config.ru +4 -0
- data/spec/internal/config/application.rb +59 -0
- data/spec/internal/config/boot.rb +10 -0
- data/spec/internal/config/database.yml +25 -0
- data/spec/internal/config/environment.rb +5 -0
- data/spec/internal/config/environments/development.rb +37 -0
- data/spec/internal/config/environments/production.rb +67 -0
- data/spec/internal/config/environments/test.rb +37 -0
- data/spec/internal/config/fedora.yml +12 -0
- data/spec/internal/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/internal/config/initializers/devise.rb +240 -0
- data/spec/internal/config/initializers/hydra_config.rb +34 -0
- data/spec/internal/config/initializers/inflections.rb +15 -0
- data/spec/internal/config/initializers/mime_types.rb +12 -0
- data/spec/internal/config/initializers/secret_token.rb +7 -0
- data/spec/internal/config/initializers/session_store.rb +8 -0
- data/spec/internal/config/initializers/wrap_parameters.rb +14 -0
- data/spec/internal/config/locales/devise.en.yml +59 -0
- data/spec/internal/config/locales/en.yml +5 -0
- data/spec/internal/config/role_map_development.yml +6 -0
- data/spec/internal/config/role_map_test.yml +6 -0
- data/spec/internal/config/routes.rb +6 -0
- data/spec/internal/config/solr.yml +6 -0
- data/spec/internal/db/schema.rb +57 -0
- data/spec/internal/lib/assets/.gitkeep +0 -0
- data/spec/internal/log/.gitkeep +0 -0
- data/spec/internal/public/404.html +26 -0
- data/spec/internal/public/422.html +26 -0
- data/spec/internal/public/500.html +25 -0
- data/spec/internal/public/favicon.ico +0 -0
- data/spec/internal/script/rails +6 -0
- data/spec/spec_helper.rb +45 -0
- metadata +397 -0
data/config/routes.rb
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
FcrepoAdmin::Engine.routes.draw do
|
|
2
|
+
|
|
3
|
+
scope :module => "fcrepo_admin" do
|
|
4
|
+
resources :objects, :only => :show do
|
|
5
|
+
resources :datastreams, :only => [:index, :show] do
|
|
6
|
+
member do
|
|
7
|
+
get 'download'
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
resources :audit_trail, :only => :index
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
end
|
data/doc/README_FOR_APP
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
$:.push File.expand_path("../lib", __FILE__)
|
|
2
|
+
|
|
3
|
+
# Maintain your gem's version:
|
|
4
|
+
require "fcrepo_admin/version"
|
|
5
|
+
|
|
6
|
+
# Describe your gem and declare its dependencies:
|
|
7
|
+
Gem::Specification.new do |s|
|
|
8
|
+
s.name = "fcrepo_admin"
|
|
9
|
+
s.version = FcrepoAdmin::VERSION
|
|
10
|
+
s.platform = Gem::Platform::RUBY
|
|
11
|
+
s.authors = ["David Chandek-Stark", "Jim Coble", "Chris Beer", "Justin Coyne"]
|
|
12
|
+
s.email = ["hydra-tech@googlegroups.com"]
|
|
13
|
+
s.homepage = "http://projecthydra.org"
|
|
14
|
+
s.summary = "Hydra-based Fedora Commons repository admin tool."
|
|
15
|
+
s.description = "A Rails engine for administrative access to a Fedora Commons repository based on the Hydra Project repository application framework."
|
|
16
|
+
s.license = "BSD Simplified"
|
|
17
|
+
|
|
18
|
+
s.required_ruby_version = '>= 1.9.3'
|
|
19
|
+
|
|
20
|
+
s.files = `git ls-files`.split("\n")
|
|
21
|
+
s.test_files = `git ls-files -- spec/*`.split("\n")
|
|
22
|
+
|
|
23
|
+
s.extra_rdoc_files = ["LICENSE", "README.rdoc"]
|
|
24
|
+
|
|
25
|
+
s.require_paths = ["lib"]
|
|
26
|
+
|
|
27
|
+
s.add_dependency "hydra-head", "6.0.0"
|
|
28
|
+
s.add_dependency "blacklight"
|
|
29
|
+
s.add_dependency "rails", "~> 3.2"
|
|
30
|
+
s.add_dependency "mime-types", '~> 1.19'
|
|
31
|
+
|
|
32
|
+
s.add_development_dependency "devise"
|
|
33
|
+
s.add_development_dependency "rspec"
|
|
34
|
+
s.add_development_dependency "rspec-rails"
|
|
35
|
+
s.add_development_dependency "capybara"
|
|
36
|
+
s.add_development_dependency "sqlite3"
|
|
37
|
+
s.add_development_dependency "factory_girl_rails"
|
|
38
|
+
s.add_development_dependency "jettywrapper"
|
|
39
|
+
s.add_development_dependency "jquery-rails"
|
|
40
|
+
s.add_development_dependency "sass-rails"
|
|
41
|
+
s.add_development_dependency "bootstrap-sass"
|
|
42
|
+
end
|
data/lib/assets/.gitkeep
ADDED
|
File without changes
|
data/lib/fcrepo_admin.rb
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
require 'json'
|
|
2
|
+
|
|
3
|
+
module FcrepoAdmin
|
|
4
|
+
module SolrDocumentExtension
|
|
5
|
+
|
|
6
|
+
def object_profile
|
|
7
|
+
@object_profile ||= JSON.parse(self[ActiveFedora::Base.profile_solr_name].first)
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def datastreams
|
|
11
|
+
object_profile["datastreams"]
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def has_datastream?(dsID)
|
|
15
|
+
!datastreams[dsID].blank?
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def has_admin_policy?
|
|
19
|
+
!admin_policy_uri.blank?
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def admin_policy_uri
|
|
23
|
+
get ActiveFedora::SolrService.solr_name('is_governed_by', :symbol)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def admin_policy_pid
|
|
27
|
+
uri = admin_policy_uri
|
|
28
|
+
uri &&= ActiveFedora::Base.pids_from_uris(uri)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def has_parent?
|
|
32
|
+
!parent_uri
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def parent_uri
|
|
36
|
+
get(ActiveFedora::SolrService.solr_name('is_part_of', :symbol)) || get(ActiveFedora::SolrService.solr_name('is_member_of', :symbol)) || get(ActiveFedora::SolrService.solr_name('is_member_of_collection', :symbol))
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def parent_pid
|
|
40
|
+
uri = parent_uri
|
|
41
|
+
uri &&= ActiveFedora::Base.pids_from_uris(uri)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def active_fedora_model
|
|
45
|
+
get(ActiveFedora::SolrService.solr_name('active_fedora_model', :symbol))
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
49
|
+
end
|
data/lib/tasks/.gitkeep
ADDED
|
File without changes
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
namespace :fcrepo_admin do
|
|
2
|
+
namespace :solr do
|
|
3
|
+
desc "Deletes everything from the Solr index"
|
|
4
|
+
task :clean => :environment do
|
|
5
|
+
Blacklight.solr.delete_by_query("*:*")
|
|
6
|
+
Blacklight.solr.commit
|
|
7
|
+
end
|
|
8
|
+
desc "Index a single object in solr specified by PID="
|
|
9
|
+
task :index => :environment do
|
|
10
|
+
raise "Must specify a pid. Ex: PID=changeme:12" unless ENV['PID']
|
|
11
|
+
ActiveFedora::Base.connection_for_pid('foo:1') # Loads Rubydora connection with fake object
|
|
12
|
+
ActiveFedora::Base.find(ENV['PID'], cast: true).update_index
|
|
13
|
+
end
|
|
14
|
+
desc 'Index all objects in the repository (except fedora-system: objects).'
|
|
15
|
+
task :index_all => :environment do
|
|
16
|
+
ActiveFedora::Base.connection_for_pid('foo:1') # Loads Rubydora connection with fake object
|
|
17
|
+
ActiveFedora::Base.fedora_connection[0].connection.search(nil) do |object|
|
|
18
|
+
if !object.pid.starts_with?('fedora-system:')
|
|
19
|
+
ActiveFedora::Base.find(object.pid, cast: true).update_index
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
data/script/rails
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
|
|
3
|
+
|
|
4
|
+
APP_PATH = File.expand_path('../../config/application', __FILE__)
|
|
5
|
+
require File.expand_path('../../config/boot', __FILE__)
|
|
6
|
+
require 'rails/commands'
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe FcrepoAdmin::AuditTrailController do
|
|
4
|
+
context "#index" do
|
|
5
|
+
let(:object) { FactoryGirl.create(:content_model) }
|
|
6
|
+
after { object.delete }
|
|
7
|
+
it "should render the index template" do
|
|
8
|
+
get :index, :object_id => object, :use_route => 'fcrepo_admin'
|
|
9
|
+
response.should render_template(:index)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
context "#index?download=true" do
|
|
13
|
+
context "object does not respond to audit_trail" do
|
|
14
|
+
subject { get :index, :object_id => object, :download => 'true', :use_route => 'fcrepo_admin' }
|
|
15
|
+
let(:object) { FactoryGirl.create(:content_model) }
|
|
16
|
+
after { object.delete }
|
|
17
|
+
its(:response_code) { should eq(200) }
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
shared_examples "a datastream profile view" do
|
|
4
|
+
it { should render_template(:show) }
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
describe FcrepoAdmin::DatastreamsController do
|
|
8
|
+
after { object.delete }
|
|
9
|
+
context "#show" do
|
|
10
|
+
let(:object) { FactoryGirl.create(:content_model) }
|
|
11
|
+
let(:dsid) { "DC" }
|
|
12
|
+
context "profile information" do
|
|
13
|
+
subject { get :show, :object_id => object, :id => dsid, :use_route => 'fcrepo_admin' }
|
|
14
|
+
it { should render_template(:show) }
|
|
15
|
+
end
|
|
16
|
+
context "download content" do
|
|
17
|
+
subject { get :show, :object_id => object, :id => dsid, :download => 'true', :use_route => 'fcrepo_admin' }
|
|
18
|
+
it { should be_successful }
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
FactoryGirl.define do
|
|
2
|
+
|
|
3
|
+
factory :admin_policy do
|
|
4
|
+
title "Test APO"
|
|
5
|
+
permissions [{type: 'group', name: 'public', access: 'read'}]
|
|
6
|
+
default_permissions [{type: 'group', name: 'public', access: 'read'}]
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
factory :content_model do
|
|
10
|
+
title "Test Object"
|
|
11
|
+
permissions [{type: 'group', name: 'public', access: 'read'}]
|
|
12
|
+
|
|
13
|
+
trait :has_apo do
|
|
14
|
+
admin_policy
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
factory :content_model_has_apo, :traits => [:has_apo]
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "audit_trail/index.html.erb" do
|
|
4
|
+
let(:object) { FactoryGirl.create(:content_model) }
|
|
5
|
+
after { object.delete }
|
|
6
|
+
it "should display the audit trail" do
|
|
7
|
+
visit fcrepo_admin.object_audit_trail_index_path(object)
|
|
8
|
+
page.should have_content(object.pid)
|
|
9
|
+
page.should have_link(I18n.t("fcrepo_admin.audit_trail.download"), :href => "#{fcrepo_admin.object_audit_trail_index_path(object)}?download=true")
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "catalog/show.html.erb" do
|
|
4
|
+
after { object.delete }
|
|
5
|
+
context "basic object" do
|
|
6
|
+
let(:object) { FactoryGirl.create(:content_model) }
|
|
7
|
+
it "should link to all datastreams" do
|
|
8
|
+
visit catalog_path(object)
|
|
9
|
+
object.datastreams.reject { |dsid, ds| ds.profile.empty? }.each_key do |dsid|
|
|
10
|
+
page.should have_link(dsid, :href => fcrepo_admin.object_datastream_path(object, dsid))
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
it "should link to its audit trail" do
|
|
14
|
+
visit catalog_path(object)
|
|
15
|
+
page.should have_link(I18n.t("fcrepo_admin.audit_trail.title"))
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
context "object has admin policy" do
|
|
19
|
+
it "should link to the APO"
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
shared_examples "a datastream show page" do
|
|
4
|
+
it "should display all attributes of the datastream profile" do
|
|
5
|
+
object.datastreams[dsid].profile.each do |key, value|
|
|
6
|
+
expect(subject).to have_content(I18n.t("fcrepo_admin.datastream.profile.#{key}"))
|
|
7
|
+
expect(subject).to have_content(value)
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
it "should have a link to download the datastream content" do
|
|
11
|
+
expect(subject).to have_link(I18n.t("fcrepo_admin.datastream.download"), :href => fcrepo_admin.download_object_datastream_path(object, dsid))
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
shared_examples "an object having datastream show pages" do
|
|
16
|
+
it_behaves_like "a datastream show page" do
|
|
17
|
+
let(:dsid) { "DC" }
|
|
18
|
+
end
|
|
19
|
+
it_behaves_like "a datastream show page" do
|
|
20
|
+
let(:dsid) { "RELS-EXT" }
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
describe "datastreams/show.html.erb" do
|
|
25
|
+
subject { page }
|
|
26
|
+
before { visit fcrepo_admin.object_datastream_path(object, dsid) }
|
|
27
|
+
after { object.delete }
|
|
28
|
+
it_behaves_like "an object having datastream show pages" do
|
|
29
|
+
let(:object) { FactoryGirl.create(:content_model) }
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "objects/show.html.erb" do
|
|
4
|
+
after { object.delete }
|
|
5
|
+
context "basic object" do
|
|
6
|
+
let(:object) { FactoryGirl.create(:content_model) }
|
|
7
|
+
it "should display the object's properties" do
|
|
8
|
+
visit fcrepo_admin.object_path(object)
|
|
9
|
+
page.should have_content(I18n.t("fcrepo_admin.object.properties.keys.state"))
|
|
10
|
+
page.should have_content(I18n.t("fcrepo_admin.object.properties.keys.create_date"))
|
|
11
|
+
page.should have_content(I18n.t("fcrepo_admin.object.properties.keys.modified_date"))
|
|
12
|
+
page.should have_content(I18n.t("fcrepo_admin.object.properties.keys.owner_id"))
|
|
13
|
+
page.should have_content(I18n.t("fcrepo_admin.object.properties.keys.label"))
|
|
14
|
+
end
|
|
15
|
+
it "should link to all datastreams" do
|
|
16
|
+
visit fcrepo_admin.object_path(object)
|
|
17
|
+
object.datastreams.reject { |dsid, ds| ds.profile.empty? }.each_key do |dsid|
|
|
18
|
+
page.should have_link(dsid, :href => fcrepo_admin.object_datastream_path(object, dsid))
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
it "should link to its audit trail" do
|
|
22
|
+
visit fcrepo_admin.object_path(object)
|
|
23
|
+
page.should have_link(I18n.t("fcrepo_admin.audit_trail.title"), :href => fcrepo_admin.object_audit_trail_index_path(object))
|
|
24
|
+
end
|
|
25
|
+
context "object governed by an admin policy" do
|
|
26
|
+
it "should link to the APO"
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<foxml:digitalObject VERSION="1.1" PID="changeme:242"
|
|
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=""/>
|
|
9
|
+
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/>
|
|
10
|
+
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2013-02-25T16:43:05.802Z"/>
|
|
11
|
+
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2013-02-25T16:43:06.379Z"/>
|
|
12
|
+
</foxml:objectProperties>
|
|
13
|
+
<foxml:datastream ID="AUDIT" STATE="A" CONTROL_GROUP="X" VERSIONABLE="false">
|
|
14
|
+
<foxml:datastreamVersion ID="AUDIT.0" LABEL="Audit Trail for this object" CREATED="2013-02-25T16:43:05.802Z" MIMETYPE="text/xml" FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit">
|
|
15
|
+
<foxml:xmlContent>
|
|
16
|
+
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#">
|
|
17
|
+
<audit:record ID="AUDREC1">
|
|
18
|
+
<audit:process type="Fedora API-M"/>
|
|
19
|
+
<audit:action>addDatastream</audit:action>
|
|
20
|
+
<audit:componentID>RELS-EXT</audit:componentID>
|
|
21
|
+
<audit:responsibility>fedoraAdmin</audit:responsibility>
|
|
22
|
+
<audit:date>2013-02-25T16:43:06.219Z</audit:date>
|
|
23
|
+
<audit:justification></audit:justification>
|
|
24
|
+
</audit:record>
|
|
25
|
+
<audit:record ID="AUDREC2">
|
|
26
|
+
<audit:process type="Fedora API-M"/>
|
|
27
|
+
<audit:action>addDatastream</audit:action>
|
|
28
|
+
<audit:componentID>descMetadata</audit:componentID>
|
|
29
|
+
<audit:responsibility>fedoraAdmin</audit:responsibility>
|
|
30
|
+
<audit:date>2013-02-25T16:43:06.315Z</audit:date>
|
|
31
|
+
<audit:justification></audit:justification>
|
|
32
|
+
</audit:record>
|
|
33
|
+
<audit:record ID="AUDREC3">
|
|
34
|
+
<audit:process type="Fedora API-M"/>
|
|
35
|
+
<audit:action>addDatastream</audit:action>
|
|
36
|
+
<audit:componentID>rightsMetadata</audit:componentID>
|
|
37
|
+
<audit:responsibility>fedoraAdmin</audit:responsibility>
|
|
38
|
+
<audit:date>2013-02-25T16:43:06.379Z</audit:date>
|
|
39
|
+
<audit:justification></audit:justification>
|
|
40
|
+
</audit:record>
|
|
41
|
+
</audit:auditTrail>
|
|
42
|
+
</foxml:xmlContent>
|
|
43
|
+
</foxml:datastreamVersion>
|
|
44
|
+
</foxml:datastream>
|
|
45
|
+
<foxml:datastream ID="DC" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true">
|
|
46
|
+
<foxml:datastreamVersion ID="DC1.0" LABEL="Dublin Core Record for this object" CREATED="2013-02-25T16:43:05.802Z" MIMETYPE="text/xml" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" SIZE="341">
|
|
47
|
+
<foxml:contentDigest TYPE="SHA-256" DIGEST="eb075bf6da5903e54464631dc998f66f95bffde9f4137132796457d31de5cd44"/>
|
|
48
|
+
<foxml:xmlContent>
|
|
49
|
+
<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
|
|
50
|
+
<dc:identifier>changeme:242</dc:identifier>
|
|
51
|
+
</oai_dc:dc>
|
|
52
|
+
</foxml:xmlContent>
|
|
53
|
+
</foxml:datastreamVersion>
|
|
54
|
+
</foxml:datastream>
|
|
55
|
+
<foxml:datastream ID="RELS-EXT" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true">
|
|
56
|
+
<foxml:datastreamVersion ID="RELS-EXT.0" LABEL="Fedora Object-to-Object Relationship Metadata" CREATED="2013-02-25T16:43:06.219Z" MIMETYPE="application/rdf+xml" SIZE="284">
|
|
57
|
+
<foxml:contentDigest TYPE="SHA-256" DIGEST="013d2229de7bd91c61256563eff1b475cd1e8f7e45a2f15de5a36f2d20ec2852"/>
|
|
58
|
+
<foxml:xmlContent>
|
|
59
|
+
<rdf:RDF xmlns:ns0="info:fedora/fedora-system:def/model#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
|
60
|
+
<rdf:Description rdf:about="info:fedora/changeme:242">
|
|
61
|
+
<ns0:hasModel rdf:resource="info:fedora/afmodel:TestModel"></ns0:hasModel>
|
|
62
|
+
</rdf:Description>
|
|
63
|
+
</rdf:RDF>
|
|
64
|
+
</foxml:xmlContent>
|
|
65
|
+
</foxml:datastreamVersion>
|
|
66
|
+
</foxml:datastream>
|
|
67
|
+
<foxml:datastream ID="descMetadata" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true">
|
|
68
|
+
<foxml:datastreamVersion ID="descMetadata.0" LABEL="" CREATED="2013-02-25T16:43:06.315Z" MIMETYPE="text/xml" SIZE="215">
|
|
69
|
+
<foxml:contentDigest TYPE="SHA-256" DIGEST="3f588eca58dea77b31c9ed0b90e4560288a419856c4bb744fab9c7fe8749ad19"/>
|
|
70
|
+
<foxml:xmlContent>
|
|
71
|
+
<dc xmlns:dcterms="http://purl.org/dc/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
72
|
+
<dcterms:title>Fcrepo Test Object</dcterms:title>
|
|
73
|
+
<dcterms:identifier>test00001</dcterms:identifier>
|
|
74
|
+
</dc>
|
|
75
|
+
</foxml:xmlContent>
|
|
76
|
+
</foxml:datastreamVersion>
|
|
77
|
+
</foxml:datastream>
|
|
78
|
+
<foxml:datastream ID="rightsMetadata" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true">
|
|
79
|
+
<foxml:datastreamVersion ID="rightsMetadata.0" LABEL="" CREATED="2013-02-25T16:43:06.379Z" MIMETYPE="text/xml" SIZE="596">
|
|
80
|
+
<foxml:contentDigest TYPE="SHA-256" DIGEST="472f8634b31bd425dadd9206531ab02a70c08c22e4250bb2b0d3dd0314cfb240"/>
|
|
81
|
+
<foxml:xmlContent>
|
|
82
|
+
<rightsMetadata xmlns="http://hydra-collab.stanford.edu/schemas/rightsMetadata/v1" version="0.1">
|
|
83
|
+
<copyright>
|
|
84
|
+
<human type="title"></human>
|
|
85
|
+
<human type="description"></human>
|
|
86
|
+
<machine type="uri"></machine>
|
|
87
|
+
</copyright>
|
|
88
|
+
<access type="discover">
|
|
89
|
+
<human></human>
|
|
90
|
+
<machine></machine>
|
|
91
|
+
</access>
|
|
92
|
+
<access type="read">
|
|
93
|
+
<human></human>
|
|
94
|
+
<machine>
|
|
95
|
+
<group>public</group>
|
|
96
|
+
</machine>
|
|
97
|
+
</access>
|
|
98
|
+
<access type="edit">
|
|
99
|
+
<human></human>
|
|
100
|
+
<machine></machine>
|
|
101
|
+
</access>
|
|
102
|
+
<embargo>
|
|
103
|
+
<human></human>
|
|
104
|
+
<machine></machine>
|
|
105
|
+
</embargo>
|
|
106
|
+
</rightsMetadata>
|
|
107
|
+
</foxml:xmlContent>
|
|
108
|
+
</foxml:datastreamVersion>
|
|
109
|
+
</foxml:datastream>
|
|
110
|
+
</foxml:digitalObject>
|