iqvoc 4.0.5 → 4.0.6
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.
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +1 -5
- data/app/controllers/triplestore_sync_controller.rb +4 -1
- data/app/models/collection/base.rb +1 -1
- data/app/views/layouts/application.html.erb +4 -2
- data/app/views/pages/help.html.erb +1 -1
- data/config/locales/de.yml +1 -0
- data/config/locales/en.yml +1 -0
- data/config/routes.rb +3 -3
- data/lib/iqvoc/instance_configuration.rb +3 -3
- data/lib/iqvoc/rdf_sync.rb +1 -1
- data/lib/iqvoc/version.rb +1 -1
- data/lib/tasks/sync.rake +57 -0
- metadata +88 -27
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
@@ -87,8 +87,7 @@ GEM
|
|
87
87
|
iq_rdf (0.1.8)
|
88
88
|
builder
|
89
89
|
bundler
|
90
|
-
iq_triplestorage (0.1.
|
91
|
-
typhoeus
|
90
|
+
iq_triplestorage (0.1.4)
|
92
91
|
jdbc-mysql (5.1.13)
|
93
92
|
jdbc-sqlite3 (3.7.2)
|
94
93
|
journey (1.0.4)
|
@@ -182,9 +181,6 @@ GEM
|
|
182
181
|
polyglot (>= 0.3.1)
|
183
182
|
turn (0.9.6)
|
184
183
|
ansi
|
185
|
-
typhoeus (0.4.2)
|
186
|
-
ffi (~> 1.0)
|
187
|
-
mime-types (~> 1.18)
|
188
184
|
tzinfo (0.3.33)
|
189
185
|
uglifier (1.3.0)
|
190
186
|
execjs (>= 0.3.0)
|
@@ -22,6 +22,9 @@ class TriplestoreSyncController < ApplicationController
|
|
22
22
|
def index
|
23
23
|
authorize! :use, :dashboard
|
24
24
|
|
25
|
+
flash.now[:info] = [I18n.t("txt.controllers.triplestore_sync.batch_hint",
|
26
|
+
:host => root_url(:lang => nil))]
|
27
|
+
|
25
28
|
if Iqvoc.config["triplestore.url"] == Iqvoc.config.defaults["triplestore.url"]
|
26
29
|
flash.now[:warning] = I18n.t("txt.controllers.triplestore_sync.config_warning")
|
27
30
|
else
|
@@ -34,7 +37,7 @@ class TriplestoreSyncController < ApplicationController
|
|
34
37
|
elsif username
|
35
38
|
target_info = "#{target_info} (as #{username})" # XXX: i18n
|
36
39
|
end
|
37
|
-
flash.now[:info]
|
40
|
+
flash.now[:info] << I18n.t("txt.controllers.triplestore_sync.config_info",
|
38
41
|
:target_info => target_info)
|
39
42
|
end
|
40
43
|
|
@@ -151,7 +151,7 @@ class Collection::Base < Concept::Base
|
|
151
151
|
#******** Validation methods
|
152
152
|
|
153
153
|
# This only prevent circles of length 2.
|
154
|
-
#
|
154
|
+
# TODO: This should be a real circle detector (but still performant) or be
|
155
155
|
# removed (seems to me like the better idea).
|
156
156
|
def circular_subcollections
|
157
157
|
Iqvoc::Collection.base_class.by_origin(@member_collection_origins).each do |subcollection|
|
@@ -21,8 +21,10 @@
|
|
21
21
|
<div class="row">
|
22
22
|
<div class="<%= content_for?(:sidebar) ? "span9" : "span12" %>" id="content">
|
23
23
|
<%= yield :page_header %>
|
24
|
-
<% flash.each do |type,
|
25
|
-
|
24
|
+
<% flash.each do |type, messages| %>
|
25
|
+
<% (messages.is_a?(Array) ? messages : [messages]).each do |msg| %>
|
26
|
+
<%= alert(type) { msg } %>
|
27
|
+
<% end %>
|
26
28
|
<% end %>
|
27
29
|
<%= yield %>
|
28
30
|
</div>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
<%= page_header :title => "The Structure of Domain Terminologies in iQvoc" %>
|
2
2
|
|
3
3
|
<p>Domain terminologies are implemented based on the
|
4
4
|
<a href="http://www.w3.org/TR/skos-reference/">Simple Knowledge Organisation System</a>
|
data/config/locales/de.yml
CHANGED
@@ -337,6 +337,7 @@ de:
|
|
337
337
|
error: "Bei der Synchronisierung traten Fehler auf - einige Einträge wurden nicht synchronisiert."
|
338
338
|
config_info: "Synchronisierung mit Triplestore: %{target_info}"
|
339
339
|
config_warning: "Bisher wurde kein Triplestore konfiguriert."
|
340
|
+
batch_hint: "Für große Datenmengen sollte vom Systemadministrator `rake sync:all[%{host}]` ausgeführt werden."
|
340
341
|
|
341
342
|
models:
|
342
343
|
label:
|
data/config/locales/en.yml
CHANGED
@@ -344,6 +344,7 @@ en:
|
|
344
344
|
error: "An error occurred during the synchronization process - some entities have not been synchronized."
|
345
345
|
config_info: "Synchronizing with triplestore: %{target_info}"
|
346
346
|
config_warning: "Triplestore has not been configured yet."
|
347
|
+
batch_hint: "For a large data sets please advise your sysadmin to execute `rake sync:all[%{host}]`."
|
347
348
|
|
348
349
|
models:
|
349
350
|
label:
|
data/config/routes.rb
CHANGED
@@ -28,6 +28,9 @@ Rails.application.routes.draw do
|
|
28
28
|
resources :concepts
|
29
29
|
resources :collections
|
30
30
|
|
31
|
+
get "triplestore_sync" => "triplestore_sync#index"
|
32
|
+
post "triplestore_sync" => "triplestore_sync#sync"
|
33
|
+
|
31
34
|
match "/" => "frontpage#index"
|
32
35
|
|
33
36
|
match "concepts/:origin/branch(.:format)" => "concepts/versions#branch", :as => "concept_versions_branch"
|
@@ -56,9 +59,6 @@ Rails.application.routes.draw do
|
|
56
59
|
get "help" => "pages#help", :as => "help"
|
57
60
|
|
58
61
|
root :to => 'frontpage#index', :format => nil
|
59
|
-
|
60
|
-
get "triplestore_sync" => "triplestore_sync#index"
|
61
|
-
post "triplestore_sync" => "triplestore_sync#sync"
|
62
62
|
end
|
63
63
|
|
64
64
|
match '/scheme(.:format)' => 'rdf#scheme', :as => 'scheme'
|
@@ -78,7 +78,7 @@ module Iqvoc
|
|
78
78
|
raise UnregisteredSetting unless @defaults.include?(key)
|
79
79
|
self.class.validate_value(value)
|
80
80
|
|
81
|
-
json = JSON.dump(value)
|
81
|
+
json = JSON.dump([value])[1..-2] # temporary array wrapper ensures valid JSON text
|
82
82
|
if setting = ConfigurationSetting.find_by_key(key)
|
83
83
|
setting.update_attributes(:value => json)
|
84
84
|
else
|
@@ -94,11 +94,11 @@ module Iqvoc
|
|
94
94
|
|
95
95
|
# populate settings caches
|
96
96
|
# (subsequent updates will happen automatically via the respective setters)
|
97
|
-
def initialize_cache
|
97
|
+
def initialize_cache
|
98
98
|
# cache customized settings
|
99
99
|
db_settings = ConfigurationSetting.all rescue [] # database table might not exist yet (pre-migration)
|
100
100
|
db_settings.each do |setting|
|
101
|
-
@records[setting.key] = JSON.load(setting.value)
|
101
|
+
@records[setting.key] = JSON.load("[#{setting.value}]")[0] # temporary array wrapper ensures valid JSON text
|
102
102
|
end
|
103
103
|
|
104
104
|
# cache current settings
|
data/lib/iqvoc/rdf_sync.rb
CHANGED
@@ -12,7 +12,7 @@ class Iqvoc::RDFSync
|
|
12
12
|
@target_port = options[:port]
|
13
13
|
@username = options[:username]
|
14
14
|
@password = options[:password]
|
15
|
-
@batch_size = options[:batch_size]
|
15
|
+
@batch_size = options[:batch_size] || 100
|
16
16
|
@view_context = options[:view_context] # XXX: not actually optional
|
17
17
|
raise(ArgumentError, "missing view context") unless @view_context # XXX: smell (see above)
|
18
18
|
end
|
data/lib/iqvoc/version.rb
CHANGED
data/lib/tasks/sync.rake
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
namespace :sync do
|
2
|
+
task :all, [:host] => :environment do |t, args|
|
3
|
+
require 'iqvoc'
|
4
|
+
require 'iqvoc/rdf_sync'
|
5
|
+
|
6
|
+
if Iqvoc.config["triplestore.url"] == Iqvoc.config.defaults["triplestore.url"] # XXX: duplicates controller
|
7
|
+
puts I18n.t("txt.controllers.triplestore_sync.config_warning")
|
8
|
+
fail
|
9
|
+
end
|
10
|
+
|
11
|
+
ROOT = args[:host]
|
12
|
+
raise(ArgumentError, "host not specified") unless ROOT
|
13
|
+
|
14
|
+
include Rails.application.routes.url_helpers
|
15
|
+
default_url_options[:host] = ROOT
|
16
|
+
|
17
|
+
class FakeController
|
18
|
+
include Iqvoc::RDFSync::Helper
|
19
|
+
delegate :url_helpers, :to => "Rails.application.routes"
|
20
|
+
|
21
|
+
def root_url(*args)
|
22
|
+
ROOT
|
23
|
+
end
|
24
|
+
|
25
|
+
def view_context(*args)
|
26
|
+
default_url_options[:host] = root_url
|
27
|
+
view = FakeView.new(Rails.root.join("app", "views"))
|
28
|
+
view.controller = self
|
29
|
+
return view
|
30
|
+
end
|
31
|
+
|
32
|
+
# delegate URL helpers
|
33
|
+
def method_missing(name, *args, &block)
|
34
|
+
url_helpers.send(name, *args, &block)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
class FakeView < ActionView::Base
|
39
|
+
include ApplicationHelper
|
40
|
+
|
41
|
+
attr_accessor :controller
|
42
|
+
|
43
|
+
# delegate URL helpers
|
44
|
+
def method_missing(name, *args, &block)
|
45
|
+
@controller.send(name, *args, &block)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
puts I18n.t("txt.controllers.triplestore_sync.config_info",
|
50
|
+
:target_info => Iqvoc.config["triplestore.url"]) + " (host: #{ROOT})"
|
51
|
+
success = FakeController.new.triplestore_syncer.all
|
52
|
+
unless success
|
53
|
+
puts I18n.t("txt.controllers.triplestore_sync.error")
|
54
|
+
fail
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iqvoc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,11 +11,11 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2012-11-
|
14
|
+
date: 2012-11-09 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rails
|
18
|
-
requirement:
|
18
|
+
requirement: !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ~>
|
@@ -23,10 +23,15 @@ dependencies:
|
|
23
23
|
version: 3.2.1
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
|
-
version_requirements:
|
26
|
+
version_requirements: !ruby/object:Gem::Requirement
|
27
|
+
none: false
|
28
|
+
requirements:
|
29
|
+
- - ~>
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: 3.2.1
|
27
32
|
- !ruby/object:Gem::Dependency
|
28
33
|
name: bundler
|
29
|
-
requirement:
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
30
35
|
none: false
|
31
36
|
requirements:
|
32
37
|
- - ! '>='
|
@@ -34,10 +39,15 @@ dependencies:
|
|
34
39
|
version: '0'
|
35
40
|
type: :runtime
|
36
41
|
prerelease: false
|
37
|
-
version_requirements:
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
none: false
|
44
|
+
requirements:
|
45
|
+
- - ! '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
38
48
|
- !ruby/object:Gem::Dependency
|
39
49
|
name: kaminari
|
40
|
-
requirement:
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
41
51
|
none: false
|
42
52
|
requirements:
|
43
53
|
- - ! '>='
|
@@ -45,10 +55,15 @@ dependencies:
|
|
45
55
|
version: '0'
|
46
56
|
type: :runtime
|
47
57
|
prerelease: false
|
48
|
-
version_requirements:
|
58
|
+
version_requirements: !ruby/object:Gem::Requirement
|
59
|
+
none: false
|
60
|
+
requirements:
|
61
|
+
- - ! '>='
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '0'
|
49
64
|
- !ruby/object:Gem::Dependency
|
50
65
|
name: authlogic
|
51
|
-
requirement:
|
66
|
+
requirement: !ruby/object:Gem::Requirement
|
52
67
|
none: false
|
53
68
|
requirements:
|
54
69
|
- - ! '>='
|
@@ -56,10 +71,15 @@ dependencies:
|
|
56
71
|
version: '0'
|
57
72
|
type: :runtime
|
58
73
|
prerelease: false
|
59
|
-
version_requirements:
|
74
|
+
version_requirements: !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
76
|
+
requirements:
|
77
|
+
- - ! '>='
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0'
|
60
80
|
- !ruby/object:Gem::Dependency
|
61
81
|
name: cancan
|
62
|
-
requirement:
|
82
|
+
requirement: !ruby/object:Gem::Requirement
|
63
83
|
none: false
|
64
84
|
requirements:
|
65
85
|
- - ! '>='
|
@@ -67,10 +87,15 @@ dependencies:
|
|
67
87
|
version: '0'
|
68
88
|
type: :runtime
|
69
89
|
prerelease: false
|
70
|
-
version_requirements:
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
none: false
|
92
|
+
requirements:
|
93
|
+
- - ! '>='
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
71
96
|
- !ruby/object:Gem::Dependency
|
72
97
|
name: iq_rdf
|
73
|
-
requirement:
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
74
99
|
none: false
|
75
100
|
requirements:
|
76
101
|
- - ~>
|
@@ -78,10 +103,15 @@ dependencies:
|
|
78
103
|
version: 0.1.2
|
79
104
|
type: :runtime
|
80
105
|
prerelease: false
|
81
|
-
version_requirements:
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
none: false
|
108
|
+
requirements:
|
109
|
+
- - ~>
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: 0.1.2
|
82
112
|
- !ruby/object:Gem::Dependency
|
83
113
|
name: json
|
84
|
-
requirement:
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
85
115
|
none: false
|
86
116
|
requirements:
|
87
117
|
- - ! '>='
|
@@ -89,10 +119,15 @@ dependencies:
|
|
89
119
|
version: '0'
|
90
120
|
type: :runtime
|
91
121
|
prerelease: false
|
92
|
-
version_requirements:
|
122
|
+
version_requirements: !ruby/object:Gem::Requirement
|
123
|
+
none: false
|
124
|
+
requirements:
|
125
|
+
- - ! '>='
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '0'
|
93
128
|
- !ruby/object:Gem::Dependency
|
94
129
|
name: rails_autolink
|
95
|
-
requirement:
|
130
|
+
requirement: !ruby/object:Gem::Requirement
|
96
131
|
none: false
|
97
132
|
requirements:
|
98
133
|
- - ! '>='
|
@@ -100,10 +135,15 @@ dependencies:
|
|
100
135
|
version: '0'
|
101
136
|
type: :runtime
|
102
137
|
prerelease: false
|
103
|
-
version_requirements:
|
138
|
+
version_requirements: !ruby/object:Gem::Requirement
|
139
|
+
none: false
|
140
|
+
requirements:
|
141
|
+
- - ! '>='
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: '0'
|
104
144
|
- !ruby/object:Gem::Dependency
|
105
145
|
name: fastercsv
|
106
|
-
requirement:
|
146
|
+
requirement: !ruby/object:Gem::Requirement
|
107
147
|
none: false
|
108
148
|
requirements:
|
109
149
|
- - ! '>='
|
@@ -111,10 +151,15 @@ dependencies:
|
|
111
151
|
version: '0'
|
112
152
|
type: :runtime
|
113
153
|
prerelease: false
|
114
|
-
version_requirements:
|
154
|
+
version_requirements: !ruby/object:Gem::Requirement
|
155
|
+
none: false
|
156
|
+
requirements:
|
157
|
+
- - ! '>='
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
115
160
|
- !ruby/object:Gem::Dependency
|
116
161
|
name: simple_form
|
117
|
-
requirement:
|
162
|
+
requirement: !ruby/object:Gem::Requirement
|
118
163
|
none: false
|
119
164
|
requirements:
|
120
165
|
- - ! '>='
|
@@ -122,10 +167,15 @@ dependencies:
|
|
122
167
|
version: '0'
|
123
168
|
type: :runtime
|
124
169
|
prerelease: false
|
125
|
-
version_requirements:
|
170
|
+
version_requirements: !ruby/object:Gem::Requirement
|
171
|
+
none: false
|
172
|
+
requirements:
|
173
|
+
- - ! '>='
|
174
|
+
- !ruby/object:Gem::Version
|
175
|
+
version: '0'
|
126
176
|
- !ruby/object:Gem::Dependency
|
127
177
|
name: sass-rails
|
128
|
-
requirement:
|
178
|
+
requirement: !ruby/object:Gem::Requirement
|
129
179
|
none: false
|
130
180
|
requirements:
|
131
181
|
- - ~>
|
@@ -133,10 +183,15 @@ dependencies:
|
|
133
183
|
version: 3.2.5
|
134
184
|
type: :runtime
|
135
185
|
prerelease: false
|
136
|
-
version_requirements:
|
186
|
+
version_requirements: !ruby/object:Gem::Requirement
|
187
|
+
none: false
|
188
|
+
requirements:
|
189
|
+
- - ~>
|
190
|
+
- !ruby/object:Gem::Version
|
191
|
+
version: 3.2.5
|
137
192
|
- !ruby/object:Gem::Dependency
|
138
193
|
name: iq_triplestorage
|
139
|
-
requirement:
|
194
|
+
requirement: !ruby/object:Gem::Requirement
|
140
195
|
none: false
|
141
196
|
requirements:
|
142
197
|
- - ! '>='
|
@@ -144,7 +199,12 @@ dependencies:
|
|
144
199
|
version: '0'
|
145
200
|
type: :runtime
|
146
201
|
prerelease: false
|
147
|
-
version_requirements:
|
202
|
+
version_requirements: !ruby/object:Gem::Requirement
|
203
|
+
none: false
|
204
|
+
requirements:
|
205
|
+
- - ! '>='
|
206
|
+
- !ruby/object:Gem::Version
|
207
|
+
version: '0'
|
148
208
|
description: iQvoc - a SKOS(-XL) vocabulary management system built on the Semantic
|
149
209
|
Web
|
150
210
|
email:
|
@@ -440,6 +500,7 @@ files:
|
|
440
500
|
- lib/tasks/heroku.rake
|
441
501
|
- lib/tasks/importer.rake
|
442
502
|
- lib/tasks/setup.rake
|
503
|
+
- lib/tasks/sync.rake
|
443
504
|
- lib/templates/erb/scaffold/_form.html.erb
|
444
505
|
- test/factories.rb
|
445
506
|
- test/integration/alphabetical_test.rb
|
@@ -533,7 +594,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
533
594
|
version: '0'
|
534
595
|
requirements: []
|
535
596
|
rubyforge_project:
|
536
|
-
rubygems_version: 1.8.
|
597
|
+
rubygems_version: 1.8.23
|
537
598
|
signing_key:
|
538
599
|
specification_version: 3
|
539
600
|
summary: iQvoc
|